duclaw-cli 1.8.19 → 1.8.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +101 -7
- package/dist/main.js +1 -1
- package/dist/web/assets/{index-DEYuhwmI.js → index-DGYaO5tE.js} +1 -1
- package/dist/web/assets/index-mfxrMeAL.css +1 -0
- package/dist/web/index.html +2 -2
- package/dist/worker-main.js +1 -1
- package/package.json +1 -1
- package/dist/web/assets/index-B4uqBfRh.css +0 -1
|
@@ -86,7 +86,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
86
86
|
`))+1))}let o=`#`.repeat(i),s=n.enter(`headingAtx`),c=n.enter(`phrasing`);a.move(o+` `);let l=n.containerPhrasing(e,{before:`# `,after:`
|
|
87
87
|
`,...a.current()});return/^[\t ]/.test(l)&&(l=Ij(l.charCodeAt(0))+l.slice(1)),l=l?o+` `+l:o,n.options.closeAtx&&(l+=` `+o),c(),s(),l}Hj.peek=Uj;function Hj(e){return e.value||``}function Uj(){return`<`}Wj.peek=Gj;function Wj(e,t,n,r){let i=Nj(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 Gj(){return`!`}Kj.peek=qj;function Kj(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 qj(){return`!`}Jj.peek=Yj;function Jj(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 Yj(){return"`"}function Xj(e,t){let n=wT(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))}Zj.peek=Qj;function Zj(e,t,n,r){let i=Nj(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.createTracker(r),s,c;if(Xj(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 Qj(e,t,n){return Xj(e,n)?`<`:`[`}$j.peek=eM;function $j(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 eM(){return`[`}function tM(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 nM(e){let t=tM(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 rM(e){let t=e.options.bulletOrdered||`.`;if(t!==`.`&&t!==`)`)throw Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function iM(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 aM(e,t,n,r){let i=n.enter(`list`),a=n.bulletCurrent,o=e.ordered?rM(n):tM(n),s=e.ordered?o===`.`?`)`:`.`:nM(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),iM(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 oM(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 sM(e,t,n,r){let i=oM(n),a=n.bulletCurrent||tM(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 cM(e,t,n,r){let i=n.enter(`paragraph`),a=n.enter(`phrasing`),o=n.containerPhrasing(e,r);return a(),i(),o}var lM=gk([`break`,`delete`,`emphasis`,`footnote`,`footnoteReference`,`image`,`imageReference`,`inlineCode`,`inlineMath`,`link`,`linkReference`,`mdxJsxTextElement`,`mdxTextExpression`,`strong`,`text`,`textDirective`]);function uM(e,t,n,r){return(e.children.some(function(e){return lM(e)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function dM(e){let t=e.options.strong||`*`;if(t!==`*`&&t!==`_`)throw Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}fM.peek=pM;function fM(e,t,n,r){let i=dM(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=Lj(r.before.charCodeAt(r.before.length-1),l,i);u.inside&&(c=Ij(l)+c.slice(1));let d=c.charCodeAt(c.length-1),f=Lj(r.after.charCodeAt(0),d,i);f.inside&&(c=c.slice(0,-1)+Ij(d));let p=o.move(i+i);return a(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},s+c+p}function pM(e,t,n){return n.options.strong||`*`}function mM(e,t,n,r){return n.safe(e.value,r)}function hM(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 gM(e,t,n){let r=(iM(n)+(n.options.ruleSpaces?` `:``)).repeat(hM(n));return n.options.ruleSpaces?r.slice(0,-1):r}var _M={blockquote:Cj,break:Dj,code:jj,definition:Pj,emphasis:Rj,hardBreak:Dj,heading:Vj,html:Hj,image:Wj,imageReference:Kj,inlineCode:Jj,link:Zj,linkReference:$j,list:aM,listItem:sM,paragraph:cM,root:uM,strong:fM,text:mM,thematicBreak:gM};function vM(){return{enter:{table:yM,tableData:CM,tableHeader:CM,tableRow:xM},exit:{codeText:wM,table:bM,tableData:SM,tableHeader:SM,tableRow:SM}}}function yM(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 bM(e){this.exit(e),this.data.inTable=void 0}function xM(e){this.enter({type:`tableRow`,children:[]},e)}function SM(e){this.exit(e)}function CM(e){this.enter({type:`tableCell`,children:[]},e)}function wM(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,TM));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function TM(e,t){return t===`|`?t:e}function EM(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?` `:`|`;return{unsafe:[{character:`\r`,inConstruct:`tableCell`},{character:`
|
|
88
88
|
`,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(`
|
|
89
|
-
`))}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 bj(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=_M.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function DM(){return{exit:{taskListCheckValueChecked:kM,taskListCheckValueUnchecked:kM,paragraph:AM}}}function OM(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:jM}}}function kM(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function AM(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 jM(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=_M.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 MM(){return[RA(),cj(),pj(),vM(),DM()]}function NM(e){return{extensions:[zA(),lj(e),mj(),EM(e),OM()]}}var PM={tokenize:JM,partial:!0},FM={tokenize:YM,partial:!0},IM={tokenize:XM,partial:!0},LM={tokenize:ZM,partial:!0},RM={tokenize:QM,partial:!0},zM={name:`wwwAutolink`,tokenize:KM,previous:$M},BM={name:`protocolAutolink`,tokenize:qM,previous:eN},VM={name:`emailAutolink`,tokenize:GM,previous:tN},HM={};function UM(){return{text:HM}}for(var WM=48;WM<123;)HM[WM]=VM,WM++,WM===58?WM=65:WM===91&&(WM=97);HM[43]=VM,HM[45]=VM,HM[46]=VM,HM[95]=VM,HM[72]=[VM,BM],HM[104]=[VM,BM],HM[87]=[VM,zM],HM[119]=[VM,zM];function GM(e,t,n){let r=this,i,a;return o;function o(t){return!nN(t)||!tN.call(r,r.previous)||rN(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return nN(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(RM,u,l)(t):t===45||t===95||zT(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&&RT(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function KM(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!$M.call(r,r.previous)||rN(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(PM,e.attempt(FM,e.attempt(IM,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function qM(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&eN.call(r,r.previous)&&!rN(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(RT(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||VT(t)||GT(t)||JT(t)||qT(t)?n(t):e.attempt(FM,e.attempt(IM,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function JM(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 YM(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(LM,c,s)(t):t===null||GT(t)||JT(t)||t!==45&&qT(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 XM(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(LM,t,a)(o):o===null||GT(o)||JT(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function ZM(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||GT(o)||JT(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||GT(e)||JT(e)?t(e):r(e)}function a(e){return RT(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):RT(t)?(e.consume(t),o):n(t)}}function QM(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return zT(e)?n(e):t(e)}}function $M(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||GT(e)}function eN(e){return!RT(e)}function tN(e){return!(e===47||nN(e))}function nN(e){return e===43||e===45||e===46||e===95||zT(e)}function rN(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 iN={tokenize:fN,partial:!0};function aN(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:lN,continuation:{tokenize:uN},exit:dN}},text:{91:{name:`gfmFootnoteCall`,tokenize:cN},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:oN,resolveTo:sN}}}}function oN(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=LT(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 sN(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 cN(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||GT(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(LT(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return GT(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 lN(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||GT(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=LT(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return GT(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),ZT(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function uN(e,t,n){return e.check(fE,t,e.attempt(iN,t,n))}function dN(e){e.exit(`gfmFootnoteDefinition`)}function fN(e,t,n){let r=this;return ZT(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 pN(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&&AT(o,o.length,0,aE(s,e.slice(r+1,n),t)),AT(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),AT(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=iE(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=iE(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var mN=class{constructor(){this.map=[]}add(e,t,n){hN(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 hN(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 gN(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 _N(){return{flow:{null:{name:`table`,tokenize:vN,resolveAll:yN}}}}function vN(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?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):$(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):KT(t)?ZT(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||GT(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,KT(t)?ZT(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 KT(t)?ZT(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||$(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 KT(t)?ZT(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||$(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||$(n)?(e.exit(`tableRow`),t(n)):KT(n)?ZT(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||GT(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 yN(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 mN;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(xN(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=bN(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=bN(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=bN(f,t,o,i,n,d)):(o[0]=o[1],d=bN(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&xN(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=gN(t.events,n))}return e}function bN(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},SN(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=SN(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=SN(t.events,n[2]),a=SN(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({},SN(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function xN(e,t,n,r,i){let a=[],o=SN(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 SN(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var CN={name:`tasklistCheck`,tokenize:TN};function wN(){return{text:{91:CN}}}function TN(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 GT(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 $(r)?t(r):KT(r)?e.check({tokenize:EN},t,n)(r):n(r)}}function EN(e,t,n){return ZT(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function DN(e){return NT([UM(),aN(),pN(e),_N(),wN()])}var ON={};function kN(e){let t=this,n=e||ON,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(DN(n)),a.push(MM()),o.push(NM(n))}var AN={h1:({className:e,...t})=>(0,z.jsx)(`h1`,{className:J(`text-lg font-semibold tracking-tight`,e),...t}),h2:({className:e,...t})=>(0,z.jsx)(`h2`,{className:J(`text-base font-semibold tracking-tight`,e),...t}),h3:({className:e,...t})=>(0,z.jsx)(`h3`,{className:J(`text-sm font-semibold tracking-tight`,e),...t}),p:({className:e,...t})=>(0,z.jsx)(`p`,{className:J(`my-0`,e),...t}),ul:({className:e,...t})=>(0,z.jsx)(`ul`,{className:J(`my-0 ml-5 list-disc space-y-1.5`,e),...t}),ol:({className:e,...t})=>(0,z.jsx)(`ol`,{className:J(`my-0 ml-5 list-decimal space-y-1.5`,e),...t}),li:({className:e,...t})=>(0,z.jsx)(`li`,{className:J(`pl-1`,e),...t}),blockquote:({className:e,...t})=>(0,z.jsx)(`blockquote`,{className:J(`my-0 border-l-2 border-border/80 pl-4 text-muted-foreground italic dark:border-white/10`,e),...t}),a:({className:e,...t})=>(0,z.jsx)(`a`,{className:J(`font-medium text-primary underline underline-offset-4`,e),target:`_blank`,rel:`noreferrer`,...t}),code:({className:e,...t})=>(0,z.jsx)(`code`,{className:J(`rounded-md bg-black/5 px-1.5 py-0.5 font-mono text-[0.85em] dark:bg-white/10`,e),...t}),pre:({className:e,...t})=>(0,z.jsx)(`pre`,{className:J(`my-0 overflow-x-auto rounded-2xl border border-border/70 bg-black/5 p-3 text-[0.85em] leading-6 dark:border-white/10 dark:bg-white/6`,e),...t}),hr:({className:e,...t})=>(0,z.jsx)(`hr`,{className:J(`border-border/70 dark:border-white/10`,e),...t}),table:({className:e,...t})=>(0,z.jsx)(`div`,{className:`overflow-x-auto`,children:(0,z.jsx)(`table`,{className:J(`w-full border-collapse text-left text-sm`,e),...t})}),th:({className:e,...t})=>(0,z.jsx)(`th`,{className:J(`border-b border-border/70 px-3 py-2 font-semibold dark:border-white/10`,e),...t}),td:({className:e,...t})=>(0,z.jsx)(`td`,{className:J(`border-b border-border/50 px-3 py-2 align-top dark:border-white/5`,e),...t})};function jN({content:e,className:t,compact:n=!1}){return(0,z.jsx)(`div`,{className:J(`space-y-4 break-words text-sm leading-7 [&>*+*]:mt-4`,n&&`text-[0.95rem] leading-6 [&>*+*]:mt-3`,t),children:(0,z.jsx)(TA,{remarkPlugins:[kN],components:AN,children:e})})}var MN=e=>e?.mailboxId?X_(`/api/mailbox/${encodeURIComponent(e.mailboxId)}/messages`,{status:e.status}):Promise.resolve([]),NN=e=>e?.mailboxId?X_(`/api/mailbox/${encodeURIComponent(e.mailboxId)}/events`,{limit:e.limit}):Promise.resolve([]),PN={all:[`mailbox`],summaries:[`mailbox`,`summaries`],messages:e=>[`mailbox`,`messages`,e],events:e=>[`mailbox`,`events`,e]};function FN(e){return gi({queryKey:PN.messages(e),queryFn:()=>MN(e),enabled:!!e?.mailboxId})}function IN(e){return gi({queryKey:PN.events(e),queryFn:()=>NN(e),enabled:!!e?.mailboxId})}var LN={pending:{label:`待处理`,variant:`outline`,chipClass:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/15 dark:text-amber-200`},processing:{label:`执行中`,variant:`default`,chipClass:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`},done:{label:`已完成`,variant:`secondary`,chipClass:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`},failed:{label:`失败`,variant:`destructive`,chipClass:`border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-500/30 dark:bg-rose-500/15 dark:text-rose-200`},cancelled:{label:`已取消`,variant:`secondary`,chipClass:`border-slate-200 bg-slate-100 text-slate-600 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`},read:{label:`已读`,variant:`secondary`,chipClass:`border-slate-200 bg-slate-100 text-slate-600 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`}},RN={standby:{label:`待命`,badge:`border-slate-200 bg-slate-100 text-slate-700 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`,card:`border-slate-200/80 bg-gradient-to-br from-white via-slate-50 to-slate-100/70 dark:border-slate-700/70 dark:from-slate-900 dark:via-slate-900/95 dark:to-slate-800/75`,halo:`bg-slate-500/10 text-slate-600 dark:bg-slate-400/15 dark:text-slate-200`,bar:`bg-slate-500`},queued:{label:`待响应`,badge:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/15 dark:text-amber-200`,card:`border-amber-200/80 bg-gradient-to-br from-amber-50 via-white to-orange-50 dark:border-amber-500/25 dark:from-amber-950/45 dark:via-slate-900 dark:to-orange-950/35`,halo:`bg-amber-500/10 text-amber-700 dark:bg-amber-400/15 dark:text-amber-200`,bar:`bg-amber-500`},running:{label:`执行中`,badge:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`,card:`border-sky-200/80 bg-gradient-to-br from-sky-50 via-white to-blue-50 dark:border-sky-500/25 dark:from-sky-950/45 dark:via-slate-900 dark:to-blue-950/35`,halo:`bg-sky-500/10 text-sky-700 dark:bg-sky-400/15 dark:text-sky-200`,bar:`bg-sky-500`},active:{label:`协作中`,badge:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-500/30 dark:bg-violet-500/15 dark:text-violet-200`,card:`border-violet-200/80 bg-gradient-to-br from-violet-50 via-white to-indigo-50 dark:border-violet-500/25 dark:from-violet-950/45 dark:via-slate-900 dark:to-indigo-950/35`,halo:`bg-violet-500/10 text-violet-700 dark:bg-violet-400/15 dark:text-violet-200`,bar:`bg-violet-500`},completed:{label:`回合完成`,badge:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`,card:`border-emerald-200/80 bg-gradient-to-br from-emerald-50 via-white to-teal-50 dark:border-emerald-500/25 dark:from-emerald-950/45 dark:via-slate-900 dark:to-teal-950/35`,halo:`bg-emerald-500/10 text-emerald-700 dark:bg-emerald-400/15 dark:text-emerald-200`,bar:`bg-emerald-500`},support:{label:`需要支援`,badge:`border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-500/30 dark:bg-rose-500/15 dark:text-rose-200`,card:`border-rose-200/80 bg-gradient-to-br from-rose-50 via-white to-orange-50 dark:border-rose-500/25 dark:from-rose-950/45 dark:via-slate-900 dark:to-orange-950/35`,halo:`bg-rose-500/10 text-rose-700 dark:bg-rose-400/15 dark:text-rose-200`,bar:`bg-rose-500`}},zN={message_sent:{label:`已投递`,chipClass:`border-indigo-200 bg-indigo-50 text-indigo-700 dark:border-indigo-500/30 dark:bg-indigo-500/15 dark:text-indigo-200`,icon:Co},message_status_changed:{label:`状态变更`,chipClass:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`,icon:io},mailbox_listed:{label:`查看邮箱`,chipClass:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/15 dark:text-amber-200`,icon:Va},message_opened:{label:`选中邮件`,chipClass:`border-fuchsia-200 bg-fuchsia-50 text-fuchsia-700 dark:border-fuchsia-500/30 dark:bg-fuchsia-500/15 dark:text-fuchsia-200`,icon:V},message_replied:{label:`提交回信`,chipClass:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`,icon:yo},message_followed_up:{label:`线程跟进`,chipClass:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-500/30 dark:bg-violet-500/15 dark:text-violet-200`,icon:za}},BN=`border-border/70 bg-card/90 shadow-sm backdrop-blur-sm dark:border-border/80 dark:bg-card/80`,VN=`bg-muted/60 text-foreground dark:bg-muted/35`,HN=`rounded-2xl border border-border/60 bg-muted/55 dark:border-border/70 dark:bg-muted/30`,UN=`rounded-2xl border border-dashed border-border/60 bg-muted/35 dark:border-border/70 dark:bg-muted/20`,WN=`rounded-2xl border border-border/60 bg-background/75 dark:border-white/10 dark:bg-slate-950/35`,GN=`relative overflow-hidden border border-sky-100/80 bg-gradient-to-br from-[#f7fbff] via-white to-[#eef6ff] text-slate-950 shadow-[0_24px_60px_-40px_rgba(59,130,246,0.35)] dark:border-white/8 dark:from-slate-950 dark:via-slate-900 dark:to-slate-950 dark:text-slate-50 dark:shadow-[0_30px_80px_-40px_rgba(15,23,42,0.9)]`,KN=`border-border/50 bg-background/80 text-foreground hover:bg-background dark:border-white/10 dark:bg-white/5 dark:text-white dark:hover:bg-white/10`,qN=`bg-slate-950 text-white hover:bg-slate-800 dark:bg-white dark:text-slate-900 dark:hover:bg-slate-100`,JN=`inline-flex items-center gap-2 rounded-full border border-border/50 bg-background/72 px-3 py-1.5 text-foreground/85 dark:border-white/10 dark:bg-white/5 dark:text-slate-200/85`,YN=`rounded-2xl border border-border/60 bg-background/78 p-4 backdrop-blur-sm dark:border-white/10 dark:bg-white/5`;function XN(){let{departmentName:e}=st();return e?(0,z.jsx)(ZN,{departmentName:e}):(0,z.jsx)(dy,{children:(0,z.jsx)(`p`,{children:`Invalid department name`})})}function ZN({departmentName:e}){let t=rt(),{data:n,isLoading:r,refetch:i}=iy(e),{data:a,refetch:o}=ly(e),s=sy(e),c=cy(e),[l,u]=(0,S.useState)(!1),[d,f]=(0,S.useState)(null),[p,m]=(0,S.useState)(null),[h,g]=(0,S.useState)(null),[_,v]=(0,S.useState)({name:``,focusOn:``}),y=async()=>{let e=_.name.trim();e&&(await s.mutateAsync({name:e,focusOn:_.focusOn||void 0}),m(e),u(!1),v({name:``,focusOn:``}))},b=async()=>{d&&(await c.mutateAsync(d),p===d&&m(null),h===d&&g(null),f(null))},x=async()=>{await Promise.all([i(),o()])},C=[...a?.messages??[]].sort((e,t)=>t.sendTime-e.sendTime),w=new Map;if(n?.departmentMembers)for(let e of n.departmentMembers)w.set(e.mailBoxId,e.name);let T=n?wP(n):[],E=n?CP(n)?.mailBoxId:void 0,D=n?T.map(e=>xP(e,C,E)):[],O=D.reduce((e,t)=>Math.max(e,t.totalMessages),1),k=D.map(e=>({...e,activityPercent:e.totalMessages===0?12:Math.max(22,Math.round(e.totalMessages/O*100))})),A=k.find(e=>e.member.name===p)??k[0]??null,j=SP(n,k,C);return(0,z.jsx)(dy,{children:(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(QN,{department:n,departmentName:e,summary:j,onBack:()=>t(`/departments`),onRefresh:x,onAddMember:()=>u(!0)}),r?(0,z.jsx)(pP,{}):n?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(320px,0.92fr)_minmax(0,1.08fr)]`,children:[(0,z.jsx)(eP,{memberStats:k,selectedMemberName:A?.member.name??null,onSelectMember:m,onDeleteMember:f,onAddMember:()=>u(!0)}),(0,z.jsx)(rP,{departmentName:e,stats:A,memberNameMap:w,onOpenContext:e=>g(e)})]}),(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(0,1.15fr)_minmax(300px,0.85fr)]`,children:[(0,z.jsx)(uP,{messages:C,memberNameMap:w}),(0,z.jsx)(dP,{department:n,summary:j,onAddMember:()=>u(!0)})]})]}):(0,z.jsx)(py,{children:(0,z.jsxs)(_y,{className:`py-16 text-center text-muted-foreground`,children:[`部门 `,e,` 不存在`]})}),(0,z.jsx)(FC,{open:l,onOpenChange:u,children:(0,z.jsxs)(RC,{className:`sm:max-w-sm`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`添加成员`}),(0,z.jsxs)(HC,{children:[`向部门 `,e,` 添加新成员`]})]}),(0,z.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`成员名称`}),(0,z.jsx)(NC,{value:_.name,onChange:e=>v(t=>({...t,name:e.target.value})),placeholder:`例如:TechEval`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`职责描述`}),(0,z.jsx)(NC,{value:_.focusOn,onChange:e=>v(t=>({...t,focusOn:e.target.value})),placeholder:`例如:技术评估 / 产品拆解 / 前端推进`})]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>u(!1),children:`取消`}),(0,z.jsxs)(Y,{onClick:y,disabled:s.isPending||!_.name.trim(),children:[s.isPending&&(0,z.jsx)(io,{className:`mr-1 h-4 w-4 animate-spin`}),`添加`]})]})]})}),(0,z.jsx)(FC,{open:!!d,onOpenChange:()=>f(null),children:(0,z.jsxs)(RC,{className:`sm:max-w-sm`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`确认移除`}),(0,z.jsxs)(HC,{children:[`确定要移除成员 `,d,` 吗?`]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>f(null),children:`取消`}),(0,z.jsxs)(Y,{variant:`destructive`,onClick:b,disabled:c.isPending,children:[c.isPending&&(0,z.jsx)(io,{className:`mr-1 h-4 w-4 animate-spin`}),`移除`]})]})]})}),(0,z.jsx)(mP,{departmentName:e,memberName:h,onClose:()=>g(null)})]})})}function QN({department:e,departmentName:t,summary:n,onBack:r,onRefresh:i,onAddMember:a}){return(0,z.jsxs)(py,{className:GN,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_top_left,rgba(59,130,246,0.18),transparent_36%)] dark:bg-[radial-gradient(circle_at_top_left,rgba(59,130,246,0.35),transparent_36%)]`}),(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.14),transparent_32%)] dark:bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.22),transparent_32%)]`}),(0,z.jsx)(_y,{className:`relative px-6 py-6 sm:px-8 sm:py-8`,children:(0,z.jsxs)(`div`,{className:`flex flex-col gap-8 xl:flex-row xl:items-start xl:justify-between`,children:[(0,z.jsxs)(`div`,{className:`max-w-3xl space-y-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:r,className:KN,children:(0,z.jsx)(wa,{className:`h-4 w-4`})}),(0,z.jsx)(X,{variant:`outline`,className:J(KN,n.stageTone),children:n.stageLabel}),n.lastPulseAt&&(0,z.jsxs)(`span`,{className:`text-xs text-muted-foreground dark:text-slate-300/80`,children:[`最近动作 `,BP(n.lastPulseAt)]})]}),(0,z.jsx)(`div`,{className:`space-y-2`,children:(0,z.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight sm:text-4xl`,children:e?.name??t})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs`,children:[(0,z.jsxs)(`div`,{className:JN,children:[(0,z.jsx)(jo,{className:`h-3.5 w-3.5`}),(0,z.jsx)(`span`,{className:`font-medium`,children:`目标`}),(0,z.jsx)(`span`,{className:`text-muted-foreground dark:text-slate-300`,children:e?.sourceGoalId??`-`})]}),(0,z.jsxs)(`div`,{className:JN,children:[(0,z.jsx)(Fo,{className:`h-3.5 w-3.5`}),(0,z.jsx)(`span`,{className:`font-medium`,children:`Department Head`}),(0,z.jsx)(`span`,{className:`max-w-40 truncate text-muted-foreground dark:text-slate-300`,children:n.headName})]}),e?.workpath&&(0,z.jsxs)(`div`,{className:J(JN,`max-w-full`),children:[(0,z.jsx)(Ua,{className:`h-3.5 w-3.5 shrink-0`}),(0,z.jsx)(`span`,{className:`font-medium shrink-0`,children:`工作目录`}),(0,z.jsx)(`span`,{className:`truncate text-muted-foreground dark:text-slate-300`,children:e.workpath})]})]}),(0,z.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[{index:`01`,title:`先点成员卡`,description:`左侧卡牌决定你当前聚焦的角色。`},{index:`02`,title:`再看任务流`,description:`右侧只保留这名成员最近一轮的关键往返。`},{index:`03`,title:`最后追上下文`,description:`需要深挖时,再打开完整执行记录。`}].map(e=>(0,z.jsxs)(`div`,{className:YN,children:[(0,z.jsx)(`div`,{className:`text-[11px] font-semibold tracking-[0.18em] text-slate-500 dark:text-slate-400`,children:e.index}),(0,z.jsx)(`div`,{className:`mt-2 text-sm font-semibold text-foreground dark:text-white`,children:e.title}),(0,z.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground dark:text-slate-300`,children:e.description})]},e.index))})]}),(0,z.jsxs)(`div`,{className:`w-full xl:max-w-[390px]`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex flex-wrap justify-end gap-2`,children:[(0,z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:i,className:KN,children:[(0,z.jsx)(vo,{className:`h-4 w-4`}),`刷新`]}),(0,z.jsxs)(Y,{size:`sm`,onClick:a,className:qN,children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`添加成员`]})]}),(0,z.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,z.jsx)($N,{icon:Ro,label:`执行层 executor`,value:n.executorCount,description:`由 Department Head 管理`}),(0,z.jsx)($N,{icon:Oo,label:`有动作成员`,value:n.activeMembers,description:`这一轮参与协作`}),(0,z.jsx)($N,{icon:Ca,label:`处理中消息`,value:n.inFlightCount,description:`仍在推进的回合`}),(0,z.jsx)($N,{icon:Fa,label:`已完成回合`,value:n.completedCount,description:`${n.totalMessages} 条战报`})]}),n.riskCount>0&&(0,z.jsxs)(`div`,{className:`mt-3 rounded-2xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-700 dark:border-rose-400/20 dark:bg-rose-400/10 dark:text-rose-50`,children:[`有 `,n.riskCount,` 条失败消息,建议让 Department Head 先定位阻塞来源。`]})]})]})})]})}function $N({icon:e,label:t,value:n,description:r}){return(0,z.jsxs)(`div`,{className:`rounded-2xl border border-border/60 bg-background/80 p-4 backdrop-blur-sm dark:border-white/10 dark:bg-white/5`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-xl bg-primary/10 text-primary dark:bg-white/10 dark:text-white`,children:(0,z.jsx)(e,{className:`h-4 w-4`})}),(0,z.jsx)(`span`,{children:t})]}),(0,z.jsx)(`div`,{className:`mt-4 text-3xl font-semibold text-foreground dark:text-white`,children:n}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground dark:text-slate-400`,children:r})]})}function eP({memberStats:e,selectedMemberName:t,onSelectMember:n,onDeleteMember:r,onAddMember:i}){return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsxs)(my,{className:`space-y-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Do,{className:`h-5 w-5 text-primary`}),`部门成员目录`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Department Head 在最前,executor 是执行层;先选中成员,再查看最近任务流。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[e.length,` 位成员`]})]}),(0,z.jsx)(`div`,{className:J(HN,`border-dashed text-sm leading-6 text-muted-foreground`),children:`CEO 视角只需要关注 Department Head;详情页保留成员目录,方便排查部门内部协作。`})]}),(0,z.jsx)(_y,{children:e.length===0?(0,z.jsxs)(`div`,{className:J(UN,`rounded-3xl px-6 py-12 text-center`),children:[(0,z.jsx)(Ro,{className:`mx-auto h-10 w-10 text-muted-foreground/45`}),(0,z.jsx)(`div`,{className:`mt-4 text-base font-medium text-foreground`,children:`部门还没有成员`}),(0,z.jsx)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`先添加 1 到 3 个职责明确的角色,再开始分派任务。`}),(0,z.jsxs)(Y,{className:`mt-4`,onClick:i,children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`添加第一个成员`]})]}):(0,z.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-1 2xl:grid-cols-2`,children:e.map(e=>(0,z.jsx)(tP,{stats:e,selected:t===e.member.name,onSelect:()=>n(e.member.name),onDelete:()=>r(e.member.name)},e.member.id))})})]})}function tP({stats:e,selected:t,onSelect:n,onDelete:r}){let i=RN[e.state],a=e.member.role===`department_head`;return(0,z.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:n,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:J(`group relative flex w-full flex-col gap-4 overflow-hidden rounded-3xl border p-4 text-left transition-all duration-200 hover:-translate-y-0.5 hover:shadow-xl`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25`,i.card,t&&`ring-2 ring-primary/25 shadow-xl`),children:[(0,z.jsx)(`div`,{className:`absolute -right-5 -top-5 h-20 w-20 rounded-full bg-white/70 blur-2xl dark:bg-white/10`}),(0,z.jsxs)(`div`,{className:`relative flex items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,z.jsx)(`div`,{className:J(`flex h-12 w-12 shrink-0 items-center justify-center rounded-2xl`,i.halo),children:a?(0,z.jsx)(Fo,{className:`h-5 w-5`}):(0,z.jsx)(Lo,{className:`h-5 w-5`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`truncate text-base font-semibold text-foreground dark:text-slate-50`,children:e.member.name}),a&&(0,z.jsx)(X,{variant:`secondary`,children:`Department Head`})]}),(0,z.jsx)(`div`,{className:`truncate text-sm text-muted-foreground dark:text-slate-300`,children:e.member.focusOn||`尚未设置职责`})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:i.badge,children:i.label}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,className:`opacity-0 transition-opacity group-hover:opacity-100`,onClick:e=>{e.stopPropagation(),r()},title:`移除成员`,children:(0,z.jsx)(No,{className:`h-4 w-4 text-muted-foreground`})})]})]}),(0,z.jsxs)(`div`,{className:`relative space-y-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(`span`,{children:`活跃度`}),(0,z.jsxs)(`span`,{children:[e.totalMessages,` 条动作`]})]}),(0,z.jsx)(`div`,{className:`h-2 rounded-full bg-background/80 dark:bg-slate-950/35`,children:(0,z.jsx)(`div`,{className:J(`h-2 rounded-full transition-all`,i.bar),style:{width:`${e.activityPercent}%`}})})]}),(0,z.jsxs)(`div`,{className:`relative grid grid-cols-3 gap-2`,children:[(0,z.jsx)(nP,{label:`收到`,value:e.receivedMessages.length,accent:`text-sky-600`}),(0,z.jsx)(nP,{label:`发出`,value:e.sentMessages.length,accent:`text-emerald-600`}),(0,z.jsx)(nP,{label:e.failedCount>0?`风险`:`完成`,value:e.failedCount>0?e.failedCount:e.doneCount,accent:e.failedCount>0?`text-rose-600`:`text-violet-600`})]}),(0,z.jsxs)(`div`,{className:J(WN,`relative p-3 text-sm leading-6 text-muted-foreground dark:text-slate-300`),children:[(0,z.jsx)(`span`,{className:`font-medium text-foreground dark:text-slate-50`,children:`下一步:`}),FP(e.nextAction,62)]}),(0,z.jsxs)(`div`,{className:`relative flex items-center justify-between text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(`span`,{children:e.lastActiveAt?`最近动作 ${BP(e.lastActiveAt)}`:`尚未进入任务循环`}),(0,z.jsx)(`span`,{className:`font-medium text-foreground/85 dark:text-slate-200`,children:t?`当前聚焦`:`点击查看`})]})]})}function nP({label:e,value:t,accent:n}){return(0,z.jsxs)(`div`,{className:J(WN,`px-3 py-2`),children:[(0,z.jsx)(`div`,{className:`text-[11px] text-muted-foreground dark:text-slate-300`,children:e}),(0,z.jsx)(`div`,{className:J(`mt-1 text-lg font-semibold`,n),children:t})]})}function rP({departmentName:e,stats:t,memberNameMap:n,onOpenContext:r}){if(!t)return(0,z.jsx)(py,{className:J(BN,`border-dashed`),children:(0,z.jsxs)(_y,{className:`flex min-h-[420px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,z.jsx)(Lo,{className:`h-12 w-12 text-muted-foreground/45`}),(0,z.jsx)(`div`,{className:`mt-4 text-lg font-medium text-foreground`,children:`先选一个成员`}),(0,z.jsx)(`div`,{className:`mt-2 max-w-md text-sm leading-6 text-muted-foreground`,children:`右侧会固定展示这名成员的任务流、原始收件箱和执行上下文,不再需要来回切 tab。`})]})});let i=RN[t.state];return(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsxs)(py,{className:GN,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_top_left,rgba(99,102,241,0.16),transparent_34%)] dark:bg-[radial-gradient(circle_at_top_left,rgba(99,102,241,0.32),transparent_34%)]`}),(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.12),transparent_28%)] dark:bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.22),transparent_28%)]`}),(0,z.jsx)(_y,{className:`relative px-6 py-6 sm:px-7`,children:(0,z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,z.jsx)(`div`,{className:J(`flex h-14 w-14 shrink-0 items-center justify-center rounded-3xl border border-border/50 dark:border-white/10`,i.halo),children:(0,z.jsx)(Lo,{className:`h-6 w-6`})}),(0,z.jsx)(`div`,{className:`min-w-0`,children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`h2`,{className:`truncate text-2xl font-semibold`,children:t.member.name}),(0,z.jsx)(X,{variant:`outline`,className:i.badge,children:i.label})]})})]}),(0,z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:()=>r(t.member.name),className:KN,children:[(0,z.jsx)(Mo,{className:`h-4 w-4`}),`查看完整上下文`]})]}),(0,z.jsxs)(`div`,{className:`rounded-3xl border border-border/60 bg-background/80 p-4 dark:border-white/10 dark:bg-white/6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-foreground dark:text-white`,children:[(0,z.jsx)(Lo,{className:`h-4 w-4 text-primary`}),`角色设定`]}),t.member.focusOn?.trim()?(0,z.jsx)(`div`,{className:`mt-3 text-slate-700 dark:text-slate-200`,children:(0,z.jsx)(jN,{content:t.member.focusOn,compact:!0,className:`[&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_pre]:text-xs [&_pre]:leading-5`})}):(0,z.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-muted-foreground`,children:`暂未设置职责,建议补充角色定位。`})]}),(0,z.jsxs)(`div`,{className:`rounded-3xl border border-border/60 bg-background/80 p-4 dark:border-white/10 dark:bg-white/6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-foreground dark:text-white`,children:[(0,z.jsx)(Oo,{className:`h-4 w-4 text-amber-500 dark:text-amber-300`}),`当前建议动作`]}),(0,z.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-slate-700 dark:text-slate-300`,children:t.nextAction})]}),(0,z.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,z.jsx)(iP,{icon:Za,label:`收到消息`,value:t.receivedMessages.length,note:t.pendingCount>0?`${t.pendingCount} 条待响应`:`收件箱稳定`}),(0,z.jsx)(iP,{icon:Co,label:`发出消息`,value:t.sentMessages.length,note:t.doneCount>0?`${t.doneCount} 条已完成`:`还没有回报`}),(0,z.jsx)(iP,{icon:La,label:`最近动作`,value:t.lastActiveAt?zP(t.lastActiveAt):`--`,note:t.lastActiveAt?BP(t.lastActiveAt):`尚未开始`})]})]})})]}),(0,z.jsx)(aP,{stats:t,memberNameMap:n}),(0,z.jsxs)(`div`,{className:`grid gap-6 2xl:grid-cols-2`,children:[(0,z.jsx)(sP,{stats:t,memberNameMap:n}),(0,z.jsx)(lP,{departmentName:e,memberName:t.member.name,onOpenContext:()=>r(t.member.name)})]})]})}function iP({icon:e,label:t,value:n,note:r}){return(0,z.jsxs)(`div`,{className:`rounded-2xl border border-border/60 bg-background/80 p-4 dark:border-white/10 dark:bg-white/6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(e,{className:`h-3.5 w-3.5`}),(0,z.jsx)(`span`,{children:t})]}),(0,z.jsx)(`div`,{className:`mt-3 text-2xl font-semibold text-foreground dark:text-white`,children:n}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground dark:text-slate-400`,children:r})]})}function aP({stats:e,memberNameMap:t}){return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Ca,{className:`h-5 w-5 text-primary`}),`任务流`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`只保留当前成员最近一轮最关键的往返消息,按时间倒序展示。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[e.combinedMessages.length,` 条动作`]})]})}),(0,z.jsx)(_y,{children:e.combinedMessages.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-5 py-10 text-center text-sm text-muted-foreground`),children:`这名成员还没有进入协作回合,先给他一个明确任务会更直观。`}):(0,z.jsx)(`div`,{className:`space-y-3`,children:e.combinedMessages.slice(0,6).map(n=>(0,z.jsx)(oP,{message:n,direction:n.fromMailboxId===e.member.mailBoxId?`sent`:`received`,counterpartName:n.fromMailboxId===e.member.mailBoxId?t.get(n.toMailboxId):t.get(n.fromMailboxId)},n.id))})})]})}function oP({message:e,direction:t,counterpartName:n}){let[r,i]=(0,S.useState)(!1),a=e.content.length>180,o=LN[e.status]??LN.pending,s=e.threadId??e.id,c=t===`received`?{container:`border-sky-100 bg-sky-50/70 dark:border-sky-500/20 dark:bg-sky-500/10`,chip:`border-sky-200 bg-sky-100 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`,label:`收到任务`,icon:Za}:{container:`border-emerald-100 bg-emerald-50/70 dark:border-emerald-500/20 dark:bg-emerald-500/10`,chip:`border-emerald-200 bg-emerald-100 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`,label:`发出回报`,icon:Co},l=e.parentMessageId?t===`received`?`线程追问`:`线程续报`:c.label,u=c.icon;return(0,z.jsxs)(`div`,{className:J(`rounded-2xl border p-4 transition-colors`,c.container,a&&`cursor-pointer hover:border-primary/25`),onClick:()=>{a&&i(e=>!e)},children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(X,{variant:`outline`,className:c.chip,children:[(0,z.jsx)(u,{className:`h-3 w-3`}),l]}),(0,z.jsx)(X,{variant:`outline`,className:o.chipClass,children:o.label}),(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(Ka,{className:`h-3 w-3`}),PP(s)]}),e.parentMessageId&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(za,{className:`h-3 w-3`}),PP(e.parentMessageId)]}),(0,z.jsxs)(`span`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:[t===`received`?`来自`:`发给`,` `,n??`系统`]}),(0,z.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground dark:text-slate-300`,children:RP(e.sendTime)})]}),(0,z.jsx)(`div`,{className:`mt-3 text-sm leading-6 text-foreground dark:text-slate-100`,children:r||!a?(0,z.jsx)(jN,{content:e.content,compact:!0}):(0,z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:LP(e.content,180)})}),a&&(0,z.jsxs)(`div`,{className:`mt-2 inline-flex items-center gap-1 text-xs text-muted-foreground dark:text-slate-300`,children:[r?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`}),r?`收起全文`:`展开全文`]})]})}function sP({stats:e,memberNameMap:t}){let{data:n}=FN({mailboxId:e.member.mailBoxId}),{data:r,isLoading:i}=IN({mailboxId:e.member.mailBoxId,limit:40}),a=[...r??[]].sort((e,t)=>e.createdAt-t.createdAt).slice(-8);return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(oo,{className:`h-4 w-4 text-primary`}),`信箱投递过程`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`这里记录的是 mailbox 本身的动作轨迹:谁投递、谁查看、看完选中了哪封、何时回信。`})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[n?.length??0,` 封消息`]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[r?.length??0,` 条轨迹`]})]})]})}),(0,z.jsx)(_y,{children:i?(0,z.jsx)(`div`,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-24 w-full`},e))}):a.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-4 py-10 text-center text-sm text-muted-foreground`),children:`暂无 mailbox 过程事件。新版本开始处理后,这里会持续记录浏览和决策轨迹。`}):(0,z.jsx)(I_,{className:`h-[360px] pr-4`,children:(0,z.jsx)(`div`,{children:a.map((e,n)=>(0,z.jsx)(cP,{event:e,index:n,isLast:n===a.length-1,memberNameMap:t},e.id))})})})]})}function cP({event:e,index:t,isLast:n,memberNameMap:r}){let i=AP(e),a=i.icon,o=jP(e,r),s=e.eventType===`message_status_changed`?String(e.detail?.nextStatus??``):e.message?.status,c=s?LN[s]??null:null,l=e.message?.threadId||(typeof e.detail?.threadId==`string`?e.detail.threadId:void 0)||e.messageId,u=e.eventType===`message_followed_up`&&typeof e.detail?.preview==`string`?e.detail.preview:e.message?.content;return(0,z.jsxs)(`div`,{className:`grid grid-cols-[2rem_minmax(0,1fr)] gap-3`,children:[(0,z.jsxs)(`div`,{className:`relative flex justify-center`,children:[!n&&(0,z.jsx)(`div`,{className:`absolute top-8 bottom-0 w-px bg-border dark:bg-slate-700`}),(0,z.jsx)(`div`,{className:J(`relative z-10 flex h-7 w-7 items-center justify-center rounded-full border text-xs font-semibold`,i.nodeClass),children:t+1})]}),(0,z.jsxs)(`div`,{className:J(`mb-3 rounded-lg border p-3`,i.rowClass),children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(X,{variant:`outline`,className:i.chipClass,children:[(0,z.jsx)(a,{className:`h-3 w-3`}),i.label]}),c&&(0,z.jsx)(X,{variant:`outline`,className:c.chipClass,children:c.label}),(0,z.jsx)(`span`,{className:`ml-auto font-mono text-xs text-muted-foreground dark:text-slate-300`,children:zP(e.createdAt)})]}),(0,z.jsxs)(`div`,{className:`mt-3 flex min-w-0 items-center gap-2 text-xs font-medium`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:o.from}),(0,z.jsx)(Ta,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground dark:text-slate-400`}),(0,z.jsx)(`span`,{className:`truncate`,children:o.to}),l&&(0,z.jsx)(`span`,{className:`ml-auto shrink-0 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-slate-950/50 dark:text-slate-300`,children:PP(l)})]}),(0,z.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-foreground dark:text-slate-100`,children:kP(e,r)}),u&&(0,z.jsxs)(`div`,{className:J(WN,`mt-3 p-3`),children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:`消息摘要`}),(0,z.jsx)(`p`,{className:`mt-2 whitespace-pre-wrap text-sm leading-6 text-foreground dark:text-slate-100`,children:LP(u,160)})]})]})]})}function lP({departmentName:e,memberName:t,onOpenContext:n}){let{data:r,isLoading:i}=uy(e,t),a=r?[...r.agentLogs].slice(-3).reverse():[];return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(Mo,{className:`h-4 w-4 text-primary`}),`脑内上下文`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`不再直接堆完整日志,只先给你最近几段关键上下文。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[r?.agentLogs.length??0,` 条记录`]})]})}),(0,z.jsxs)(_y,{className:`space-y-4`,children:[i?(0,z.jsx)(`div`,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-20 w-full`},e))}):a.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-4 py-10 text-center text-sm text-muted-foreground`),children:`该成员还没有执行记录。`}):(0,z.jsx)(`div`,{className:`space-y-3`,children:a.map(e=>(0,z.jsxs)(`div`,{className:J(HN,`p-4`),children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,e.index]}),(0,z.jsx)(X,{variant:e.role===`user`?`default`:`secondary`,children:e.role===`user`?`User`:`Assistant`})]}),(0,z.jsx)(`div`,{className:`mt-3 text-sm leading-6 text-foreground dark:text-slate-100`,children:(0,z.jsx)(DP,{log:e})})]},e.index))}),(0,z.jsxs)(Y,{variant:`outline`,className:`w-full`,onClick:n,children:[(0,z.jsx)(Mo,{className:`h-4 w-4`}),`查看完整执行上下文`]})]})]})}function uP({messages:e,memberNameMap:t}){let[n,r]=(0,S.useState)(null);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Ca,{className:`h-5 w-5 text-primary`}),`部门主线战报`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`从全队视角看最近的协作主线,方便你快速判断当前整体推进节奏。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[e.length,` 条`]})]})}),(0,z.jsx)(_y,{children:e.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-5 py-12 text-center text-sm text-muted-foreground`),children:`全队还没有产生协作消息。`}):(0,z.jsx)(I_,{className:`max-h-[520px] pr-4`,children:(0,z.jsx)(`div`,{className:`space-y-3`,children:e.slice(0,12).map(e=>{let n=LN[e.status]??LN.pending,i=t.get(e.fromMailboxId)??NP(e.fromMailboxId),a=t.get(e.toMailboxId)??NP(e.toMailboxId),o=IP(e.content),s=o.length>260;return(0,z.jsxs)(`div`,{role:`button`,tabIndex:0,className:J(HN,`cursor-pointer p-4 transition-colors hover:border-primary/30`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25`),onClick:()=>r(e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),r(e))},children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:n.chipClass,children:n.label}),(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(Ka,{className:`h-3 w-3`}),PP(e.threadId??e.id)]}),e.parentMessageId&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(za,{className:`h-3 w-3`}),PP(e.parentMessageId)]}),(0,z.jsx)(`span`,{className:`text-sm font-medium text-foreground dark:text-slate-50`,children:i}),(0,z.jsx)(Co,{className:`h-3.5 w-3.5 text-muted-foreground dark:text-slate-400`}),(0,z.jsx)(`span`,{className:`text-sm font-medium text-foreground dark:text-slate-50`,children:a}),(0,z.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground dark:text-slate-300`,children:RP(e.sendTime)})]}),s?(0,z.jsx)(`div`,{className:`mt-3`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:(0,z.jsx)(`div`,{className:`max-h-40 overflow-y-auto rounded-2xl border border-border/60 bg-background/80 p-4 pr-5 dark:border-white/10 dark:bg-white/5`,children:(0,z.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-6 text-foreground dark:text-slate-100`,children:o})})}):(0,z.jsx)(`p`,{className:`mt-3 whitespace-pre-wrap text-sm leading-6 text-foreground dark:text-slate-100`,children:o}),s&&(0,z.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-3`,children:[(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:`预览区域支持上下滚动`}),(0,z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:t=>{t.stopPropagation(),r(e)},children:[(0,z.jsx)(Ha,{className:`h-4 w-4`}),`查看全文`]})]})]},e.id)})})})})]}),(0,z.jsx)(FC,{open:!!n,onOpenChange:e=>!e&&r(null),children:(0,z.jsx)(RC,{className:`sm:max-w-4xl max-h-[85vh] overflow-hidden grid-rows-[auto_minmax(0,1fr)]`,children:n?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(zC,{children:[(0,z.jsxs)(VC,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(Ca,{className:`h-4 w-4`}),`部门主线战报详情`]}),(0,z.jsxs)(HC,{children:[t.get(n.fromMailboxId)??NP(n.fromMailboxId),` -> `,t.get(n.toMailboxId)??NP(n.toMailboxId),` · `,RP(n.sendTime)]})]}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-col space-y-4 overflow-hidden`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:(LN[n.status]??LN.pending).chipClass,children:(LN[n.status]??LN.pending).label}),(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-muted px-2 py-1 font-mono text-xs text-muted-foreground`,children:[(0,z.jsx)(Ka,{className:`h-3 w-3`}),PP(n.threadId??n.id)]}),n.parentMessageId&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-muted px-2 py-1 font-mono text-xs text-muted-foreground`,children:[(0,z.jsx)(za,{className:`h-3 w-3`}),PP(n.parentMessageId)]}),(0,z.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:"点击外部区域或按 `Esc` 可关闭"})]}),(0,z.jsx)(I_,{className:`min-h-0 flex-1 pr-4`,children:(0,z.jsx)(`div`,{className:J(HN,`p-5 text-foreground dark:text-slate-100`),children:(0,z.jsx)(jN,{content:n.content,className:`[&_h1]:text-xl [&_h2]:text-lg [&_h3]:text-base [&_pre]:text-xs [&_pre]:leading-6`})})})]})]}):null})})]})}function dP({department:e,summary:t,onAddMember:n}){return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsxs)(my,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Do,{className:`h-5 w-5 text-primary`}),`操作说明`]}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`详情页展示部门内部结构;CEO视角仍以 Department Head 为唯一入口。`})]}),(0,z.jsxs)(_y,{className:`space-y-5`,children:[(0,z.jsx)(`div`,{className:`space-y-3`,children:[`先看 Department Head 是否已经接住任务,再决定是否进入 executor 细节。`,`右侧优先读“当前建议动作”和“任务流”,大多数判断不需要翻完整日志。`,`只有当消息不够解释行为时,再点开完整上下文去看内部推理和工具调用。`].map((e,t)=>(0,z.jsxs)(`div`,{className:J(HN,`flex items-start gap-3 px-4 py-3`),children:[(0,z.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-sm font-semibold text-primary`,children:t+1}),(0,z.jsx)(`p`,{className:`text-sm leading-6 text-foreground dark:text-slate-100`,children:e})]},e))}),(0,z.jsxs)(`div`,{className:J(HN,`rounded-3xl p-4`),children:[(0,z.jsx)(`div`,{className:`text-xs font-semibold tracking-[0.18em] text-muted-foreground dark:text-slate-300`,children:`部门参数`}),(0,z.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[(0,z.jsx)(fP,{icon:jo,label:`目标 ID`,value:e.sourceGoalId??`未关联`,mono:!!e.sourceGoalId}),(0,z.jsx)(fP,{icon:Fo,label:`Department Head`,value:t.headName}),(0,z.jsx)(fP,{icon:Ro,label:`执行层 executor`,value:`${t.executorCount} 人`}),(0,z.jsx)(fP,{icon:Ua,label:`工作目录`,value:e.workpath??`未设置`,mono:!!e.workpath}),(0,z.jsx)(fP,{icon:vo,label:`刷新策略`,value:`自动 5 秒同步 + 手动刷新`})]})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`状态图例`}),(0,z.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:Object.values(RN).map(e=>(0,z.jsx)(X,{variant:`outline`,className:e.badge,children:e.label},e.label))})]}),(0,z.jsxs)(Y,{className:`w-full`,onClick:n,children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`添加新成员`]})]})]})}function fP({icon:e,label:t,value:n,mono:r=!1}){return(0,z.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,z.jsx)(`div`,{className:`mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-xl bg-background text-muted-foreground ring-1 ring-border dark:bg-slate-950/35 dark:text-slate-200 dark:ring-white/10`,children:(0,z.jsx)(e,{className:`h-4 w-4`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:t}),(0,z.jsx)(`div`,{className:J(`mt-1 break-all text-sm text-foreground dark:text-slate-100`,r&&`font-mono text-xs`),children:n})]})]})}function pP(){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(320px,0.92fr)_minmax(0,1.08fr)]`,children:[(0,z.jsxs)(py,{children:[(0,z.jsxs)(my,{children:[(0,z.jsx)(vy,{className:`h-7 w-32`}),(0,z.jsx)(vy,{className:`h-4 w-64`})]}),(0,z.jsx)(_y,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-40 w-full`},e))})]}),(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(vy,{className:`h-52 w-full rounded-3xl`}),(0,z.jsx)(vy,{className:`h-72 w-full rounded-3xl`}),(0,z.jsxs)(`div`,{className:`grid gap-6 2xl:grid-cols-2`,children:[(0,z.jsx)(vy,{className:`h-80 w-full rounded-3xl`}),(0,z.jsx)(vy,{className:`h-80 w-full rounded-3xl`})]})]})]}),(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(0,1.15fr)_minmax(300px,0.85fr)]`,children:[(0,z.jsx)(vy,{className:`h-[420px] w-full rounded-3xl`}),(0,z.jsx)(vy,{className:`h-[420px] w-full rounded-3xl`})]})]})}function mP({departmentName:e,memberName:t,onClose:n}){let{data:r,isLoading:i}=uy(e,t);return(0,z.jsx)(FC,{open:!!t,onOpenChange:e=>!e&&n(),children:(0,z.jsxs)(RC,{className:`sm:max-w-4xl max-h-[85vh]`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsxs)(VC,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Lo,{className:`h-4 w-4`}),t??`成员`,` 的完整上下文`]}),(0,z.jsx)(HC,{children:r?r.mailBoxId:`加载中...`})]}),i?(0,z.jsxs)(`div`,{className:`space-y-4 py-4`,children:[(0,z.jsx)(vy,{className:`h-5 w-32`}),[1,2,3,4].map(e=>(0,z.jsx)(vy,{className:`h-16 w-full`},e))]}):r?(0,z.jsx)(`div`,{className:`max-h-[65vh] overflow-y-auto rounded-md border p-3`,children:(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,z.jsx)(Mo,{className:`h-4 w-4 text-emerald-500`}),(0,z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`对话上下文`}),(0,z.jsxs)(X,{variant:`outline`,className:`text-xs`,children:[r.agentLogs.length,` 条`]})]}),r.agentLogs.length===0?(0,z.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground/60`,children:`该成员暂无执行记录`}):(0,z.jsx)(`div`,{className:`space-y-4 pl-1`,children:r.agentLogs.map(e=>(0,z.jsx)(hP,{log:e},e.index))})]})}):(0,z.jsx)(`div`,{className:`py-12 text-center text-muted-foreground`,children:`无法加载成员上下文`})]})})}function hP({log:e}){let t=e.role===`user`;return(0,z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,z.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-xs text-muted-foreground/60`,children:[(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,e.index]}),(0,z.jsx)(X,{variant:t?`default`:`secondary`,className:`text-[10px] px-1.5 py-0 h-4`,children:t?`User`:`Assistant`})]}),(0,z.jsx)(`div`,{className:`space-y-2 pl-2`,children:e.blocks.map((e,n)=>e.type===`text`?(0,z.jsx)(gP,{text:String(e.text??``),isUser:t},n):e.type===`tool_use`?(0,z.jsx)(_P,{name:String(e.name??`unknown`),input:e.input},n):e.type===`tool_result`?(0,z.jsx)(vP,{toolUseId:String(e.toolUseId??``),content:e.content},n):(0,z.jsxs)(`div`,{className:`rounded-md bg-muted px-3 py-2 text-sm text-muted-foreground`,children:[`[unknown block: `,e.type,`]`]},n))})]})}function gP({text:e,isUser:t}){let[n,r]=(0,S.useState)(!1),i=e.length>300;return(0,z.jsxs)(`div`,{className:J(`cursor-pointer rounded-md border px-3 py-2 text-sm whitespace-pre-wrap break-words`,t?`border-emerald-500/10 bg-emerald-500/5 text-foreground`:`border-sky-500/10 bg-sky-500/5 text-foreground`),onClick:()=>{i&&r(e=>!e)},children:[n||!i?(0,z.jsx)(jN,{content:e,compact:!0,className:J(`[&_a]:text-primary [&_blockquote]:text-inherit [&_code]:bg-black/6 dark:[&_code]:bg-white/10 [&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_pre]:text-xs [&_pre]:leading-5`,t?`[&_blockquote]:border-emerald-500/20`:`[&_blockquote]:border-sky-500/20`)}):LP(e,300),i&&(0,z.jsxs)(`span`,{className:`ml-1 inline-flex text-muted-foreground/40`,children:[n?(0,z.jsx)(Ma,{className:`inline h-3 w-3`}):(0,z.jsx)(Na,{className:`inline h-3 w-3`}),(0,z.jsx)(`span`,{className:`ml-0.5 text-xs`,children:n?`收起`:`展开`})]})]})}function _P({name:e,input:t}){let[n,r]=(0,S.useState)(!1),i=JSON.stringify(t,null,2);return(0,z.jsxs)(`div`,{className:`rounded-md border border-primary/20 bg-primary/5 px-3 py-2`,children:[(0,z.jsxs)(`div`,{className:`flex cursor-pointer items-center gap-2`,onClick:()=>r(e=>!e),children:[(0,z.jsx)(Bo,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,z.jsx)(`span`,{className:`text-sm font-semibold text-primary`,children:e}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground/40`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`mt-2 overflow-x-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:i})]})}function vP({toolUseId:e,content:t}){let[n,r]=(0,S.useState)(!1),i=typeof t==`string`?t:JSON.stringify(t,null,2);return(0,z.jsxs)(`div`,{className:`rounded-md border border-border bg-muted/40 px-3 py-2`,children:[e&&(0,z.jsxs)(`div`,{className:`mb-1 truncate font-mono text-[10px] text-muted-foreground/50`,children:[`toolUseId: `,e]}),(0,z.jsxs)(`div`,{className:`mb-1 flex cursor-pointer items-center gap-2`,onClick:()=>r(e=>!e),children:[(0,z.jsx)(Ha,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`执行结果`}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground/40`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:i})]})}var yP=`manager`;function bP(e,t,n){return e.fromMailboxId===t&&(e.toMailboxId===yP||e.toMailboxId===n)}function xP(e,t,n){let r=t.filter(t=>t.toMailboxId===e.mailBoxId),i=t.filter(t=>t.fromMailboxId===e.mailBoxId),a=[...r,...i].sort((e,t)=>t.sendTime-e.sendTime),o=a.filter(t=>!bP(t,e.mailBoxId,n)),s=o.filter(e=>e.status===`pending`).length,c=o.filter(e=>e.status===`processing`).length,l=r.filter(e=>e.status===`done`).length,u=o.filter(e=>e.status===`failed`).length,d=i.some(t=>bP(t,e.mailBoxId,n)),f=`standby`;return f=u>0?`support`:c>0?`running`:s>0?`queued`:a.length===0?`standby`:l>0||d?`completed`:`active`,{member:e,receivedMessages:r,sentMessages:i,combinedMessages:a,totalMessages:a.length,pendingCount:s,processingCount:c,doneCount:l,failedCount:u,lastActiveAt:a[0]?.sendTime??null,state:f,nextAction:TP({state:f,totalMessages:a.length,pendingCount:s,processingCount:c,failedCount:u,focusOn:e.focusOn}),activityPercent:0}}function SP(e,t,n){let r=e?.departmentMembers.length??0,i=CP(e),a=Math.max(0,r-+!!i),o=i?.name??`未配置`,s=t.filter(e=>e.totalMessages>0).length,c=n.filter(e=>e.status===`pending`||e.status===`processing`).length,l=n.filter(e=>e.status===`done`).length,u=n.filter(e=>e.status===`failed`).length,d=n[0]?.sendTime??null;return r===0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`等待招募`,stageHint:`这个部门还没有成员。先招募角色,再开始派发任务。`,stageTone:`border-slate-300 bg-slate-100 text-slate-700 dark:border-slate-300/20 dark:bg-slate-300/10 dark:text-slate-100`}:u>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`需要人工支援`,stageHint:`有成员产生了失败结果,建议从红色成员卡开始排查本轮阻塞。`,stageTone:`border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-300/20 dark:bg-rose-400/10 dark:text-rose-100`}:c>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`任务推进中`,stageHint:`当前有消息正在流转。先点一个角色卡,看他最近一轮的任务流。`,stageTone:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-300/20 dark:bg-sky-400/10 dark:text-sky-100`}:l>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`本轮已收官`,stageHint:`最近一轮基本已经闭环,可以继续派发下一步任务。`,stageTone:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-300/20 dark:bg-emerald-400/10 dark:text-emerald-100`}:s>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`协作已启动`,stageHint:`成员之间已经开始协作,但还没有形成完整回合,可以先看谁最活跃。`,stageTone:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-300/20 dark:bg-violet-400/10 dark:text-violet-100`}:{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`等待首个任务`,stageHint:`部门已经存在,但还没有消息流转。先给每个角色一个明确分工。`,stageTone:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-300/20 dark:bg-amber-400/10 dark:text-amber-100`}}function CP(e){return e?e.departmentMembers.find(t=>t.id===e.headMemberId)??e.departmentMembers.find(e=>e.role===`department_head`)??null:null}function wP(e){let t=CP(e),n=e.departmentMembers.filter(e=>e.id!==t?.id);return t?[t,...n]:n}function TP({state:e,totalMessages:t,pendingCount:n,processingCount:r,failedCount:i,focusOn:a}){return e===`support`?`该成员有 ${i} 条失败结果,建议先人工查看原因,再决定是否继续推进。`:e===`running`?`该成员正在执行中,先观察结果回报;如果长时间无响应,再补充 ${a||`任务`} 上下文。`:e===`queued`?`收件箱里还有 ${n} 条待处理消息,优先确认这轮任务是否足够明确。`:e===`completed`?`上一轮已经交付,可以继续给他下发下一步,或者切到其他角色看看是否需要衔接。`:e===`active`?`这名成员已经进入协作流,建议查看最近往返消息,判断是否需要追问或补充边界。`:t===0?`这名成员还没有开始行动,先给他一个清晰的小目标${a?`,最好贴合 ${a}`:``}。`:r>0?`任务仍在推进,先观察这一轮结果。`:`可以继续观察最近战报,确认是否需要新的输入。`}function EP(e){for(let t of e.blocks){if(t.type===`text`&&typeof t.text==`string`&&t.text.trim())return FP(t.text.trim(),180);if(t.type===`tool_use`)return`调用工具 ${String(t.name??`unknown`)},参数已写入执行上下文。`;if(t.type===`tool_result`)return typeof t.content==`string`&&t.content.trim()?FP(t.content.trim(),180):`收到一次工具执行结果。`}return`该记录没有可预览的文本内容。`}function DP({log:e}){let t=OP(e);return t?t.type===`markdown`?(0,z.jsx)(`div`,{className:`max-h-44 overflow-hidden`,children:(0,z.jsx)(jN,{content:t.content,compact:!0,className:`[&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_pre]:text-xs [&_pre]:leading-5`})}):(0,z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:t.content}):(0,z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:EP(e)})}function OP(e){for(let t of e.blocks){if(t.type===`text`&&typeof t.text==`string`&&t.text.trim())return{type:`markdown`,content:t.text.trim()};if(t.type===`tool_result`&&typeof t.content==`string`&&t.content.trim())return{type:`markdown`,content:t.content.trim()};if(t.type===`tool_use`)return{type:`text`,content:`调用工具 ${String(t.name??`unknown`)},参数已写入执行上下文。`}}return null}function kP(e,t){let n=MP(e.actorMailboxId,t),r=MP(e.mailboxId,t),i=MP(e.counterpartMailboxId??e.message?.fromMailboxId,t),a=typeof e.detail?.visibleCount==`number`?e.detail.visibleCount:null,o=typeof e.detail?.previousStatus==`string`?e.detail.previousStatus:null,s=typeof e.detail?.nextStatus==`string`?e.detail.nextStatus:null;if(e.eventType===`message_sent`)return`${MP(e.message?.fromMailboxId,t)??n} 向 ${MP(e.message?.toMailboxId,t)??r} 投递了一封邮件。`;if(e.eventType===`mailbox_listed`)return`${n??r??`成员`} 查看了邮箱,当前看到了 ${a??0} 封候选邮件。`;if(e.eventType===`message_opened`)return`${n??r??`成员`} 已选中一封邮件开始阅读,来源是 ${i??`上游成员`}。`;if(e.eventType===`message_replied`)return`${n??r??`成员`} 已完成处理,并把结果回给了 ${i??`上游成员`}。`;if(e.eventType===`message_followed_up`){let t=typeof e.detail?.kind==`string`?e.detail.kind:`progress`,a=t===`question`?`追问`:t===`partial_result`?`部分结果`:t===`nudge`?`催办`:`进展`,o=e.message?.threadId||(typeof e.detail?.threadId==`string`?e.detail.threadId:void 0)||e.messageId;return`${n??r??`成员`} 在线程 ${PP(o??`unknown`)} 中追加了一条${a},发送给 ${i??`上游成员`}。`}return e.eventType===`message_status_changed`?`${r??`该邮箱`} 中的一封邮件状态从 ${o??`unknown`} 变成了 ${s??`unknown`}。`:`发生了一条 mailbox 过程事件。`}function AP(e){let t=zN[e.eventType],n=e.eventType===`message_status_changed`&&typeof e.detail?.nextStatus==`string`?e.detail.nextStatus:e.message?.status,r=typeof e.detail?.kind==`string`?e.detail.kind:``;return n===`failed`||n===`cancelled`||r===`question`||r===`nudge`?{...t,nodeClass:`border-rose-300 bg-rose-50 text-rose-700 dark:border-rose-500/40 dark:bg-rose-500/15 dark:text-rose-200`,rowClass:`border-rose-200 bg-rose-50/45 dark:border-rose-500/30 dark:bg-rose-500/10`}:e.eventType===`message_replied`?{...t,nodeClass:`border-emerald-300 bg-emerald-50 text-emerald-700 dark:border-emerald-500/40 dark:bg-emerald-500/15 dark:text-emerald-200`,rowClass:`border-emerald-200 bg-emerald-50/40 dark:border-emerald-500/25 dark:bg-emerald-500/10`}:e.eventType===`message_followed_up`?{...t,nodeClass:`border-violet-300 bg-violet-50 text-violet-700 dark:border-violet-500/40 dark:bg-violet-500/15 dark:text-violet-200`,rowClass:`border-violet-200 bg-violet-50/35 dark:border-violet-500/25 dark:bg-violet-500/10`}:{...t,nodeClass:`border-primary/30 bg-primary/10 text-primary dark:border-primary/40 dark:bg-primary/15`,rowClass:`border-border/70 bg-muted/20 dark:border-slate-700/70 dark:bg-slate-900/40`}}function jP(e,t){return e.eventType===`mailbox_listed`?{from:MP(e.actorMailboxId||e.mailboxId,t)??`成员`,to:`收件箱`}:e.eventType===`message_opened`?{from:MP(e.counterpartMailboxId,t)??MP(e.message?.fromMailboxId,t)??`上游成员`,to:MP(e.mailboxId,t)??`邮箱`}:{from:MP(e.message?.fromMailboxId,t)??MP(e.actorMailboxId,t)??MP(e.counterpartMailboxId,t)??MP(e.mailboxId,t)??`unknown`,to:MP(e.message?.toMailboxId,t)??MP(e.counterpartMailboxId,t)??MP(e.mailboxId,t)??MP(e.actorMailboxId,t)??`unknown`}}function MP(e,t){return e?t.get(e)??NP(e):null}function NP(e){return e.length<=12?e:`${e.slice(0,8)}...`}function PP(e){return e.length<=10?e:`${e.slice(0,8)}...`}function FP(e,t){return e.length<=t?e:`${e.slice(0,t)}...`}function IP(e){return e.replace(/\r\n?/g,`
|
|
89
|
+
`))}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 bj(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=_M.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function DM(){return{exit:{taskListCheckValueChecked:kM,taskListCheckValueUnchecked:kM,paragraph:AM}}}function OM(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:jM}}}function kM(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function AM(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 jM(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=_M.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 MM(){return[RA(),cj(),pj(),vM(),DM()]}function NM(e){return{extensions:[zA(),lj(e),mj(),EM(e),OM()]}}var PM={tokenize:JM,partial:!0},FM={tokenize:YM,partial:!0},IM={tokenize:XM,partial:!0},LM={tokenize:ZM,partial:!0},RM={tokenize:QM,partial:!0},zM={name:`wwwAutolink`,tokenize:KM,previous:$M},BM={name:`protocolAutolink`,tokenize:qM,previous:eN},VM={name:`emailAutolink`,tokenize:GM,previous:tN},HM={};function UM(){return{text:HM}}for(var WM=48;WM<123;)HM[WM]=VM,WM++,WM===58?WM=65:WM===91&&(WM=97);HM[43]=VM,HM[45]=VM,HM[46]=VM,HM[95]=VM,HM[72]=[VM,BM],HM[104]=[VM,BM],HM[87]=[VM,zM],HM[119]=[VM,zM];function GM(e,t,n){let r=this,i,a;return o;function o(t){return!nN(t)||!tN.call(r,r.previous)||rN(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return nN(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(RM,u,l)(t):t===45||t===95||zT(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&&RT(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function KM(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!$M.call(r,r.previous)||rN(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(PM,e.attempt(FM,e.attempt(IM,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function qM(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&eN.call(r,r.previous)&&!rN(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(RT(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||VT(t)||GT(t)||JT(t)||qT(t)?n(t):e.attempt(FM,e.attempt(IM,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function JM(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 YM(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(LM,c,s)(t):t===null||GT(t)||JT(t)||t!==45&&qT(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 XM(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(LM,t,a)(o):o===null||GT(o)||JT(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function ZM(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||GT(o)||JT(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||GT(e)||JT(e)?t(e):r(e)}function a(e){return RT(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):RT(t)?(e.consume(t),o):n(t)}}function QM(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return zT(e)?n(e):t(e)}}function $M(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||GT(e)}function eN(e){return!RT(e)}function tN(e){return!(e===47||nN(e))}function nN(e){return e===43||e===45||e===46||e===95||zT(e)}function rN(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 iN={tokenize:fN,partial:!0};function aN(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:lN,continuation:{tokenize:uN},exit:dN}},text:{91:{name:`gfmFootnoteCall`,tokenize:cN},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:oN,resolveTo:sN}}}}function oN(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=LT(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 sN(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 cN(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||GT(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(LT(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return GT(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 lN(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||GT(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=LT(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return GT(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),ZT(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function uN(e,t,n){return e.check(fE,t,e.attempt(iN,t,n))}function dN(e){e.exit(`gfmFootnoteDefinition`)}function fN(e,t,n){let r=this;return ZT(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 pN(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&&AT(o,o.length,0,aE(s,e.slice(r+1,n),t)),AT(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),AT(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=iE(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=iE(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var mN=class{constructor(){this.map=[]}add(e,t,n){hN(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 hN(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 gN(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 _N(){return{flow:{null:{name:`table`,tokenize:vN,resolveAll:yN}}}}function vN(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?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):$(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):KT(t)?ZT(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||GT(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,KT(t)?ZT(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 KT(t)?ZT(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||$(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 KT(t)?ZT(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||$(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||$(n)?(e.exit(`tableRow`),t(n)):KT(n)?ZT(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||GT(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 yN(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 mN;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(xN(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=bN(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=bN(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=bN(f,t,o,i,n,d)):(o[0]=o[1],d=bN(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&xN(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=gN(t.events,n))}return e}function bN(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},SN(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=SN(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=SN(t.events,n[2]),a=SN(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({},SN(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function xN(e,t,n,r,i){let a=[],o=SN(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 SN(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var CN={name:`tasklistCheck`,tokenize:TN};function wN(){return{text:{91:CN}}}function TN(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 GT(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 $(r)?t(r):KT(r)?e.check({tokenize:EN},t,n)(r):n(r)}}function EN(e,t,n){return ZT(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function DN(e){return NT([UM(),aN(),pN(e),_N(),wN()])}var ON={};function kN(e){let t=this,n=e||ON,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(DN(n)),a.push(MM()),o.push(NM(n))}var AN={h1:({className:e,...t})=>(0,z.jsx)(`h1`,{className:J(`text-lg font-semibold tracking-tight`,e),...t}),h2:({className:e,...t})=>(0,z.jsx)(`h2`,{className:J(`text-base font-semibold tracking-tight`,e),...t}),h3:({className:e,...t})=>(0,z.jsx)(`h3`,{className:J(`text-sm font-semibold tracking-tight`,e),...t}),p:({className:e,...t})=>(0,z.jsx)(`p`,{className:J(`my-0`,e),...t}),ul:({className:e,...t})=>(0,z.jsx)(`ul`,{className:J(`my-0 ml-5 list-disc space-y-1.5`,e),...t}),ol:({className:e,...t})=>(0,z.jsx)(`ol`,{className:J(`my-0 ml-5 list-decimal space-y-1.5`,e),...t}),li:({className:e,...t})=>(0,z.jsx)(`li`,{className:J(`pl-1`,e),...t}),blockquote:({className:e,...t})=>(0,z.jsx)(`blockquote`,{className:J(`my-0 border-l-2 border-border/80 pl-4 text-muted-foreground italic dark:border-white/10`,e),...t}),a:({className:e,...t})=>(0,z.jsx)(`a`,{className:J(`font-medium text-primary underline underline-offset-4`,e),target:`_blank`,rel:`noreferrer`,...t}),code:({className:e,...t})=>(0,z.jsx)(`code`,{className:J(`rounded-md bg-black/5 px-1.5 py-0.5 font-mono text-[0.85em] dark:bg-white/10`,e),...t}),pre:({className:e,...t})=>(0,z.jsx)(`pre`,{className:J(`my-0 overflow-x-auto rounded-2xl border border-border/70 bg-black/5 p-3 text-[0.85em] leading-6 dark:border-white/10 dark:bg-white/6`,e),...t}),hr:({className:e,...t})=>(0,z.jsx)(`hr`,{className:J(`border-border/70 dark:border-white/10`,e),...t}),table:({className:e,...t})=>(0,z.jsx)(`div`,{className:`overflow-x-auto`,children:(0,z.jsx)(`table`,{className:J(`w-full border-collapse text-left text-sm`,e),...t})}),th:({className:e,...t})=>(0,z.jsx)(`th`,{className:J(`border-b border-border/70 px-3 py-2 font-semibold dark:border-white/10`,e),...t}),td:({className:e,...t})=>(0,z.jsx)(`td`,{className:J(`border-b border-border/50 px-3 py-2 align-top dark:border-white/5`,e),...t})};function jN({content:e,className:t,compact:n=!1}){return(0,z.jsx)(`div`,{className:J(`space-y-4 break-words text-sm leading-7 [&>*+*]:mt-4`,n&&`text-[0.95rem] leading-6 [&>*+*]:mt-3`,t),children:(0,z.jsx)(TA,{remarkPlugins:[kN],components:AN,children:e})})}var MN=e=>e?.mailboxId?X_(`/api/mailbox/${encodeURIComponent(e.mailboxId)}/messages`,{status:e.status}):Promise.resolve([]),NN=e=>e?.mailboxId?X_(`/api/mailbox/${encodeURIComponent(e.mailboxId)}/events`,{limit:e.limit}):Promise.resolve([]),PN={all:[`mailbox`],summaries:[`mailbox`,`summaries`],messages:e=>[`mailbox`,`messages`,e],events:e=>[`mailbox`,`events`,e]};function FN(e){return gi({queryKey:PN.messages(e),queryFn:()=>MN(e),enabled:!!e?.mailboxId})}function IN(e){return gi({queryKey:PN.events(e),queryFn:()=>NN(e),enabled:!!e?.mailboxId})}var LN={pending:{label:`待处理`,variant:`outline`,chipClass:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/15 dark:text-amber-200`},processing:{label:`执行中`,variant:`default`,chipClass:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`},done:{label:`已完成`,variant:`secondary`,chipClass:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`},failed:{label:`失败`,variant:`destructive`,chipClass:`border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-500/30 dark:bg-rose-500/15 dark:text-rose-200`},cancelled:{label:`已取消`,variant:`secondary`,chipClass:`border-slate-200 bg-slate-100 text-slate-600 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`},read:{label:`已读`,variant:`secondary`,chipClass:`border-slate-200 bg-slate-100 text-slate-600 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`}},RN={standby:{label:`待命`,badge:`border-slate-200 bg-slate-100 text-slate-700 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`,card:`border-slate-200/80 bg-gradient-to-br from-white via-slate-50 to-slate-100/70 dark:border-slate-700/70 dark:from-slate-900 dark:via-slate-900/95 dark:to-slate-800/75`,halo:`bg-slate-500/10 text-slate-600 dark:bg-slate-400/15 dark:text-slate-200`,bar:`bg-slate-500`},queued:{label:`待响应`,badge:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/15 dark:text-amber-200`,card:`border-amber-200/80 bg-gradient-to-br from-amber-50 via-white to-orange-50 dark:border-amber-500/25 dark:from-amber-950/45 dark:via-slate-900 dark:to-orange-950/35`,halo:`bg-amber-500/10 text-amber-700 dark:bg-amber-400/15 dark:text-amber-200`,bar:`bg-amber-500`},running:{label:`执行中`,badge:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`,card:`border-sky-200/80 bg-gradient-to-br from-sky-50 via-white to-blue-50 dark:border-sky-500/25 dark:from-sky-950/45 dark:via-slate-900 dark:to-blue-950/35`,halo:`bg-sky-500/10 text-sky-700 dark:bg-sky-400/15 dark:text-sky-200`,bar:`bg-sky-500`},active:{label:`协作中`,badge:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-500/30 dark:bg-violet-500/15 dark:text-violet-200`,card:`border-violet-200/80 bg-gradient-to-br from-violet-50 via-white to-indigo-50 dark:border-violet-500/25 dark:from-violet-950/45 dark:via-slate-900 dark:to-indigo-950/35`,halo:`bg-violet-500/10 text-violet-700 dark:bg-violet-400/15 dark:text-violet-200`,bar:`bg-violet-500`},completed:{label:`回合完成`,badge:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`,card:`border-emerald-200/80 bg-gradient-to-br from-emerald-50 via-white to-teal-50 dark:border-emerald-500/25 dark:from-emerald-950/45 dark:via-slate-900 dark:to-teal-950/35`,halo:`bg-emerald-500/10 text-emerald-700 dark:bg-emerald-400/15 dark:text-emerald-200`,bar:`bg-emerald-500`},support:{label:`需要支援`,badge:`border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-500/30 dark:bg-rose-500/15 dark:text-rose-200`,card:`border-rose-200/80 bg-gradient-to-br from-rose-50 via-white to-orange-50 dark:border-rose-500/25 dark:from-rose-950/45 dark:via-slate-900 dark:to-orange-950/35`,halo:`bg-rose-500/10 text-rose-700 dark:bg-rose-400/15 dark:text-rose-200`,bar:`bg-rose-500`}},zN={message_sent:{label:`已投递`,chipClass:`border-indigo-200 bg-indigo-50 text-indigo-700 dark:border-indigo-500/30 dark:bg-indigo-500/15 dark:text-indigo-200`,icon:Co},message_status_changed:{label:`状态变更`,chipClass:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`,icon:io},mailbox_listed:{label:`查看邮箱`,chipClass:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/15 dark:text-amber-200`,icon:Va},message_opened:{label:`选中邮件`,chipClass:`border-fuchsia-200 bg-fuchsia-50 text-fuchsia-700 dark:border-fuchsia-500/30 dark:bg-fuchsia-500/15 dark:text-fuchsia-200`,icon:V},message_replied:{label:`提交回信`,chipClass:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`,icon:yo},message_discarded:{label:`已丢弃`,chipClass:`border-slate-200 bg-slate-100 text-slate-700 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`,icon:No},message_followed_up:{label:`线程跟进`,chipClass:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-500/30 dark:bg-violet-500/15 dark:text-violet-200`,icon:za}},BN=`border-border/70 bg-card/90 shadow-sm backdrop-blur-sm dark:border-border/80 dark:bg-card/80`,VN=`bg-muted/60 text-foreground dark:bg-muted/35`,HN=`rounded-2xl border border-border/60 bg-muted/55 dark:border-border/70 dark:bg-muted/30`,UN=`rounded-2xl border border-dashed border-border/60 bg-muted/35 dark:border-border/70 dark:bg-muted/20`,WN=`rounded-2xl border border-border/60 bg-background/75 dark:border-white/10 dark:bg-slate-950/35`,GN=`relative overflow-hidden border border-sky-100/80 bg-gradient-to-br from-[#f7fbff] via-white to-[#eef6ff] text-slate-950 shadow-[0_24px_60px_-40px_rgba(59,130,246,0.35)] dark:border-white/8 dark:from-slate-950 dark:via-slate-900 dark:to-slate-950 dark:text-slate-50 dark:shadow-[0_30px_80px_-40px_rgba(15,23,42,0.9)]`,KN=`border-border/50 bg-background/80 text-foreground hover:bg-background dark:border-white/10 dark:bg-white/5 dark:text-white dark:hover:bg-white/10`,qN=`bg-slate-950 text-white hover:bg-slate-800 dark:bg-white dark:text-slate-900 dark:hover:bg-slate-100`,JN=`inline-flex items-center gap-2 rounded-full border border-border/50 bg-background/72 px-3 py-1.5 text-foreground/85 dark:border-white/10 dark:bg-white/5 dark:text-slate-200/85`,YN=`rounded-2xl border border-border/60 bg-background/78 p-4 backdrop-blur-sm dark:border-white/10 dark:bg-white/5`;function XN(){let{departmentName:e}=st();return e?(0,z.jsx)(ZN,{departmentName:e}):(0,z.jsx)(dy,{children:(0,z.jsx)(`p`,{children:`Invalid department name`})})}function ZN({departmentName:e}){let t=rt(),{data:n,isLoading:r,refetch:i}=iy(e),{data:a,refetch:o}=ly(e),s=sy(e),c=cy(e),[l,u]=(0,S.useState)(!1),[d,f]=(0,S.useState)(null),[p,m]=(0,S.useState)(null),[h,g]=(0,S.useState)(null),[_,v]=(0,S.useState)({name:``,focusOn:``}),y=async()=>{let e=_.name.trim();e&&(await s.mutateAsync({name:e,focusOn:_.focusOn||void 0}),m(e),u(!1),v({name:``,focusOn:``}))},b=async()=>{d&&(await c.mutateAsync(d),p===d&&m(null),h===d&&g(null),f(null))},x=async()=>{await Promise.all([i(),o()])},C=[...a?.messages??[]].sort((e,t)=>t.sendTime-e.sendTime),w=new Map;if(n?.departmentMembers)for(let e of n.departmentMembers)w.set(e.mailBoxId,e.name);let T=n?wP(n):[],E=n?CP(n)?.mailBoxId:void 0,D=n?T.map(e=>xP(e,C,E)):[],O=D.reduce((e,t)=>Math.max(e,t.totalMessages),1),k=D.map(e=>({...e,activityPercent:e.totalMessages===0?12:Math.max(22,Math.round(e.totalMessages/O*100))})),A=k.find(e=>e.member.name===p)??k[0]??null,j=SP(n,k,C);return(0,z.jsx)(dy,{children:(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(QN,{department:n,departmentName:e,summary:j,onBack:()=>t(`/departments`),onRefresh:x,onAddMember:()=>u(!0)}),r?(0,z.jsx)(pP,{}):n?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(320px,0.92fr)_minmax(0,1.08fr)]`,children:[(0,z.jsx)(eP,{memberStats:k,selectedMemberName:A?.member.name??null,onSelectMember:m,onDeleteMember:f,onAddMember:()=>u(!0)}),(0,z.jsx)(rP,{departmentName:e,stats:A,memberNameMap:w,onOpenContext:e=>g(e)})]}),(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(0,1.15fr)_minmax(300px,0.85fr)]`,children:[(0,z.jsx)(uP,{messages:C,memberNameMap:w}),(0,z.jsx)(dP,{department:n,summary:j,onAddMember:()=>u(!0)})]})]}):(0,z.jsx)(py,{children:(0,z.jsxs)(_y,{className:`py-16 text-center text-muted-foreground`,children:[`部门 `,e,` 不存在`]})}),(0,z.jsx)(FC,{open:l,onOpenChange:u,children:(0,z.jsxs)(RC,{className:`sm:max-w-sm`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`添加成员`}),(0,z.jsxs)(HC,{children:[`向部门 `,e,` 添加新成员`]})]}),(0,z.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`成员名称`}),(0,z.jsx)(NC,{value:_.name,onChange:e=>v(t=>({...t,name:e.target.value})),placeholder:`例如:TechEval`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`职责描述`}),(0,z.jsx)(NC,{value:_.focusOn,onChange:e=>v(t=>({...t,focusOn:e.target.value})),placeholder:`例如:技术评估 / 产品拆解 / 前端推进`})]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>u(!1),children:`取消`}),(0,z.jsxs)(Y,{onClick:y,disabled:s.isPending||!_.name.trim(),children:[s.isPending&&(0,z.jsx)(io,{className:`mr-1 h-4 w-4 animate-spin`}),`添加`]})]})]})}),(0,z.jsx)(FC,{open:!!d,onOpenChange:()=>f(null),children:(0,z.jsxs)(RC,{className:`sm:max-w-sm`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`确认移除`}),(0,z.jsxs)(HC,{children:[`确定要移除成员 `,d,` 吗?`]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>f(null),children:`取消`}),(0,z.jsxs)(Y,{variant:`destructive`,onClick:b,disabled:c.isPending,children:[c.isPending&&(0,z.jsx)(io,{className:`mr-1 h-4 w-4 animate-spin`}),`移除`]})]})]})}),(0,z.jsx)(mP,{departmentName:e,memberName:h,onClose:()=>g(null)})]})})}function QN({department:e,departmentName:t,summary:n,onBack:r,onRefresh:i,onAddMember:a}){return(0,z.jsxs)(py,{className:GN,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_top_left,rgba(59,130,246,0.18),transparent_36%)] dark:bg-[radial-gradient(circle_at_top_left,rgba(59,130,246,0.35),transparent_36%)]`}),(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.14),transparent_32%)] dark:bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.22),transparent_32%)]`}),(0,z.jsx)(_y,{className:`relative px-6 py-6 sm:px-8 sm:py-8`,children:(0,z.jsxs)(`div`,{className:`flex flex-col gap-8 xl:flex-row xl:items-start xl:justify-between`,children:[(0,z.jsxs)(`div`,{className:`max-w-3xl space-y-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:r,className:KN,children:(0,z.jsx)(wa,{className:`h-4 w-4`})}),(0,z.jsx)(X,{variant:`outline`,className:J(KN,n.stageTone),children:n.stageLabel}),n.lastPulseAt&&(0,z.jsxs)(`span`,{className:`text-xs text-muted-foreground dark:text-slate-300/80`,children:[`最近动作 `,BP(n.lastPulseAt)]})]}),(0,z.jsx)(`div`,{className:`space-y-2`,children:(0,z.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight sm:text-4xl`,children:e?.name??t})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs`,children:[(0,z.jsxs)(`div`,{className:JN,children:[(0,z.jsx)(jo,{className:`h-3.5 w-3.5`}),(0,z.jsx)(`span`,{className:`font-medium`,children:`目标`}),(0,z.jsx)(`span`,{className:`text-muted-foreground dark:text-slate-300`,children:e?.sourceGoalId??`-`})]}),(0,z.jsxs)(`div`,{className:JN,children:[(0,z.jsx)(Fo,{className:`h-3.5 w-3.5`}),(0,z.jsx)(`span`,{className:`font-medium`,children:`Department Head`}),(0,z.jsx)(`span`,{className:`max-w-40 truncate text-muted-foreground dark:text-slate-300`,children:n.headName})]}),e?.workpath&&(0,z.jsxs)(`div`,{className:J(JN,`max-w-full`),children:[(0,z.jsx)(Ua,{className:`h-3.5 w-3.5 shrink-0`}),(0,z.jsx)(`span`,{className:`font-medium shrink-0`,children:`工作目录`}),(0,z.jsx)(`span`,{className:`truncate text-muted-foreground dark:text-slate-300`,children:e.workpath})]})]}),(0,z.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[{index:`01`,title:`先点成员卡`,description:`左侧卡牌决定你当前聚焦的角色。`},{index:`02`,title:`再看任务流`,description:`右侧只保留这名成员最近一轮的关键往返。`},{index:`03`,title:`最后追上下文`,description:`需要深挖时,再打开完整执行记录。`}].map(e=>(0,z.jsxs)(`div`,{className:YN,children:[(0,z.jsx)(`div`,{className:`text-[11px] font-semibold tracking-[0.18em] text-slate-500 dark:text-slate-400`,children:e.index}),(0,z.jsx)(`div`,{className:`mt-2 text-sm font-semibold text-foreground dark:text-white`,children:e.title}),(0,z.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground dark:text-slate-300`,children:e.description})]},e.index))})]}),(0,z.jsxs)(`div`,{className:`w-full xl:max-w-[390px]`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex flex-wrap justify-end gap-2`,children:[(0,z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:i,className:KN,children:[(0,z.jsx)(vo,{className:`h-4 w-4`}),`刷新`]}),(0,z.jsxs)(Y,{size:`sm`,onClick:a,className:qN,children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`添加成员`]})]}),(0,z.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,z.jsx)($N,{icon:Ro,label:`执行层 executor`,value:n.executorCount,description:`由 Department Head 管理`}),(0,z.jsx)($N,{icon:Oo,label:`有动作成员`,value:n.activeMembers,description:`这一轮参与协作`}),(0,z.jsx)($N,{icon:Ca,label:`处理中消息`,value:n.inFlightCount,description:`仍在推进的回合`}),(0,z.jsx)($N,{icon:Fa,label:`已完成回合`,value:n.completedCount,description:`${n.totalMessages} 条战报`})]}),n.riskCount>0&&(0,z.jsxs)(`div`,{className:`mt-3 rounded-2xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-700 dark:border-rose-400/20 dark:bg-rose-400/10 dark:text-rose-50`,children:[`有 `,n.riskCount,` 条失败消息,建议让 Department Head 先定位阻塞来源。`]})]})]})})]})}function $N({icon:e,label:t,value:n,description:r}){return(0,z.jsxs)(`div`,{className:`rounded-2xl border border-border/60 bg-background/80 p-4 backdrop-blur-sm dark:border-white/10 dark:bg-white/5`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-xl bg-primary/10 text-primary dark:bg-white/10 dark:text-white`,children:(0,z.jsx)(e,{className:`h-4 w-4`})}),(0,z.jsx)(`span`,{children:t})]}),(0,z.jsx)(`div`,{className:`mt-4 text-3xl font-semibold text-foreground dark:text-white`,children:n}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground dark:text-slate-400`,children:r})]})}function eP({memberStats:e,selectedMemberName:t,onSelectMember:n,onDeleteMember:r,onAddMember:i}){return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsxs)(my,{className:`space-y-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Do,{className:`h-5 w-5 text-primary`}),`部门成员目录`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Department Head 在最前,executor 是执行层;先选中成员,再查看最近任务流。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[e.length,` 位成员`]})]}),(0,z.jsx)(`div`,{className:J(HN,`border-dashed text-sm leading-6 text-muted-foreground`),children:`CEO 视角只需要关注 Department Head;详情页保留成员目录,方便排查部门内部协作。`})]}),(0,z.jsx)(_y,{children:e.length===0?(0,z.jsxs)(`div`,{className:J(UN,`rounded-3xl px-6 py-12 text-center`),children:[(0,z.jsx)(Ro,{className:`mx-auto h-10 w-10 text-muted-foreground/45`}),(0,z.jsx)(`div`,{className:`mt-4 text-base font-medium text-foreground`,children:`部门还没有成员`}),(0,z.jsx)(`div`,{className:`mt-2 text-sm text-muted-foreground`,children:`先添加 1 到 3 个职责明确的角色,再开始分派任务。`}),(0,z.jsxs)(Y,{className:`mt-4`,onClick:i,children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`添加第一个成员`]})]}):(0,z.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-1 2xl:grid-cols-2`,children:e.map(e=>(0,z.jsx)(tP,{stats:e,selected:t===e.member.name,onSelect:()=>n(e.member.name),onDelete:()=>r(e.member.name)},e.member.id))})})]})}function tP({stats:e,selected:t,onSelect:n,onDelete:r}){let i=RN[e.state],a=e.member.role===`department_head`;return(0,z.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:n,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:J(`group relative flex w-full flex-col gap-4 overflow-hidden rounded-3xl border p-4 text-left transition-all duration-200 hover:-translate-y-0.5 hover:shadow-xl`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25`,i.card,t&&`ring-2 ring-primary/25 shadow-xl`),children:[(0,z.jsx)(`div`,{className:`absolute -right-5 -top-5 h-20 w-20 rounded-full bg-white/70 blur-2xl dark:bg-white/10`}),(0,z.jsxs)(`div`,{className:`relative flex items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,z.jsx)(`div`,{className:J(`flex h-12 w-12 shrink-0 items-center justify-center rounded-2xl`,i.halo),children:a?(0,z.jsx)(Fo,{className:`h-5 w-5`}):(0,z.jsx)(Lo,{className:`h-5 w-5`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(`div`,{className:`truncate text-base font-semibold text-foreground dark:text-slate-50`,children:e.member.name}),a&&(0,z.jsx)(X,{variant:`secondary`,children:`Department Head`})]}),(0,z.jsx)(`div`,{className:`truncate text-sm text-muted-foreground dark:text-slate-300`,children:e.member.focusOn||`尚未设置职责`})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:i.badge,children:i.label}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,className:`opacity-0 transition-opacity group-hover:opacity-100`,onClick:e=>{e.stopPropagation(),r()},title:`移除成员`,children:(0,z.jsx)(No,{className:`h-4 w-4 text-muted-foreground`})})]})]}),(0,z.jsxs)(`div`,{className:`relative space-y-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(`span`,{children:`活跃度`}),(0,z.jsxs)(`span`,{children:[e.totalMessages,` 条动作`]})]}),(0,z.jsx)(`div`,{className:`h-2 rounded-full bg-background/80 dark:bg-slate-950/35`,children:(0,z.jsx)(`div`,{className:J(`h-2 rounded-full transition-all`,i.bar),style:{width:`${e.activityPercent}%`}})})]}),(0,z.jsxs)(`div`,{className:`relative grid grid-cols-3 gap-2`,children:[(0,z.jsx)(nP,{label:`收到`,value:e.receivedMessages.length,accent:`text-sky-600`}),(0,z.jsx)(nP,{label:`发出`,value:e.sentMessages.length,accent:`text-emerald-600`}),(0,z.jsx)(nP,{label:e.failedCount>0?`风险`:`完成`,value:e.failedCount>0?e.failedCount:e.doneCount,accent:e.failedCount>0?`text-rose-600`:`text-violet-600`})]}),(0,z.jsxs)(`div`,{className:J(WN,`relative p-3 text-sm leading-6 text-muted-foreground dark:text-slate-300`),children:[(0,z.jsx)(`span`,{className:`font-medium text-foreground dark:text-slate-50`,children:`下一步:`}),FP(e.nextAction,62)]}),(0,z.jsxs)(`div`,{className:`relative flex items-center justify-between text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(`span`,{children:e.lastActiveAt?`最近动作 ${BP(e.lastActiveAt)}`:`尚未进入任务循环`}),(0,z.jsx)(`span`,{className:`font-medium text-foreground/85 dark:text-slate-200`,children:t?`当前聚焦`:`点击查看`})]})]})}function nP({label:e,value:t,accent:n}){return(0,z.jsxs)(`div`,{className:J(WN,`px-3 py-2`),children:[(0,z.jsx)(`div`,{className:`text-[11px] text-muted-foreground dark:text-slate-300`,children:e}),(0,z.jsx)(`div`,{className:J(`mt-1 text-lg font-semibold`,n),children:t})]})}function rP({departmentName:e,stats:t,memberNameMap:n,onOpenContext:r}){if(!t)return(0,z.jsx)(py,{className:J(BN,`border-dashed`),children:(0,z.jsxs)(_y,{className:`flex min-h-[420px] flex-col items-center justify-center px-6 py-16 text-center`,children:[(0,z.jsx)(Lo,{className:`h-12 w-12 text-muted-foreground/45`}),(0,z.jsx)(`div`,{className:`mt-4 text-lg font-medium text-foreground`,children:`先选一个成员`}),(0,z.jsx)(`div`,{className:`mt-2 max-w-md text-sm leading-6 text-muted-foreground`,children:`右侧会固定展示这名成员的任务流、原始收件箱和执行上下文,不再需要来回切 tab。`})]})});let i=RN[t.state];return(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsxs)(py,{className:GN,children:[(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_top_left,rgba(99,102,241,0.16),transparent_34%)] dark:bg-[radial-gradient(circle_at_top_left,rgba(99,102,241,0.32),transparent_34%)]`}),(0,z.jsx)(`div`,{className:`absolute inset-0 bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.12),transparent_28%)] dark:bg-[radial-gradient(circle_at_bottom_right,rgba(16,185,129,0.22),transparent_28%)]`}),(0,z.jsx)(_y,{className:`relative px-6 py-6 sm:px-7`,children:(0,z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,z.jsx)(`div`,{className:J(`flex h-14 w-14 shrink-0 items-center justify-center rounded-3xl border border-border/50 dark:border-white/10`,i.halo),children:(0,z.jsx)(Lo,{className:`h-6 w-6`})}),(0,z.jsx)(`div`,{className:`min-w-0`,children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`h2`,{className:`truncate text-2xl font-semibold`,children:t.member.name}),(0,z.jsx)(X,{variant:`outline`,className:i.badge,children:i.label})]})})]}),(0,z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:()=>r(t.member.name),className:KN,children:[(0,z.jsx)(Mo,{className:`h-4 w-4`}),`查看完整上下文`]})]}),(0,z.jsxs)(`div`,{className:`rounded-3xl border border-border/60 bg-background/80 p-4 dark:border-white/10 dark:bg-white/6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-foreground dark:text-white`,children:[(0,z.jsx)(Lo,{className:`h-4 w-4 text-primary`}),`角色设定`]}),t.member.focusOn?.trim()?(0,z.jsx)(`div`,{className:`mt-3 text-slate-700 dark:text-slate-200`,children:(0,z.jsx)(jN,{content:t.member.focusOn,compact:!0,className:`[&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_pre]:text-xs [&_pre]:leading-5`})}):(0,z.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-muted-foreground`,children:`暂未设置职责,建议补充角色定位。`})]}),(0,z.jsxs)(`div`,{className:`rounded-3xl border border-border/60 bg-background/80 p-4 dark:border-white/10 dark:bg-white/6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-foreground dark:text-white`,children:[(0,z.jsx)(Oo,{className:`h-4 w-4 text-amber-500 dark:text-amber-300`}),`当前建议动作`]}),(0,z.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-slate-700 dark:text-slate-300`,children:t.nextAction})]}),(0,z.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,z.jsx)(iP,{icon:Za,label:`收到消息`,value:t.receivedMessages.length,note:t.pendingCount>0?`${t.pendingCount} 条待响应`:`收件箱稳定`}),(0,z.jsx)(iP,{icon:Co,label:`发出消息`,value:t.sentMessages.length,note:t.doneCount>0?`${t.doneCount} 条已完成`:`还没有回报`}),(0,z.jsx)(iP,{icon:La,label:`最近动作`,value:t.lastActiveAt?zP(t.lastActiveAt):`--`,note:t.lastActiveAt?BP(t.lastActiveAt):`尚未开始`})]})]})})]}),(0,z.jsx)(aP,{stats:t,memberNameMap:n}),(0,z.jsxs)(`div`,{className:`grid gap-6 2xl:grid-cols-2`,children:[(0,z.jsx)(sP,{stats:t,memberNameMap:n}),(0,z.jsx)(lP,{departmentName:e,memberName:t.member.name,onOpenContext:()=>r(t.member.name)})]})]})}function iP({icon:e,label:t,value:n,note:r}){return(0,z.jsxs)(`div`,{className:`rounded-2xl border border-border/60 bg-background/80 p-4 dark:border-white/10 dark:bg-white/6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsx)(e,{className:`h-3.5 w-3.5`}),(0,z.jsx)(`span`,{children:t})]}),(0,z.jsx)(`div`,{className:`mt-3 text-2xl font-semibold text-foreground dark:text-white`,children:n}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground dark:text-slate-400`,children:r})]})}function aP({stats:e,memberNameMap:t}){return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Ca,{className:`h-5 w-5 text-primary`}),`任务流`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`只保留当前成员最近一轮最关键的往返消息,按时间倒序展示。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[e.combinedMessages.length,` 条动作`]})]})}),(0,z.jsx)(_y,{children:e.combinedMessages.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-5 py-10 text-center text-sm text-muted-foreground`),children:`这名成员还没有进入协作回合,先给他一个明确任务会更直观。`}):(0,z.jsx)(`div`,{className:`space-y-3`,children:e.combinedMessages.slice(0,6).map(n=>(0,z.jsx)(oP,{message:n,direction:n.fromMailboxId===e.member.mailBoxId?`sent`:`received`,counterpartName:n.fromMailboxId===e.member.mailBoxId?t.get(n.toMailboxId):t.get(n.fromMailboxId)},n.id))})})]})}function oP({message:e,direction:t,counterpartName:n}){let[r,i]=(0,S.useState)(!1),a=e.content.length>180,o=LN[e.status]??LN.pending,s=e.threadId??e.id,c=t===`received`?{container:`border-sky-100 bg-sky-50/70 dark:border-sky-500/20 dark:bg-sky-500/10`,chip:`border-sky-200 bg-sky-100 text-sky-700 dark:border-sky-500/30 dark:bg-sky-500/15 dark:text-sky-200`,label:`收到任务`,icon:Za}:{container:`border-emerald-100 bg-emerald-50/70 dark:border-emerald-500/20 dark:bg-emerald-500/10`,chip:`border-emerald-200 bg-emerald-100 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/15 dark:text-emerald-200`,label:`发出回报`,icon:Co},l=e.parentMessageId?t===`received`?`线程追问`:`线程续报`:c.label,u=c.icon;return(0,z.jsxs)(`div`,{className:J(`rounded-2xl border p-4 transition-colors`,c.container,a&&`cursor-pointer hover:border-primary/25`),onClick:()=>{a&&i(e=>!e)},children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(X,{variant:`outline`,className:c.chip,children:[(0,z.jsx)(u,{className:`h-3 w-3`}),l]}),(0,z.jsx)(X,{variant:`outline`,className:o.chipClass,children:o.label}),(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(Ka,{className:`h-3 w-3`}),PP(s)]}),e.parentMessageId&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(za,{className:`h-3 w-3`}),PP(e.parentMessageId)]}),(0,z.jsxs)(`span`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:[t===`received`?`来自`:`发给`,` `,n??`系统`]}),(0,z.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground dark:text-slate-300`,children:RP(e.sendTime)})]}),(0,z.jsx)(`div`,{className:`mt-3 text-sm leading-6 text-foreground dark:text-slate-100`,children:r||!a?(0,z.jsx)(jN,{content:e.content,compact:!0}):(0,z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:LP(e.content,180)})}),a&&(0,z.jsxs)(`div`,{className:`mt-2 inline-flex items-center gap-1 text-xs text-muted-foreground dark:text-slate-300`,children:[r?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`}),r?`收起全文`:`展开全文`]})]})}function sP({stats:e,memberNameMap:t}){let{data:n}=FN({mailboxId:e.member.mailBoxId}),{data:r,isLoading:i}=IN({mailboxId:e.member.mailBoxId,limit:40}),a=[...r??[]].sort((e,t)=>e.createdAt-t.createdAt).slice(-8);return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(oo,{className:`h-4 w-4 text-primary`}),`信箱投递过程`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`这里记录的是 mailbox 本身的动作轨迹:谁投递、谁查看、看完选中了哪封、何时回信。`})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[n?.length??0,` 封消息`]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[r?.length??0,` 条轨迹`]})]})]})}),(0,z.jsx)(_y,{children:i?(0,z.jsx)(`div`,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-24 w-full`},e))}):a.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-4 py-10 text-center text-sm text-muted-foreground`),children:`暂无 mailbox 过程事件。新版本开始处理后,这里会持续记录浏览和决策轨迹。`}):(0,z.jsx)(I_,{className:`h-[360px] pr-4`,children:(0,z.jsx)(`div`,{children:a.map((e,n)=>(0,z.jsx)(cP,{event:e,index:n,isLast:n===a.length-1,memberNameMap:t},e.id))})})})]})}function cP({event:e,index:t,isLast:n,memberNameMap:r}){let i=AP(e),a=i.icon,o=jP(e,r),s=e.eventType===`message_status_changed`?String(e.detail?.nextStatus??``):e.message?.status,c=s?LN[s]??null:null,l=e.message?.threadId||(typeof e.detail?.threadId==`string`?e.detail.threadId:void 0)||e.messageId,u=e.eventType===`message_followed_up`&&typeof e.detail?.preview==`string`?e.detail.preview:e.message?.content;return(0,z.jsxs)(`div`,{className:`grid grid-cols-[2rem_minmax(0,1fr)] gap-3`,children:[(0,z.jsxs)(`div`,{className:`relative flex justify-center`,children:[!n&&(0,z.jsx)(`div`,{className:`absolute top-8 bottom-0 w-px bg-border dark:bg-slate-700`}),(0,z.jsx)(`div`,{className:J(`relative z-10 flex h-7 w-7 items-center justify-center rounded-full border text-xs font-semibold`,i.nodeClass),children:t+1})]}),(0,z.jsxs)(`div`,{className:J(`mb-3 rounded-lg border p-3`,i.rowClass),children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsxs)(X,{variant:`outline`,className:i.chipClass,children:[(0,z.jsx)(a,{className:`h-3 w-3`}),i.label]}),c&&(0,z.jsx)(X,{variant:`outline`,className:c.chipClass,children:c.label}),(0,z.jsx)(`span`,{className:`ml-auto font-mono text-xs text-muted-foreground dark:text-slate-300`,children:zP(e.createdAt)})]}),(0,z.jsxs)(`div`,{className:`mt-3 flex min-w-0 items-center gap-2 text-xs font-medium`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:o.from}),(0,z.jsx)(Ta,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground dark:text-slate-400`}),(0,z.jsx)(`span`,{className:`truncate`,children:o.to}),l&&(0,z.jsx)(`span`,{className:`ml-auto shrink-0 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-slate-950/50 dark:text-slate-300`,children:PP(l)})]}),(0,z.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-foreground dark:text-slate-100`,children:kP(e,r)}),u&&(0,z.jsxs)(`div`,{className:J(WN,`mt-3 p-3`),children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:`消息摘要`}),(0,z.jsx)(`p`,{className:`mt-2 whitespace-pre-wrap text-sm leading-6 text-foreground dark:text-slate-100`,children:LP(u,160)})]})]})]})}function lP({departmentName:e,memberName:t,onOpenContext:n}){let{data:r,isLoading:i}=uy(e,t),a=r?[...r.agentLogs].slice(-3).reverse():[];return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(Mo,{className:`h-4 w-4 text-primary`}),`脑内上下文`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`不再直接堆完整日志,只先给你最近几段关键上下文。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[r?.agentLogs.length??0,` 条记录`]})]})}),(0,z.jsxs)(_y,{className:`space-y-4`,children:[i?(0,z.jsx)(`div`,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-20 w-full`},e))}):a.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-4 py-10 text-center text-sm text-muted-foreground`),children:`该成员还没有执行记录。`}):(0,z.jsx)(`div`,{className:`space-y-3`,children:a.map(e=>(0,z.jsxs)(`div`,{className:J(HN,`p-4`),children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground dark:text-slate-300`,children:[(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,e.index]}),(0,z.jsx)(X,{variant:e.role===`user`?`default`:`secondary`,children:e.role===`user`?`User`:`Assistant`})]}),(0,z.jsx)(`div`,{className:`mt-3 text-sm leading-6 text-foreground dark:text-slate-100`,children:(0,z.jsx)(DP,{log:e})})]},e.index))}),(0,z.jsxs)(Y,{variant:`outline`,className:`w-full`,onClick:n,children:[(0,z.jsx)(Mo,{className:`h-4 w-4`}),`查看完整执行上下文`]})]})]})}function uP({messages:e,memberNameMap:t}){let[n,r]=(0,S.useState)(null);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(py,{className:BN,children:[(0,z.jsx)(my,{children:(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Ca,{className:`h-5 w-5 text-primary`}),`部门主线战报`]}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`从全队视角看最近的协作主线,方便你快速判断当前整体推进节奏。`})]}),(0,z.jsxs)(X,{variant:`outline`,className:VN,children:[e.length,` 条`]})]})}),(0,z.jsx)(_y,{children:e.length===0?(0,z.jsx)(`div`,{className:J(UN,`px-5 py-12 text-center text-sm text-muted-foreground`),children:`全队还没有产生协作消息。`}):(0,z.jsx)(I_,{className:`max-h-[520px] pr-4`,children:(0,z.jsx)(`div`,{className:`space-y-3`,children:e.slice(0,12).map(e=>{let n=LN[e.status]??LN.pending,i=t.get(e.fromMailboxId)??NP(e.fromMailboxId),a=t.get(e.toMailboxId)??NP(e.toMailboxId),o=IP(e.content),s=o.length>260;return(0,z.jsxs)(`div`,{role:`button`,tabIndex:0,className:J(HN,`cursor-pointer p-4 transition-colors hover:border-primary/30`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25`),onClick:()=>r(e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),r(e))},children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:n.chipClass,children:n.label}),(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(Ka,{className:`h-3 w-3`}),PP(e.threadId??e.id)]}),e.parentMessageId&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-background/80 px-2 py-1 font-mono text-[11px] text-muted-foreground dark:bg-white/5 dark:text-slate-300`,children:[(0,z.jsx)(za,{className:`h-3 w-3`}),PP(e.parentMessageId)]}),(0,z.jsx)(`span`,{className:`text-sm font-medium text-foreground dark:text-slate-50`,children:i}),(0,z.jsx)(Co,{className:`h-3.5 w-3.5 text-muted-foreground dark:text-slate-400`}),(0,z.jsx)(`span`,{className:`text-sm font-medium text-foreground dark:text-slate-50`,children:a}),(0,z.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground dark:text-slate-300`,children:RP(e.sendTime)})]}),s?(0,z.jsx)(`div`,{className:`mt-3`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:(0,z.jsx)(`div`,{className:`max-h-40 overflow-y-auto rounded-2xl border border-border/60 bg-background/80 p-4 pr-5 dark:border-white/10 dark:bg-white/5`,children:(0,z.jsx)(`p`,{className:`whitespace-pre-wrap text-sm leading-6 text-foreground dark:text-slate-100`,children:o})})}):(0,z.jsx)(`p`,{className:`mt-3 whitespace-pre-wrap text-sm leading-6 text-foreground dark:text-slate-100`,children:o}),s&&(0,z.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-3`,children:[(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:`预览区域支持上下滚动`}),(0,z.jsxs)(Y,{variant:`ghost`,size:`sm`,onClick:t=>{t.stopPropagation(),r(e)},children:[(0,z.jsx)(Ha,{className:`h-4 w-4`}),`查看全文`]})]})]},e.id)})})})})]}),(0,z.jsx)(FC,{open:!!n,onOpenChange:e=>!e&&r(null),children:(0,z.jsx)(RC,{className:`sm:max-w-4xl max-h-[85vh] overflow-hidden grid-rows-[auto_minmax(0,1fr)]`,children:n?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(zC,{children:[(0,z.jsxs)(VC,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(Ca,{className:`h-4 w-4`}),`部门主线战报详情`]}),(0,z.jsxs)(HC,{children:[t.get(n.fromMailboxId)??NP(n.fromMailboxId),` -> `,t.get(n.toMailboxId)??NP(n.toMailboxId),` · `,RP(n.sendTime)]})]}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-col space-y-4 overflow-hidden`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:(LN[n.status]??LN.pending).chipClass,children:(LN[n.status]??LN.pending).label}),(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-muted px-2 py-1 font-mono text-xs text-muted-foreground`,children:[(0,z.jsx)(Ka,{className:`h-3 w-3`}),PP(n.threadId??n.id)]}),n.parentMessageId&&(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-muted px-2 py-1 font-mono text-xs text-muted-foreground`,children:[(0,z.jsx)(za,{className:`h-3 w-3`}),PP(n.parentMessageId)]}),(0,z.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:"点击外部区域或按 `Esc` 可关闭"})]}),(0,z.jsx)(I_,{className:`min-h-0 flex-1 pr-4`,children:(0,z.jsx)(`div`,{className:J(HN,`p-5 text-foreground dark:text-slate-100`),children:(0,z.jsx)(jN,{content:n.content,className:`[&_h1]:text-xl [&_h2]:text-lg [&_h3]:text-base [&_pre]:text-xs [&_pre]:leading-6`})})})]})]}):null})})]})}function dP({department:e,summary:t,onAddMember:n}){return(0,z.jsxs)(py,{className:BN,children:[(0,z.jsxs)(my,{children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-lg`,children:[(0,z.jsx)(Do,{className:`h-5 w-5 text-primary`}),`操作说明`]}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`详情页展示部门内部结构;CEO视角仍以 Department Head 为唯一入口。`})]}),(0,z.jsxs)(_y,{className:`space-y-5`,children:[(0,z.jsx)(`div`,{className:`space-y-3`,children:[`先看 Department Head 是否已经接住任务,再决定是否进入 executor 细节。`,`右侧优先读“当前建议动作”和“任务流”,大多数判断不需要翻完整日志。`,`只有当消息不够解释行为时,再点开完整上下文去看内部推理和工具调用。`].map((e,t)=>(0,z.jsxs)(`div`,{className:J(HN,`flex items-start gap-3 px-4 py-3`),children:[(0,z.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-sm font-semibold text-primary`,children:t+1}),(0,z.jsx)(`p`,{className:`text-sm leading-6 text-foreground dark:text-slate-100`,children:e})]},e))}),(0,z.jsxs)(`div`,{className:J(HN,`rounded-3xl p-4`),children:[(0,z.jsx)(`div`,{className:`text-xs font-semibold tracking-[0.18em] text-muted-foreground dark:text-slate-300`,children:`部门参数`}),(0,z.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[(0,z.jsx)(fP,{icon:jo,label:`目标 ID`,value:e.sourceGoalId??`未关联`,mono:!!e.sourceGoalId}),(0,z.jsx)(fP,{icon:Fo,label:`Department Head`,value:t.headName}),(0,z.jsx)(fP,{icon:Ro,label:`执行层 executor`,value:`${t.executorCount} 人`}),(0,z.jsx)(fP,{icon:Ua,label:`工作目录`,value:e.workpath??`未设置`,mono:!!e.workpath}),(0,z.jsx)(fP,{icon:vo,label:`刷新策略`,value:`自动 5 秒同步 + 手动刷新`})]})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`状态图例`}),(0,z.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:Object.values(RN).map(e=>(0,z.jsx)(X,{variant:`outline`,className:e.badge,children:e.label},e.label))})]}),(0,z.jsxs)(Y,{className:`w-full`,onClick:n,children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`添加新成员`]})]})]})}function fP({icon:e,label:t,value:n,mono:r=!1}){return(0,z.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,z.jsx)(`div`,{className:`mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-xl bg-background text-muted-foreground ring-1 ring-border dark:bg-slate-950/35 dark:text-slate-200 dark:ring-white/10`,children:(0,z.jsx)(e,{className:`h-4 w-4`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground dark:text-slate-300`,children:t}),(0,z.jsx)(`div`,{className:J(`mt-1 break-all text-sm text-foreground dark:text-slate-100`,r&&`font-mono text-xs`),children:n})]})]})}function pP(){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(320px,0.92fr)_minmax(0,1.08fr)]`,children:[(0,z.jsxs)(py,{children:[(0,z.jsxs)(my,{children:[(0,z.jsx)(vy,{className:`h-7 w-32`}),(0,z.jsx)(vy,{className:`h-4 w-64`})]}),(0,z.jsx)(_y,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-40 w-full`},e))})]}),(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsx)(vy,{className:`h-52 w-full rounded-3xl`}),(0,z.jsx)(vy,{className:`h-72 w-full rounded-3xl`}),(0,z.jsxs)(`div`,{className:`grid gap-6 2xl:grid-cols-2`,children:[(0,z.jsx)(vy,{className:`h-80 w-full rounded-3xl`}),(0,z.jsx)(vy,{className:`h-80 w-full rounded-3xl`})]})]})]}),(0,z.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[minmax(0,1.15fr)_minmax(300px,0.85fr)]`,children:[(0,z.jsx)(vy,{className:`h-[420px] w-full rounded-3xl`}),(0,z.jsx)(vy,{className:`h-[420px] w-full rounded-3xl`})]})]})}function mP({departmentName:e,memberName:t,onClose:n}){let{data:r,isLoading:i}=uy(e,t);return(0,z.jsx)(FC,{open:!!t,onOpenChange:e=>!e&&n(),children:(0,z.jsxs)(RC,{className:`sm:max-w-4xl max-h-[85vh]`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsxs)(VC,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Lo,{className:`h-4 w-4`}),t??`成员`,` 的完整上下文`]}),(0,z.jsx)(HC,{children:r?r.mailBoxId:`加载中...`})]}),i?(0,z.jsxs)(`div`,{className:`space-y-4 py-4`,children:[(0,z.jsx)(vy,{className:`h-5 w-32`}),[1,2,3,4].map(e=>(0,z.jsx)(vy,{className:`h-16 w-full`},e))]}):r?(0,z.jsx)(`div`,{className:`max-h-[65vh] overflow-y-auto rounded-md border p-3`,children:(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,z.jsx)(Mo,{className:`h-4 w-4 text-emerald-500`}),(0,z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`对话上下文`}),(0,z.jsxs)(X,{variant:`outline`,className:`text-xs`,children:[r.agentLogs.length,` 条`]})]}),r.agentLogs.length===0?(0,z.jsx)(`p`,{className:`py-8 text-center text-sm text-muted-foreground/60`,children:`该成员暂无执行记录`}):(0,z.jsx)(`div`,{className:`space-y-4 pl-1`,children:r.agentLogs.map(e=>(0,z.jsx)(hP,{log:e},e.index))})]})}):(0,z.jsx)(`div`,{className:`py-12 text-center text-muted-foreground`,children:`无法加载成员上下文`})]})})}function hP({log:e}){let t=e.role===`user`;return(0,z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,z.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-xs text-muted-foreground/60`,children:[(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,e.index]}),(0,z.jsx)(X,{variant:t?`default`:`secondary`,className:`text-[10px] px-1.5 py-0 h-4`,children:t?`User`:`Assistant`})]}),(0,z.jsx)(`div`,{className:`space-y-2 pl-2`,children:e.blocks.map((e,n)=>e.type===`text`?(0,z.jsx)(gP,{text:String(e.text??``),isUser:t},n):e.type===`tool_use`?(0,z.jsx)(_P,{name:String(e.name??`unknown`),input:e.input},n):e.type===`tool_result`?(0,z.jsx)(vP,{toolUseId:String(e.toolUseId??``),content:e.content},n):(0,z.jsxs)(`div`,{className:`rounded-md bg-muted px-3 py-2 text-sm text-muted-foreground`,children:[`[unknown block: `,e.type,`]`]},n))})]})}function gP({text:e,isUser:t}){let[n,r]=(0,S.useState)(!1),i=e.length>300;return(0,z.jsxs)(`div`,{className:J(`cursor-pointer rounded-md border px-3 py-2 text-sm whitespace-pre-wrap break-words`,t?`border-emerald-500/10 bg-emerald-500/5 text-foreground`:`border-sky-500/10 bg-sky-500/5 text-foreground`),onClick:()=>{i&&r(e=>!e)},children:[n||!i?(0,z.jsx)(jN,{content:e,compact:!0,className:J(`[&_a]:text-primary [&_blockquote]:text-inherit [&_code]:bg-black/6 dark:[&_code]:bg-white/10 [&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_pre]:text-xs [&_pre]:leading-5`,t?`[&_blockquote]:border-emerald-500/20`:`[&_blockquote]:border-sky-500/20`)}):LP(e,300),i&&(0,z.jsxs)(`span`,{className:`ml-1 inline-flex text-muted-foreground/40`,children:[n?(0,z.jsx)(Ma,{className:`inline h-3 w-3`}):(0,z.jsx)(Na,{className:`inline h-3 w-3`}),(0,z.jsx)(`span`,{className:`ml-0.5 text-xs`,children:n?`收起`:`展开`})]})]})}function _P({name:e,input:t}){let[n,r]=(0,S.useState)(!1),i=JSON.stringify(t,null,2);return(0,z.jsxs)(`div`,{className:`rounded-md border border-primary/20 bg-primary/5 px-3 py-2`,children:[(0,z.jsxs)(`div`,{className:`flex cursor-pointer items-center gap-2`,onClick:()=>r(e=>!e),children:[(0,z.jsx)(Bo,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,z.jsx)(`span`,{className:`text-sm font-semibold text-primary`,children:e}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground/40`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`mt-2 overflow-x-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:i})]})}function vP({toolUseId:e,content:t}){let[n,r]=(0,S.useState)(!1),i=typeof t==`string`?t:JSON.stringify(t,null,2);return(0,z.jsxs)(`div`,{className:`rounded-md border border-border bg-muted/40 px-3 py-2`,children:[e&&(0,z.jsxs)(`div`,{className:`mb-1 truncate font-mono text-[10px] text-muted-foreground/50`,children:[`toolUseId: `,e]}),(0,z.jsxs)(`div`,{className:`mb-1 flex cursor-pointer items-center gap-2`,onClick:()=>r(e=>!e),children:[(0,z.jsx)(Ha,{className:`h-3 w-3 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`执行结果`}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground/40`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:i})]})}var yP=`manager`;function bP(e,t,n){return e.fromMailboxId===t&&(e.toMailboxId===yP||e.toMailboxId===n)}function xP(e,t,n){let r=t.filter(t=>t.toMailboxId===e.mailBoxId),i=t.filter(t=>t.fromMailboxId===e.mailBoxId),a=[...r,...i].sort((e,t)=>t.sendTime-e.sendTime),o=a.filter(t=>!bP(t,e.mailBoxId,n)),s=o.filter(e=>e.status===`pending`).length,c=o.filter(e=>e.status===`processing`).length,l=r.filter(e=>e.status===`done`).length,u=o.filter(e=>e.status===`failed`).length,d=i.some(t=>bP(t,e.mailBoxId,n)),f=`standby`;return f=u>0?`support`:c>0?`running`:s>0?`queued`:a.length===0?`standby`:l>0||d?`completed`:`active`,{member:e,receivedMessages:r,sentMessages:i,combinedMessages:a,totalMessages:a.length,pendingCount:s,processingCount:c,doneCount:l,failedCount:u,lastActiveAt:a[0]?.sendTime??null,state:f,nextAction:TP({state:f,totalMessages:a.length,pendingCount:s,processingCount:c,failedCount:u,focusOn:e.focusOn}),activityPercent:0}}function SP(e,t,n){let r=e?.departmentMembers.length??0,i=CP(e),a=Math.max(0,r-+!!i),o=i?.name??`未配置`,s=t.filter(e=>e.totalMessages>0).length,c=n.filter(e=>e.status===`pending`||e.status===`processing`).length,l=n.filter(e=>e.status===`done`).length,u=n.filter(e=>e.status===`failed`).length,d=n[0]?.sendTime??null;return r===0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`等待招募`,stageHint:`这个部门还没有成员。先招募角色,再开始派发任务。`,stageTone:`border-slate-300 bg-slate-100 text-slate-700 dark:border-slate-300/20 dark:bg-slate-300/10 dark:text-slate-100`}:u>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`需要人工支援`,stageHint:`有成员产生了失败结果,建议从红色成员卡开始排查本轮阻塞。`,stageTone:`border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-300/20 dark:bg-rose-400/10 dark:text-rose-100`}:c>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`任务推进中`,stageHint:`当前有消息正在流转。先点一个角色卡,看他最近一轮的任务流。`,stageTone:`border-sky-200 bg-sky-50 text-sky-700 dark:border-sky-300/20 dark:bg-sky-400/10 dark:text-sky-100`}:l>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`本轮已收官`,stageHint:`最近一轮基本已经闭环,可以继续派发下一步任务。`,stageTone:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-300/20 dark:bg-emerald-400/10 dark:text-emerald-100`}:s>0?{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`协作已启动`,stageHint:`成员之间已经开始协作,但还没有形成完整回合,可以先看谁最活跃。`,stageTone:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-300/20 dark:bg-violet-400/10 dark:text-violet-100`}:{totalMembers:r,executorCount:a,headName:o,activeMembers:s,inFlightCount:c,completedCount:l,riskCount:u,totalMessages:n.length,lastPulseAt:d,stageLabel:`等待首个任务`,stageHint:`部门已经存在,但还没有消息流转。先给每个角色一个明确分工。`,stageTone:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-300/20 dark:bg-amber-400/10 dark:text-amber-100`}}function CP(e){return e?e.departmentMembers.find(t=>t.id===e.headMemberId)??e.departmentMembers.find(e=>e.role===`department_head`)??null:null}function wP(e){let t=CP(e),n=e.departmentMembers.filter(e=>e.id!==t?.id);return t?[t,...n]:n}function TP({state:e,totalMessages:t,pendingCount:n,processingCount:r,failedCount:i,focusOn:a}){return e===`support`?`该成员有 ${i} 条失败结果,建议先人工查看原因,再决定是否继续推进。`:e===`running`?`该成员正在执行中,先观察结果回报;如果长时间无响应,再补充 ${a||`任务`} 上下文。`:e===`queued`?`收件箱里还有 ${n} 条待处理消息,优先确认这轮任务是否足够明确。`:e===`completed`?`上一轮已经交付,可以继续给他下发下一步,或者切到其他角色看看是否需要衔接。`:e===`active`?`这名成员已经进入协作流,建议查看最近往返消息,判断是否需要追问或补充边界。`:t===0?`这名成员还没有开始行动,先给他一个清晰的小目标${a?`,最好贴合 ${a}`:``}。`:r>0?`任务仍在推进,先观察这一轮结果。`:`可以继续观察最近战报,确认是否需要新的输入。`}function EP(e){for(let t of e.blocks){if(t.type===`text`&&typeof t.text==`string`&&t.text.trim())return FP(t.text.trim(),180);if(t.type===`tool_use`)return`调用工具 ${String(t.name??`unknown`)},参数已写入执行上下文。`;if(t.type===`tool_result`)return typeof t.content==`string`&&t.content.trim()?FP(t.content.trim(),180):`收到一次工具执行结果。`}return`该记录没有可预览的文本内容。`}function DP({log:e}){let t=OP(e);return t?t.type===`markdown`?(0,z.jsx)(`div`,{className:`max-h-44 overflow-hidden`,children:(0,z.jsx)(jN,{content:t.content,compact:!0,className:`[&_h1]:text-base [&_h2]:text-sm [&_h3]:text-sm [&_pre]:text-xs [&_pre]:leading-5`})}):(0,z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:t.content}):(0,z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:EP(e)})}function OP(e){for(let t of e.blocks){if(t.type===`text`&&typeof t.text==`string`&&t.text.trim())return{type:`markdown`,content:t.text.trim()};if(t.type===`tool_result`&&typeof t.content==`string`&&t.content.trim())return{type:`markdown`,content:t.content.trim()};if(t.type===`tool_use`)return{type:`text`,content:`调用工具 ${String(t.name??`unknown`)},参数已写入执行上下文。`}}return null}function kP(e,t){let n=MP(e.actorMailboxId,t),r=MP(e.mailboxId,t),i=MP(e.counterpartMailboxId??e.message?.fromMailboxId,t),a=typeof e.detail?.visibleCount==`number`?e.detail.visibleCount:null,o=typeof e.detail?.previousStatus==`string`?e.detail.previousStatus:null,s=typeof e.detail?.nextStatus==`string`?e.detail.nextStatus:null;if(e.eventType===`message_sent`)return`${MP(e.message?.fromMailboxId,t)??n} 向 ${MP(e.message?.toMailboxId,t)??r} 投递了一封邮件。`;if(e.eventType===`mailbox_listed`)return`${n??r??`成员`} 查看了邮箱,当前看到了 ${a??0} 封候选邮件。`;if(e.eventType===`message_opened`)return`${n??r??`成员`} 已选中一封邮件开始阅读,来源是 ${i??`上游成员`}。`;if(e.eventType===`message_replied`)return`${n??r??`成员`} 已完成处理,并把结果回给了 ${i??`上游成员`}。`;if(e.eventType===`message_discarded`){let t=typeof e.detail?.reason==`string`?e.detail.reason:null;return`${n??r??`成员`} 已将一封无需业务回复的邮件移出待处理队列${t?`,原因:${t}`:``}。`}if(e.eventType===`message_followed_up`){let t=typeof e.detail?.kind==`string`?e.detail.kind:`progress`,a=t===`question`?`追问`:t===`partial_result`?`部分结果`:t===`nudge`?`催办`:`进展`,o=e.message?.threadId||(typeof e.detail?.threadId==`string`?e.detail.threadId:void 0)||e.messageId;return`${n??r??`成员`} 在线程 ${PP(o??`unknown`)} 中追加了一条${a},发送给 ${i??`上游成员`}。`}return e.eventType===`message_status_changed`?`${r??`该邮箱`} 中的一封邮件状态从 ${o??`unknown`} 变成了 ${s??`unknown`}。`:`发生了一条 mailbox 过程事件。`}function AP(e){let t=zN[e.eventType]??{label:`未知事件`,chipClass:`border-slate-200 bg-slate-100 text-slate-700 dark:border-slate-500/30 dark:bg-slate-500/15 dark:text-slate-200`,icon:Ca},n=e.eventType===`message_status_changed`&&typeof e.detail?.nextStatus==`string`?e.detail.nextStatus:e.message?.status,r=typeof e.detail?.kind==`string`?e.detail.kind:``;return n===`failed`||n===`cancelled`||r===`question`||r===`nudge`?{...t,nodeClass:`border-rose-300 bg-rose-50 text-rose-700 dark:border-rose-500/40 dark:bg-rose-500/15 dark:text-rose-200`,rowClass:`border-rose-200 bg-rose-50/45 dark:border-rose-500/30 dark:bg-rose-500/10`}:e.eventType===`message_replied`?{...t,nodeClass:`border-emerald-300 bg-emerald-50 text-emerald-700 dark:border-emerald-500/40 dark:bg-emerald-500/15 dark:text-emerald-200`,rowClass:`border-emerald-200 bg-emerald-50/40 dark:border-emerald-500/25 dark:bg-emerald-500/10`}:e.eventType===`message_discarded`?{...t,nodeClass:`border-slate-300 bg-slate-50 text-slate-700 dark:border-slate-500/40 dark:bg-slate-500/15 dark:text-slate-200`,rowClass:`border-slate-200 bg-slate-50/45 dark:border-slate-500/30 dark:bg-slate-500/10`}:e.eventType===`message_followed_up`?{...t,nodeClass:`border-violet-300 bg-violet-50 text-violet-700 dark:border-violet-500/40 dark:bg-violet-500/15 dark:text-violet-200`,rowClass:`border-violet-200 bg-violet-50/35 dark:border-violet-500/25 dark:bg-violet-500/10`}:{...t,nodeClass:`border-primary/30 bg-primary/10 text-primary dark:border-primary/40 dark:bg-primary/15`,rowClass:`border-border/70 bg-muted/20 dark:border-slate-700/70 dark:bg-slate-900/40`}}function jP(e,t){return e.eventType===`mailbox_listed`?{from:MP(e.actorMailboxId||e.mailboxId,t)??`成员`,to:`收件箱`}:e.eventType===`message_opened`?{from:MP(e.counterpartMailboxId,t)??MP(e.message?.fromMailboxId,t)??`上游成员`,to:MP(e.mailboxId,t)??`邮箱`}:{from:MP(e.message?.fromMailboxId,t)??MP(e.actorMailboxId,t)??MP(e.counterpartMailboxId,t)??MP(e.mailboxId,t)??`unknown`,to:MP(e.message?.toMailboxId,t)??MP(e.counterpartMailboxId,t)??MP(e.mailboxId,t)??MP(e.actorMailboxId,t)??`unknown`}}function MP(e,t){return e?t.get(e)??NP(e):null}function NP(e){return e.length<=12?e:`${e.slice(0,8)}...`}function PP(e){return e.length<=10?e:`${e.slice(0,8)}...`}function FP(e,t){return e.length<=t?e:`${e.slice(0,t)}...`}function IP(e){return e.replace(/\r\n?/g,`
|
|
90
90
|
`).replace(/```[\s\S]*?```/g,e=>e.replace(/```[\w-]*\n?/g,``).trim()).replace(/^#{1,6}\s+/gm,``).replace(/^\s*>\s?/gm,``).replace(/^\s*[-*+]\s+/gm,``).replace(/^\s*\d+\.\s+/gm,``).replace(/\[([^\]]+)\]\(([^)]+)\)/g,`$1`).replace(/[*_~`]/g,``).replace(/\n{3,}/g,`
|
|
91
91
|
|
|
92
92
|
`).trim()}function LP(e,t){return FP(IP(e),t)}function RP(e){try{return new Date(e).toLocaleString(`zh-CN`)}catch{return String(e)}}function zP(e){try{return new Date(e).toLocaleTimeString(`zh-CN`,{hour:`2-digit`,minute:`2-digit`})}catch{return String(e)}}function BP(e){try{let t=Date.now()-e;return t<6e4?`刚刚`:t<36e5?`${Math.max(1,Math.floor(t/6e4))} 分钟前`:t<864e5?`${Math.max(1,Math.floor(t/36e5))} 小时前`:new Date(e).toLocaleString(`zh-CN`,{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return String(e)}}function VP({className:e,size:t=`default`,...n}){return(0,z.jsx)(ch,{"data-slot":`switch`,"data-size":t,className:J(`peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50`,e),...n,children:(0,z.jsx)(lh,{"data-slot":`switch-thumb`,className:`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground`})})}var HP={title:``,description:``,syntax:`0 * * * *`,channel:`default`,to:``};function UP(){let{data:e,isLoading:t,refetch:n}=lv(),r=dv(),i=fv(),a=ti(),[o,s]=(0,S.useState)(!1),[c,l]=(0,S.useState)(null),[u,d]=(0,S.useState)(HP),[f,p]=(0,S.useState)(null),[m,h]=(0,S.useState)(null),[g,_]=(0,S.useState)(!1),v=()=>{d(HP),s(!0)},y=e=>{d({title:e.title,description:e.description,syntax:e.schedule.syntax,channel:e.delivery.channel,to:e.delivery.to}),l(e)},b=async()=>{!u.title.trim()||!u.syntax.trim()||(await r.mutateAsync({title:u.title,description:u.description,schedule:{syntax:u.syntax},delivery:{channel:u.channel,to:u.to}}),s(!1),d(HP))},x=async()=>{if(!(!c||!u.title.trim()||!u.syntax.trim())){_(!0);try{await rv(c.id,{title:u.title,description:u.description,schedule:{syntax:u.syntax,createTime:c.schedule.createTime,lastRunTime:c.schedule.lastRunTime},delivery:{channel:u.channel,to:u.to}}),await a.invalidateQueries({queryKey:cv.all}),l(null),d(HP)}finally{_(!1)}}},C=async e=>{await av(e.id,!e.enabled),await a.invalidateQueries({queryKey:cv.all})},w=async e=>{await ov(e.id),await a.invalidateQueries({queryKey:cv.all})},T=async()=>{f&&(await i.mutateAsync(f),p(null))},E=e=>{if(!e)return`—`;try{return new Date(e).toLocaleString(`zh-CN`)}catch{return e}};return(0,z.jsx)(dy,{children:(0,z.jsxs)(`div`,{className:`space-y-6`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Cron Jobs`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`管理定时任务调度`})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>n(),children:(0,z.jsx)(vo,{className:`h-4 w-4`})}),(0,z.jsxs)(Y,{size:`sm`,onClick:v,children:[(0,z.jsx)(go,{className:`h-4 w-4 mr-1`}),`新建任务`]})]})]}),t?(0,z.jsx)(`div`,{className:`space-y-3`,children:[1,2,3].map(e=>(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`p-4`,children:(0,z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(vy,{className:`h-5 w-48`}),(0,z.jsx)(vy,{className:`h-4 w-32`})]}),(0,z.jsx)(vy,{className:`h-6 w-12`})]})})},e))}):!e||e.length===0?(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`py-12`,children:(0,z.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,z.jsx)(Ra,{className:`h-10 w-10 text-muted-foreground mb-3`}),(0,z.jsx)(`p`,{className:`text-muted-foreground`,children:`暂无定时任务`}),(0,z.jsxs)(Y,{variant:`outline`,className:`mt-3`,size:`sm`,onClick:v,children:[(0,z.jsx)(go,{className:`h-4 w-4 mr-1`}),`创建第一个任务`]})]})})}):(0,z.jsx)(`div`,{className:`space-y-3`,children:e.map(e=>(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`p-4`,children:(0,z.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2 mb-1`,children:[(0,z.jsx)(`h3`,{className:`font-medium truncate`,children:e.title}),(0,z.jsx)(X,{variant:e.enabled?`default`:`secondary`,children:e.enabled?`启用`:`禁用`})]}),e.description&&(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground line-clamp-1 mb-2`,children:e.description}),(0,z.jsxs)(`div`,{className:`flex items-center gap-4 text-xs text-muted-foreground`,children:[(0,z.jsx)(`span`,{className:`font-mono bg-muted px-1.5 py-0.5 rounded`,children:e.schedule.syntax}),(0,z.jsxs)(`span`,{children:[(0,z.jsx)(Ra,{className:`h-3 w-3 inline mr-1`}),E(e.schedule.lastRunTime)]}),(0,z.jsxs)(`span`,{children:[e.delivery.channel,` → `,e.delivery.to]})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,z.jsx)(VP,{checked:e.enabled,onCheckedChange:()=>C(e)}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>w(e),disabled:!e.enabled,title:`手动触发`,children:(0,z.jsx)(ho,{className:`h-4 w-4`})}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>h(e.id),title:`执行历史`,children:(0,z.jsx)(Ra,{className:`h-4 w-4`})}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>y(e),title:`编辑`,children:(0,z.jsx)(Pa,{className:`h-4 w-4`})}),(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,onClick:()=>p(e.id),title:`删除`,children:(0,z.jsx)(No,{className:`h-4 w-4`})})]})]})})},e.id))}),(0,z.jsx)(FC,{open:o,onOpenChange:s,children:(0,z.jsxs)(RC,{className:`sm:max-w-md`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`新建定时任务`}),(0,z.jsx)(HC,{children:`配置 cron 表达式和投递方式`})]}),(0,z.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`标题`}),(0,z.jsx)(NC,{value:u.title,onChange:e=>d(t=>({...t,title:e.target.value})),placeholder:`任务标题`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`描述`}),(0,z.jsx)(PC,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:`任务描述(可选)`,rows:2})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`Cron 表达式`}),(0,z.jsx)(NC,{value:u.syntax,onChange:e=>d(t=>({...t,syntax:e.target.value})),placeholder:`0 * * * *`,className:`font-mono`}),(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`格式: 分 时 日 月 周(如 0 */2 * * * 表示每2小时)`})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递通道`}),(0,z.jsx)(NC,{value:u.channel,onChange:e=>d(t=>({...t,channel:e.target.value})),placeholder:`channel`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递目标`}),(0,z.jsx)(NC,{value:u.to,onChange:e=>d(t=>({...t,to:e.target.value})),placeholder:`to`})]})]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>s(!1),children:`取消`}),(0,z.jsxs)(Y,{onClick:b,disabled:r.isPending||!u.title.trim(),children:[r.isPending&&(0,z.jsx)(io,{className:`h-4 w-4 mr-1 animate-spin`}),`创建`]})]})]})}),(0,z.jsx)(FC,{open:!!c,onOpenChange:()=>l(null),children:(0,z.jsxs)(RC,{className:`sm:max-w-md`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`编辑定时任务`}),(0,z.jsx)(HC,{children:`修改任务配置`})]}),(0,z.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`标题`}),(0,z.jsx)(NC,{value:u.title,onChange:e=>d(t=>({...t,title:e.target.value})),placeholder:`任务标题`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`描述`}),(0,z.jsx)(PC,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:`任务描述(可选)`,rows:2})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`Cron 表达式`}),(0,z.jsx)(NC,{value:u.syntax,onChange:e=>d(t=>({...t,syntax:e.target.value})),placeholder:`0 * * * *`,className:`font-mono`})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递通道`}),(0,z.jsx)(NC,{value:u.channel,onChange:e=>d(t=>({...t,channel:e.target.value})),placeholder:`channel`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`投递目标`}),(0,z.jsx)(NC,{value:u.to,onChange:e=>d(t=>({...t,to:e.target.value})),placeholder:`to`})]})]})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>l(null),children:`取消`}),(0,z.jsxs)(Y,{onClick:x,disabled:g||!u.title.trim(),children:[g&&(0,z.jsx)(io,{className:`h-4 w-4 mr-1 animate-spin`}),`保存`]})]})]})}),(0,z.jsx)(FC,{open:!!f,onOpenChange:()=>p(null),children:(0,z.jsxs)(RC,{className:`sm:max-w-sm`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`确认删除`}),(0,z.jsx)(HC,{children:`删除后不可恢复,确定要删除此定时任务吗?`})]}),(0,z.jsxs)(BC,{children:[(0,z.jsx)(Y,{variant:`outline`,onClick:()=>p(null),children:`取消`}),(0,z.jsxs)(Y,{variant:`destructive`,onClick:T,disabled:i.isPending,children:[i.isPending&&(0,z.jsx)(io,{className:`h-4 w-4 mr-1 animate-spin`}),`删除`]})]})]})}),(0,z.jsx)(WP,{jobId:m,onClose:()=>h(null)})]})})}function WP({jobId:e,onClose:t}){let{data:n,isLoading:r}=uv(e??``);return(0,z.jsx)(FC,{open:!!e,onOpenChange:()=>t(),children:(0,z.jsxs)(RC,{className:`sm:max-w-lg`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsx)(VC,{children:`执行历史`}),(0,z.jsx)(HC,{children:`查看该定时任务的执行记录`})]}),(0,z.jsx)(I_,{className:`max-h-[400px]`,children:r?(0,z.jsx)(`div`,{className:`space-y-2 py-4`,children:[1,2,3].map(e=>(0,z.jsx)(vy,{className:`h-12 w-full`},e))}):!n||n.length===0?(0,z.jsx)(`div`,{className:`py-8 text-center text-muted-foreground text-sm`,children:`暂无执行记录`}):(0,z.jsx)(`div`,{className:`space-y-2`,children:n.map((e,t)=>(0,z.jsxs)(`div`,{className:`flex items-center justify-between p-3 rounded-lg border text-sm`,children:[(0,z.jsx)(`div`,{children:(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:GP(e.timestamp)})}),(0,z.jsx)(X,{variant:e.result===`success`?`default`:`destructive`,children:e.result})]},t))})})]})})}function GP(e){try{return new Date(e).toLocaleString(`zh-CN`)}catch{return e}}function KP({...e}){return(0,z.jsx)(Fs,{"data-slot":`collapsible`,...e})}function qP({...e}){return(0,z.jsx)(As,{"data-slot":`collapsible-trigger`,...e})}function JP({...e}){return(0,z.jsx)(Ms,{"data-slot":`collapsible-content`,...e})}var YP={file:{label:`文件操作`,icon:Ha},web:{label:`网络`,icon:qa},system:{label:`系统`,icon:wo},task:{label:`任务管理`,icon:ro},department:{label:`部门管理`,icon:Ro},cron:{label:`定时任务`,icon:Ra}},XP={label:`其他`,icon:_o};function ZP(e){let t=e.toLowerCase();return t.includes(`file`)||t.includes(`read`)||t.includes(`write`)||t.includes(`edit`)||t.includes(`glob`)||t.includes(`grep`)||t.includes(`bash`)||t.includes(`mkdir`)?`file`:t.includes(`web`)||t.includes(`search`)||t.includes(`fetch`)||t.includes(`http`)||t.includes(`url`)?`web`:t.includes(`system`)||t.includes(`process`)||t.includes(`env`)||t.includes(`config`)||t.includes(`memory`)?`system`:t.includes(`task`)||t.includes(`goal`)?`task`:t.includes(`department`)||t.includes(`member`)||t.includes(`communicat`)?`department`:t.includes(`cron`)||t.includes(`schedule`)||t.includes(`timer`)?`cron`:`other`}function QP({schema:e}){return e?.properties?(0,z.jsx)(`div`,{className:`space-y-2`,children:Object.entries(e.properties).map(([t,n])=>(0,z.jsxs)(`div`,{className:`rounded-md border bg-muted/30 px-3 py-2`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`code`,{className:`text-sm font-medium`,children:t}),(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:n.type}),e.required?.includes(t)&&(0,z.jsx)(X,{variant:`destructive`,className:`text-xs`,children:`必填`})]}),n.description&&(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:n.description}),n.enum&&(0,z.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-1`,children:n.enum.map(e=>(0,z.jsx)(X,{variant:`secondary`,className:`text-xs`,children:String(e)},String(e)))})]},t))}):null}function $P(){let[e,t]=(0,S.useState)(``),[n,r]=(0,S.useState)(new Set),{data:i,isLoading:a}=Gv(),o=(0,S.useMemo)(()=>{let t={};return(i??[]).filter(t=>t.name.toLowerCase().includes(e.toLowerCase())||t.description.toLowerCase().includes(e.toLowerCase())).forEach(e=>{let n=ZP(e.name);t[n]||(t[n]=[]),t[n].push(e)}),t},[i,e]),s=i?.length??0,c=e=>{r(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Tools`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`查看所有已注册的工具及其参数`})]}),(0,z.jsxs)(X,{variant:`secondary`,className:`gap-1`,children:[(0,z.jsx)(Bo,{className:`h-3 w-3`}),a?`...`:`${s} 个工具`]})]}),(0,z.jsxs)(`div`,{className:`relative mb-6`,children:[(0,z.jsx)(So,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,z.jsx)(NC,{placeholder:`搜索工具...`,className:`pl-9`,value:e,onChange:e=>t(e.target.value)})]}),a?(0,z.jsx)(`div`,{className:`space-y-6`,children:Array.from({length:3}).map((e,t)=>(0,z.jsxs)(`div`,{className:`space-y-3`,children:[(0,z.jsx)(vy,{className:`h-6 w-32`}),(0,z.jsx)(vy,{className:`h-24 w-full`})]},t))}):Object.keys(o).length===0?(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 text-muted-foreground`,children:[(0,z.jsx)(Bo,{className:`mb-3 h-10 w-10`}),(0,z.jsx)(`p`,{className:`text-sm`,children:e?`未找到匹配的工具`:`暂无工具`})]}):(0,z.jsx)(`div`,{className:`space-y-8`,children:Object.entries(o).map(([e,t])=>{let r=YP[e]??XP,i=r.icon;return(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,z.jsx)(i,{className:`h-4 w-4 text-muted-foreground`}),(0,z.jsx)(`h2`,{className:`text-sm font-semibold text-muted-foreground`,children:r.label}),(0,z.jsx)(X,{variant:`outline`,className:`text-xs`,children:t.length})]}),(0,z.jsx)(`div`,{className:`space-y-3`,children:t.map(e=>{let t=n.has(e.name);return(0,z.jsx)(py,{size:`sm`,children:(0,z.jsxs)(KP,{open:t,onOpenChange:()=>c(e.name),children:[(0,z.jsx)(qP,{className:`w-full`,children:(0,z.jsx)(my,{className:`cursor-pointer`,children:(0,z.jsxs)(hy,{className:`flex items-center justify-between`,children:[(0,z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Bo,{className:`h-3.5 w-3.5 text-primary`}),(0,z.jsx)(`code`,{className:`text-sm`,children:e.name})]}),(0,z.jsx)(Ma,{className:`h-4 w-4 text-muted-foreground transition-transform ${t?`rotate-180`:``}`})]})})}),(0,z.jsx)(JP,{children:(0,z.jsxs)(_y,{className:`space-y-4`,children:[(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h4`,{className:`mb-2 text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`参数 Schema`}),(0,z.jsx)(QP,{schema:e.inputSchema})]})]})})]})},e.name)})})]},e)})})]})}var eF=U_(`group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function tF({className:e,variant:t,...n}){return(0,z.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:J(eF({variant:t}),e),...n})}function nF({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-title`,className:J(`font-heading font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,e),...t})}function rF({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-description`,className:J(`text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,e),...t})}var iF=e=>e.replace(/[`*_#]/g,``).replace(/\s+/g,` `).trim(),aF=(e,t)=>e.toLowerCase().replace(/[^a-z0-9\u4e00-\u9fff]+/g,`-`).replace(/^-+|-+$/g,``)||t,oF=e=>{if(typeof e==`string`||typeof e==`number`)return String(e);if(Array.isArray(e))return e.map(oF).join(``);if(e&&typeof e==`object`&&`props`in e){let t=e.props;return oF(t?.children)}return``},sF=e=>{let t=e??``,n=t.match(/^Base directory for this skill:\s*(.+)$/m),r=t.replace(/^Base directory for this skill:\s*.+\n{0,2}/,``).trim(),i=new Map,a=Array.from(r.matchAll(/^(#{1,4})\s+(.+)$/gm)).map((e,t)=>{let n=iF(e[2]),r=aF(n,`section-${t+1}`),a=i.get(r)??0;return i.set(r,a+1),{level:e[1].length,text:n,id:a===0?r:`${r}-${a+1}`}}),o=Array.from(r.matchAll(/```(\w+)?\n([\s\S]*?)```/g)).map(e=>({lang:e[1]||`text`,code:e[2].trim()})),s=a.map(e=>e.text.toLowerCase()).join(` `);return{baseDir:n?.[1]?.trim()??null,content:r,headings:a,codeBlocks:o,sections:{installation:/install|安装/.test(s),quickStart:/quick start|quickstart|快速开始|入门/.test(s),commands:/command|命令/.test(s),configuration:/config|配置|setting|设置/.test(s)}}},cF=e=>(e??``).split(/[\s-_]+/).filter(Boolean).slice(0,2).map(e=>e[0]?.toUpperCase()).join(``)||`SK`;function lF(){let[e,t]=(0,S.useState)(``),[n,r]=(0,S.useState)(null),[i,a]=(0,S.useState)(null),[o,s]=(0,S.useState)(null),c=(0,S.useRef)(null),{data:l,isLoading:u}=Kv(),d=qv(),{data:f,isLoading:p}=gi({queryKey:Wv.detail(n),queryFn:async()=>{let e=await fetch(xi(`/api/skills/${encodeURIComponent(n)}`));if(!e.ok)throw Error(`Failed to fetch skill detail`);return e.json()},enabled:!!n}),m=(0,S.useMemo)(()=>sF(f?.detail),[f?.detail]),h=m.headings.some(e=>e.id===o)?o:m.headings[0]?.id,g=new Map,_=e=>{let t=aF(iF(oF(e)),`section`),n=g.get(t)??0;return g.set(t,n+1),n===0?t:`${t}-${n+1}`},v=e=>{s(e);let t=document.getElementById(e),n=c.current;if(!t||!n){t?.scrollIntoView({block:`start`,behavior:`smooth`});return}let r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),a=n.scrollTop+r.top-i.top-72;n.scrollTo({top:Math.max(0,a),behavior:`smooth`})},y=()=>{let e=c.current;if(!e)return;let t=m.headings.map(e=>document.getElementById(e.id)).filter(e=>!!e);if(t.length===0)return;let n=e.getBoundingClientRect().top;s(t.reduce((e,t)=>t.getBoundingClientRect().top-n<=80?t:e,t[0]).id)},b=(l??[]).filter(t=>t.name.toLowerCase().includes(e.toLowerCase())||t.description.toLowerCase().includes(e.toLowerCase()));return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`mb-6 flex items-center justify-between`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Skills`}),(0,z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`查看所有已注册的技能`})]}),(0,z.jsxs)(X,{variant:`secondary`,className:`gap-1`,children:[(0,z.jsx)(Oo,{className:`h-3 w-3`}),u?`...`:`${l?.length??0} 个技能`]})]}),(0,z.jsxs)(`div`,{className:`relative mb-6`,children:[(0,z.jsx)(So,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,z.jsx)(NC,{placeholder:`搜索技能...`,className:`pl-9`,value:e,onChange:e=>t(e.target.value)})]}),u?(0,z.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:Array.from({length:6}).map((e,t)=>(0,z.jsxs)(py,{children:[(0,z.jsxs)(my,{children:[(0,z.jsx)(vy,{className:`h-5 w-32`}),(0,z.jsx)(vy,{className:`h-4 w-48`})]}),(0,z.jsx)(_y,{children:(0,z.jsx)(vy,{className:`h-4 w-full`})})]},t))}):b.length===0?(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 text-muted-foreground`,children:[(0,z.jsx)(Oo,{className:`mb-3 h-10 w-10`}),(0,z.jsx)(`p`,{className:`text-sm`,children:e?`未找到匹配的技能`:`暂无技能`})]}):(0,z.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:b.map(e=>(0,z.jsx)(py,{className:`relative cursor-pointer transition-shadow hover:shadow-md`,onClick:()=>r(e.name),children:(0,z.jsxs)(my,{className:e.deletable?`pr-12`:void 0,children:[(0,z.jsxs)(hy,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Oo,{className:`h-4 w-4 text-primary`}),e.name]}),e.deletable&&(0,z.jsx)(`div`,{className:`absolute top-3 right-3`,children:(0,z.jsx)(Y,{variant:`ghost`,size:`icon-sm`,disabled:d.isPending,onClick:t=>{t.stopPropagation(),a(e.name)},title:`删除技能`,children:(0,z.jsx)(No,{className:`h-4 w-4 text-destructive`})})}),(0,z.jsx)(gy,{children:e.description})]})},e.name))}),(0,z.jsx)(FC,{open:!!n,onOpenChange:e=>!e&&r(null),children:(0,z.jsxs)(RC,{className:`grid h-[88vh] max-h-[88vh] grid-rows-[auto_minmax(0,1fr)] overflow-hidden p-0 sm:max-w-[960px]`,children:[(0,z.jsx)(zC,{className:`border-b px-6 py-5`,children:(0,z.jsxs)(`div`,{className:`flex items-start gap-4 pr-8`,children:[(0,z.jsx)(`div`,{className:`flex size-14 shrink-0 items-center justify-center rounded-lg border bg-primary/8 text-primary`,children:(0,z.jsx)(`span`,{className:`text-base font-semibold`,children:cF(f?.name??n)})}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(VC,{className:`flex flex-wrap items-center gap-2 text-xl leading-tight`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:f?.name??n}),(0,z.jsx)(X,{variant:`secondary`,className:`shrink-0`,children:f?.deletable?`项目 Skill`:`系统 Skill`})]}),(0,z.jsx)(HC,{className:`mt-2 max-w-2xl leading-relaxed`,children:f?.description??`加载中...`}),(0,z.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,z.jsx)(Ao,{className:`size-3.5`}),`ID: `,n]}),m.baseDir&&(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[(0,z.jsx)(Wa,{className:`size-3.5 shrink-0`}),(0,z.jsx)(`span`,{className:`truncate`,children:m.baseDir})]})]})]})]})}),(0,z.jsxs)(`div`,{className:`grid min-h-0 grid-cols-1 overflow-hidden lg:grid-cols-[1fr_260px]`,children:[p?(0,z.jsxs)(`div`,{className:`space-y-3 p-6`,children:[(0,z.jsx)(vy,{className:`h-8 w-52`}),(0,z.jsx)(vy,{className:`h-28 w-full`}),(0,z.jsx)(vy,{className:`h-28 w-full`})]}):m.content?(0,z.jsxs)(`div`,{ref:c,className:`h-full min-h-0 overflow-y-auto overscroll-contain scroll-smooth`,onScroll:y,children:[(0,z.jsx)(`div`,{className:`sticky top-0 z-10 flex h-14 items-center border-b bg-popover/95 px-6 backdrop-blur`,children:(0,z.jsxs)(`div`,{className:`inline-flex h-full items-center gap-2 border-b-2 border-foreground px-1 text-sm font-medium`,children:[(0,z.jsx)(Ea,{className:`size-4`}),`使用指南`]})}),(0,z.jsx)(`div`,{className:`px-6 py-6`,children:(0,z.jsx)(`div`,{className:`skill-detail-markdown`,children:(0,z.jsx)(TA,{remarkPlugins:[kN],components:{h1:({children:e,...t})=>(0,z.jsx)(`h1`,{id:_(e),...t,children:e}),h2:({children:e,...t})=>(0,z.jsx)(`h2`,{id:_(e),...t,children:e}),h3:({children:e,...t})=>(0,z.jsx)(`h3`,{id:_(e),...t,children:e}),h4:({children:e,...t})=>(0,z.jsx)(`h4`,{id:_(e),...t,children:e}),a:({...e})=>(0,z.jsx)(`a`,{...e,className:`font-medium text-primary underline-offset-4 hover:underline`,target:`_blank`,rel:`noreferrer`}),code:({className:e,children:t,...n})=>e?.startsWith(`language-`)?(0,z.jsx)(`code`,{...n,className:e,children:t}):(0,z.jsx)(`code`,{...n,className:`rounded bg-muted px-1.5 py-0.5 text-[0.9em]`,children:t})},children:m.content})})})]}):(0,z.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:`无详细内容`}),(0,z.jsx)(`aside`,{className:`hidden min-h-0 border-l bg-muted/20 p-5 lg:block`,children:(0,z.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:m.headings.length>0&&(0,z.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,z.jsx)(`h3`,{className:`mb-3 text-sm font-medium`,children:`章节导航`}),(0,z.jsx)(`nav`,{className:`min-h-0 flex-1 space-y-0.5 overflow-y-auto pr-1`,children:m.headings.map(e=>(0,z.jsx)(`button`,{type:`button`,className:[`block w-full truncate rounded-md py-1.5 pr-2 text-left text-sm transition-colors`,h===e.id?`bg-primary/8 font-medium text-primary`:`text-muted-foreground hover:bg-background hover:text-foreground`].join(` `),style:{paddingLeft:`${Math.max(0,e.level-1)*16+8}px`},onClick:()=>v(e.id),children:e.text},e.id))})]})})})]})]})}),(0,z.jsx)(FC,{open:!!i,onOpenChange:e=>{!e&&!d.isPending&&a(null)},children:(0,z.jsxs)(RC,{className:`sm:max-w-md`,children:[(0,z.jsxs)(zC,{children:[(0,z.jsxs)(VC,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Po,{className:`size-5 text-destructive`}),`确认删除 Skill?`]}),(0,z.jsxs)(HC,{children:[`你正在删除 `,(0,z.jsx)(`span`,{className:`font-medium text-foreground`,children:i}),`。`]})]}),(0,z.jsxs)(tF,{variant:`destructive`,children:[(0,z.jsx)(Po,{className:`size-4`}),(0,z.jsx)(nF,{children:`删除后不可恢复`}),(0,z.jsx)(rF,{children:`该 Skill 的文件会被永久移除,后续无法从管理台恢复。请确认不再需要后再继续。`})]}),(0,z.jsxs)(BC,{className:`-mx-4 -mb-4`,children:[(0,z.jsx)(Y,{variant:`outline`,disabled:d.isPending,onClick:()=>a(null),children:`取消`}),(0,z.jsx)(Y,{variant:`destructive`,disabled:d.isPending||!i,onClick:()=>{if(!i)return;let e=i;d.mutate(e,{onSuccess:()=>{n===e&&r(null),a(null)}})},children:d.isPending?`删除中...`:`确认删除`})]})]})})]})}var uF=1,dF=.9,fF=.8,pF=.17,mF=.1,hF=.999,gF=.9999,_F=.99,vF=/[\\\/_+.#"@\[\(\{&]/,yF=/[\\\/_+.#"@\[\(\{&]/g,bF=/[\s-]/,xF=/[\s-]/g;function SF(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?uF:_F;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=SF(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=uF:vF.test(e.charAt(l-1))?(d*=fF,p=e.slice(i,l-1).match(yF),p&&i>0&&(d*=hF**+p.length)):bF.test(e.charAt(l-1))?(d*=dF,m=e.slice(i,l-1).match(xF),m&&i>0&&(d*=hF**+m.length)):(d*=pF,i>0&&(d*=hF**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=gF)),(d<mF&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=SF(e,t,n,r,l+1,a+2,o),f*mF>d&&(d=f*mF)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function CF(e){return e.toLowerCase().replace(xF,` `)}function wF(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,SF(e,t,CF(e),CF(t),0,0,{})}var TF=Symbol.for(`react.lazy`),EF=S.use;function DF(e){return typeof e==`object`&&!!e&&`then`in e}function OF(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===TF&&`_payload`in e&&DF(e._payload)}function kF(e){let t=AF(e),n=S.forwardRef((e,n)=>{let{children:r,...i}=e;OF(r)&&typeof EF==`function`&&(r=EF(r._payload));let a=S.Children.toArray(r),o=a.find(MF);if(o){let e=o.props.children,r=a.map(t=>t===o?S.Children.count(e)>1?S.Children.only(null):S.isValidElement(e)?e.props.children:null:t);return(0,z.jsx)(t,{...i,ref:n,children:S.isValidElement(e)?S.cloneElement(e,void 0,r):null})}return(0,z.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function AF(e){let t=S.forwardRef((e,t)=>{let{children:n,...r}=e;if(OF(n)&&typeof EF==`function`&&(n=EF(n._payload)),S.isValidElement(n)){let e=PF(n),i=NF(r,n.props);return n.type!==S.Fragment&&(i.ref=t?Wo(t,e):e),S.cloneElement(n,i)}return S.Children.count(n)>1?S.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var jF=Symbol(`radix.slottable`);function MF(e){return S.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===jF}function NF(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function PF(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var FF=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=kF(`Primitive.${t}`),r=S.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,z.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),IF=`[cmdk-group=""]`,LF=`[cmdk-group-items=""]`,RF=`[cmdk-group-heading=""]`,zF=`[cmdk-item=""]`,BF=`${zF}:not([aria-disabled="true"])`,VF=`cmdk-item-select`,HF=`data-value`,UF=(e,t,n)=>wF(e,t,n),WF=S.createContext(void 0),GF=()=>S.useContext(WF),KF=S.createContext(void 0),qF=()=>S.useContext(KF),JF=S.createContext(void 0),YF=S.forwardRef((e,t)=>{let n=lI(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=lI(()=>new Set),i=lI(()=>new Map),a=lI(()=>new Map),o=lI(()=>new Set),s=sI(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=Ss(),y=Ss(),b=Ss(),x=S.useRef(null),C=fI();cI(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,w.emit()}},[u]),cI(()=>{C(6,A)},[]);let w=S.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(b);e?e.focus():(i=document.getElementById(v))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=j()?.id,w.emit()}),r||C(5,A),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=S.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=j();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:v,inputId:b,labelId:y,listInnerRef:x}),[]);function E(e,t){let r=s.current?.filter??UF;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=x.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(LF);t?t.appendChild(e.parentElement===t?e:e.closest(`${LF} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${LF} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${IF}[${HF}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(HF);w.setState(`value`,e||void 0)}function k(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=E(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function A(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(IF)?.querySelector(RF))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return x.current?.querySelector(`${zF}[aria-selected="true"]`)}function M(){return Array.from(x.current?.querySelectorAll(BF)||[])}function N(e){let t=M()[e];t&&w.setState(`value`,t.getAttribute(HF))}function ee(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(HF))}function te(e){let t=j()?.closest(IF),n;for(;t&&!n;)t=e>0?aI(t,IF):oI(t,IF),n=t?.querySelector(BF);n?w.setState(`value`,n.getAttribute(HF)):ee(e)}let P=()=>N(M().length-1),F=e=>{e.preventDefault(),e.metaKey?P():e.altKey?te(1):ee(1)},ne=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?te(-1):ee(-1)};return S.createElement(FF.div,{ref:t,tabIndex:-1,..._,"cmdk-root":``,onKeyDown:e=>{var t;(t=_.onKeyDown)==null||t.call(_,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&F(e);break;case`ArrowDown`:F(e);break;case`p`:case`k`:g&&e.ctrlKey&&ne(e);break;case`ArrowUp`:ne(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),P();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(VF);t.dispatchEvent(e)}}}}},S.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:hI},c),mI(e,e=>S.createElement(KF.Provider,{value:w},S.createElement(WF.Provider,{value:T},e))))}),XF=S.forwardRef((e,t)=>{let n=Ss(),r=S.useRef(null),i=S.useContext(JF),a=GF(),o=sI(e),s=o.current?.forceMount??i?.forceMount;cI(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=dI(n,r,[e.value,e.children,r],e.keywords),l=qF(),u=uI(e=>e.value&&e.value===c.current),d=uI(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);S.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(VF,f),()=>t.removeEventListener(VF,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:_,keywords:v,...y}=e;return S.createElement(FF.div,{ref:Wo(r,t),...y,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),ZF=S.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=Ss(),s=S.useRef(null),c=S.useRef(null),l=Ss(),u=GF(),d=uI(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);cI(()=>u.group(o),[]),dI(o,s,[e.value,e.heading,c]);let f=S.useMemo(()=>({id:o,forceMount:i}),[i]);return S.createElement(FF.div,{ref:Wo(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:d?void 0:!0},n&&S.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),mI(e,e=>S.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},S.createElement(JF.Provider,{value:f},e))))}),QF=S.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=S.useRef(null),a=uI(e=>!e.search);return!n&&!a?null:S.createElement(FF.div,{ref:Wo(i,t),...r,"cmdk-separator":``,role:`separator`})}),$F=S.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=qF(),o=uI(e=>e.search),s=uI(e=>e.selectedItemId),c=GF();return S.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),S.createElement(FF.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),eI=S.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=S.useRef(null),o=S.useRef(null),s=uI(e=>e.selectedItemId),c=GF();return S.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),S.createElement(FF.div,{ref:Wo(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},mI(e,e=>S.createElement(`div`,{ref:Wo(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),tI=S.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return S.createElement(gu,{open:n,onOpenChange:r},S.createElement(_u,{container:o},S.createElement(vu,{"cmdk-overlay":``,className:i}),S.createElement(yu,{"aria-label":e.label,"cmdk-dialog":``,className:a},S.createElement(YF,{ref:t,...s}))))}),nI=S.forwardRef((e,t)=>uI(e=>e.filtered.count===0)?S.createElement(FF.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),rI=S.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return S.createElement(FF.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},mI(e,e=>S.createElement(`div`,{"aria-hidden":!0},e)))}),iI=Object.assign(YF,{List:eI,Item:XF,Input:$F,Group:ZF,Separator:QF,Dialog:tI,Empty:nI,Loading:rI});function aI(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function oI(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function sI(e){let t=S.useRef(e);return cI(()=>{t.current=e}),t}var cI=typeof window>`u`?S.useEffect:S.useLayoutEffect;function lI(e){let t=S.useRef();return t.current===void 0&&(t.current=e()),t}function uI(e){let t=qF(),n=()=>e(t.snapshot());return S.useSyncExternalStore(t.subscribe,n,n)}function dI(e,t,n,r=[]){let i=S.useRef(),a=GF();return cI(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(HF,s),i.current=s}),i}var fI=()=>{let[e,t]=S.useState(),n=lI(()=>new Map);return cI(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function pI(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function mI({asChild:e,children:t},n){return e&&S.isValidElement(t)?S.cloneElement(pI(t),{ref:t.ref},n(t.props.children)):n(t)}var hI={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function gI({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`input-group`,role:`group`,className:J(`group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5`,e),...t})}var _I=U_(`flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]`,"inline-end":`order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]`,"block-start":`order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2`,"block-end":`order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2`}},defaultVariants:{align:`inline-start`}});function vI({className:e,align:t=`inline-start`,...n}){return(0,z.jsx)(`div`,{role:`group`,"data-slot":`input-group-addon`,"data-align":t,className:J(_I({align:t}),e),onClick:e=>{e.target.closest(`button`)||e.currentTarget.parentElement?.querySelector(`input`)?.focus()},...n})}function yI({className:e,...t}){return(0,z.jsx)(iI,{"data-slot":`command`,className:J(`flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground`,e),...t})}function bI({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`command-input-wrapper`,className:`p-1 pb-0`,children:(0,z.jsxs)(gI,{className:`h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!`,children:[(0,z.jsx)(iI.Input,{"data-slot":`command-input`,className:J(`w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50`,e),...t}),(0,z.jsx)(vI,{children:(0,z.jsx)(So,{className:`size-4 shrink-0 opacity-50`})})]})})}function xI({className:e,...t}){return(0,z.jsx)(iI.List,{"data-slot":`command-list`,className:J(`no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none`,e),...t})}function SI({className:e,...t}){return(0,z.jsx)(iI.Empty,{"data-slot":`command-empty`,className:J(`py-6 text-center text-sm`,e),...t})}function CI({className:e,...t}){return(0,z.jsx)(iI.Group,{"data-slot":`command-group`,className:J(`overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground`,e),...t})}function wI({className:e,children:t,...n}){return(0,z.jsxs)(iI.Item,{"data-slot":`command-item`,className:J(`group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground`,e),...n,children:[t,(0,z.jsx)(ja,{className:`ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100`})]})}function TI({...e}){return(0,z.jsx)(nm,{"data-slot":`popover`,...e})}function EI({...e}){return(0,z.jsx)(rm,{"data-slot":`popover-trigger`,...e})}function DI({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,z.jsx)(im,{children:(0,z.jsx)(am,{"data-slot":`popover-content`,align:t,sideOffset:n,className:J(`z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r})})}function OI({className:e,orientation:t=`horizontal`,...n}){return(0,z.jsx)(Th,{"data-slot":`tabs`,"data-orientation":t,className:J(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var kI=U_(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function AI({className:e,variant:t=`default`,...n}){return(0,z.jsx)(Eh,{"data-slot":`tabs-list`,"data-variant":t,className:J(kI({variant:t}),e),...n})}function jI({className:e,...t}){return(0,z.jsx)(Dh,{"data-slot":`tabs-trigger`,className:J(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function MI({className:e,...t}){return(0,z.jsx)(Oh,{"data-slot":`tabs-content`,className:J(`flex-1 text-sm outline-none`,e),...t})}function NI(){let{data:e,refetch:t}=Av(),n=Lv(),r=Rv(),i=zv(),[a,o]=(0,S.useState)(!1),[s,c]=(0,S.useState)(null),[l,u]=(0,S.useState)(``),[d,f]=(0,S.useState)(null),[p,m]=(0,S.useState)(``),[h,g]=(0,S.useState)(``),[_,v]=(0,S.useState)(``),[y,b]=(0,S.useState)(`memory`),[x,C]=(0,S.useState)(null);(0,S.useEffect)(()=>{!s&&e?.[0]?.userId&&(c(e[0].userId),u(e[0].userId))},[s,e]);let w=s?.trim()||null,T=(0,S.useMemo)(()=>qI(e??[]),[e]),{data:E,isLoading:D}=jv(w),{data:O,isLoading:k}=Mv(w),{data:A,isLoading:j}=Nv(w),M=y===`all-context`||!!x,{data:N,isLoading:ee,refetch:te}=Pv({enabled:M,refetchInterval:M?5e3:!1}),{data:P,isLoading:F}=Fv(w),{data:ne,isLoading:re}=Iv(w,_.trim()),ie=P?.summaries??[],I=ne?.entries??[],L=O?.dreamHistory??[],R=E?.find(e=>e.id===d)??null,ae=e?.find(e=>e.userId===w)??null,oe=ie[0]??null,se=N?.sources??[],ce=x?se.find(e=>e.userId===x)??null:null;(0,S.useEffect)(()=>{if(!w)return;if(!E||E.length===0){f(null);return}let e=E.some(e=>e.id===d);(!d||!e)&&f(E[0].id)},[w,E,d]),(0,S.useEffect)(()=>{if(R){m(R.title),g(R.content);return}m(``),g(``)},[R]),(0,S.useEffect)(()=>{!x||!N||se.some(e=>e.userId===x)||C(null)},[se,N,x]);let le=()=>{let e=l.trim();e&&(c(e),f(null))},ue=e=>{c(e),u(e),f(null),o(!1)};return(0,z.jsxs)(dy,{children:[(0,z.jsxs)(`div`,{className:`space-y-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`上下文与记忆`}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`观测用户长期记忆、梦境、会话压缩和统一召回索引;Memory 可编辑,Compact 与 Dream 只做审计。`})]}),(0,z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:()=>{t(),te()},children:[(0,z.jsx)(vo,{className:`h-4 w-4`}),`刷新`]})]}),(0,z.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1fr)_360px]`,children:[(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 text-sm font-medium`,children:[(0,z.jsx)(Io,{className:`h-4 w-4 text-primary`}),`用户 / 线程`]}),(0,z.jsxs)(`div`,{className:`grid gap-3 lg:grid-cols-[minmax(0,1fr)_220px]`,children:[(0,z.jsxs)(TI,{open:a,onOpenChange:o,children:[(0,z.jsx)(EI,{asChild:!0,children:(0,z.jsxs)(Y,{variant:`outline`,className:`h-14 min-w-0 justify-between px-4 text-left`,children:[(0,z.jsx)(`div`,{className:`min-w-0`,children:w?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:XI(w,ae??void 0)}),(0,z.jsx)(X,{variant:`outline`,children:YI(w)})]}),(0,z.jsx)(`div`,{className:`truncate font-mono text-xs text-muted-foreground`,children:w})]}):(0,z.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`选择一个用户或线程`})}),(0,z.jsx)(Ma,{className:`ml-3 h-4 w-4 shrink-0 text-muted-foreground`})]})}),(0,z.jsx)(DI,{align:`start`,className:`w-[min(760px,calc(100vw-3rem))] p-0`,children:(0,z.jsxs)(yI,{children:[(0,z.jsx)(bI,{placeholder:`搜索 userId、部门成员、kanban 线程`}),(0,z.jsxs)(xI,{className:`max-h-[420px]`,children:[(0,z.jsx)(SI,{children:`没有匹配到已发现的用户,可用右侧手动输入。`}),T.map(e=>(0,z.jsx)(CI,{heading:e.label,children:e.users.map(e=>(0,z.jsxs)(wI,{value:JI(e),onSelect:()=>ue(e.userId),className:`items-start gap-3 py-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:XI(e.userId,e)}),e.hasMemory&&(0,z.jsxs)(X,{variant:`secondary`,children:[e.memoryCount,` 条记忆`]}),e.hasDream&&(0,z.jsx)(X,{variant:`outline`,children:`有梦境`})]}),(0,z.jsx)(`div`,{className:`mt-1 truncate font-mono text-xs text-muted-foreground`,children:e.userId}),(0,z.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e.lastActivityAt?`最近活跃 ${QI(e.lastActivityAt)}`:`暂无活跃时间`})]}),e.userId===w&&(0,z.jsx)(Fa,{className:`mt-0.5 h-4 w-4 shrink-0 text-primary`})]},e.userId))},e.kind))]})]})})]}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,z.jsx)(NC,{value:l,onChange:e=>u(e.target.value),placeholder:`手动 userId`,className:`h-14 min-w-0 font-mono text-xs`}),(0,z.jsx)(Y,{className:`h-14 shrink-0`,onClick:le,disabled:!l.trim(),children:`应用`})]})]})]}),(0,z.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsx)(`div`,{className:`text-sm font-medium`,children:`当前对象`}),w?(0,z.jsxs)(`div`,{className:`mt-3 space-y-2`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,children:YI(w)}),ae?.hasConversation&&(0,z.jsx)(X,{variant:`secondary`,children:`有对话索引`}),ae?.hasDream&&(0,z.jsx)(X,{variant:`secondary`,children:`有梦境`}),(ae?.relatedUserIds?.length??0)>0&&(0,z.jsxs)(X,{variant:`secondary`,children:[ae?.relatedUserIds?.length,` 个上下文源`]})]}),(0,z.jsx)(`div`,{className:`break-all font-mono text-xs leading-5 text-muted-foreground`,children:w}),(ae?.relatedUserIds?.length??0)>0&&(0,z.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:`已合并 Main Manager 主线与部门 mailbox 上下文。`})]}):(0,z.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:`尚未选择用户。`})]})]}),w?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2 xl:grid-cols-5`,children:[(0,z.jsx)(PI,{icon:Oa,label:`Memory`,value:`${E?.length??0}`,note:`可编辑长期记忆`,loading:D}),(0,z.jsx)(PI,{icon:Oo,label:`Dream`,value:O?.dreamContent?`有`:`无`,note:`${L.length} 条历史`,loading:k}),(0,z.jsx)(PI,{icon:Ba,label:`Compact`,value:`${ie.length}`,note:oe?`最近 ${QI(oe.createdAt)}`:`暂无压缩`,loading:F}),(0,z.jsx)(PI,{icon:So,label:`Recall`,value:`${ne?.total??0}`,note:_.trim()?`查询结果`:`索引总数`,loading:re}),(0,z.jsx)(PI,{icon:La,label:`活跃`,value:ae?.lastActivityAt?ZI(ae.lastActivityAt):`--`,note:ae?.lastActivityAt?QI(ae.lastActivityAt):`暂无记录`})]}),(0,z.jsxs)(OI,{value:y,onValueChange:b,className:`space-y-4`,children:[(0,z.jsxs)(AI,{className:`h-auto flex-wrap justify-start`,children:[(0,z.jsx)(jI,{value:`memory`,children:`长期记忆`}),(0,z.jsx)(jI,{value:`dream`,children:`梦境`}),(0,z.jsx)(jI,{value:`compact`,children:`会话压缩`}),(0,z.jsx)(jI,{value:`recall`,children:`召回索引`}),(0,z.jsx)(jI,{value:`all-context`,children:`所有上下文`}),(0,z.jsx)(jI,{value:`context`,children:`注入预览`})]}),(0,z.jsx)(MI,{value:`memory`,children:(0,z.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-[380px_minmax(0,1fr)]`,children:[(0,z.jsxs)(py,{children:[(0,z.jsxs)(my,{className:`flex-row items-center justify-between`,children:[(0,z.jsx)(hy,{className:`text-base`,children:`Memory 列表`}),(0,z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:()=>{f(null),m(``),g(``)},children:[(0,z.jsx)(go,{className:`h-4 w-4`}),`新建`]})]}),(0,z.jsx)(_y,{children:D?(0,z.jsx)(GI,{rows:4}):E?.length?(0,z.jsx)(I_,{className:`max-h-[590px]`,children:(0,z.jsx)(`div`,{className:`space-y-2 pr-3`,children:E.map(e=>(0,z.jsxs)(`button`,{type:`button`,onClick:()=>f(e.id),className:`w-full rounded-lg border p-3 text-left hover:bg-muted/40 ${d===e.id?`border-primary bg-primary/5`:``}`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,className:`max-w-28 overflow-hidden text-ellipsis font-mono text-[10px]`,children:e.id}),e.userId!==w&&(0,z.jsx)(X,{variant:`secondary`,className:`max-w-36 overflow-hidden text-ellipsis font-mono text-[10px]`,children:e.userId}),(0,z.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:QI(e.updatedAt)})]}),(0,z.jsx)(`div`,{className:`mt-2 break-words text-sm font-semibold`,children:e.title}),(0,z.jsx)(`p`,{className:`mt-1 break-words text-xs leading-5 text-muted-foreground [overflow-wrap:anywhere]`,children:$I(eL(e.content),120)})]},e.id))})}):(0,z.jsx)(KI,{text:`这个 userId 还没有长期记忆。`})})]}),(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsx)(hy,{className:`text-base`,children:R?`编辑长期记忆`:`新建长期记忆`})}),(0,z.jsxs)(_y,{className:`space-y-4`,children:[(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`标题`}),(0,z.jsx)(NC,{value:p,onChange:e=>m(e.target.value),placeholder:`例如:偏好-包管理器`})]}),(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`label`,{className:`text-sm font-medium`,children:`内容`}),(0,z.jsx)(PC,{value:h,onChange:e=>g(e.target.value),className:`min-h-44`,placeholder:`稳定事实、偏好或长期约束。`})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,z.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:R?.id??`new memory`}),(0,z.jsxs)(`div`,{className:`flex gap-2`,children:[R&&(0,z.jsxs)(Y,{variant:`destructive`,onClick:async()=>{!w||!R||(await i.mutateAsync({id:R.id,userId:R.userId||w}),f(null))},disabled:i.isPending,children:[(0,z.jsx)(No,{className:`h-4 w-4`}),`删除`]}),(0,z.jsxs)(Y,{onClick:async()=>{if(!(!w||!p.trim()||!h.trim())){if(R){await r.mutateAsync({id:R.id,data:{userId:R.userId||w,title:p.trim(),content:h.trim()}});return}f((await n.mutateAsync({userId:w,title:p.trim(),content:h.trim()})).id)}},disabled:!p.trim()||!h.trim()||n.isPending||r.isPending,children:[(0,z.jsx)(xo,{className:`h-4 w-4`}),R?`保存`:`创建`]})]})]})]})]})]})}),(0,z.jsx)(MI,{value:`dream`,children:(0,z.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-[minmax(0,1fr)_420px]`,children:[(0,z.jsx)(FI,{title:`最新梦境`,icon:Oo,loading:k,empty:`还没有 dream。系统会在长时间不活跃后生成长期记忆沉淀。`,content:O?.dreamContent}),(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(Xa,{className:`h-4 w-4 text-primary`}),`Dream History`]})}),(0,z.jsx)(_y,{children:k?(0,z.jsx)(GI,{rows:4}):L.length===0?(0,z.jsx)(KI,{text:`暂无梦境历史。`}):(0,z.jsx)(I_,{className:`max-h-[520px]`,children:(0,z.jsx)(`div`,{className:`space-y-3 pr-3`,children:L.map(e=>(0,z.jsx)(UI,{title:QI(e.createdAt),meta:`${e.sourceMessageCount} 条来源消息`,content:e.content},e.id))})})})]})]})}),(0,z.jsx)(MI,{value:`compact`,children:(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(Ba,{className:`h-4 w-4 text-primary`}),`Compact Summaries`]})}),(0,z.jsx)(_y,{children:F?(0,z.jsx)(GI,{rows:5}):ie.length===0?(0,z.jsx)(KI,{text:`暂无会话压缩摘要。长上下文触发 compact 后会出现在这里。`}):(0,z.jsx)(`div`,{className:`grid gap-3 xl:grid-cols-2`,children:ie.map(e=>(0,z.jsx)(VI,{summary:e},e.id))})})]})}),(0,z.jsx)(MI,{value:`recall`,children:(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(So,{className:`h-4 w-4 text-primary`}),`Recall 测试`]})}),(0,z.jsxs)(_y,{className:`space-y-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,z.jsx)(NC,{value:_,onChange:e=>v(e.target.value),placeholder:`输入关键词,例如:蓝兔支付 / 准生产 / ENOENT`,className:`h-10`}),(0,z.jsx)(Y,{variant:`outline`,onClick:()=>v(``),disabled:!_,children:`清空`})]}),re?(0,z.jsx)(GI,{rows:5}):I.length===0?(0,z.jsx)(KI,{text:_.trim()?`没有匹配的召回结果。`:`暂无 recall index 条目。`}):(0,z.jsx)(`div`,{className:`grid gap-3 xl:grid-cols-2`,children:I.map(e=>(0,z.jsx)(HI,{entry:e},`${e.type}:${e.id}`))})]})]})}),(0,z.jsx)(MI,{value:`context`,children:(0,z.jsxs)(`section`,{className:`grid gap-5 xl:grid-cols-2`,children:[(0,z.jsx)(FI,{title:`Memory Context`,icon:Ha,loading:j,content:A?.memoryContextBlock,empty:`没有长期记忆注入块。`}),(0,z.jsx)(FI,{title:`Dream Context`,icon:co,loading:j,content:A?.dreamContextBlock,empty:`没有梦境注入块。`})]})}),(0,z.jsx)(MI,{value:`all-context`,children:(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(co,{className:`h-4 w-4 text-primary`}),`Main Manager 可见上下文`]})}),(0,z.jsx)(_y,{children:ee?(0,z.jsx)(GI,{rows:5}):se.length===0?(0,z.jsx)(KI,{text:`暂无可查看的对话上下文。`}):(0,z.jsx)(`div`,{className:`space-y-4`,children:se.map(e=>(0,z.jsx)(II,{source:e,onOpen:()=>C(e.userId)},e.userId))})})]})})]})]}):(0,z.jsx)(py,{children:(0,z.jsx)(_y,{className:`py-16 text-center text-muted-foreground`,children:`先选择一个 userId,再查看上下文、记忆和召回索引。`})})]}),(0,z.jsx)(LI,{source:ce,onClose:()=>C(null)})]})}function PI({icon:e,label:t,value:n,note:r,loading:i}){return(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{className:`pb-2`,children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-sm font-medium text-muted-foreground`,children:[(0,z.jsx)(e,{className:`h-4 w-4`}),t]})}),(0,z.jsxs)(_y,{children:[i?(0,z.jsx)(vy,{className:`h-7 w-20`}):(0,z.jsx)(`div`,{className:`text-2xl font-semibold`,children:n}),(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:r})]})]})}function FI({title:e,icon:t,content:n,empty:r,loading:i}){return(0,z.jsxs)(py,{children:[(0,z.jsx)(my,{children:(0,z.jsxs)(hy,{className:`flex items-center gap-2 text-base`,children:[(0,z.jsx)(t,{className:`h-4 w-4 text-primary`}),e]})}),(0,z.jsx)(_y,{children:i?(0,z.jsx)(GI,{rows:4}):n?.trim()?(0,z.jsx)(`div`,{className:`max-h-[560px] overflow-auto rounded-lg border bg-muted/25 p-4`,children:(0,z.jsx)(`pre`,{className:`whitespace-pre-wrap break-words text-sm leading-6 [overflow-wrap:anywhere]`,children:n})}):(0,z.jsx)(KI,{text:r})})]})}function II({source:e,onOpen:t}){let n=e.agentLogs.slice(-2);return(0,z.jsxs)(`article`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`truncate text-sm font-semibold`,children:XI(e.userId)}),(0,z.jsx)(X,{variant:`outline`,children:YI(e.userId)}),(0,z.jsxs)(X,{variant:`secondary`,children:[e.messageCount,` 条上下文`]})]}),(0,z.jsx)(`div`,{className:`mt-1 break-all font-mono text-xs text-muted-foreground`,children:e.userId})]}),(0,z.jsxs)(Y,{variant:`outline`,size:`sm`,onClick:t,children:[(0,z.jsx)(Va,{className:`h-4 w-4`}),`查看`]})]}),(0,z.jsxs)(`div`,{className:`mt-4 space-y-2 rounded-md border bg-muted/20 p-3`,children:[(0,z.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`最近上下文预览`}),n.map(t=>(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(X,{variant:t.role===`user`?`default`:`secondary`,className:`h-4 px-1.5 py-0 text-[10px]`,children:t.role===`user`?`User`:`Assistant`}),(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,t.index]}),(0,z.jsx)(`span`,{className:`truncate`,children:zI(t)})]},`${e.userId}:${t.index}`)),n.length===0&&(0,z.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`暂无预览。`})]})]})}function LI({source:e,onClose:t}){let[n,r]=(0,S.useState)(1);if((0,S.useEffect)(()=>{r(1)},[e?.userId]),!e)return null;let i=Math.max(1,Math.ceil(e.agentLogs.length/12)),a=Math.min(n,i),o=(a-1)*12,s=e.agentLogs.slice(o,o+12);return(0,z.jsx)(FC,{open:!!e,onOpenChange:e=>!e&&t(),children:(0,z.jsxs)(RC,{className:`grid max-h-[88vh] grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden p-0 sm:max-w-5xl`,children:[(0,z.jsxs)(zC,{className:`border-b px-6 py-5`,children:[(0,z.jsxs)(VC,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(co,{className:`h-4 w-4 text-primary`}),XI(e.userId),(0,z.jsx)(X,{variant:`outline`,children:YI(e.userId)})]}),(0,z.jsxs)(HC,{className:`break-all font-mono text-xs`,children:[e.userId,` · 共 `,e.messageCount,` 条上下文`]})]}),(0,z.jsx)(I_,{className:`min-h-0 px-6 py-4`,children:(0,z.jsx)(`div`,{className:`space-y-4 pr-3`,children:s.map(t=>(0,z.jsx)(RI,{log:t},`${e.userId}:${t.index}`))})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t px-6 py-4 text-sm`,children:[(0,z.jsxs)(`div`,{className:`text-muted-foreground`,children:[`第 `,a,` / `,i,` 页 · 当前 `,s.length,` 条`]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(1),disabled:a<=1,children:`首页`}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(e=>Math.max(1,e-1)),disabled:a<=1,children:`上一页`}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(e=>Math.min(i,e+1)),disabled:a>=i,children:`下一页`}),(0,z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:()=>r(i),disabled:a>=i,children:`末页`})]})]})]})})}function RI({log:e}){let t=e.role===`user`;return(0,z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{className:`font-mono`,children:[`#`,e.index]}),(0,z.jsx)(X,{variant:t?`default`:`secondary`,className:`h-4 px-1.5 py-0 text-[10px]`,children:t?`User`:`Assistant`})]}),(0,z.jsx)(`div`,{className:`space-y-2 pl-2`,children:e.blocks.map((e,n)=>(0,z.jsx)(BI,{block:e,isUser:t},n))})]})}function zI(e){let t=e.blocks.find(e=>e.type===`text`&&typeof e.text==`string`);if(t&&typeof t.text==`string`&&t.text.trim())return $I(t.text.replace(/\s+/g,` `).trim(),120);let n=e.blocks.find(e=>e.type===`tool_use`);if(n)return`tool_use: ${String(n.name??`unknown`)}`;let r=e.blocks.find(e=>e.type===`tool_result`);return r?`tool_result: ${String(r.toolUseId??``)}`:`无文本内容`}function BI({block:e,isUser:t}){let[n,r]=(0,S.useState)(!1),i=String(e.type??`unknown`);if(i===`text`){let i=String(e.text??``),a=i.length>360;return(0,z.jsxs)(`div`,{className:`rounded-md border px-3 py-2 text-sm whitespace-pre-wrap break-words [overflow-wrap:anywhere] ${t?`border-emerald-500/10 bg-emerald-500/5`:`border-sky-500/10 bg-sky-500/5`}`,children:[n||!a?i:$I(i,360),a&&(0,z.jsx)(Y,{variant:`ghost`,size:`sm`,className:`ml-1 h-6 px-1 text-xs`,onClick:()=>r(e=>!e),children:n?`收起`:`展开`})]})}if(i===`tool_use`)return(0,z.jsxs)(`div`,{className:`rounded-md border border-primary/20 bg-primary/5 px-3 py-2`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 text-left`,onClick:()=>r(e=>!e),children:[(0,z.jsx)(Bo,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,z.jsx)(`span`,{className:`text-sm font-semibold text-primary`,children:String(e.name??`unknown`)}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`mt-2 overflow-x-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:JSON.stringify(e.input??{},null,2)})]});if(i===`tool_result`){let t=typeof e.content==`string`?e.content:JSON.stringify(e.content,null,2);return(0,z.jsxs)(`div`,{className:`rounded-md border border-amber-500/20 bg-amber-500/5 px-3 py-2`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 text-left`,onClick:()=>r(e=>!e),children:[(0,z.jsxs)(`span`,{className:`font-mono text-xs text-amber-700 dark:text-amber-300`,children:[`tool_result `,String(e.toolUseId??``)]}),(0,z.jsx)(`span`,{className:`ml-auto text-muted-foreground`,children:n?(0,z.jsx)(Ma,{className:`h-3 w-3`}):(0,z.jsx)(Na,{className:`h-3 w-3`})})]}),n&&(0,z.jsx)(`pre`,{className:`mt-2 max-h-80 overflow-auto whitespace-pre-wrap break-words rounded bg-background/60 p-2 text-xs text-muted-foreground`,children:t})]})}return(0,z.jsxs)(`div`,{className:`rounded-md bg-muted px-3 py-2 text-sm text-muted-foreground`,children:[`[unknown block: `,i,`]`]})}function VI({summary:e}){return(0,z.jsxs)(`article`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:`outline`,children:e.date}),e.cronTitle&&(0,z.jsx)(X,{variant:`secondary`,children:e.cronTitle}),(0,z.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:QI(e.createdAt)})]}),(0,z.jsxs)(`div`,{className:`mt-3 grid grid-cols-3 gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(WI,{label:`before`,value:tL(e.contextTokensBefore)}),(0,z.jsx)(WI,{label:`after`,value:tL(e.contextTokensAfter)}),(0,z.jsx)(WI,{label:`hot tail`,value:String(e.hotTailCount)})]}),(0,z.jsx)(`pre`,{className:`mt-3 max-h-56 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-muted/25 p-3 text-xs leading-5 [overflow-wrap:anywhere]`,children:e.summary})]})}function HI({entry:e}){return(0,z.jsxs)(`article`,{className:`rounded-lg border bg-card p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(X,{variant:e.type===`memory`?`secondary`:`outline`,children:e.type}),(0,z.jsx)(X,{variant:`outline`,children:e.date}),e.score!==void 0&&(0,z.jsxs)(X,{variant:`outline`,children:[`score `,e.score]})]}),(0,z.jsx)(`h3`,{className:`mt-3 break-words text-sm font-semibold`,children:e.title}),(0,z.jsx)(`p`,{className:`mt-2 break-words text-sm leading-6 text-muted-foreground [overflow-wrap:anywhere]`,children:$I(e.summary,360)}),e.keywords.length>0&&(0,z.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-1`,children:e.keywords.slice(0,8).map(e=>(0,z.jsx)(X,{variant:`outline`,className:`text-[10px]`,children:e},e))})]})}function UI({title:e,meta:t,content:n}){return(0,z.jsxs)(`article`,{className:`rounded-lg border p-3`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-xs text-muted-foreground`,children:[(0,z.jsx)(`span`,{children:e}),(0,z.jsx)(`span`,{children:t})]}),(0,z.jsx)(`p`,{className:`mt-2 max-h-36 overflow-auto whitespace-pre-wrap break-words text-xs leading-5 [overflow-wrap:anywhere]`,children:n})]})}function WI({label:e,value:t}){return(0,z.jsxs)(`div`,{className:`rounded-md border bg-muted/20 px-2 py-1`,children:[(0,z.jsx)(`div`,{children:e}),(0,z.jsx)(`div`,{className:`font-mono text-foreground`,children:t})]})}function GI({rows:e}){return(0,z.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:e}).map((e,t)=>(0,z.jsx)(vy,{className:`h-20 w-full`},t))})}function KI({text:e}){return(0,z.jsx)(`div`,{className:`rounded-lg border border-dashed px-4 py-10 text-center text-sm text-muted-foreground`,children:e})}function qI(e){let t=[`Chat`,`Department`,`Kanban`,`User`],n=new Map;for(let t of e){let e=YI(t.userId),r=n.get(e)??[];r.push(t),n.set(e,r)}return t.map(e=>({kind:e,label:e,users:(n.get(e)??[]).sort((e,t)=>(t.lastActivityAt??0)-(e.lastActivityAt??0)||(t.memoryCount??0)-(e.memoryCount??0)||e.userId.localeCompare(t.userId))})).filter(e=>e.users.length>0)}function JI(e){return[e.userId,XI(e.userId,e),YI(e.userId),e.hasMemory?`has-memory`:``,e.hasDream?`has-dream`:``].filter(Boolean).join(` `)}function YI(e){return e.startsWith(`kanban:`)?`Kanban`:e.includes(`::`)?`Department`:e.startsWith(`oc_`)||e.startsWith(`chat_`)?`Chat`:`User`}function XI(e,t){return t?.displayName?t.displayName:e.startsWith(`kanban:`)?e.split(`:`).at(-1)||e:e.includes(`::`)&&e.split(`::`).at(-1)||e}function ZI(e){try{return new Date(e).toLocaleString(`zh-CN`,{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return String(e)}}function QI(e){try{let t=Date.now()-e;return t<6e4?`刚刚`:t<36e5?`${Math.max(1,Math.floor(t/6e4))} 分钟前`:t<864e5?`${Math.max(1,Math.floor(t/36e5))} 小时前`:ZI(e)}catch{return String(e)}}function $I(e,t){return e.length<=t?e:`${e.slice(0,t)}...`}function eL(e){return e.replace(/\r\n?/g,`
|