@wandox/sdk 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/{V2Workbench-B803T-A0.cjs → V2Workbench-D6dvEP4Z.cjs} +1 -1
  2. package/dist/{V2Workbench-Dxhnuos7.js → V2Workbench-G2bDh6BA.js} +2 -2
  3. package/dist/{arc-DZWpdrCr.cjs → arc-BkBZlP_A.cjs} +1 -1
  4. package/dist/{arc-CzjKVS-Y.js → arc-i7AiDgeR.js} +1 -1
  5. package/dist/{architectureDiagram-3BPJPVTR-IoEK2C1j.cjs → architectureDiagram-3BPJPVTR-f1EdL5hl.cjs} +1 -1
  6. package/dist/{architectureDiagram-3BPJPVTR-CDG9Lfs6.js → architectureDiagram-3BPJPVTR-uda1MMUR.js} +3 -3
  7. package/dist/{blockDiagram-GPEHLZMM-Ce5ebFwD.js → blockDiagram-GPEHLZMM-BGN6tHd3.js} +3 -3
  8. package/dist/{blockDiagram-GPEHLZMM-P9cplBoU.cjs → blockDiagram-GPEHLZMM-M2Tz0Pr4.cjs} +1 -1
  9. package/dist/{c4Diagram-AAUBKEIU-DIoeOmpB.cjs → c4Diagram-AAUBKEIU-CDNGauB_.cjs} +1 -1
  10. package/dist/{c4Diagram-AAUBKEIU-CszXNnI0.js → c4Diagram-AAUBKEIU-pZXW-ano.js} +2 -2
  11. package/dist/{channel-DsVTMW1j.cjs → channel-CCD4RO7P.cjs} +1 -1
  12. package/dist/{channel-B0w_UXZz.js → channel-DBxAHVU7.js} +1 -1
  13. package/dist/{chunk-2J33WTMH-BlnQOUrk.cjs → chunk-2J33WTMH-FKfDhde-.cjs} +1 -1
  14. package/dist/{chunk-2J33WTMH-DdoXV-Hq.js → chunk-2J33WTMH-bEvwef-g.js} +1 -1
  15. package/dist/{chunk-4BX2VUAB-Dr_8KEbo.js → chunk-4BX2VUAB-BJSUd0yQ.js} +1 -1
  16. package/dist/{chunk-4BX2VUAB-nHbZw1-I.cjs → chunk-4BX2VUAB-OCFpNzMC.cjs} +1 -1
  17. package/dist/{chunk-55IACEB6-BY2fRN2D.js → chunk-55IACEB6-BVmQ01HH.js} +1 -1
  18. package/dist/{chunk-55IACEB6-DPzAcaJz.cjs → chunk-55IACEB6-DVdg4xdH.cjs} +1 -1
  19. package/dist/{chunk-727SXJPM-Bql-9GWG.js → chunk-727SXJPM-DKdHyyLT.js} +5 -5
  20. package/dist/{chunk-727SXJPM-CI1HOIyF.cjs → chunk-727SXJPM-l9WBBjns.cjs} +1 -1
  21. package/dist/{chunk-AQP2D5EJ-CG0xWfgr.js → chunk-AQP2D5EJ-CULIggDf.js} +3 -3
  22. package/dist/{chunk-AQP2D5EJ-fJUxYaW4.cjs → chunk-AQP2D5EJ-yCXqd_6D.cjs} +1 -1
  23. package/dist/{chunk-FMBD7UC4-CxeLMe1E.cjs → chunk-FMBD7UC4-CakyvtQ4.cjs} +1 -1
  24. package/dist/{chunk-FMBD7UC4-Ccm_Vxk1.js → chunk-FMBD7UC4-DJXMQXo_.js} +1 -1
  25. package/dist/{chunk-ND2GUHAM-BdaPus5H.cjs → chunk-ND2GUHAM-DjThLqeS.cjs} +1 -1
  26. package/dist/{chunk-ND2GUHAM-C5-dNDDj.js → chunk-ND2GUHAM-xncvFFt-.js} +1 -1
  27. package/dist/{chunk-QZHKN3VN-DKj-shQr.cjs → chunk-QZHKN3VN-CUl6V9kU.cjs} +1 -1
  28. package/dist/{chunk-QZHKN3VN-CGLg5Pv-.js → chunk-QZHKN3VN-qmQr6bfu.js} +1 -1
  29. package/dist/{classDiagram-4FO5ZUOK-DzFntE76.js → classDiagram-4FO5ZUOK-BeAU2xMc.js} +2 -2
  30. package/dist/{classDiagram-4FO5ZUOK-CGl82tiq.cjs → classDiagram-4FO5ZUOK-UIEVIV5l.cjs} +1 -1
  31. package/dist/{classDiagram-v2-Q7XG4LA2-Dg4m15AJ.js → classDiagram-v2-Q7XG4LA2-DvnvOdmJ.js} +2 -2
  32. package/dist/{classDiagram-v2-Q7XG4LA2-CGl82tiq.cjs → classDiagram-v2-Q7XG4LA2-UIEVIV5l.cjs} +1 -1
  33. package/dist/{cose-bilkent-S5V4N54A-DL6PduWa.cjs → cose-bilkent-S5V4N54A-BY80nrOj.cjs} +1 -1
  34. package/dist/{cose-bilkent-S5V4N54A-DhCjrWET.js → cose-bilkent-S5V4N54A-BwahTgKE.js} +2 -2
  35. package/dist/{dagre-BM42HDAG-CdbyJv9S.cjs → dagre-BM42HDAG-C9oi-PBt.cjs} +1 -1
  36. package/dist/{dagre-BM42HDAG-BI9VGj_1.js → dagre-BM42HDAG-ClocbEgh.js} +1 -1
  37. package/dist/{diagram-2AECGRRQ-DDAbbbdD.js → diagram-2AECGRRQ-BV7RxnvR.js} +2 -2
  38. package/dist/{diagram-2AECGRRQ-B7DyYizl.cjs → diagram-2AECGRRQ-DQ4Fvuyc.cjs} +1 -1
  39. package/dist/{diagram-5GNKFQAL-aGsRPu1n.cjs → diagram-5GNKFQAL-B4jOsHQY.cjs} +1 -1
  40. package/dist/{diagram-5GNKFQAL-BlwsTnM_.js → diagram-5GNKFQAL-DziYh-9x.js} +3 -3
  41. package/dist/{diagram-KO2AKTUF-C7Sv2Ti0.cjs → diagram-KO2AKTUF-rSU6PJsU.cjs} +1 -1
  42. package/dist/{diagram-KO2AKTUF-CzqhWC8w.js → diagram-KO2AKTUF-tvSVJtdI.js} +2 -2
  43. package/dist/{diagram-LMA3HP47-BS-33kGv.cjs → diagram-LMA3HP47-HfVQo7SD.cjs} +1 -1
  44. package/dist/{diagram-LMA3HP47-D11Ex2Gr.js → diagram-LMA3HP47-wz_tErEB.js} +2 -2
  45. package/dist/{diagram-OG6HWLK6-CermthQU.cjs → diagram-OG6HWLK6-BgV34R4X.cjs} +1 -1
  46. package/dist/{diagram-OG6HWLK6-BHqIjVNy.js → diagram-OG6HWLK6-Cnm3b-Zp.js} +3 -3
  47. package/dist/{erDiagram-TEJ5UH35-B5Dvz1gu.cjs → erDiagram-TEJ5UH35-BQBbu7Zc.cjs} +1 -1
  48. package/dist/{erDiagram-TEJ5UH35-Dv1JqqQs.js → erDiagram-TEJ5UH35-YLNfMMf5.js} +4 -4
  49. package/dist/{flowDiagram-I6XJVG4X-IdYK547m.js → flowDiagram-I6XJVG4X-B1PRq33D.js} +6 -6
  50. package/dist/{flowDiagram-I6XJVG4X-DHnA83-t.cjs → flowDiagram-I6XJVG4X-Lwl0iikW.cjs} +1 -1
  51. package/dist/{ganttDiagram-6RSMTGT7-CSLYd-GM.js → ganttDiagram-6RSMTGT7-CHQJQnaq.js} +3 -3
  52. package/dist/{ganttDiagram-6RSMTGT7-BjTVsNUc.cjs → ganttDiagram-6RSMTGT7-YQBJ0jsG.cjs} +1 -1
  53. package/dist/{gitGraphDiagram-PVQCEYII-Ddn5O-Qi.cjs → gitGraphDiagram-PVQCEYII-CR7jDw3s.cjs} +1 -1
  54. package/dist/{gitGraphDiagram-PVQCEYII-C7v-uY1R.js → gitGraphDiagram-PVQCEYII-DR5W4qeJ.js} +3 -3
  55. package/dist/{index-i95HBdOo.js → index-C9mNWDpD.js} +38 -33
  56. package/dist/{index-DE2_ZKuJ.cjs → index-CPpPf-ol.cjs} +1 -1
  57. package/dist/{index-Cm_lZ39K.js → index-CWED9RHQ.js} +2 -2
  58. package/dist/{index-DKghVZBZ.cjs → index-DaQiMhn3.cjs} +8 -8
  59. package/dist/{infoDiagram-5YYISTIA-Dnni9Xbn.js → infoDiagram-5YYISTIA-CZpm-U4O.js} +1 -1
  60. package/dist/{infoDiagram-5YYISTIA-D5pOVO92.cjs → infoDiagram-5YYISTIA-DHKHjzGv.cjs} +1 -1
  61. package/dist/{ishikawaDiagram-YF4QCWOH-DQ1TBOnk.cjs → ishikawaDiagram-YF4QCWOH-CLUKpP_t.cjs} +1 -1
  62. package/dist/{ishikawaDiagram-YF4QCWOH-DVf7JHBV.js → ishikawaDiagram-YF4QCWOH-DvE5cc79.js} +1 -1
  63. package/dist/{journeyDiagram-JHISSGLW-AoXBUkza.cjs → journeyDiagram-JHISSGLW-BIced7Dp.cjs} +1 -1
  64. package/dist/{journeyDiagram-JHISSGLW-DvTekHiN.js → journeyDiagram-JHISSGLW-CV5x-gLE.js} +4 -4
  65. package/dist/{kanban-definition-UN3LZRKU-CcdLQ0Ea.cjs → kanban-definition-UN3LZRKU-BI_3FmDm.cjs} +1 -1
  66. package/dist/{kanban-definition-UN3LZRKU-B8C4nUPT.js → kanban-definition-UN3LZRKU-bmpBMFyw.js} +2 -2
  67. package/dist/{linear-BbdLjaAh.js → linear-0QuZO-z3.js} +1 -1
  68. package/dist/{linear-Cu-3fG7y.cjs → linear-DGmDFaZ5.cjs} +1 -1
  69. package/dist/{mermaid.core-Dplc1PaT.js → mermaid.core-BSzVj9oo.js} +35 -35
  70. package/dist/{mermaid.core-Ci4V-xAq.cjs → mermaid.core-ClLxugfZ.cjs} +3 -3
  71. package/dist/{mindmap-definition-RKZ34NQL-DZm71UOh.js → mindmap-definition-RKZ34NQL-Dr_NxcVN.js} +3 -3
  72. package/dist/{mindmap-definition-RKZ34NQL-BFDLgx04.cjs → mindmap-definition-RKZ34NQL-y1Fe8hve.cjs} +1 -1
  73. package/dist/{pieDiagram-4H26LBE5-CMsQKiSV.js → pieDiagram-4H26LBE5-C_4xfhkq.js} +3 -3
  74. package/dist/{pieDiagram-4H26LBE5-BHInYzXx.cjs → pieDiagram-4H26LBE5-wF3h_TDN.cjs} +1 -1
  75. package/dist/{quadrantDiagram-W4KKPZXB-D1C-eWjR.js → quadrantDiagram-W4KKPZXB-B-8sqw4C.js} +2 -2
  76. package/dist/{quadrantDiagram-W4KKPZXB-Cp0gi-Ra.cjs → quadrantDiagram-W4KKPZXB-DYJ7U4Ro.cjs} +1 -1
  77. package/dist/{requirementDiagram-4Y6WPE33-COm3Zo_9.js → requirementDiagram-4Y6WPE33-DH6qHAb4.js} +3 -3
  78. package/dist/{requirementDiagram-4Y6WPE33-CMtkawJ7.cjs → requirementDiagram-4Y6WPE33-DqEyiRAP.cjs} +1 -1
  79. package/dist/{sankeyDiagram-5OEKKPKP-2xbvlXiv.cjs → sankeyDiagram-5OEKKPKP-D5D7BbtQ.cjs} +1 -1
  80. package/dist/{sankeyDiagram-5OEKKPKP-CL1E-wie.js → sankeyDiagram-5OEKKPKP-edGQCCi6.js} +1 -1
  81. package/dist/{sequenceDiagram-3UESZ5HK-CzPQ1LAE.js → sequenceDiagram-3UESZ5HK-BC7KU3NR.js} +3 -3
  82. package/dist/{sequenceDiagram-3UESZ5HK-B15m72Yf.cjs → sequenceDiagram-3UESZ5HK-eODiBTW9.cjs} +1 -1
  83. package/dist/{stateDiagram-AJRCARHV-CSWLx8rf.cjs → stateDiagram-AJRCARHV-B3kmWUQo.cjs} +1 -1
  84. package/dist/{stateDiagram-AJRCARHV-DGs2lc5C.js → stateDiagram-AJRCARHV-DQ8PstOa.js} +2 -2
  85. package/dist/{stateDiagram-v2-BHNVJYJU-BmRYI1X7.js → stateDiagram-v2-BHNVJYJU-CK2n-1wG.js} +2 -2
  86. package/dist/{stateDiagram-v2-BHNVJYJU-BSYQG1VB.cjs → stateDiagram-v2-BHNVJYJU-pj170Ut1.cjs} +1 -1
  87. package/dist/{timeline-definition-PNZ67QCA-CY_1x8d0.js → timeline-definition-PNZ67QCA-69y0BMrg.js} +2 -2
  88. package/dist/{timeline-definition-PNZ67QCA-DPR3IksI.cjs → timeline-definition-PNZ67QCA-DeHnz_Tu.cjs} +1 -1
  89. package/dist/{vennDiagram-CIIHVFJN-BVJaxHsd.js → vennDiagram-CIIHVFJN-B766yr-s.js} +1 -1
  90. package/dist/{vennDiagram-CIIHVFJN-CMqODyZO.cjs → vennDiagram-CIIHVFJN-BjLD-Ngt.cjs} +1 -1
  91. package/dist/wandox.cjs +1 -1
  92. package/dist/wandox.css +1 -1
  93. package/dist/wandox.js +1 -1
  94. package/dist/wandox.umd.js +2 -2
  95. package/dist/{wardleyDiagram-YWT4CUSO-ZYSabK_4.js → wardleyDiagram-YWT4CUSO-DIIBTggN.js} +2 -2
  96. package/dist/{wardleyDiagram-YWT4CUSO-CWdCJvtN.cjs → wardleyDiagram-YWT4CUSO-GHA7Jg-F.cjs} +1 -1
  97. package/dist/{xychartDiagram-2RQKCTM6-CQEPx5yZ.js → xychartDiagram-2RQKCTM6-BGmZSuqu.js} +2 -2
  98. package/dist/{xychartDiagram-2RQKCTM6-CCrA-DSC.cjs → xychartDiagram-2RQKCTM6-Cgd1y87s.cjs} +1 -1
  99. package/package.json +1 -1
@@ -712,7 +712,7 @@ ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.pus
712
712
  `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:f,table:s,tableCell:l,tableRow:o}};function s(p,m,g,v){return u(d(p,g,v),p.align)}function o(p,m,g,v){const y=h(p,g,v),A=u([y]);return A.slice(0,A.indexOf(`
713
713
  `))}function l(p,m,g,v){const y=g.enter("tableCell"),A=g.enter("phrasing"),b=g.containerPhrasing(p,{...v,before:a,after:a});return A(),y(),b}function u(p,m){return Dsn(p,{align:m,alignDelimiters:n,padding:r,stringLength:i})}function d(p,m,g){const v=p.children;let y=-1;const A=[],b=m.enter("table");for(;++y<v.length;)A[y]=h(v[y],m,g);return b(),A}function h(p,m,g){const v=p.children;let y=-1;const A=[],b=m.enter("tableRow");for(;++y<v.length;)A[y]=l(v[y],p,m,g);return b(),A}function f(p,m,g){let v=Yyt.inlineCode(p,m,g);return g.stack.includes("tableCell")&&(v=v.replace(/\|/g,"\\$&")),v}}function Ion(){return{exit:{taskListCheckValueChecked:Wyt,taskListCheckValueUnchecked:Wyt,paragraph:Son}}}function Con(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:won}}}function Wyt(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function Son(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const r=this.stack[this.stack.length-1];r.type;const n=r.children[0];if(n&&n.type==="text"){const i=t.children;let a=-1,s;for(;++a<i.length;){const o=i[a];if(o.type==="paragraph"){s=o;break}}s===r&&(n.value=n.value.slice(1),n.value.length===0?r.children.shift():r.position&&n.position&&typeof n.position.start.offset=="number"&&(n.position.start.column++,n.position.start.offset++,r.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function won(e,t,r,n){const i=e.children[0],a=typeof e.checked=="boolean"&&i&&i.type==="paragraph",s="["+(e.checked?"x":" ")+"] ",o=r.createTracker(n);a&&o.move(s);let l=Yyt.listItem(e,t,r,{...n,...o.current()});return a&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),l;function u(d){return d+s}}function Ton(){return[asn(),wsn(),Msn(),gon(),Ion()]}function Ron(e){return{extensions:[ssn(),Tsn(e),Nsn(),Eon(e),Con()]}}const kon={tokenize:Pon,partial:!0},Uyt={tokenize:Don,partial:!0},Zyt={tokenize:Lon,partial:!0},Hyt={tokenize:Von,partial:!0},Mon={tokenize:Fon,partial:!0},Kyt={name:"wwwAutolink",tokenize:Oon,previous:Xyt},Jyt={name:"protocolAutolink",tokenize:Bon,previous:_yt},i1={name:"emailAutolink",tokenize:zon,previous:$yt},Pv={};function Non(){return{text:Pv}}let xS=48;for(;xS<123;)Pv[xS]=i1,xS++,xS===58?xS=65:xS===91&&(xS=97);Pv[43]=i1,Pv[45]=i1,Pv[46]=i1,Pv[95]=i1,Pv[72]=[i1,Jyt],Pv[104]=[i1,Jyt],Pv[87]=[i1,Kyt],Pv[119]=[i1,Kyt];function zon(e,t,r){const n=this;let i,a;return s;function s(h){return!awe(h)||!$yt.call(n,n.previous)||swe(n.events)?r(h):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(h))}function o(h){return awe(h)?(e.consume(h),o):h===64?(e.consume(h),l):r(h)}function l(h){return h===46?e.check(Mon,d,u)(h):h===45||h===95||du(h)?(a=!0,e.consume(h),l):d(h)}function u(h){return e.consume(h),i=!0,l}function d(h){return a&&i&&_u(n.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(h)):r(h)}}function Oon(e,t,r){const n=this;return i;function i(s){return s!==87&&s!==119||!Xyt.call(n,n.previous)||swe(n.events)?r(s):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(kon,e.attempt(Uyt,e.attempt(Zyt,a),r),r)(s))}function a(s){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(s)}}function Bon(e,t,r){const n=this;let i="",a=!1;return s;function s(h){return(h===72||h===104)&&_yt.call(n,n.previous)&&!swe(n.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(h),e.consume(h),o):r(h)}function o(h){if(_u(h)&&i.length<5)return i+=String.fromCodePoint(h),e.consume(h),o;if(h===58){const f=i.toLowerCase();if(f==="http"||f==="https")return e.consume(h),l}return r(h)}function l(h){return h===47?(e.consume(h),a?u:(a=!0,l)):r(h)}function u(h){return h===null||b$(h)||ja(h)||AS(h)||A$(h)?r(h):e.attempt(Uyt,e.attempt(Zyt,d),r)(h)}function d(h){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(h)}}function Pon(e,t,r){let n=0;return i;function i(s){return(s===87||s===119)&&n<3?(n++,e.consume(s),i):s===46&&n===3?(e.consume(s),a):r(s)}function a(s){return s===null?r(s):t(s)}}function Don(e,t,r){let n,i,a;return s;function s(u){return u===46||u===95?e.check(Hyt,l,o)(u):u===null||ja(u)||AS(u)||u!==45&&A$(u)?l(u):(a=!0,e.consume(u),s)}function o(u){return u===95?n=!0:(i=n,n=void 0),e.consume(u),s}function l(u){return i||n||!a?r(u):t(u)}}function Lon(e,t){let r=0,n=0;return i;function i(s){return s===40?(r++,e.consume(s),i):s===41&&n<r?a(s):s===33||s===34||s===38||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===60||s===63||s===93||s===95||s===126?e.check(Hyt,t,a)(s):s===null||ja(s)||AS(s)?t(s):(e.consume(s),i)}function a(s){return s===41&&n++,e.consume(s),i}}function Von(e,t,r){return n;function n(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),n):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||ja(o)||AS(o)?t(o):r(o)}function i(o){return o===null||o===40||o===91||ja(o)||AS(o)?t(o):n(o)}function a(o){return _u(o)?s(o):r(o)}function s(o){return o===59?(e.consume(o),n):_u(o)?(e.consume(o),s):r(o)}}function Fon(e,t,r){return n;function n(a){return e.consume(a),i}function i(a){return du(a)?r(a):t(a)}}function Xyt(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||ja(e)}function _yt(e){return!_u(e)}function $yt(e){return!(e===47||awe(e))}function awe(e){return e===43||e===45||e===46||e===95||du(e)}function swe(e){let t=e.length,r=!1;for(;t--;){const n=e[t][1];if((n.type==="labelLink"||n.type==="labelImage")&&!n._balanced){r=!0;break}if(n._gfmAutolinkLiteralWalkedInto){r=!1;break}}return e.length>0&&!r&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const jon={tokenize:Hon,partial:!0};function qon(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Won,continuation:{tokenize:Uon},exit:Zon}},text:{91:{name:"gfmFootnoteCall",tokenize:Gon},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Qon,resolveTo:Yon}}}}function Qon(e,t,r){const n=this;let i=n.events.length;const a=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let s;for(;i--;){const l=n.events[i][1];if(l.type==="labelImage"){s=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return o;function o(l){if(!s||!s._balanced)return r(l);const u=qm(n.sliceSerialize({start:s.end,end:n.now()}));return u.codePointAt(0)!==94||!a.includes(u.slice(1))?r(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function Yon(e,t){let r=e.length;for(;r--;)if(e[r][1].type==="labelImage"&&e[r][0]==="enter"){e[r][1];break}e[r+1][1].type="data",e[r+3][1].type="gfmFootnoteCallLabelMarker";const n={type:"gfmFootnoteCall",start:Object.assign({},e[r+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[r+3][1].end),end:Object.assign({},e[r+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},o=[e[r+1],e[r+2],["enter",n,t],e[r+3],e[r+4],["enter",i,t],["exit",i,t],["enter",a,t],["enter",s,t],["exit",s,t],["exit",a,t],e[e.length-2],e[e.length-1],["exit",n,t]];return e.splice(r,e.length-r+1,...o),e}function Gon(e,t,r){const n=this,i=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let a=0,s;return o;function o(h){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),l}function l(h){return h!==94?r(h):(e.enter("gfmFootnoteCallMarker"),e.consume(h),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(h){if(a>999||h===93&&!s||h===null||h===91||ja(h))return r(h);if(h===93){e.exit("chunkString");const f=e.exit("gfmFootnoteCallString");return i.includes(qm(n.sliceSerialize(f)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):r(h)}return ja(h)||(s=!0),a++,e.consume(h),h===92?d:u}function d(h){return h===91||h===92||h===93?(e.consume(h),a++,u):u(h)}}function Won(e,t,r){const n=this,i=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let a,s=0,o;return l;function l(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):r(m)}function d(m){if(s>999||m===93&&!o||m===null||m===91||ja(m))return r(m);if(m===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return a=qm(n.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),f}return ja(m)||(o=!0),s++,e.consume(m),m===92?h:d}function h(m){return m===91||m===92||m===93?(e.consume(m),s++,d):d(m)}function f(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(a)||i.push(a),qi(e,p,"gfmFootnoteDefinitionWhitespace")):r(m)}function p(m){return t(m)}}function Uon(e,t,r){return e.check(EV,t,e.attempt(jon,t,r))}function Zon(e){e.exit("gfmFootnoteDefinition")}function Hon(e,t,r){const n=this;return qi(e,i,"gfmFootnoteDefinitionIndent",5);function i(a){const s=n.events[n.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(a):r(a)}}function Kon(e){let r=(e||{}).singleTilde;const n={name:"strikethrough",tokenize:a,resolveAll:i};return r==null&&(r=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function i(s,o){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},h={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",d,o],["enter",s[u][1],o],["exit",s[u][1],o],["enter",h,o]],p=o.parser.constructs.insideSpan.null;p&&tf(f,f.length,0,x$(p,s.slice(u+1,l),o)),tf(f,f.length,0,[["exit",h,o],["enter",s[l][1],o],["exit",s[l][1],o],["exit",d,o]]),tf(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type="data");return s}function a(s,o,l){const u=this.previous,d=this.events;let h=0;return f;function f(m){return u===126&&d[d.length-1][1].type!=="characterEscape"?l(m):(s.enter("strikethroughSequenceTemporary"),p(m))}function p(m){const g=m7(u);if(m===126)return h>1?l(m):(s.consume(m),h++,p);if(h<2&&!r)return l(m);const v=s.exit("strikethroughSequenceTemporary"),y=m7(m);return v._open=!y||y===2&&!!g,v._close=!g||g===2&&!!y,o(m)}}}class Jon{constructor(){this.map=[]}add(t,r,n){Xon(this,t,r,n)}consume(t){if(this.map.sort(function(a,s){return a[0]-s[0]}),this.map.length===0)return;let r=this.map.length;const n=[];for(;r>0;)r-=1,n.push(t.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),t.length=this.map[r][0];n.push(t.slice()),t.length=0;let i=n.pop();for(;i;){for(const a of i)t.push(a);i=n.pop()}this.map.length=0}}function Xon(e,t,r,n){let i=0;if(!(r===0&&n.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=r,e.map[i][2].push(...n);return}i+=1}e.map.push([t,r,n])}}function _on(e,t){let r=!1;const n=[];for(;t<e.length;){const i=e[t];if(r){if(i[0]==="enter")i[1].type==="tableContent"&&n.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const a=n.length-1;n[a]=n[a]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(r=!0);t+=1}return n}function $on(){return{flow:{null:{name:"table",tokenize:eln,resolveAll:tln}}}}function eln(e,t,r){const n=this;let i=0,a=0,s;return o;function o(M){let k=n.events.length-1;for(;k>-1;){const N=n.events[k][1].type;if(N==="lineEnding"||N==="linePrefix")k--;else break}const z=k>-1?n.events[k][1].type:null,O=z==="tableHead"||z==="tableRow"?w:l;return O===w&&n.parser.lazy[n.now().line]?r(M):O(M)}function l(M){return e.enter("tableHead"),e.enter("tableRow"),u(M)}function u(M){return M===124||(s=!0,a+=1),d(M)}function d(M){return M===null?r(M):En(M)?a>1?(a=0,n.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),p):r(M):Mi(M)?qi(e,d,"whitespace")(M):(a+=1,s&&(s=!1,i+=1),M===124?(e.enter("tableCellDivider"),e.consume(M),e.exit("tableCellDivider"),s=!0,d):(e.enter("data"),h(M)))}function h(M){return M===null||M===124||ja(M)?(e.exit("data"),d(M)):(e.consume(M),M===92?f:h)}function f(M){return M===92||M===124?(e.consume(M),h):h(M)}function p(M){return n.interrupt=!1,n.parser.lazy[n.now().line]?r(M):(e.enter("tableDelimiterRow"),s=!1,Mi(M)?qi(e,m,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):m(M))}function m(M){return M===45||M===58?v(M):M===124?(s=!0,e.enter("tableCellDivider"),e.consume(M),e.exit("tableCellDivider"),g):C(M)}function g(M){return Mi(M)?qi(e,v,"whitespace")(M):v(M)}function v(M){return M===58?(a+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(M),e.exit("tableDelimiterMarker"),y):M===45?(a+=1,y(M)):M===null||En(M)?x(M):C(M)}function y(M){return M===45?(e.enter("tableDelimiterFiller"),A(M)):C(M)}function A(M){return M===45?(e.consume(M),A):M===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(M),e.exit("tableDelimiterMarker"),b):(e.exit("tableDelimiterFiller"),b(M))}function b(M){return Mi(M)?qi(e,x,"whitespace")(M):x(M)}function x(M){return M===124?m(M):M===null||En(M)?!s||i!==a?C(M):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(M)):C(M)}function C(M){return r(M)}function w(M){return e.enter("tableRow"),S(M)}function S(M){return M===124?(e.enter("tableCellDivider"),e.consume(M),e.exit("tableCellDivider"),S):M===null||En(M)?(e.exit("tableRow"),t(M)):Mi(M)?qi(e,S,"whitespace")(M):(e.enter("data"),T(M))}function T(M){return M===null||M===124||ja(M)?(e.exit("data"),S(M)):(e.consume(M),M===92?R:T)}function R(M){return M===92||M===124?(e.consume(M),T):T(M)}}function tln(e,t){let r=-1,n=!0,i=0,a=[0,0,0,0],s=[0,0,0,0],o=!1,l=0,u,d,h;const f=new Jon;for(;++r<e.length;){const p=e[r],m=p[1];p[0]==="enter"?m.type==="tableHead"?(o=!1,l!==0&&(e1t(f,t,l,u,d),d=void 0,l=0),u={type:"table",start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(r,0,[["enter",u,t]])):m.type==="tableRow"||m.type==="tableDelimiterRow"?(n=!0,h=void 0,a=[0,0,0,0],s=[0,r+1,0,0],o&&(o=!1,d={type:"tableBody",start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(r,0,[["enter",d,t]])),i=m.type==="tableDelimiterRow"?2:d?3:1):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")?(n=!1,s[2]===0&&(a[1]!==0&&(s[0]=s[1],h=O$(f,t,a,i,void 0,h),a=[0,0,0,0]),s[2]=r)):m.type==="tableCellDivider"&&(n?n=!1:(a[1]!==0&&(s[0]=s[1],h=O$(f,t,a,i,void 0,h)),a=s,s=[a[1],r,0,0])):m.type==="tableHead"?(o=!0,l=r):m.type==="tableRow"||m.type==="tableDelimiterRow"?(l=r,a[1]!==0?(s[0]=s[1],h=O$(f,t,a,i,r,h)):s[1]!==0&&(h=O$(f,t,s,i,r,h)),i=0):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")&&(s[3]=r)}for(l!==0&&e1t(f,t,l,u,d),f.consume(t.events),r=-1;++r<t.events.length;){const p=t.events[r];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=_on(t.events,r))}return e}function O$(e,t,r,n,i,a){const s=n===1?"tableHeader":n===2?"tableDelimiter":"tableData",o="tableContent";r[0]!==0&&(a.end=Object.assign({},v7(t.events,r[0])),e.add(r[0],0,[["exit",a,t]]));const l=v7(t.events,r[1]);if(a={type:s,start:Object.assign({},l),end:Object.assign({},l)},e.add(r[1],0,[["enter",a,t]]),r[2]!==0){const u=v7(t.events,r[2]),d=v7(t.events,r[3]),h={type:o,start:Object.assign({},u),end:Object.assign({},d)};if(e.add(r[2],0,[["enter",h,t]]),n!==2){const f=t.events[r[2]],p=t.events[r[3]];if(f[1].end=Object.assign({},p[1].end),f[1].type="chunkText",f[1].contentType="text",r[3]>r[2]+1){const m=r[2]+1,g=r[3]-r[2]-1;e.add(m,g,[])}}e.add(r[3]+1,0,[["exit",h,t]])}return i!==void 0&&(a.end=Object.assign({},v7(t.events,i)),e.add(i,0,[["exit",a,t]]),a=void 0),a}function e1t(e,t,r,n,i){const a=[],s=v7(t.events,r);i&&(i.end=Object.assign({},s),a.push(["exit",i,t])),n.end=Object.assign({},s),a.push(["exit",n,t]),e.add(r+1,0,a)}function v7(e,t){const r=e[t],n=r[0]==="enter"?"start":"end";return r[1][n]}const rln={name:"tasklistCheck",tokenize:iln};function nln(){return{text:{91:rln}}}function iln(e,t,r){const n=this;return i;function i(l){return n.previous!==null||!n._gfmTasklistFirstContentOfListItem?r(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),a)}function a(l){return ja(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),s):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),s):r(l)}function s(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):r(l)}function o(l){return En(l)?t(l):Mi(l)?e.check({tokenize:aln},t,r)(l):r(l)}}function aln(e,t,r){return qi(e,n,"whitespace");function n(i){return i===null?r(i):t(i)}}function sln(e){return k0t([Non(),qon(),Kon(e),$on(),nln()])}const oln={};function Mx(e){const t=this,r=e||oln,n=t.data(),i=n.micromarkExtensions||(n.micromarkExtensions=[]),a=n.fromMarkdownExtensions||(n.fromMarkdownExtensions=[]),s=n.toMarkdownExtensions||(n.toMarkdownExtensions=[]);i.push(sln(r)),a.push(Ton()),s.push(Ron(r))}let B$,t1t=Promise.resolve();const ES=new Map,lln=50,cln={startOnLoad:!1,look:"handDrawn",securityLevel:"strict",fontFamily:"monospace",suppressErrorRendering:!0};function uln(){return B$||(B$=Promise.resolve().then(()=>q4n).then(e=>e.default).catch(e=>{throw B$=void 0,e})),B$}function dln(e,t){if(ES.delete(e),ES.set(e,t),ES.size>lln){const r=ES.keys().next().value;r!==void 0&&ES.delete(r)}}function r1t(e,t){const r=String(t);return/^(?:height|width|x|y|cx|cy|r|rx|ry)$/i.test(e)&&/^(?:NaN|[-+]?Infinity)$/i.test(r.trim())?"0":r}async function hln(e,t,r){const n=SVGElement.prototype.setAttribute,i=SVGElement.prototype.setAttributeNS;SVGElement.prototype.setAttribute=function(a,s){return n.call(this,a,r1t(a,s))},SVGElement.prototype.setAttributeNS=function(a,s,o){return i.call(this,a,s,r1t(s,o))};try{const a=await e.render(t,r);return vln(a.svg)}finally{SVGElement.prototype.setAttribute=n,SVGElement.prototype.setAttributeNS=i}}function fln(e,t){const r=ES.get(e);if(r)return Promise.resolve(r);const n=t1t.then(async()=>{if(t())return null;const i=ES.get(e);if(i)return i;const a=await uln();if(t())return null;a.initialize(cln);const s=`mermaid-${Date.now()}-${Math.random().toString(36).slice(2,11)}`,o=await hln(a,s,e);return dln(e,o),o});return t1t=n.then(()=>{},()=>{}),n}const n1t=[/graph\s*(TD|TB|BT|RL|LR)/i,/flowchart\s*(TD|TB|BT|RL|LR)/i,/sequenceDiagram/i,/classDiagram/i,/stateDiagram/i,/erDiagram/i,/\bgantt\b/i,/\bpie\b/i,/\bjourney\b/i,/gitGraph/i,/xychart(?:-beta)?/i,/\bquadrantChart\b/i],owe=[/^graph\s*(TD|TB|BT|RL|LR)/i,/^flowchart\s*(TD|TB|BT|RL|LR)/i,/^sequenceDiagram/i,/^classDiagram/i,/^stateDiagram/i,/^erDiagram/i,/^gantt/i,/^pie/i,/^journey/i,/^gitGraph/i,/^xychart(?:-beta)?/i,/^quadrantChart/i];function pln(e){return Array.from(e.matchAll(/```mermaid[^\r\n]*\r?\n([\s\S]*?)```/gi),t=>t[1].trim())}const mln=[/^#{1,6}\s/,/^\|.*\|/,/^[-*+]\s/,/^\d+\.\s/,/^>\s/,/^!\[/,/^\[.*\]\(.*\)/,/^<button\b/i,/^<div\b/i,/^<table\b/i];function i1t(e,t){let r=t,n=!1;for(let i=t+1;i<e.length;i++){const a=e[i],s=a.trim();if(s===""){n=!0;continue}if(mln.some(o=>o.test(s))||n&&!a.startsWith(" ")&&!a.startsWith(" ")&&!(/^(subgraph|end|style|classDef|click|linkStyle|class\s|section|title|dateFormat|axisFormat|x-axis|y-axis|line|bar|participant|actor|Note|loop|alt|opt|par|rect|activate|deactivate|%%)/i.test(s)||/-->|==>|-.->|-->/i.test(s)||owe.some(l=>l.test(s))))break;r=i,n=!1}return r}function gln(e){var p;const t=e.split(`
714
714
  `),r=t.findIndex(m=>/^xychart(?:-beta)?\b/i.test(m.trim()));if(r===-1)return e;let n=-1,i=null,a=null,s="";const o=(p=t.find(m=>/^\s*x-axis\b[^\[]*\[/i.test(m)))==null?void 0:p.match(/^\s*x-axis\b[^\[]*\[([^\]]*)\]/i),l=(o==null?void 0:o[1].trim())??"",u=o?l?l.split(",").length:0:null,d=[],h=/^(\s*)(bar|line)\b([\s\S]*?)\[([^\]]*)\](\s*)$/i;for(let m=0;m<t.length;m++){const g=t[m],v=g.match(/^\s*y-axis\b(.*)$/i);if(v){n=m;const A=v[1],b=A.match(/"([^"]*)"|\[([^\]]*)\]/);s=b?b[1]??b[2]??"":"";const x=A.match(/([-\d.]+)\s*-->\s*([-\d.]+)/);x&&(i=Number.parseFloat(x[1]),a=Number.parseFloat(x[2]));continue}const y=g.match(h);if(y){const A=y[4].split(",").map(b=>{const x=Number(b.trim());return Number.isFinite(x)?(d.push(x),b.trim()):"0"});if(u!==null){for(;A.length<u;)A.push("0");A.length>u&&(A.length=u)}t[m]=`${y[1]}${y[2]}${y[3]}[${A.join(", ")}]${y[5]}`}}if(n===-1||i===null||a===null||!Number.isFinite(i)||!Number.isFinite(a)||i>=a){const m=d.length>0?Math.min(...d):0,g=d.length>0?Math.max(...d):1,v=g-m,y=v===0?1:v*.1,A=Math.floor(m-y),b=Math.ceil(g+y),C=` y-axis${s?` "${s}"`:""} ${A} --> ${b}`;if(n!==-1)t[n]=C;else{const w=t.findIndex((T,R)=>R>r&&/^\s*x-axis\b/i.test(T)),S=w===-1?r+1:w+1;t.splice(S,0,C)}}return t.join(`
715
- `)}function vln(e){if(!e||e.indexOf("NaN")===-1&&e.indexOf("Infinity")===-1)return e;let t=e.replace(/="((?:NaN|-?Infinity)[a-z%]*)"/gi,'="0"');return t=t.replace(/\btransform="[^"]*"/gi,r=>r.replace(/(NaN|-?Infinity)/gi,"0")),t}function Nx({chart:e,streaming:t=!1,ready:r=!0}){const n=I.useRef(null),i=I.useRef(null),[a,s]=I.useState("empty"),o=t&&!r;return I.useEffect(()=>{const l=n.current,u=i.current;if(!l||!u)return;let d=!1;const h=e.trim();if(!h)return u.replaceChildren(),s("empty"),()=>{d=!0};if(o)return s("pending"),()=>{d=!0};u.replaceChildren(),s("loading");const f=async()=>{try{const v=gln(h),y=await fln(v,()=>d);!d&&i.current===u&&(y?(u.innerHTML=y,s("rendered")):(u.replaceChildren(),s("error")))}catch{!d&&i.current===u&&(u.replaceChildren(),s("error"))}};let p,m;const g=()=>{p=window.setTimeout(()=>void f(),180)};return"IntersectionObserver"in window?(m=new IntersectionObserver(v=>{v.some(y=>y.isIntersecting)&&(m==null||m.disconnect(),g())},{rootMargin:"360px 0px"}),m.observe(l)):g(),()=>{d=!0,m==null||m.disconnect(),p!==void 0&&window.clearTimeout(p)}},[e,o]),E.jsxs("div",{ref:n,className:"wandox-mermaid-chart","aria-busy":a==="loading",children:[a==="loading"&&E.jsxs("output",{className:"wandox-mermaid-loading",children:[E.jsx("span",{className:"wandox-mermaid-loading__spinner","aria-hidden":"true"}),E.jsx("span",{className:"wandox-mermaid-loading__text",children:"加载中"})]}),a==="pending"&&E.jsx("output",{className:"wandox-mermaid-pending","aria-live":"polite",children:"图表生成中..."}),a==="error"&&E.jsx("div",{className:"wandox-mermaid-error",role:"alert",children:E.jsx("span",{children:"图表暂时无法渲染"})}),E.jsx("div",{ref:i,className:"wandox-mermaid-content",hidden:a!=="rendered"})]})}const a1t=I.createContext({});function yln(e){const t=[],r=/<button[^>]*>([^<]*)<\/button>/gi,n=/data-id=["']([^"']*)["']/i,i=/data-playbook-id=["']([^"']*)["']/i,a=/data-playbook-name=["']([^"']*)["']/i,s=/data-playbook-params='([^']*)'/i,o=/data-input-fields='([^']*)'/i,l=[],u=/```[\s\S]*?```|`[^`]+`/g;let d=u.exec(e);for(;d!==null;)l.push({start:d.index,end:d.index+d[0].length}),d=u.exec(e);const h=g=>l.some(v=>g>=v.start&&g<v.end);let f=0;const p=[];let m=r.exec(e);for(;m!==null;){if(h(m.index)){m=r.exec(e);continue}const g=m[0],v=m[1],y=n.exec(g),A=i.exec(g),b=a.exec(g),x=s.exec(g),C=o.exec(g);if((y||A)&&b){let w={};if(x)try{w=JSON.parse(x[1].replace(/&quot;/g,'"').replace(/&#39;/g,"'"))}catch{}let S=[];if(C)try{S=JSON.parse(C[1].replace(/&quot;/g,'"').replace(/&#39;/g,"'"))}catch{}p.push({index:m.index,length:g.length,info:{id:y==null?void 0:y[1],playbookId:A==null?void 0:A[1],playbookName:b[1],playbookParams:w,buttonText:v||b[1],inputFields:S}})}m=r.exec(e)}p.sort((g,v)=>g.index-v.index);for(const g of p)g.index>f&&t.push({text:e.slice(f,g.index),buttons:[]}),t.push({text:"",buttons:[g.info]}),f=g.index+g.length;return f<e.length&&t.push({text:e.slice(f),buttons:[]}),t.length>0?t:[{text:e,buttons:[]}]}function bln(e,t){if(e[t]!=="{")return-1;let r=0,n=!1,i=!1;for(let a=t;a<e.length;a+=1){const s=e[a];if(n){i?i=!1:s==="\\"?i=!0:s==='"'&&(n=!1);continue}if(s==='"')n=!0;else if(s==="{")r+=1;else if(s==="}"&&(r-=1,r===0))return a+1}return-1}function Aln(e){const t=[],r=[],n=/```[\s\S]*?```|`[^`]+`/g;let i=n.exec(e);for(;i!==null;)r.push({start:i.index,end:i.index+i[0].length}),i=n.exec(e);const a=d=>r.some(h=>d>=h.start&&d<h.end);let s=0;const o=[],l=/\[\[([^|\[\]]+)\|([^|\[\]]+)\|([^|\[\]]+)\|/g;let u=l.exec(e);for(;u!==null;){if(a(u.index)){u=l.exec(e);continue}const d=l.lastIndex,h=bln(e,d);if(h===-1||e.slice(h,h+2)!=="]]"){u=l.exec(e);continue}const f=e.slice(u.index,h+2),p=u[1],m=u[2],g=u[3],v=e.slice(d,h);let y={};try{y=JSON.parse(v)}catch{}o.push({index:u.index,length:f.length,info:{id:m,playbookId:void 0,playbookName:p,playbookParams:y,buttonText:p,inputFields:[],playbookType:g}}),u=l.exec(e)}o.sort((d,h)=>d.index-h.index),s=0;for(const d of o)d.index>s&&t.push({text:e.slice(s,d.index),buttons:[]}),t.push({text:"",buttons:[d.info]}),s=d.index+d.length;return s<e.length&&t.push({text:e.slice(s),buttons:[]}),t.length>0?t:[{text:e,buttons:[]}]}function xln(e){if(e){if(typeof e=="object"&&"data"in e){const t=e.data;if(t&&typeof t=="object")return t}return e}}function s1t(e){return(Array.isArray(e)?e.map(r=>[void 0,r]):e&&typeof e=="object"?Object.entries(e):[]).flatMap(([r,n])=>{if(!n||typeof n!="object")return[];const i=n,a=String(i.name||r||"").trim();return a?[{...i,name:a,label:String(i.label||a),type:String(i.type||"string"),required:i.required===!0}]:[]})}function Eln(e,t){const r=new Map(t.filter(n=>n.default!==void 0&&n.default!=="").map(n=>[n.name,n.default]));return r.size===0?e:e.map(n=>n.default!==void 0&&n.default!==""||!r.has(n.name)?n:{...n,default:r.get(n.name)})}function Iln(e){if(!e)return[];const t=e.content||{},r=s1t(e.input_fields??t.input_fields),n=t.yaml_content||"";if(n)try{const i=e8.parse(n),a=s1t(i==null?void 0:i.params);if(a.length>0)return Eln(a,r)}catch{}return r}function o1t({info:e}){const{onExecutePlaybook:t,onFillPlaybookParams:r,getPlaybookDetail:n}=I.useContext(a1t),[i,a]=I.useState(!1),[s,o]=I.useState(e.playbookId||""),l=(h,f)=>f.length===0?!1:(r&&r({playbookId:h,playbookName:e.playbookName,inputFields:f.map(p=>({...p,label:p.label||p.name})),initialParams:e.playbookParams,playbookType:e.playbookType}),!0),u=h=>{const f=(h==null?void 0:h.playbookId)||s||e.playbookId;f&&t&&t({message:e.playbookName,playbook_id:f,playbook_params:e.playbookParams,playbook_type:e.playbookType})},d=async()=>{if(i)return;const h=e.id||e.playbookId;if(!h){if(l(e.playbookId||"",e.inputFields))return;u();return}if(!n){if(l(e.playbookId||"",e.inputFields))return;u();return}a(!0);try{const f=xln(await n(h)),p=String((f==null?void 0:f.playbook_id)||e.playbookId||h);p&&o(p);const m=Iln(f);m.length>0?l(p,m):u({playbookId:p})}catch{if(l(e.playbookId||"",e.inputFields))return;u()}finally{a(!1)}};return E.jsxs("button",{type:"button",className:"wandox-playbook-button","data-id":e.id,"data-playbook-id":s||e.playbookId,"data-playbook-name":e.playbookName,"data-playbook-params":JSON.stringify(e.playbookParams),"data-input-fields":JSON.stringify(e.inputFields),onClick:d,disabled:i,children:[i?E.jsx(na,{className:"wandox-playbook-button-icon"}):E.jsx(Yh,{className:"wandox-playbook-button-icon"}),E.jsx("span",{children:e.buttonText})]})}const Cln=new Set(["csv","xlsx","xls","tsv","doc","docx","pdf","txt","md","zip","json"]),Sln=/\/api\/v1\/cognitive\/artifacts\/[^/]+\/download/i;function wln(e){const t=e.trim();if(!t)return!1;if(Sln.test(t))return!0;const r=t.split(/[?#]/,1)[0],n=/\.([a-z0-9]+)$/i.exec(r);return n!==null&&Cln.has(n[1].toLowerCase())}function l1t(e){try{const r=e.split(/[?#]/,1)[0].split("/").filter(Boolean).pop()||"";return decodeURIComponent(r)||"文件"}catch{return"文件"}}function lwe(e){const t=/\.([a-z0-9]+)$/i.exec(e);return t?t[1].toLowerCase():""}const Tln={excel:"#16a34a",pdf:"#dc2626",word:"#2563eb",zip:"#d97706",text:"#6b7280"};function Rln(e){const t=lwe(e),r=["csv","xlsx","xls","tsv"].includes(t)?"excel":["doc","docx"].includes(t)?"word":["txt","md","json"].includes(t)?"text":t,n={fontSize:22,color:Tln[r]||"#6b7280"};return r==="excel"?E.jsx(G$e,{style:n}):r==="pdf"?E.jsx(IH,{style:n}):r==="word"?E.jsx(oye,{style:n}):r==="zip"?E.jsx(W$e,{style:n}):r==="text"?E.jsx(MD,{style:n}):E.jsx(Ay,{style:n})}function c1t(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(c1t).join(""):""}function u1t({href:e,children:t,onClick:r}){const n=c1t(t).trim(),a=n&&!/^https?:\/\//i.test(n)?n:l1t(e),s=lwe(a)||lwe(l1t(e));return E.jsxs("a",{className:"wandox-file-card",href:e,target:"_blank",rel:"noopener noreferrer",onClick:r,children:[E.jsx("span",{className:"wandox-file-card__icon",children:Rln(a)}),E.jsxs("span",{className:"wandox-file-card__body",children:[E.jsx("span",{className:"wandox-file-card__name",title:a,children:a}),E.jsxs("span",{className:"wandox-file-card__meta",children:["点击下载",s?` · ${s.toUpperCase()}`:""]})]}),E.jsx(fk,{className:"wandox-file-card__action"})]})}const cwe=I.createContext({streaming:!1,completeMermaidCodes:new Set,completeEChartsCodes:new Set});function kln(e){return[...e.matchAll(/```echarts[^\r\n]*\r?\n([\s\S]*?)```/gi)].map(t=>t[1].trim())}function Mln({className:e,children:t,...r}){const{streaming:n,completeMermaidCodes:i,completeEChartsCodes:a}=I.useContext(cwe),s=/language-(\w+)/.exec(e||""),o=String(t).replace(/\n$/,"");if(s&&s[1]==="echarts"){const l=!n||a.has(o.trim());return E.jsx(xtn,{source:o,streaming:n,ready:l})}if(s&&s[1]==="mermaid"){const l=!n||i.has(o.trim());return E.jsx(Nx,{chart:o,streaming:n,ready:l})}return E.jsx("code",{className:e,...r,children:t})}const d1t={a({href:e,children:t,...r}){return e&&jvt(String(e))?E.jsx(u7,{src:String(e),alt:"图片预览",size:"small"}):e&&wln(String(e))?E.jsx(u1t,{href:String(e),children:t}):E.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",...r,children:t})},table({children:e,...t}){return E.jsx("div",{className:"wandox-native-table-wrapper",children:E.jsx("table",{className:"wandox-native-table",...t,children:e})})},img({src:e,alt:t}){return e?E.jsx(u7,{src:String(e),alt:t||"图片预览",size:"small"}):null},code:Mln};function P$({content:e,streaming:t=!1}){if(!e||e.trim()==="")return null;const r=e.replace(/```[\s\S]*?```/g,"").replace(/`[^`]+`/g,"");if(r.includes("[[")&&(r.includes("|standard|")||r.includes("|exploration|")||r.includes("|fast_action|")||r.includes("|patrol|"))){const a=Aln(e),s=[];let o=[];const l=()=>{o.length>0&&(s.push(E.jsx("div",{className:"wandox-playbook-button-group",children:o.map((u,d)=>E.jsx(o1t,{info:u},`btn-${d}`))},`btn-group-${s.length}`)),o=[])};for(let u=0;u<a.length;u++){const d=a[u];d.buttons.length>0?o.push(...d.buttons):d.text.trim()&&(l(),s.push(E.jsx(D$,{content:d.text,streaming:t},`text-${u}`)))}return l(),E.jsx("div",{className:"wandox-markdown-with-buttons",children:s})}if(/<button[^>]*data-playbook-id/i.test(r)){const a=yln(e),s=[];let o=[];const l=()=>{o.length>0&&(s.push(E.jsx("div",{className:"wandox-playbook-button-group",children:o.map((u,d)=>E.jsx(o1t,{info:u},`btn-${d}`))},`btn-group-${s.length}`)),o=[])};for(let u=0;u<a.length;u++){const d=a[u];d.buttons.length>0?o.push(...d.buttons):d.text.trim()&&(l(),s.push(E.jsx(D$,{content:d.text,streaming:t},`text-${u}`)))}return l(),E.jsx("div",{className:"wandox-markdown-with-buttons",children:s})}return E.jsx(D$,{content:e,streaming:t})}function D$({content:e,streaming:t=!1}){if(!e||e.trim()==="")return null;const r=new Set(pln(e)),n=new Set(kln(e)),i=n1t.some(s=>s.test(e)),a=e.includes("```mermaid");if(i&&!a){const s=e.split(`
715
+ `)}function vln(e){if(!e||e.indexOf("NaN")===-1&&e.indexOf("Infinity")===-1)return e;let t=e.replace(/="((?:NaN|-?Infinity)[a-z%]*)"/gi,'="0"');return t=t.replace(/\btransform="[^"]*"/gi,r=>r.replace(/(NaN|-?Infinity)/gi,"0")),t}function Nx({chart:e,streaming:t=!1,ready:r=!0}){const n=I.useRef(null),i=I.useRef(null),[a,s]=I.useState("empty"),[o,l]=I.useState(),u=t&&!r;return I.useEffect(()=>{const d=n.current,h=i.current;if(!d||!h)return;let f=!1;const p=e.trim();if(!p)return h.replaceChildren(),s("empty"),()=>{f=!0};if(u)return s("pending"),()=>{f=!0};h.replaceChildren(),s("loading");const m=async()=>{try{const A=gln(p),b=await fln(A,()=>f);!f&&i.current===h&&(b?(h.innerHTML=b,l(void 0),s("rendered")):(h.replaceChildren(),l("图表源码为空"),s("error")))}catch(A){!f&&i.current===h&&(h.replaceChildren(),l(A instanceof Error&&A.message?A.message:String(A??"未知错误")),s("error"))}};let g,v;const y=()=>{g=window.setTimeout(()=>void m(),180)};return"IntersectionObserver"in window?(v=new IntersectionObserver(A=>{A.some(b=>b.isIntersecting)&&(v==null||v.disconnect(),y())},{rootMargin:"360px 0px"}),v.observe(d)):y(),()=>{f=!0,v==null||v.disconnect(),g!==void 0&&window.clearTimeout(g)}},[e,u]),E.jsxs("div",{ref:n,className:"wandox-mermaid-chart","aria-busy":a==="loading",children:[a==="loading"&&E.jsxs("output",{className:"wandox-mermaid-loading",children:[E.jsx("span",{className:"wandox-mermaid-loading__spinner","aria-hidden":"true"}),E.jsx("span",{className:"wandox-mermaid-loading__text",children:"加载中"})]}),a==="pending"&&E.jsx("output",{className:"wandox-mermaid-pending","aria-live":"polite",children:"图表生成中..."}),a==="error"&&E.jsxs("div",{className:"wandox-mermaid-error",role:"alert",children:[E.jsx("span",{children:"图表暂时无法渲染"}),o?E.jsx("span",{className:"wandox-mermaid-error__detail",children:o}):null]}),E.jsx("div",{ref:i,className:"wandox-mermaid-content",hidden:a!=="rendered"})]})}const a1t=I.createContext({});function yln(e){const t=[],r=/<button[^>]*>([^<]*)<\/button>/gi,n=/data-id=["']([^"']*)["']/i,i=/data-playbook-id=["']([^"']*)["']/i,a=/data-playbook-name=["']([^"']*)["']/i,s=/data-playbook-params='([^']*)'/i,o=/data-input-fields='([^']*)'/i,l=[],u=/```[\s\S]*?```|`[^`]+`/g;let d=u.exec(e);for(;d!==null;)l.push({start:d.index,end:d.index+d[0].length}),d=u.exec(e);const h=g=>l.some(v=>g>=v.start&&g<v.end);let f=0;const p=[];let m=r.exec(e);for(;m!==null;){if(h(m.index)){m=r.exec(e);continue}const g=m[0],v=m[1],y=n.exec(g),A=i.exec(g),b=a.exec(g),x=s.exec(g),C=o.exec(g);if((y||A)&&b){let w={};if(x)try{w=JSON.parse(x[1].replace(/&quot;/g,'"').replace(/&#39;/g,"'"))}catch{}let S=[];if(C)try{S=JSON.parse(C[1].replace(/&quot;/g,'"').replace(/&#39;/g,"'"))}catch{}p.push({index:m.index,length:g.length,info:{id:y==null?void 0:y[1],playbookId:A==null?void 0:A[1],playbookName:b[1],playbookParams:w,buttonText:v||b[1],inputFields:S}})}m=r.exec(e)}p.sort((g,v)=>g.index-v.index);for(const g of p)g.index>f&&t.push({text:e.slice(f,g.index),buttons:[]}),t.push({text:"",buttons:[g.info]}),f=g.index+g.length;return f<e.length&&t.push({text:e.slice(f),buttons:[]}),t.length>0?t:[{text:e,buttons:[]}]}function bln(e,t){if(e[t]!=="{")return-1;let r=0,n=!1,i=!1;for(let a=t;a<e.length;a+=1){const s=e[a];if(n){i?i=!1:s==="\\"?i=!0:s==='"'&&(n=!1);continue}if(s==='"')n=!0;else if(s==="{")r+=1;else if(s==="}"&&(r-=1,r===0))return a+1}return-1}function Aln(e){const t=[],r=[],n=/```[\s\S]*?```|`[^`]+`/g;let i=n.exec(e);for(;i!==null;)r.push({start:i.index,end:i.index+i[0].length}),i=n.exec(e);const a=d=>r.some(h=>d>=h.start&&d<h.end);let s=0;const o=[],l=/\[\[([^|\[\]]+)\|([^|\[\]]+)\|([^|\[\]]+)\|/g;let u=l.exec(e);for(;u!==null;){if(a(u.index)){u=l.exec(e);continue}const d=l.lastIndex,h=bln(e,d);if(h===-1||e.slice(h,h+2)!=="]]"){u=l.exec(e);continue}const f=e.slice(u.index,h+2),p=u[1],m=u[2],g=u[3],v=e.slice(d,h);let y={};try{y=JSON.parse(v)}catch{}o.push({index:u.index,length:f.length,info:{id:m,playbookId:void 0,playbookName:p,playbookParams:y,buttonText:p,inputFields:[],playbookType:g}}),u=l.exec(e)}o.sort((d,h)=>d.index-h.index),s=0;for(const d of o)d.index>s&&t.push({text:e.slice(s,d.index),buttons:[]}),t.push({text:"",buttons:[d.info]}),s=d.index+d.length;return s<e.length&&t.push({text:e.slice(s),buttons:[]}),t.length>0?t:[{text:e,buttons:[]}]}function xln(e){if(e){if(typeof e=="object"&&"data"in e){const t=e.data;if(t&&typeof t=="object")return t}return e}}function s1t(e){return(Array.isArray(e)?e.map(r=>[void 0,r]):e&&typeof e=="object"?Object.entries(e):[]).flatMap(([r,n])=>{if(!n||typeof n!="object")return[];const i=n,a=String(i.name||r||"").trim();return a?[{...i,name:a,label:String(i.label||a),type:String(i.type||"string"),required:i.required===!0}]:[]})}function Eln(e,t){const r=new Map(t.filter(n=>n.default!==void 0&&n.default!=="").map(n=>[n.name,n.default]));return r.size===0?e:e.map(n=>n.default!==void 0&&n.default!==""||!r.has(n.name)?n:{...n,default:r.get(n.name)})}function Iln(e){if(!e)return[];const t=e.content||{},r=s1t(e.input_fields??t.input_fields),n=t.yaml_content||"";if(n)try{const i=e8.parse(n),a=s1t(i==null?void 0:i.params);if(a.length>0)return Eln(a,r)}catch{}return r}function o1t({info:e}){const{onExecutePlaybook:t,onFillPlaybookParams:r,getPlaybookDetail:n}=I.useContext(a1t),[i,a]=I.useState(!1),[s,o]=I.useState(e.playbookId||""),l=(h,f)=>f.length===0?!1:(r&&r({playbookId:h,playbookName:e.playbookName,inputFields:f.map(p=>({...p,label:p.label||p.name})),initialParams:e.playbookParams,playbookType:e.playbookType}),!0),u=h=>{const f=(h==null?void 0:h.playbookId)||s||e.playbookId;f&&t&&t({message:e.playbookName,playbook_id:f,playbook_params:e.playbookParams,playbook_type:e.playbookType})},d=async()=>{if(i)return;const h=e.id||e.playbookId;if(!h){if(l(e.playbookId||"",e.inputFields))return;u();return}if(!n){if(l(e.playbookId||"",e.inputFields))return;u();return}a(!0);try{const f=xln(await n(h)),p=String((f==null?void 0:f.playbook_id)||e.playbookId||h);p&&o(p);const m=Iln(f);m.length>0?l(p,m):u({playbookId:p})}catch{if(l(e.playbookId||"",e.inputFields))return;u()}finally{a(!1)}};return E.jsxs("button",{type:"button",className:"wandox-playbook-button","data-id":e.id,"data-playbook-id":s||e.playbookId,"data-playbook-name":e.playbookName,"data-playbook-params":JSON.stringify(e.playbookParams),"data-input-fields":JSON.stringify(e.inputFields),onClick:d,disabled:i,children:[i?E.jsx(na,{className:"wandox-playbook-button-icon"}):E.jsx(Yh,{className:"wandox-playbook-button-icon"}),E.jsx("span",{children:e.buttonText})]})}const Cln=new Set(["csv","xlsx","xls","tsv","doc","docx","pdf","txt","md","zip","json"]),Sln=/\/api\/v1\/cognitive\/artifacts\/[^/]+\/download/i;function wln(e){const t=e.trim();if(!t)return!1;if(Sln.test(t))return!0;const r=t.split(/[?#]/,1)[0],n=/\.([a-z0-9]+)$/i.exec(r);return n!==null&&Cln.has(n[1].toLowerCase())}function l1t(e){try{const r=e.split(/[?#]/,1)[0].split("/").filter(Boolean).pop()||"";return decodeURIComponent(r)||"文件"}catch{return"文件"}}function lwe(e){const t=/\.([a-z0-9]+)$/i.exec(e);return t?t[1].toLowerCase():""}const Tln={excel:"#16a34a",pdf:"#dc2626",word:"#2563eb",zip:"#d97706",text:"#6b7280"};function Rln(e){const t=lwe(e),r=["csv","xlsx","xls","tsv"].includes(t)?"excel":["doc","docx"].includes(t)?"word":["txt","md","json"].includes(t)?"text":t,n={fontSize:22,color:Tln[r]||"#6b7280"};return r==="excel"?E.jsx(G$e,{style:n}):r==="pdf"?E.jsx(IH,{style:n}):r==="word"?E.jsx(oye,{style:n}):r==="zip"?E.jsx(W$e,{style:n}):r==="text"?E.jsx(MD,{style:n}):E.jsx(Ay,{style:n})}function c1t(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(c1t).join(""):""}function u1t({href:e,children:t,onClick:r}){const n=c1t(t).trim(),a=n&&!/^https?:\/\//i.test(n)?n:l1t(e),s=lwe(a)||lwe(l1t(e));return E.jsxs("a",{className:"wandox-file-card",href:e,target:"_blank",rel:"noopener noreferrer",onClick:r,children:[E.jsx("span",{className:"wandox-file-card__icon",children:Rln(a)}),E.jsxs("span",{className:"wandox-file-card__body",children:[E.jsx("span",{className:"wandox-file-card__name",title:a,children:a}),E.jsxs("span",{className:"wandox-file-card__meta",children:["点击下载",s?` · ${s.toUpperCase()}`:""]})]}),E.jsx(fk,{className:"wandox-file-card__action"})]})}const cwe=I.createContext({streaming:!1,completeMermaidCodes:new Set,completeEChartsCodes:new Set});function kln(e){return[...e.matchAll(/```echarts[^\r\n]*\r?\n([\s\S]*?)```/gi)].map(t=>t[1].trim())}function Mln({className:e,children:t,...r}){const{streaming:n,completeMermaidCodes:i,completeEChartsCodes:a}=I.useContext(cwe),s=/language-(\w+)/.exec(e||""),o=String(t).replace(/\n$/,"");if(s&&s[1]==="echarts"){const l=!n||a.has(o.trim());return E.jsx(xtn,{source:o,streaming:n,ready:l})}if(s&&s[1]==="mermaid"){const l=!n||i.has(o.trim());return E.jsx(Nx,{chart:o,streaming:n,ready:l})}return E.jsx("code",{className:e,...r,children:t})}const d1t={a({href:e,children:t,...r}){return e&&jvt(String(e))?E.jsx(u7,{src:String(e),alt:"图片预览",size:"small"}):e&&wln(String(e))?E.jsx(u1t,{href:String(e),children:t}):E.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",...r,children:t})},table({children:e,...t}){return E.jsx("div",{className:"wandox-native-table-wrapper",children:E.jsx("table",{className:"wandox-native-table",...t,children:e})})},img({src:e,alt:t}){return e?E.jsx(u7,{src:String(e),alt:t||"图片预览",size:"small"}):null},code:Mln};function P$({content:e,streaming:t=!1}){if(!e||e.trim()==="")return null;const r=e.replace(/```[\s\S]*?```/g,"").replace(/`[^`]+`/g,"");if(r.includes("[[")&&(r.includes("|standard|")||r.includes("|exploration|")||r.includes("|fast_action|")||r.includes("|patrol|"))){const a=Aln(e),s=[];let o=[];const l=()=>{o.length>0&&(s.push(E.jsx("div",{className:"wandox-playbook-button-group",children:o.map((u,d)=>E.jsx(o1t,{info:u},`btn-${d}`))},`btn-group-${s.length}`)),o=[])};for(let u=0;u<a.length;u++){const d=a[u];d.buttons.length>0?o.push(...d.buttons):d.text.trim()&&(l(),s.push(E.jsx(D$,{content:d.text,streaming:t},`text-${u}`)))}return l(),E.jsx("div",{className:"wandox-markdown-with-buttons",children:s})}if(/<button[^>]*data-playbook-id/i.test(r)){const a=yln(e),s=[];let o=[];const l=()=>{o.length>0&&(s.push(E.jsx("div",{className:"wandox-playbook-button-group",children:o.map((u,d)=>E.jsx(o1t,{info:u},`btn-${d}`))},`btn-group-${s.length}`)),o=[])};for(let u=0;u<a.length;u++){const d=a[u];d.buttons.length>0?o.push(...d.buttons):d.text.trim()&&(l(),s.push(E.jsx(D$,{content:d.text,streaming:t},`text-${u}`)))}return l(),E.jsx("div",{className:"wandox-markdown-with-buttons",children:s})}return E.jsx(D$,{content:e,streaming:t})}function D$({content:e,streaming:t=!1}){if(!e||e.trim()==="")return null;const r=new Set(pln(e)),n=new Set(kln(e)),i=n1t.some(s=>s.test(e)),a=e.includes("```mermaid");if(i&&!a){const s=e.split(`
716
716
  `);let o=-1;for(let l=0;l<s.length;l++){const u=s[l].trim();if(owe.some(d=>d.test(u))){o=l;break}}if(o!==-1){const l=i1t(s,o),u=s.slice(0,o).join(`
717
717
  `).trim();let d=s.slice(o,l+1).join(`
718
718
  `).trim();const h=s.slice(l+1).join(`
@@ -783,7 +783,7 @@ ${Be}`;L(Te)},recommendations:b,agentId:p}),E.jsx(Mwe,{executing:W,onSend:H,play
783
783
  - \`outputs\` / \`ui_payload\` 结构化结果
784
784
  - 执行过程与附件等既有消息协议
785
785
 
786
- 聊天和历史接口尚未接入,当前数据只保存在面板本地。`}]}]},{id:"listing-analysis",title:"Listing 深度分析",updatedLabel:"1w",messages:[{id:"listing-analysis-user-1",role:"user",content:"帮我整理一份 Listing 优化检查清单。",timestamp:"2026-08-25T03:18:00.000Z"},{id:"listing-analysis-assistant-1",role:"assistant",content:"可以优先检查 **标题关键词、五点描述、主图信息密度、A+ 内容** 与搜索词覆盖。这个回复来自本地 Demo,不会产生网络请求。",timestamp:"2026-08-25T03:18:02.000Z"}]},{id:"ads-weekly-report",title:"广告数据周报",updatedLabel:"2w",messages:[]},{id:"launch-plan",title:"新品上架计划",updatedLabel:"2w",messages:[]},{id:"review-insight",title:"竞品评论洞察",updatedLabel:"1mo",messages:[]},{id:"keyword-opportunity",title:"关键词机会分析",updatedLabel:"1mo",messages:[]}];let pAt=0;const t3e=e=>(pAt+=1,`${e}-${Date.now()}-${pAt}`),Vhn=e=>{const t=e.replace(/\s+/g," ").trim();return t.length>20?`${t.slice(0,20)}…`:t},Fhn=()=>Lhn.map(e=>({...e,messages:e.messages.map(t=>({...t}))}));function jhn({onClose:e}){const[t,r]=I.useState(Fhn),[n,i]=I.useState(null),[a,s]=I.useState(!1),[o,l]=I.useState(""),[u,d]=I.useState(!1),[h,f]=I.useState("静态 Demo · 消息不会发送到服务端"),p=I.useRef(null),m=I.useRef(null),g=I.useMemo(()=>t.find(M=>M.id===n)??null,[n,t]),v=(g==null?void 0:g.messages)??[],y=I.useMemo(()=>{const M=o.trim().toLocaleLowerCase();return M?t.filter(k=>k.title.toLocaleLowerCase().includes(M)):t},[t,o]),A=I.useCallback(()=>{const M=m.current!==null;m.current&&(clearTimeout(m.current),m.current=null),d(!1),M&&f("已停止本地 Demo 回复")},[]);I.useEffect(()=>()=>{m.current&&(clearTimeout(m.current),m.current=null)},[]),I.useEffect(()=>{const M=k=>{var z;(z=p.current)!=null&&z.contains(k.target)||s(!1)};return document.addEventListener("pointerdown",M),()=>document.removeEventListener("pointerdown",M)},[]),I.useEffect(()=>{const M=k=>{if(k.key==="Escape"){if(a){s(!1);return}e()}};return document.addEventListener("keydown",M),()=>document.removeEventListener("keydown",M)},[a,e]);const b=I.useCallback(()=>{A(),i(null),s(!1),l(""),f("静态 Demo · 消息不会发送到服务端")},[A]),x=I.useCallback(M=>{A(),i(M),s(!1),l(""),f("已载入本地历史 Demo")},[A]),C=I.useCallback(M=>{const k=M.trim();if(!k||u)return;A();const z=new Date().toISOString(),O={id:t3e("user"),role:"user",content:k,timestamp:z},N=n??t3e("conversation");r(B=>B.find(D=>D.id===N)?B.map(D=>D.id===N?{...D,updatedLabel:"刚刚",messages:[...D.messages,O]}:D):[{id:N,title:Vhn(k)||"新会话",updatedLabel:"刚刚",messages:[O]},...B]),i(N),d(!0),f("正在生成本地 Demo 回复…"),m.current=setTimeout(()=>{const B={id:t3e("assistant"),role:"assistant",content:"已收到。这是一条由前端本地生成的 Demo 回复,用于验证 V2 输入框、消息追加和统一内容解析;当前没有调用聊天或历史接口。",timestamp:new Date().toISOString()};r(P=>P.map(D=>D.id===N?{...D,updatedLabel:"刚刚",messages:[...D.messages,B]}:D)),m.current=null,d(!1),f("静态 Demo · 消息不会发送到服务端")},700)},[n,u,A]),w=I.useCallback(()=>{s(M=>!M)},[]),S=I.useCallback(()=>{f("该能力将在新接口接入后开放")},[]),T=I.useCallback(M=>{M.dataTransfer.types.includes("Files")&&(M.preventDefault(),M.stopPropagation(),f("附件将在新接口接入后开放"))},[]),R=I.useCallback(M=>{Array.from(M.clipboardData.items).some(z=>z.type.startsWith("image/"))&&(M.preventDefault(),M.stopPropagation(),f("图片粘贴将在新接口接入后开放"))},[]);return E.jsxs("aside",{className:"wandox-root wandox-console-chat wandox-agent-panel","aria-label":"Wandox 会话面板",children:[E.jsxs("header",{className:"wandox-agent-panel__header",children:[E.jsxs("div",{className:"wandox-agent-panel__brand-row",children:[E.jsxs("div",{className:"wandox-agent-panel__brand",children:[E.jsx(lee,{className:"wandox-agent-panel__brand-mark"}),E.jsx("span",{children:"Wandox"})]}),E.jsx("button",{type:"button",className:"wandox-agent-panel__icon-button",onClick:e,title:"关闭面板","aria-label":"关闭面板",children:E.jsx(Pa,{})})]}),E.jsxs("div",{className:"wandox-agent-panel__navigation",children:[E.jsx("button",{type:"button",className:`wandox-agent-panel__icon-button wandox-agent-panel__new-chat${g?"":" wandox-agent-panel__new-chat--hidden"}`,onClick:b,disabled:!g,title:"新会话","aria-label":"新会话",tabIndex:g?0:-1,children:E.jsx(hk,{})}),E.jsxs("div",{className:"wandox-agent-panel__history-anchor",ref:p,children:[E.jsxs("button",{type:"button",className:"wandox-agent-panel__conversation-title",onClick:w,"aria-expanded":a,"aria-haspopup":"true",children:[E.jsx("span",{children:(g==null?void 0:g.title)??"新会话"}),E.jsx(py,{className:a?"wandox-agent-panel__title-arrow--open":""})]}),a&&E.jsxs("section",{className:"wandox-agent-panel__history","aria-label":"会话历史",children:[E.jsx(Or,{value:o,onChange:M=>l(M.target.value),prefix:E.jsx(Vh,{}),allowClear:!0,placeholder:"搜索最近会话",className:"wandox-agent-panel__history-search",autoFocus:!0}),E.jsx("div",{className:"wandox-agent-panel__history-label",children:"最近会话"}),E.jsx("div",{className:"wandox-agent-panel__history-list",children:y.length>0?y.map(M=>E.jsxs("button",{type:"button",className:`wandox-agent-panel__history-item${M.id===n?" wandox-agent-panel__history-item--active":""}`,onClick:()=>x(M.id),children:[E.jsx("span",{children:M.title}),E.jsx("time",{children:M.updatedLabel})]},M.id)):E.jsx("div",{className:"wandox-agent-panel__history-empty",children:"没有匹配的会话"})})]})]}),E.jsx("button",{type:"button",className:"wandox-agent-panel__icon-button",onClick:S,title:"更多","aria-label":"更多",children:E.jsx(my,{})})]})]}),E.jsx("div",{className:"wandox-console-chat__body wandox-agent-panel__body",children:E.jsx(Cwe,{messages:v,executing:u,conversationKey:n??"new-conversation",emptyContent:E.jsx("div",{className:"wandox-agent-panel__empty",children:E.jsx(lee,{className:"wandox-agent-panel__empty-mark"})})})}),E.jsxs("div",{className:"wandox-console-chat__input wandox-agent-panel__input",children:[E.jsx("div",{className:"wandox-agent-panel__chat-input-guard",onDragEnterCapture:T,onDragOverCapture:T,onDropCapture:T,onPasteCapture:R,children:E.jsx(Mwe,{onSend:C,executing:u,onStop:A,placeholder:"给 Wandox 发送消息",hideUploadButton:!0,autoFocusInput:!1,leadingActions:E.jsx("button",{type:"button",className:"wandox-chat-input-upload-leading",onClick:S,title:"添加文件","aria-label":"添加文件",children:E.jsx(Al,{})})},n??"new-conversation")}),E.jsx("div",{className:"wandox-agent-panel__demo-notice","aria-live":"polite",children:h})]})]})}const r3e=(e,t)=>({value:e.getPropertyValue(t),priority:e.getPropertyPriority(t)}),KV=(e,t,r)=>{if(r.value){e.setProperty(t,r.value,r.priority);return}e.removeProperty(t)},qhn=e=>Number.isFinite(e)?Math.min(Ohn,Math.max(zhn,Math.round(e))):dAt;class Qhn{constructor(t){ct(this,"queryClient");ct(this,"root",null);ct(this,"container",null);ct(this,"bodyStyleSnapshot",null);ct(this,"panelWidth",dAt);ct(this,"listeningForResize",!1);ct(this,"closing",!1);ct(this,"lifecycleVersion",0);ct(this,"closeFallbackTimer",null);ct(this,"closeTransitionEndHandler",null);ct(this,"requestClose",()=>{const t=this.lifecycleVersion;queueMicrotask(()=>{t===this.lifecycleVersion&&this.close()})});ct(this,"applyLayout",()=>{if(!this.container||!this.bodyStyleSnapshot||this.closing||typeof window>"u")return;const t=this.getRenderedWidth();this.container.style.width=`${t}px`,this.bodyStyleSnapshot.body.style.setProperty("padding-right",window.innerWidth<=Bhn?"0px":`${t}px`,"important"),this.bodyStyleSnapshot.body.style.setProperty("box-sizing","border-box","important")});this.queryClient=t}open(t={}){if(typeof window>"u"||typeof document>"u")throw new Error("[Wandox] openAgentPanel is only available in a browser");const r=document.getElementById(uAt);if(r&&r!==this.container)throw new Error("[Wandox] Agent panel is already managed by another SDK instance");const n=this.closing&&this.container?window.getComputedStyle(this.container).transform:null;this.lifecycleVersion+=1,this.cancelCloseMotion(),this.panelWidth=qhn(t.width);let i=!1;if(!this.container||!this.root){const u=document.body;this.bodyStyleSnapshot={body:u,paddingRight:r3e(u.style,"padding-right"),boxSizing:r3e(u.style,"box-sizing"),transition:r3e(u.style,"transition"),computedTransition:window.getComputedStyle(u).transition},this.container=document.createElement("div"),this.container.id=uAt,this.container.className=`wandox-agent-panel-root ${e3e}`,Object.assign(this.container.style,{position:"fixed",top:"0",right:"0",bottom:"0",height:"100vh",zIndex:"999999",background:"#ffffff"}),document.body.appendChild(this.container),this.root=qf(this.container),i=!0}const a=this.container,s=this.root,o=this.prefersReducedMotion(),l=!!n&&n!=="none";return l&&n&&(a.style.transform=n),a.classList.remove(fAt),a.removeAttribute("aria-hidden"),this.installBodyTransition(),a.style.width=`${this.getRenderedWidth()}px`,this.bodyStyleSnapshot&&this.bodyStyleSnapshot.body.style.setProperty("box-sizing","border-box","important"),(i||l)&&!o&&a.offsetWidth,a.classList.remove(e3e),l&&a.style.removeProperty("transform"),this.applyLayout(),o&&this.bodyStyleSnapshot&&(this.bodyStyleSnapshot.body.offsetWidth,this.restoreBodyTransition()),this.startListeningForResize(),s.render(E.jsx(Lv,{queryClient:this.queryClient,children:E.jsx(jhn,{onClose:this.requestClose})})),{element:a,close:()=>this.close(),destroy:()=>this.destroy()}}close(){const t=this.container;if(!t||!this.root||this.closing)return;const r=++this.lifecycleVersion;if(this.stopListeningForResize(),this.prefersReducedMotion()){this.installBodyTransition(),this.restoreBodyPadding(),this.bodyStyleSnapshot&&this.bodyStyleSnapshot.body.offsetWidth,this.teardown();return}this.closing=!0,this.installBodyTransition(),this.closeTransitionEndHandler=n=>{n.target!==t||n.propertyName!=="transform"||this.finalizeClose(r,t)},t.addEventListener("transitionend",this.closeTransitionEndHandler),this.closeFallbackTimer=window.setTimeout(()=>this.finalizeClose(r,t),hAt+80),t.classList.remove(e3e),t.classList.add(fAt),t.setAttribute("aria-hidden","true"),this.restoreBodyPadding()}destroy(){this.lifecycleVersion+=1,this.prepareImmediateBodyRestore(),this.teardown()}getRenderedWidth(){return Math.min(this.panelWidth,window.innerWidth)}startListeningForResize(){this.listeningForResize||(window.addEventListener("resize",this.applyLayout),this.listeningForResize=!0)}stopListeningForResize(){!this.listeningForResize||typeof window>"u"||(window.removeEventListener("resize",this.applyLayout),this.listeningForResize=!1)}prefersReducedMotion(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia(Dhn).matches}installBodyTransition(){if(!this.bodyStyleSnapshot)return;const{body:t,computedTransition:r}=this.bodyStyleSnapshot;if(this.prefersReducedMotion()){t.style.setProperty("transition","none","important");return}const n=`padding-right ${hAt}ms ${Phn}`,i=r.trim(),a=!i||i==="none"||i==="all 0s ease 0s"?n:`${i}, ${n}`;t.style.setProperty("transition",a,"important")}restoreBodyPadding(){if(!this.bodyStyleSnapshot)return;const{body:t,paddingRight:r}=this.bodyStyleSnapshot;KV(t.style,"padding-right",r)}restoreBodyTransition(){if(!this.bodyStyleSnapshot)return;const{body:t,transition:r}=this.bodyStyleSnapshot;KV(t.style,"transition",r)}prepareImmediateBodyRestore(){if(!this.bodyStyleSnapshot)return;const{body:t}=this.bodyStyleSnapshot;t.style.setProperty("transition","none","important"),this.restoreBodyPadding(),t.offsetWidth}finalizeClose(t,r){t!==this.lifecycleVersion||r!==this.container||!this.closing||this.teardown()}cancelCloseMotion(){this.closeTransitionEndHandler&&this.container&&this.container.removeEventListener("transitionend",this.closeTransitionEndHandler),this.closeTransitionEndHandler=null,this.closeFallbackTimer!==null&&typeof window<"u"&&window.clearTimeout(this.closeFallbackTimer),this.closeFallbackTimer=null,this.closing=!1}teardown(){var t,r;this.cancelCloseMotion(),this.stopListeningForResize(),(t=this.root)==null||t.unmount(),this.root=null,(r=this.container)==null||r.remove(),this.container=null,this.restoreBodyStyle()}restoreBodyStyle(){if(!this.bodyStyleSnapshot)return;const{body:t,paddingRight:r,boxSizing:n,transition:i}=this.bodyStyleSnapshot;KV(t.style,"padding-right",r),KV(t.style,"box-sizing",n),KV(t.style,"transition",i),this.bodyStyleSnapshot=null}}const Yhn="0.2.3",mAt={file:Ay,artifact:Y$e,url:NMr,knowledge:Q$e,dataset:nMr};function Ghn({snapshot:e}){return e?e.items.length===0?E.jsx("div",{className:"wandox-conversations__sources-empty-note",children:"对话中上传的文件、生成的报告与引用会出现在这里。"}):E.jsx("div",{className:"wandox-conversations__sources-list",children:e.items.map(t=>E.jsx(gAt,{item:t},t.source_id))}):null}function gAt({item:e,onOpenUrl:t}){const r=mAt[e.kind]??Ay,n=e.url||e.download_url||null,i=Q1t(n),a=E.jsxs(E.Fragment,{children:[E.jsx(r,{"aria-hidden":"true"}),E.jsx("span",{className:"wandox-conversations__sources-item-title",title:e.title,children:e.title})]});if(n&&!i)return E.jsx("a",{className:"wandox-conversations__sources-item",href:n,onClick:t?s=>{s.preventDefault(),t(e,n)}:void 0,target:t?void 0:"_blank",rel:t?void 0:"noopener noreferrer",children:a});if(n&&i){const s=Y1t(e.source_id);return E.jsx("button",{type:"button",className:"wandox-conversations__sources-item",onClick:()=>{s&&Y$(s,e.title).catch(o=>{})},children:a})}return E.jsx("div",{className:"wandox-conversations__sources-item",children:a})}function Whn(e){return["file","artifact","dataset","url","knowledge"].map(t=>({kind:t,items:e.items.filter(r=>r.kind===t)})).filter(t=>t.items.length>0)}function Uhn({item:e,onOpenUrl:t}){const r=mAt[e.kind]??Ay,n=e.url||e.download_url||null,i=Q1t(n),a=e.path||e.badge||null,s=E.jsxs(E.Fragment,{children:[E.jsxs("div",{className:"wandox-conversations__sources-pane-item-title",children:[E.jsx(r,{"aria-hidden":"true"}),E.jsx("span",{title:e.title,children:e.title})]}),a?E.jsx("div",{className:"wandox-conversations__sources-pane-item-sub",title:a,children:a}):null]});if(n&&!i)return E.jsx("a",{className:"wandox-conversations__sources-pane-item",href:n,onClick:t?o=>{o.preventDefault(),t(e,n)}:void 0,target:t?void 0:"_blank",rel:t?void 0:"noopener noreferrer",children:s});if(n&&i){const o=Y1t(e.source_id);return E.jsx("button",{type:"button",className:"wandox-conversations__sources-pane-item",onClick:()=>{o&&Y$(o,e.title).catch(l=>{})},children:s})}return E.jsx("div",{className:"wandox-conversations__sources-pane-item",children:s})}function Zhn({fact:e}){const t=String(e.nature||"").toLowerCase();return E.jsxs("div",{className:"wandox-conversations__fact-row",children:[E.jsx("span",{className:`wandox-conversations__fact-badge wandox-conversations__fact-badge--${t}`,children:e.nature_label||e.badge||e.nature||"事实"}),E.jsx("span",{className:"wandox-conversations__fact-text",title:e.fact,children:e.fact})]})}function Hhn({rows:e,loading:t,error:r}){if(t)return E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:E.jsx("div",{className:"wandox-conversations__sources-pane-note",children:"加载中…"})});if(r)return E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:E.jsx("div",{className:"wandox-conversations__sources-pane-note",children:r})});if(e.length===0)return E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:E.jsx("div",{className:"wandox-conversations__sources-pane-note",children:"本会话还没有事实依据"})});const n=[...e].sort((i,a)=>(i.turn_no??0)-(a.turn_no??0)).reduce((i,a)=>{const s=i[i.length-1];return s&&s.turnNo===(a.turn_no??null)?s.facts.push(a):i.push({turnNo:a.turn_no??null,facts:[a]}),i},[]);return E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:n.map(i=>E.jsxs("section",{children:[i.turnNo?E.jsxs("div",{className:"wandox-conversations__sources-group-title",children:["`第 $",i.turnNo," 轮`"]}):null,E.jsx("div",{className:"wandox-conversations__fact-group",children:i.facts.map((a,s)=>E.jsx(Zhn,{fact:a},a.id??`${i.turnNo}-${s}`))})]},i.turnNo??"conversation"))})}function Khn({snapshot:e,onClose:t,factRows:r,factsLoading:n,factsError:i,onOpenItem:a,resourceTabs:s,onCloseResourceTab:o}){const[l,u]=I.useState("sources"),d=s&&s.length>0?s[s.length-1].key:null;I.useEffect(()=>{d&&u(d)},[d]),I.useEffect(()=>{const p=m=>{m.key==="Escape"&&t()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[t]);const h=Whn(e),f=[{key:"sources",label:"来源",closable:!1,children:E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:h.map(p=>E.jsx("section",{children:E.jsx("div",{className:"wandox-conversations__sources-pane-group",children:p.items.map(m=>E.jsx(Uhn,{item:m,onOpenUrl:a},m.source_id))})},p.kind))})}];r&&r.length>0&&f.push({key:"facts",label:"依据",closable:!1,children:E.jsx(Hhn,{rows:r,loading:n,error:i})});for(const p of s??[])f.push({key:p.key,label:p.title,closable:!0,children:E.jsx("iframe",{className:"wandox-conversations__sources-pane-frame",src:p.url,title:p.title})});return E.jsx("aside",{className:"wandox-conversations__sources-pane",children:E.jsx(xD,{className:"wandox-conversations__sources-pane-tabs",size:"small",type:"editable-card",hideAdd:!0,activeKey:l,onChange:u,onEdit:(p,m)=>{m==="remove"&&(o==null||o(String(p)),u("sources"))},tabBarExtraContent:{right:E.jsx("button",{type:"button",className:"wandox-conversations__sources-pane-close","aria-label":"关闭来源分屏",onClick:t,children:E.jsx(Pa,{})})},items:f})})}const vAt="(min-width: 1120px)";function Jhn(){const[e,t]=I.useState(()=>window.matchMedia(vAt).matches);return I.useEffect(()=>{const r=window.matchMedia(vAt),n=i=>t(i.matches);return r.addEventListener("change",n),()=>r.removeEventListener("change",n)},[]),e}function Xhn({snapshot:e,origin:t,onOpenAll:r,onOpenItem:n,factRows:i}){const a=Jhn(),[s,o]=I.useState(null),l=s??a;if(!e)return null;const u=e.items.length>0,d=e.counts,h=[d.file?"上传":"",d.artifact?"来源":"",d.url+d.knowledge?"链接":""].filter(Boolean).join(" · ");return l?E.jsxs("aside",{className:"wandox-conversations__sources-card",children:[E.jsxs("header",{className:"wandox-conversations__sources-head",children:[E.jsx("span",{children:"导出与报告"}),E.jsx("button",{type:"button",className:"wandox-conversations__sources-collapse","aria-label":"收起来源卡",onClick:()=>o(!1),children:E.jsx(Pa,{})})]}),t?E.jsx("div",{className:"wandox-conversations__sources-origin",children:`来自:${t}`}):null,u?null:E.jsx("div",{className:"wandox-conversations__sources-empty-note",children:"对话中上传的文件、生成的报告与引用会出现在这里。"}),h?E.jsxs("div",{className:"wandox-conversations__sources-counts",children:[h,":"]}):null,u?E.jsx("div",{className:"wandox-conversations__sources-list",children:e.items.slice(0,5).map(f=>E.jsx(gAt,{item:f,onOpenUrl:n},f.source_id))}):null,i&&i.length>0?E.jsxs("div",{className:"wandox-conversations__sources-facts",children:[E.jsx("div",{className:"wandox-conversations__sources-counts",children:"依据:"}),E.jsx("div",{className:"wandox-conversations__sources-list",children:i.slice(0,3).map((f,p)=>E.jsxs("div",{className:"wandox-conversations__sources-item",children:[E.jsx(Q$e,{"aria-hidden":"true"}),E.jsx("span",{className:"wandox-conversations__sources-item-title",title:f.fact,children:f.fact})]},f.id??`fact-${p}`))})]}):null,r&&u?E.jsxs("button",{type:"button",className:"wandox-conversations__sources-more",onClick:r,children:["查看全部",E.jsx(hy,{})]}):null]}):E.jsxs("button",{type:"button",className:"wandox-conversations__sources-pill",title:t?`来自:${t}`:"查看会话来源",onClick:()=>o(!0),children:[E.jsx(Ay,{"aria-hidden":"true"}),E.jsx("span",{children:"导出与报告"}),u?E.jsx("span",{className:"wandox-conversations__sources-pill-count",children:e.items.length}):null]})}const _hn={sparkles:E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"}),E.jsx("path",{d:"M20 2v4"}),E.jsx("path",{d:"M22 4h-4"}),E.jsx("circle",{cx:"4",cy:"20",r:"2"})]}),layers:E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"}),E.jsx("path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"}),E.jsx("path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"})]}),"messages-square":E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"}),E.jsx("path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1"})]}),"building-2":E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M10 12h4"}),E.jsx("path",{d:"M10 8h4"}),E.jsx("path",{d:"M14 21v-3a2 2 0 0 0-4 0v3"}),E.jsx("path",{d:"M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2"}),E.jsx("path",{d:"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16"})]}),menu:E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M4 6h16"}),E.jsx("path",{d:"M4 12h16"}),E.jsx("path",{d:"M4 18h16"})]}),x:E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M18 6 6 18"}),E.jsx("path",{d:"m6 6 12 12"})]}),"arrow-left":E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"m12 19-7-7 7-7"}),E.jsx("path",{d:"M19 12H5"})]})};function Lx({name:e}){return E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","data-lucide":e,"aria-hidden":"true",className:`lucide lucide-${e}`,children:_hn[e]})}function N7(e){return typeof e=="string"&&e.length>=10?e.slice(0,10):""}function Vx(e,t=3){const r=Array.isArray(e)?e.map(n=>String(n)):e!=null?[String(e)]:[];return r.length?r.length<=t?r.join("、"):`${r.slice(0,t).join("、")} 等 ${r.length} 个`:""}function $hn(e,t){const r=[];if(e&&typeof e=="object"){const n=Vx(e.asins),i=Vx(e.campaigns??e.campaign_ids),a=Vx(e.sites);a&&r.push(`站点 ${a}`),n&&r.push(`ASIN ${n}`),i&&r.push(`活动 ${i}`)}return t&&r.push(`专家范围:${t}`),r.length?r.join(" · "):"公司全量范围"}function efn(e){switch(e){case"user":return"你发起的讨论";case"watch":return"你交代的盯住";case"suggestion":return"小多建议推进";default:return e||"小多"}}function yAt(e){return e?e.slice(0,16).replace("T"," "):""}function tfn(e){const t=r=>Math.max(a3e(r.last_run_at)??0,a3e(r.created_at)??0);return e.map(r=>({row:r,chat:{id:r.conversation_id,title:r.title||"未命名会话",scope:$hn(r.scope_config,r.domain_scope),source:efn(r.source),preview:r.attention==="has_update"?"有更新:盯住或建议有新结论":r.last_run_at?`上次更新 ${yAt(r.last_run_at)}`:"尚无讨论记录",status:r.attention==="has_update"?"有更新":"",messages:[],confirmed:!0,live:!0,updatedAt:r.last_run_at??r.created_at??void 0}})).sort((r,n)=>t(n.row)-t(r.row)).map(({chat:r})=>r)}function cee(e,t=new Date){if(!e)return"";const r=new Date(e);if(Number.isNaN(r.getTime()))return"";const n=`${String(r.getHours()).padStart(2,"0")}:${String(r.getMinutes()).padStart(2,"0")}`,i=s=>new Date(s.getFullYear(),s.getMonth(),s.getDate()).getTime(),a=Math.round((i(t)-i(r))/864e5);return a<=0?n:a===1?"昨天":a<=7?`${a} 天前`:`${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`}function rfn(e){const t=[],r=[],n=[];for(const i of e){if(!i||typeof i!="object")continue;const a=String(i.kind??"");a==="finding"?t.push(i):a==="running"?r.push(i):a==="waiting"&&n.push(i)}return{findings:t,running:r,waiting:n}}function nfn(e){switch(String(e??"")){case"new":return"新发现";case"handling":return"处理中";case"waiting_data":return"等数据";case"decided":return"已决定";default:return""}}function uee(e,t=new Date){if(!e)return"";const r=new Date(e);if(Number.isNaN(r.getTime()))return"";const n=t.getTime()-r.getTime();if(n<36e5)return"刚刚";if(n<864e5)return`${Math.floor(n/36e5)}小时前`;const i=Math.floor(n/864e5);return i<=7?`${i}天前`:`${r.getMonth()+1}月${r.getDate()}日`}function ifn(e,t=new Date){const r=s=>new Date(s.getFullYear(),s.getMonth(),s.getDate()).getTime(),n=r(t),i={today:[],yesterday:[],week:[],earlier:[]};for(const s of e){if(s.draft){i.today.unshift(s);continue}const o=s.updatedAt?new Date(s.updatedAt).getTime():Number.NaN,l=Number.isNaN(o)?null:Math.round((n-r(new Date(o)))/864e5);l===null||l>7?i.earlier.push(s):l<=0?i.today.push(s):l===1?i.yesterday.push(s):i.week.push(s)}return[{key:"today",label:"今天",chats:i.today},{key:"yesterday",label:"昨天",chats:i.yesterday},{key:"week",label:"过去 7 天",chats:i.week},{key:"earlier",label:"更早",chats:i.earlier}].filter(s=>s.chats.length>0)}function afn(e){switch((e.state??"").trim()){case"有新结论":return"有新结论";case"正在推进":return"正在推进";case"持续关注":return"持续关注";case"待执行":return"待执行";case"已完成":return"已完成";case"已暂停":return"已暂停"}const t=String(e.status||"").toLowerCase();return t==="paused"?"已暂停":t==="done"?"已完成":e.last_run_id?"持续关注":"待执行"}function bAt(e){return e.filter(t=>String(t.status||"active").toLowerCase()!=="cancelled").map(t=>{const r=String(t.status||"active").toLowerCase();return{id:t.task_id,source:t.source==="ai_generated"?"结合你的岗位":"小多建议推进",title:t.title||t.question||"值得推进的事",why:t.why||"",next:t.question||"",state:afn(t),stateText:(t.state??"").trim(),status:r,attention:t.attention==="has_update",messages:[],live:!0,conversationId:t.conversation_id??null,updatedAt:t.last_run_at??t.updated_at??t.created_at??void 0}})}function AAt(e,t,r){return[{label:"当前职责",value:e?(t==null?void 0:t.duty)||(t==null?void 0:t.personaText)||"以服务端配置为准":"德国站广告运营"},{label:"经营目标",value:e?(t==null?void 0:t.goals)||"以服务端配置为准":"控制试错成本"},{label:"讨论范围",value:"调查与讨论,尚未执行专家动作"},{label:"来源与更新",value:[r.source,cee(r.updatedAt)].filter(Boolean).join(" · ")}]}function sfn(e,t){const r=`${e.business_type_code||""}:${e.group_code||""}`,n=t.get(r);return n||(e.group_name||e.business_type_name?[e.business_type_name,e.group_name].filter(Boolean).join(" · "):e.group_code||e.business_type_code||"")}function ofn(e){switch(e){case"pending":return"等待决定";case"accepted":return"已采纳";case"confirmed":return"已确认 · 已按这个方向继续";case"dispatched":return"已交办 · 等待执行回执";case"executing":return"执行中";case"observing":return"观察中";case"reviewed":return"已复盘";case"rejected":case"ignored":case"dismissed":return"已忽略";case"expired":return"已过期";default:return e||"等待决定"}}function lfn(e){return e==="pending"?"待采纳":["rejected","ignored","dismissed","cancelled"].includes(e)?"忽略历史":"执行历史"}function n3e(e,t,r={}){const n=[];for(const i of e){const a=i.id,s=String(i.status||"pending").toLowerCase(),o=r[String(a)],l=o?"执行历史":lfn(s);n.push({id:a,group:sfn(i,t),agent:i.agent_name||i.agent_code||"数字人",object:i.object_name||i.sub_title||`建议 #${a}`,text:i.main_title||i.content||i.sub_title||"(无标题建议)",state:l,created:N7(i.created_at),handled:l==="待采纳"?"":N7(i.updated_at)||N7(i.created_at),result:o?`已采纳 · 事项 ${o.matterId||"已立项"}`:ofn(s),live:!0,agentId:i.agent_id??void 0,groupKey:`${i.business_type_code||""}:${i.group_code||""}`})}return n}function cfn(e){const t=new Map,r=(n,i,a)=>{if(!n||!i)return;let s=t.get(n);s||(s=new Map,t.set(n,s)),s.set(i,a||i)};if(Array.isArray(e))for(const n of e){const i=String(n.dim??n.option_type??"").trim(),a=String(n.name??"").trim(),s=String(n.code??"").trim()||(i==="service_target"?a:"");r(i,s,a)}else if(e&&typeof e=="object"){for(const[n,i]of Object.entries(e))if(Array.isArray(i))for(const a of i)r(n,String((a==null?void 0:a.code)??(a==null?void 0:a.name)??"").trim(),String((a==null?void 0:a.name)??"").trim())}return t}function ufn(e){const t=[],r=new Map;if(!e)return{options:t,labels:r};const n=cfn(e.items),i=n.get("business_type"),a=n.get("group"),s=Array.isArray(e.digital_humans)?e.digital_humans:[];for(const o of s){const l=String(o.business_type_code??"").trim(),u=String(o.group_code??"").trim();if(!l&&!u)continue;const d=`${l}:${u}`;if(r.has(d))continue;const h=[(i==null?void 0:i.get(l))||l,(a==null?void 0:a.get(u))||u].filter(Boolean).join(" · ")||d;r.set(d,h),t.push({key:d,label:h,businessType:l,groupCode:u})}return{options:t,labels:r}}function dfn(e){switch(e){case"triggered":return"已触发";case"not_triggered":return"未触发";case"waiting_data":return"等待数据";default:return""}}function hfn(e){switch(e){case"pending_decision":return"待决定";case"executing":return"执行中";case"observing":return"观察中";case"reviewed":case"cancelled":return"已复盘";default:return"待决定"}}function ffn(e){return String(e.matter_id??e.id??"")}function pfn(e){const t=[];for(const r of e){const n=ffn(r);if(!n)continue;const i=r.proposal&&typeof r.proposal=="object"?r.proposal:null,a=typeof(i==null?void 0:i.action)=="string"&&i.action||typeof(i==null?void 0:i.content)=="string"&&i.content||typeof(i==null?void 0:i.summary)=="string"&&i.summary||"查看事项方案";t.push({id:n,title:r.title||"未命名事项",sub:String(r.playbook_id||r.source_agent_suggestion_id||""),state:hfn(r.status),expert:r.expert_agent||"",summary:r.summary||"",action:a,result:r.review_conclusion||(r.status==="executing"?"等待执行回执":r.status==="observing"?`观察至 ${N7(r.observe_until)||"待定"}`:""),live:!0})}return t}function xAt(e){const t=i=>i.replace(/^盯住\s*/,"")||i,r=(e.topic||"").trim();if(r)return t(r);const n=(e.title||"").trim();return n?t(n):""}function i3e(e){const t=String(e.status||"").toLowerCase();return{product:xAt(e)||"盯住的事",paused:t==="paused",cancelled:t==="cancelled",watchId:e.watch_id,pendingConfirm:t==="pending_confirm",topic:e.topic||"",originalText:e.original_text??void 0}}function mfn(e,t,r,n){var u,d,h,f,p,m,g,v;const i=(e.object_candidates??[]).map(y=>typeof y=="string"?y:(y==null?void 0:y.name)??"").filter(y=>!!y),a=(e.task??((u=e.proposal)==null?void 0:u.task)??((h=(d=e.proposal)==null?void 0:d.check_spec)==null?void 0:h.topic)??"").trim(),s=((f=e.proposal)==null?void 0:f.display)??null,o=((s==null?void 0:s.lines)??[]).filter(y=>typeof y=="string"&&!!y.trim()),l=((s==null?void 0:s.warnings)??[]).filter(y=>typeof y=="string"&&!!y.trim());return{product:i[0]??(r&&n?n.product:null)??(e.title||"").trim()??null,task:a||t,originalText:(e.original_text??"").trim()||void 0,scheduleType:e.schedule_type??((m=(p=e.proposal)==null?void 0:p.schedule)==null?void 0:m.schedule_type)??"",scheduleValue:e.schedule??((v=(g=e.proposal)==null?void 0:g.schedule)==null?void 0:v.schedule_value)??"",displayLines:o.length?o:void 0,displayWarnings:l.length?l:void 0,notifyText:(s==null?void 0:s.notify_text)??void 0,candidates:i.length?i:void 0}}function gfn(e){if(!e)return"";const t=[];return t.push(e.last_automation_at?`上次自动执行 ${yAt(e.last_automation_at)}`:"尚无自动执行记录"),typeof e.attention_count=="number"&&e.attention_count>0&&t.push(`${e.attention_count} 项有更新`),t.join(" · ")}const vfn={enterprise_rule:"企业规则",position_policy:"岗位策略",personal_pref:"个人偏好",product_knowledge:"商品知识",action_experience:"动作经验"},yfn={draft:"草稿",in_review:"待审核",reviewing:"待审核",pending:"待审核",rejected:"已驳回",active:"已生效",confirmed:"已生效",retired:"已撤回"};function bfn(e){return e.map((t,r)=>{const n=String(t.category||t.ktype||""),i=t.content_md||t.content||"",a=Number(t.doc_id??t.id);return{key:String(t.doc_id??t.id??`k-${r}`),docId:Number.isSafeInteger(a)&&a>0?a:null,label:t.category_label||vfn[n]||n||"知识素材",title:t.title||"",titleAuto:t.title_auto===!0,meta:[t.scope_label||(t.owner_type==="global"?"全局":t.owner_type||""),t.status_label||yfn[String(t.status||"").toLowerCase()]||(t.status?String(t.status):""),N7(t.updated_at||t.created_at)].filter(Boolean).join(" · "),body:i,status:t.status?String(t.status):""}})}function Afn(e){if(!e)return null;const t=String(e.persona||""),r=t.includes("管理员")?"企业管理员":t.includes("负责人")?"经营负责人":"广告运营",n=e.permissions&&typeof e.permissions=="object"?e.permissions:null,i=n==null?void 0:n.can_view,a=[];if(typeof e.business_scope=="string"&&e.business_scope)a.push(e.business_scope);else if(e.business_scope&&typeof e.business_scope=="object")for(const[s,o]of Object.entries(e.business_scope)){const l=Vx(o,4);l&&a.push(`${s}:${l}`)}return{userId:e.user_id||"",name:e.name||"(未命名)",personaText:t||"未配置岗位",personaKey:r,configured:e.configured!==!1,scopeLines:a,duty:e.duty||"",dutySource:e.duty_source||"",goals:e.goals||"",canViewText:typeof i=="string"?i:i&&typeof i=="object"?Object.entries(i).map(([s,o])=>`${s}:${Vx(o,4)}`).filter(s=>s.length>0&&!s.endsWith(":")).join(";"):"",canActText:Vx(n==null?void 0:n.can_act,4),needsApprovalText:Vx(n==null?void 0:n.needs_approval,4),auto:(n==null?void 0:n.auto_execute)===!0}}function xfn(e){return e.map(t=>({userId:String(t.user_id||""),name:t.name||t.username||"成员",role:t.persona||"",scope:typeof t.business_scope=="string"?t.business_scope:t.business_scope&&typeof t.business_scope=="object"?Object.entries(t.business_scope).map(([r,n])=>`${r} ${Vx(n,3)}`).filter(r=>!r.endsWith(" ")).join(" · "):t.duty||"",configured:t.configured!==!1}))}const Efn={"tool/catalog":"盘点可用数据","tool/selected":"选定取数工具","tool/called":"调用工具取数","tool/result":"解析返回结果","tool/parallel-batch":"并行批量取数","tool/failure-route-hint":"异常换路重试","tool/cached-hit":"命中缓存,直接复用","query/empty":"查询无结果","cognition/ended":"本轮收口"},Ifn={understand:"理解问题,拆解目标",plan:"规划调查路径",execute:"执行调查",verify:"核对结论",synthesize:"汇总结论",summarize:"汇总结论",report:"整理输出",done:"收尾"};function Cfn(e){const t=e.trim();if(!t)return"";const r=Efn[t];if(r)return r;const n=t.indexOf("/");return n>0&&/^(tool|phase|query)$/.test(t.slice(0,n))?t.slice(n+1).replace(/[-_]+/g," ").trim():t}function Sfn(e){const t=e.trim();return t?Ifn[t]??t:""}function a3e(e){const t=(e??"").trim();if(!t)return null;const r=t.includes("T")?t:t.replace(" ","T"),n=Date.parse(r);return Number.isFinite(n)?n:null}function wfn(e){const t=Array.isArray(e)?e:[];if(t.length===0)return null;const r=new Map;for(const n of t){const i=String((n==null?void 0:n.text)??"").replace(/\s+/g," ").trim();i&&r.set(`${n.type}\0${i}`,{name:i,status:n.status==="running"?"running":"done",note:"",ts:a3e(n.ts)??void 0})}return r.size===0?null:[...r.values()]}const EAt={待采纳:"pending",执行历史:"accepted",忽略历史:"dismissed"},Tfn=[["运营","5","ASIN 与店铺经营"],["广告","10","活动、预算与关键词"],["采购","18","需求、订单与交期"],["库存优化","5","缺货、积压与去化"]],IAt={广告运营:{name:"张三",goal:"在既定预算内改善投放效率,保护新品测试窗口",data:"广告表现、订单与商品基础信息",approval:"增加总预算 → 李雯 · 经营负责人"},经营负责人:{name:"李雯",goal:"提高新品成功率,改善老品贡献利润",data:"负责范围内的销售、广告、成本与利润",approval:"超出季度预算 → 企业负责人"},企业管理员:{name:"陈敏",goal:"维护岗位、业务归属与授权记录",data:"成员、岗位、数据连接状态;不默认开放经营数据",approval:"经营规则变更 → 经营负责人"}};function Rfn(e,t){return e==="广告运营"?t.scope:e==="经营负责人"?"德国、美国站 · 店铺 A / B · 家居品类":"组织与账号配置 · 无业务数据授权"}function kfn(e,t){return e==="广告运营"?t.action:e==="经营负责人"?"经营方案审批、预算分配与团队分工":"维护成员授权,保存变更记录"}function Mfn(){return[{id:1,title:"老品利润改善",sub:"6 个活动 · 24 个关键词",state:"待决定",expert:"广告",summary:"广告花费上升,利润承压。建议先降低低效词竞价,保留新品测试词。",action:"24 个关键词竞价降低 10%",result:"生效 72 小时后首次检查;归因窗口成熟后评价利润与订单变化。"},{id:2,title:"采购交期异常",sub:"3 笔采购单",state:"待决定",expert:"采购",summary:"供应商承诺与物流预计相差 5–8 天。我已整理冲突记录,需要采购负责人核实。",action:"发起交期核实任务",result:"收到新交期后重新测算缺货风险。"},{id:3,title:"夏季新品验证",sub:"4 个新品 ASIN",state:"观察中",expert:"运营",summary:"转化数据尚未成熟,暂不判定新品失败。维持已批准的测试预算。",action:"继续观察至周五",result:"周五检查转化、投入和库存保障。"},{id:4,title:"日常广告预算优化",sub:"16 个活动",state:"执行中",expert:"广告",summary:"在既有授权内调整预算分配,已完成 11 个活动,其余 5 个等待回执。",action:"核对执行回执",result:"回执齐全后开始效果观察。"},{id:5,title:"上一轮竞价调整复盘",sub:"12 个活动",state:"已复盘",expert:"广告",summary:"8 个活动达到目标,2 个无明显改善,2 个受促销影响,暂不归因。",action:"查看效果与经验",result:"有效动作记录为候选经验;无效动作进入策略重审。"}]}function Nfn(){return[{id:1,group:"广告",agent:"关键词竞价数字人",object:"E58012005 自动",text:"24 个低效关键词竞价降低 10%,保留新品测试词",state:"待采纳",created:"2026-09-28",handled:"",result:"等待决定"},{id:2,group:"采购",agent:"交期跟进数字人",object:"PO2026092803",text:"核实供应商交期与物流预计相差 5–8 天的原因",state:"待采纳",created:"2026-09-27",handled:"",result:"等待决定"},{id:3,group:"运营",agent:"新品验证数字人",object:"便携咖啡机 · B0DEMO0001",text:"延长新品验证窗口 3 天,维持原测试预算",state:"待采纳",created:"2026-09-26",handled:"",result:"等待决定"},{id:4,group:"广告",agent:"预算优化数字人",object:"16 个广告活动",text:"按转化表现重新分配日预算,总预算不变",state:"执行历史",created:"2026-09-25",handled:"2026-09-26",result:"执行中 · 11/16 已回执"},{id:5,group:"广告",agent:"关键词竞价数字人",object:"12 个广告活动",text:"低效关键词竞价降低 10%",state:"执行历史",created:"2026-09-22",handled:"2026-09-23",result:"已执行 · 8 项达标,2 项无改善,2 项暂无法归因"},{id:6,group:"库存优化",agent:"库存去化数字人",object:"SKU-DEMO-06",text:"调整积压商品促销方案并跟踪去化",state:"执行历史",created:"2026-09-24",handled:"2026-09-25",result:"执行失败 · 平台拒绝,待处理"},{id:7,group:"广告",agent:"关键词竞价数字人",object:"E5601101-Broad",text:"提高宽泛匹配竞价 10%",state:"忽略历史",created:"2026-09-24",handled:"2026-09-25",result:"忽略原因:新品测试期,暂不调整"},{id:8,group:"采购",agent:"交期跟进数字人",object:"PO2026092201",text:"追加补货以覆盖预计缺口",state:"忽略历史",created:"2026-09-22",handled:"2026-09-24",result:"忽略原因:到货计划已更新"}]}function zfn(){return[{id:1,source:"每日经营检查",title:"这周,先一起梳理新品的测试预算",why:"你负责德国站的新品投放,也希望控制试错成本。我建议先确认每款新品的测试目标,再看预算是否分散。",next:"先梳理测试目标与当前分配,与你确认优先级后,再调用广告专家形成动作。",state:"推荐",messages:[]},{id:2,source:"岗位关注建议",title:"销量没下降,老品利润也可能在流失",why:"结合广告运营岗位本周的关注主题,建议检查折扣、广告投入与贡献利润是否同步变化。先确定你有权查看的数据范围。",next:"先用广告花费与订单定位值得关注的商品;需要完整成本时,请经营负责人参与核实。",state:"推荐",messages:[]}]}function Ofn(){const e=(t,r,n)=>{const i=new Date;return i.setDate(i.getDate()-t),i.setHours(r,n,0,0),i.toISOString()};return[{id:1,title:"新品测试预算是否需要重新分配",scope:"德国站 · 店铺 A · 4 个新品",source:"小多每日经营检查",preview:"等你确认调查范围",status:"待确认",messages:[],confirmed:!1,updatedAt:e(0,10,12)},{id:2,title:"咖啡机销量变化",scope:"美国站 · 店铺 A · B0DEMO0001",source:"你交代的盯住",preview:"今天 09:00 · 销量下降达到提醒条件",status:"有更新",messages:[],confirmed:!0,updatedAt:e(0,9,0)},{id:3,title:"德国站新品验证",scope:"德国站 · 店铺 A · 新品测试",source:"你发起的讨论",preview:"上次停在:确认测试窗口",status:"",messages:[],confirmed:!0,updatedAt:e(1,16,40)}]}function Bfn(){return{role:"广告运营",scope:"德国站 · 店铺 A · 家居品类",action:"单次竞价调整 ≤ 10%",auto:!1}}function Pfn(){return{product:"咖啡机",metric:"销量",threshold:20,channel:"通过我的钉钉提醒我",paused:!1}}function s3e(e,t,r){const n=e.match(/(\d+(?:\.\d+)?)\s*[%%]/);return{product:/咖啡/.test(e)?"咖啡机":/收纳/.test(e)?"收纳包":t&&r?r.product:null,metric:/销售额/.test(e)?"销售额":t&&r?r.metric:"销量",threshold:n?Number(n[1]):t&&r?r.threshold:20,explicit:!!n,channel:/不要.*钉钉|仅站内|只在站内/.test(e)?"在站内提醒我":t&&r?r.channel:"通过我的钉钉提醒我"}}const Dfn=["建议编号","领域","数字人","业务对象","建议内容","状态","建议日期","处理日期","执行结果或忽略原因"];function Lfn(e){return`\uFEFF${[Dfn,...e.map(n=>[String(n.id),n.group,n.agent,n.object,n.text,n.state,n.created,n.handled,n.result])].map(n=>n.map(i=>`"${String(i).replace(/"/g,'""')}"`).join(",")).join(`\r
786
+ 聊天和历史接口尚未接入,当前数据只保存在面板本地。`}]}]},{id:"listing-analysis",title:"Listing 深度分析",updatedLabel:"1w",messages:[{id:"listing-analysis-user-1",role:"user",content:"帮我整理一份 Listing 优化检查清单。",timestamp:"2026-08-25T03:18:00.000Z"},{id:"listing-analysis-assistant-1",role:"assistant",content:"可以优先检查 **标题关键词、五点描述、主图信息密度、A+ 内容** 与搜索词覆盖。这个回复来自本地 Demo,不会产生网络请求。",timestamp:"2026-08-25T03:18:02.000Z"}]},{id:"ads-weekly-report",title:"广告数据周报",updatedLabel:"2w",messages:[]},{id:"launch-plan",title:"新品上架计划",updatedLabel:"2w",messages:[]},{id:"review-insight",title:"竞品评论洞察",updatedLabel:"1mo",messages:[]},{id:"keyword-opportunity",title:"关键词机会分析",updatedLabel:"1mo",messages:[]}];let pAt=0;const t3e=e=>(pAt+=1,`${e}-${Date.now()}-${pAt}`),Vhn=e=>{const t=e.replace(/\s+/g," ").trim();return t.length>20?`${t.slice(0,20)}…`:t},Fhn=()=>Lhn.map(e=>({...e,messages:e.messages.map(t=>({...t}))}));function jhn({onClose:e}){const[t,r]=I.useState(Fhn),[n,i]=I.useState(null),[a,s]=I.useState(!1),[o,l]=I.useState(""),[u,d]=I.useState(!1),[h,f]=I.useState("静态 Demo · 消息不会发送到服务端"),p=I.useRef(null),m=I.useRef(null),g=I.useMemo(()=>t.find(M=>M.id===n)??null,[n,t]),v=(g==null?void 0:g.messages)??[],y=I.useMemo(()=>{const M=o.trim().toLocaleLowerCase();return M?t.filter(k=>k.title.toLocaleLowerCase().includes(M)):t},[t,o]),A=I.useCallback(()=>{const M=m.current!==null;m.current&&(clearTimeout(m.current),m.current=null),d(!1),M&&f("已停止本地 Demo 回复")},[]);I.useEffect(()=>()=>{m.current&&(clearTimeout(m.current),m.current=null)},[]),I.useEffect(()=>{const M=k=>{var z;(z=p.current)!=null&&z.contains(k.target)||s(!1)};return document.addEventListener("pointerdown",M),()=>document.removeEventListener("pointerdown",M)},[]),I.useEffect(()=>{const M=k=>{if(k.key==="Escape"){if(a){s(!1);return}e()}};return document.addEventListener("keydown",M),()=>document.removeEventListener("keydown",M)},[a,e]);const b=I.useCallback(()=>{A(),i(null),s(!1),l(""),f("静态 Demo · 消息不会发送到服务端")},[A]),x=I.useCallback(M=>{A(),i(M),s(!1),l(""),f("已载入本地历史 Demo")},[A]),C=I.useCallback(M=>{const k=M.trim();if(!k||u)return;A();const z=new Date().toISOString(),O={id:t3e("user"),role:"user",content:k,timestamp:z},N=n??t3e("conversation");r(B=>B.find(D=>D.id===N)?B.map(D=>D.id===N?{...D,updatedLabel:"刚刚",messages:[...D.messages,O]}:D):[{id:N,title:Vhn(k)||"新会话",updatedLabel:"刚刚",messages:[O]},...B]),i(N),d(!0),f("正在生成本地 Demo 回复…"),m.current=setTimeout(()=>{const B={id:t3e("assistant"),role:"assistant",content:"已收到。这是一条由前端本地生成的 Demo 回复,用于验证 V2 输入框、消息追加和统一内容解析;当前没有调用聊天或历史接口。",timestamp:new Date().toISOString()};r(P=>P.map(D=>D.id===N?{...D,updatedLabel:"刚刚",messages:[...D.messages,B]}:D)),m.current=null,d(!1),f("静态 Demo · 消息不会发送到服务端")},700)},[n,u,A]),w=I.useCallback(()=>{s(M=>!M)},[]),S=I.useCallback(()=>{f("该能力将在新接口接入后开放")},[]),T=I.useCallback(M=>{M.dataTransfer.types.includes("Files")&&(M.preventDefault(),M.stopPropagation(),f("附件将在新接口接入后开放"))},[]),R=I.useCallback(M=>{Array.from(M.clipboardData.items).some(z=>z.type.startsWith("image/"))&&(M.preventDefault(),M.stopPropagation(),f("图片粘贴将在新接口接入后开放"))},[]);return E.jsxs("aside",{className:"wandox-root wandox-console-chat wandox-agent-panel","aria-label":"Wandox 会话面板",children:[E.jsxs("header",{className:"wandox-agent-panel__header",children:[E.jsxs("div",{className:"wandox-agent-panel__brand-row",children:[E.jsxs("div",{className:"wandox-agent-panel__brand",children:[E.jsx(lee,{className:"wandox-agent-panel__brand-mark"}),E.jsx("span",{children:"Wandox"})]}),E.jsx("button",{type:"button",className:"wandox-agent-panel__icon-button",onClick:e,title:"关闭面板","aria-label":"关闭面板",children:E.jsx(Pa,{})})]}),E.jsxs("div",{className:"wandox-agent-panel__navigation",children:[E.jsx("button",{type:"button",className:`wandox-agent-panel__icon-button wandox-agent-panel__new-chat${g?"":" wandox-agent-panel__new-chat--hidden"}`,onClick:b,disabled:!g,title:"新会话","aria-label":"新会话",tabIndex:g?0:-1,children:E.jsx(hk,{})}),E.jsxs("div",{className:"wandox-agent-panel__history-anchor",ref:p,children:[E.jsxs("button",{type:"button",className:"wandox-agent-panel__conversation-title",onClick:w,"aria-expanded":a,"aria-haspopup":"true",children:[E.jsx("span",{children:(g==null?void 0:g.title)??"新会话"}),E.jsx(py,{className:a?"wandox-agent-panel__title-arrow--open":""})]}),a&&E.jsxs("section",{className:"wandox-agent-panel__history","aria-label":"会话历史",children:[E.jsx(Or,{value:o,onChange:M=>l(M.target.value),prefix:E.jsx(Vh,{}),allowClear:!0,placeholder:"搜索最近会话",className:"wandox-agent-panel__history-search",autoFocus:!0}),E.jsx("div",{className:"wandox-agent-panel__history-label",children:"最近会话"}),E.jsx("div",{className:"wandox-agent-panel__history-list",children:y.length>0?y.map(M=>E.jsxs("button",{type:"button",className:`wandox-agent-panel__history-item${M.id===n?" wandox-agent-panel__history-item--active":""}`,onClick:()=>x(M.id),children:[E.jsx("span",{children:M.title}),E.jsx("time",{children:M.updatedLabel})]},M.id)):E.jsx("div",{className:"wandox-agent-panel__history-empty",children:"没有匹配的会话"})})]})]}),E.jsx("button",{type:"button",className:"wandox-agent-panel__icon-button",onClick:S,title:"更多","aria-label":"更多",children:E.jsx(my,{})})]})]}),E.jsx("div",{className:"wandox-console-chat__body wandox-agent-panel__body",children:E.jsx(Cwe,{messages:v,executing:u,conversationKey:n??"new-conversation",emptyContent:E.jsx("div",{className:"wandox-agent-panel__empty",children:E.jsx(lee,{className:"wandox-agent-panel__empty-mark"})})})}),E.jsxs("div",{className:"wandox-console-chat__input wandox-agent-panel__input",children:[E.jsx("div",{className:"wandox-agent-panel__chat-input-guard",onDragEnterCapture:T,onDragOverCapture:T,onDropCapture:T,onPasteCapture:R,children:E.jsx(Mwe,{onSend:C,executing:u,onStop:A,placeholder:"给 Wandox 发送消息",hideUploadButton:!0,autoFocusInput:!1,leadingActions:E.jsx("button",{type:"button",className:"wandox-chat-input-upload-leading",onClick:S,title:"添加文件","aria-label":"添加文件",children:E.jsx(Al,{})})},n??"new-conversation")}),E.jsx("div",{className:"wandox-agent-panel__demo-notice","aria-live":"polite",children:h})]})]})}const r3e=(e,t)=>({value:e.getPropertyValue(t),priority:e.getPropertyPriority(t)}),KV=(e,t,r)=>{if(r.value){e.setProperty(t,r.value,r.priority);return}e.removeProperty(t)},qhn=e=>Number.isFinite(e)?Math.min(Ohn,Math.max(zhn,Math.round(e))):dAt;class Qhn{constructor(t){ct(this,"queryClient");ct(this,"root",null);ct(this,"container",null);ct(this,"bodyStyleSnapshot",null);ct(this,"panelWidth",dAt);ct(this,"listeningForResize",!1);ct(this,"closing",!1);ct(this,"lifecycleVersion",0);ct(this,"closeFallbackTimer",null);ct(this,"closeTransitionEndHandler",null);ct(this,"requestClose",()=>{const t=this.lifecycleVersion;queueMicrotask(()=>{t===this.lifecycleVersion&&this.close()})});ct(this,"applyLayout",()=>{if(!this.container||!this.bodyStyleSnapshot||this.closing||typeof window>"u")return;const t=this.getRenderedWidth();this.container.style.width=`${t}px`,this.bodyStyleSnapshot.body.style.setProperty("padding-right",window.innerWidth<=Bhn?"0px":`${t}px`,"important"),this.bodyStyleSnapshot.body.style.setProperty("box-sizing","border-box","important")});this.queryClient=t}open(t={}){if(typeof window>"u"||typeof document>"u")throw new Error("[Wandox] openAgentPanel is only available in a browser");const r=document.getElementById(uAt);if(r&&r!==this.container)throw new Error("[Wandox] Agent panel is already managed by another SDK instance");const n=this.closing&&this.container?window.getComputedStyle(this.container).transform:null;this.lifecycleVersion+=1,this.cancelCloseMotion(),this.panelWidth=qhn(t.width);let i=!1;if(!this.container||!this.root){const u=document.body;this.bodyStyleSnapshot={body:u,paddingRight:r3e(u.style,"padding-right"),boxSizing:r3e(u.style,"box-sizing"),transition:r3e(u.style,"transition"),computedTransition:window.getComputedStyle(u).transition},this.container=document.createElement("div"),this.container.id=uAt,this.container.className=`wandox-agent-panel-root ${e3e}`,Object.assign(this.container.style,{position:"fixed",top:"0",right:"0",bottom:"0",height:"100vh",zIndex:"999999",background:"#ffffff"}),document.body.appendChild(this.container),this.root=qf(this.container),i=!0}const a=this.container,s=this.root,o=this.prefersReducedMotion(),l=!!n&&n!=="none";return l&&n&&(a.style.transform=n),a.classList.remove(fAt),a.removeAttribute("aria-hidden"),this.installBodyTransition(),a.style.width=`${this.getRenderedWidth()}px`,this.bodyStyleSnapshot&&this.bodyStyleSnapshot.body.style.setProperty("box-sizing","border-box","important"),(i||l)&&!o&&a.offsetWidth,a.classList.remove(e3e),l&&a.style.removeProperty("transform"),this.applyLayout(),o&&this.bodyStyleSnapshot&&(this.bodyStyleSnapshot.body.offsetWidth,this.restoreBodyTransition()),this.startListeningForResize(),s.render(E.jsx(Lv,{queryClient:this.queryClient,children:E.jsx(jhn,{onClose:this.requestClose})})),{element:a,close:()=>this.close(),destroy:()=>this.destroy()}}close(){const t=this.container;if(!t||!this.root||this.closing)return;const r=++this.lifecycleVersion;if(this.stopListeningForResize(),this.prefersReducedMotion()){this.installBodyTransition(),this.restoreBodyPadding(),this.bodyStyleSnapshot&&this.bodyStyleSnapshot.body.offsetWidth,this.teardown();return}this.closing=!0,this.installBodyTransition(),this.closeTransitionEndHandler=n=>{n.target!==t||n.propertyName!=="transform"||this.finalizeClose(r,t)},t.addEventListener("transitionend",this.closeTransitionEndHandler),this.closeFallbackTimer=window.setTimeout(()=>this.finalizeClose(r,t),hAt+80),t.classList.remove(e3e),t.classList.add(fAt),t.setAttribute("aria-hidden","true"),this.restoreBodyPadding()}destroy(){this.lifecycleVersion+=1,this.prepareImmediateBodyRestore(),this.teardown()}getRenderedWidth(){return Math.min(this.panelWidth,window.innerWidth)}startListeningForResize(){this.listeningForResize||(window.addEventListener("resize",this.applyLayout),this.listeningForResize=!0)}stopListeningForResize(){!this.listeningForResize||typeof window>"u"||(window.removeEventListener("resize",this.applyLayout),this.listeningForResize=!1)}prefersReducedMotion(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia(Dhn).matches}installBodyTransition(){if(!this.bodyStyleSnapshot)return;const{body:t,computedTransition:r}=this.bodyStyleSnapshot;if(this.prefersReducedMotion()){t.style.setProperty("transition","none","important");return}const n=`padding-right ${hAt}ms ${Phn}`,i=r.trim(),a=!i||i==="none"||i==="all 0s ease 0s"?n:`${i}, ${n}`;t.style.setProperty("transition",a,"important")}restoreBodyPadding(){if(!this.bodyStyleSnapshot)return;const{body:t,paddingRight:r}=this.bodyStyleSnapshot;KV(t.style,"padding-right",r)}restoreBodyTransition(){if(!this.bodyStyleSnapshot)return;const{body:t,transition:r}=this.bodyStyleSnapshot;KV(t.style,"transition",r)}prepareImmediateBodyRestore(){if(!this.bodyStyleSnapshot)return;const{body:t}=this.bodyStyleSnapshot;t.style.setProperty("transition","none","important"),this.restoreBodyPadding(),t.offsetWidth}finalizeClose(t,r){t!==this.lifecycleVersion||r!==this.container||!this.closing||this.teardown()}cancelCloseMotion(){this.closeTransitionEndHandler&&this.container&&this.container.removeEventListener("transitionend",this.closeTransitionEndHandler),this.closeTransitionEndHandler=null,this.closeFallbackTimer!==null&&typeof window<"u"&&window.clearTimeout(this.closeFallbackTimer),this.closeFallbackTimer=null,this.closing=!1}teardown(){var t,r;this.cancelCloseMotion(),this.stopListeningForResize(),(t=this.root)==null||t.unmount(),this.root=null,(r=this.container)==null||r.remove(),this.container=null,this.restoreBodyStyle()}restoreBodyStyle(){if(!this.bodyStyleSnapshot)return;const{body:t,paddingRight:r,boxSizing:n,transition:i}=this.bodyStyleSnapshot;KV(t.style,"padding-right",r),KV(t.style,"box-sizing",n),KV(t.style,"transition",i),this.bodyStyleSnapshot=null}}const Yhn="0.2.4",mAt={file:Ay,artifact:Y$e,url:NMr,knowledge:Q$e,dataset:nMr};function Ghn({snapshot:e}){return e?e.items.length===0?E.jsx("div",{className:"wandox-conversations__sources-empty-note",children:"对话中上传的文件、生成的报告与引用会出现在这里。"}):E.jsx("div",{className:"wandox-conversations__sources-list",children:e.items.map(t=>E.jsx(gAt,{item:t},t.source_id))}):null}function gAt({item:e,onOpenUrl:t}){const r=mAt[e.kind]??Ay,n=e.url||e.download_url||null,i=Q1t(n),a=E.jsxs(E.Fragment,{children:[E.jsx(r,{"aria-hidden":"true"}),E.jsx("span",{className:"wandox-conversations__sources-item-title",title:e.title,children:e.title})]});if(n&&!i)return E.jsx("a",{className:"wandox-conversations__sources-item",href:n,onClick:t?s=>{s.preventDefault(),t(e,n)}:void 0,target:t?void 0:"_blank",rel:t?void 0:"noopener noreferrer",children:a});if(n&&i){const s=Y1t(e.source_id);return E.jsx("button",{type:"button",className:"wandox-conversations__sources-item",onClick:()=>{s&&Y$(s,e.title).catch(o=>{})},children:a})}return E.jsx("div",{className:"wandox-conversations__sources-item",children:a})}function Whn(e){return["file","artifact","dataset","url","knowledge"].map(t=>({kind:t,items:e.items.filter(r=>r.kind===t)})).filter(t=>t.items.length>0)}function Uhn({item:e,onOpenUrl:t}){const r=mAt[e.kind]??Ay,n=e.url||e.download_url||null,i=Q1t(n),a=e.path||e.badge||null,s=E.jsxs(E.Fragment,{children:[E.jsxs("div",{className:"wandox-conversations__sources-pane-item-title",children:[E.jsx(r,{"aria-hidden":"true"}),E.jsx("span",{title:e.title,children:e.title})]}),a?E.jsx("div",{className:"wandox-conversations__sources-pane-item-sub",title:a,children:a}):null]});if(n&&!i)return E.jsx("a",{className:"wandox-conversations__sources-pane-item",href:n,onClick:t?o=>{o.preventDefault(),t(e,n)}:void 0,target:t?void 0:"_blank",rel:t?void 0:"noopener noreferrer",children:s});if(n&&i){const o=Y1t(e.source_id);return E.jsx("button",{type:"button",className:"wandox-conversations__sources-pane-item",onClick:()=>{o&&Y$(o,e.title).catch(l=>{})},children:s})}return E.jsx("div",{className:"wandox-conversations__sources-pane-item",children:s})}function Zhn({fact:e}){const t=String(e.nature||"").toLowerCase();return E.jsxs("div",{className:"wandox-conversations__fact-row",children:[E.jsx("span",{className:`wandox-conversations__fact-badge wandox-conversations__fact-badge--${t}`,children:e.nature_label||e.badge||e.nature||"事实"}),E.jsx("span",{className:"wandox-conversations__fact-text",title:e.fact,children:e.fact})]})}function Hhn({rows:e,loading:t,error:r}){if(t)return E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:E.jsx("div",{className:"wandox-conversations__sources-pane-note",children:"加载中…"})});if(r)return E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:E.jsx("div",{className:"wandox-conversations__sources-pane-note",children:r})});if(e.length===0)return E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:E.jsx("div",{className:"wandox-conversations__sources-pane-note",children:"本会话还没有事实依据"})});const n=[...e].sort((i,a)=>(i.turn_no??0)-(a.turn_no??0)).reduce((i,a)=>{const s=i[i.length-1];return s&&s.turnNo===(a.turn_no??null)?s.facts.push(a):i.push({turnNo:a.turn_no??null,facts:[a]}),i},[]);return E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:n.map(i=>E.jsxs("section",{children:[i.turnNo?E.jsxs("div",{className:"wandox-conversations__sources-group-title",children:["`第 $",i.turnNo," 轮`"]}):null,E.jsx("div",{className:"wandox-conversations__fact-group",children:i.facts.map((a,s)=>E.jsx(Zhn,{fact:a},a.id??`${i.turnNo}-${s}`))})]},i.turnNo??"conversation"))})}function Khn({snapshot:e,onClose:t,factRows:r,factsLoading:n,factsError:i,onOpenItem:a,resourceTabs:s,onCloseResourceTab:o}){const[l,u]=I.useState("sources"),d=s&&s.length>0?s[s.length-1].key:null;I.useEffect(()=>{d&&u(d)},[d]),I.useEffect(()=>{const p=m=>{m.key==="Escape"&&t()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[t]);const h=Whn(e),f=[{key:"sources",label:"来源",closable:!1,children:E.jsx("div",{className:"wandox-conversations__sources-pane-body",children:h.map(p=>E.jsx("section",{children:E.jsx("div",{className:"wandox-conversations__sources-pane-group",children:p.items.map(m=>E.jsx(Uhn,{item:m,onOpenUrl:a},m.source_id))})},p.kind))})}];r&&r.length>0&&f.push({key:"facts",label:"依据",closable:!1,children:E.jsx(Hhn,{rows:r,loading:n,error:i})});for(const p of s??[])f.push({key:p.key,label:p.title,closable:!0,children:E.jsx("iframe",{className:"wandox-conversations__sources-pane-frame",src:p.url,title:p.title})});return E.jsx("aside",{className:"wandox-conversations__sources-pane",children:E.jsx(xD,{className:"wandox-conversations__sources-pane-tabs",size:"small",type:"editable-card",hideAdd:!0,activeKey:l,onChange:u,onEdit:(p,m)=>{m==="remove"&&(o==null||o(String(p)),u("sources"))},tabBarExtraContent:{right:E.jsx("button",{type:"button",className:"wandox-conversations__sources-pane-close","aria-label":"关闭来源分屏",onClick:t,children:E.jsx(Pa,{})})},items:f})})}const vAt="(min-width: 1120px)";function Jhn(){const[e,t]=I.useState(()=>window.matchMedia(vAt).matches);return I.useEffect(()=>{const r=window.matchMedia(vAt),n=i=>t(i.matches);return r.addEventListener("change",n),()=>r.removeEventListener("change",n)},[]),e}function Xhn({snapshot:e,origin:t,onOpenAll:r,onOpenItem:n,factRows:i}){const a=Jhn(),[s,o]=I.useState(null),l=s??a;if(!e)return null;const u=e.items.length>0,d=e.counts,h=[d.file?"上传":"",d.artifact?"来源":"",d.url+d.knowledge?"链接":""].filter(Boolean).join(" · ");return l?E.jsxs("aside",{className:"wandox-conversations__sources-card",children:[E.jsxs("header",{className:"wandox-conversations__sources-head",children:[E.jsx("span",{children:"导出与报告"}),E.jsx("button",{type:"button",className:"wandox-conversations__sources-collapse","aria-label":"收起来源卡",onClick:()=>o(!1),children:E.jsx(Pa,{})})]}),t?E.jsx("div",{className:"wandox-conversations__sources-origin",children:`来自:${t}`}):null,u?null:E.jsx("div",{className:"wandox-conversations__sources-empty-note",children:"对话中上传的文件、生成的报告与引用会出现在这里。"}),h?E.jsxs("div",{className:"wandox-conversations__sources-counts",children:[h,":"]}):null,u?E.jsx("div",{className:"wandox-conversations__sources-list",children:e.items.slice(0,5).map(f=>E.jsx(gAt,{item:f,onOpenUrl:n},f.source_id))}):null,i&&i.length>0?E.jsxs("div",{className:"wandox-conversations__sources-facts",children:[E.jsx("div",{className:"wandox-conversations__sources-counts",children:"依据:"}),E.jsx("div",{className:"wandox-conversations__sources-list",children:i.slice(0,3).map((f,p)=>E.jsxs("div",{className:"wandox-conversations__sources-item",children:[E.jsx(Q$e,{"aria-hidden":"true"}),E.jsx("span",{className:"wandox-conversations__sources-item-title",title:f.fact,children:f.fact})]},f.id??`fact-${p}`))})]}):null,r&&u?E.jsxs("button",{type:"button",className:"wandox-conversations__sources-more",onClick:r,children:["查看全部",E.jsx(hy,{})]}):null]}):E.jsxs("button",{type:"button",className:"wandox-conversations__sources-pill",title:t?`来自:${t}`:"查看会话来源",onClick:()=>o(!0),children:[E.jsx(Ay,{"aria-hidden":"true"}),E.jsx("span",{children:"导出与报告"}),u?E.jsx("span",{className:"wandox-conversations__sources-pill-count",children:e.items.length}):null]})}const _hn={sparkles:E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"}),E.jsx("path",{d:"M20 2v4"}),E.jsx("path",{d:"M22 4h-4"}),E.jsx("circle",{cx:"4",cy:"20",r:"2"})]}),layers:E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"}),E.jsx("path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"}),E.jsx("path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"})]}),"messages-square":E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"}),E.jsx("path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1"})]}),"building-2":E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M10 12h4"}),E.jsx("path",{d:"M10 8h4"}),E.jsx("path",{d:"M14 21v-3a2 2 0 0 0-4 0v3"}),E.jsx("path",{d:"M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2"}),E.jsx("path",{d:"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16"})]}),menu:E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M4 6h16"}),E.jsx("path",{d:"M4 12h16"}),E.jsx("path",{d:"M4 18h16"})]}),x:E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"M18 6 6 18"}),E.jsx("path",{d:"m6 6 12 12"})]}),"arrow-left":E.jsxs(E.Fragment,{children:[E.jsx("path",{d:"m12 19-7-7 7-7"}),E.jsx("path",{d:"M19 12H5"})]})};function Lx({name:e}){return E.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","data-lucide":e,"aria-hidden":"true",className:`lucide lucide-${e}`,children:_hn[e]})}function N7(e){return typeof e=="string"&&e.length>=10?e.slice(0,10):""}function Vx(e,t=3){const r=Array.isArray(e)?e.map(n=>String(n)):e!=null?[String(e)]:[];return r.length?r.length<=t?r.join("、"):`${r.slice(0,t).join("、")} 等 ${r.length} 个`:""}function $hn(e,t){const r=[];if(e&&typeof e=="object"){const n=Vx(e.asins),i=Vx(e.campaigns??e.campaign_ids),a=Vx(e.sites);a&&r.push(`站点 ${a}`),n&&r.push(`ASIN ${n}`),i&&r.push(`活动 ${i}`)}return t&&r.push(`专家范围:${t}`),r.length?r.join(" · "):"公司全量范围"}function efn(e){switch(e){case"user":return"你发起的讨论";case"watch":return"你交代的盯住";case"suggestion":return"小多建议推进";default:return e||"小多"}}function yAt(e){return e?e.slice(0,16).replace("T"," "):""}function tfn(e){const t=r=>Math.max(a3e(r.last_run_at)??0,a3e(r.created_at)??0);return e.map(r=>({row:r,chat:{id:r.conversation_id,title:r.title||"未命名会话",scope:$hn(r.scope_config,r.domain_scope),source:efn(r.source),preview:r.attention==="has_update"?"有更新:盯住或建议有新结论":r.last_run_at?`上次更新 ${yAt(r.last_run_at)}`:"尚无讨论记录",status:r.attention==="has_update"?"有更新":"",messages:[],confirmed:!0,live:!0,updatedAt:r.last_run_at??r.created_at??void 0}})).sort((r,n)=>t(n.row)-t(r.row)).map(({chat:r})=>r)}function cee(e,t=new Date){if(!e)return"";const r=new Date(e);if(Number.isNaN(r.getTime()))return"";const n=`${String(r.getHours()).padStart(2,"0")}:${String(r.getMinutes()).padStart(2,"0")}`,i=s=>new Date(s.getFullYear(),s.getMonth(),s.getDate()).getTime(),a=Math.round((i(t)-i(r))/864e5);return a<=0?n:a===1?"昨天":a<=7?`${a} 天前`:`${String(r.getMonth()+1).padStart(2,"0")}-${String(r.getDate()).padStart(2,"0")}`}function rfn(e){const t=[],r=[],n=[];for(const i of e){if(!i||typeof i!="object")continue;const a=String(i.kind??"");a==="finding"?t.push(i):a==="running"?r.push(i):a==="waiting"&&n.push(i)}return{findings:t,running:r,waiting:n}}function nfn(e){switch(String(e??"")){case"new":return"新发现";case"handling":return"处理中";case"waiting_data":return"等数据";case"decided":return"已决定";default:return""}}function uee(e,t=new Date){if(!e)return"";const r=new Date(e);if(Number.isNaN(r.getTime()))return"";const n=t.getTime()-r.getTime();if(n<36e5)return"刚刚";if(n<864e5)return`${Math.floor(n/36e5)}小时前`;const i=Math.floor(n/864e5);return i<=7?`${i}天前`:`${r.getMonth()+1}月${r.getDate()}日`}function ifn(e,t=new Date){const r=s=>new Date(s.getFullYear(),s.getMonth(),s.getDate()).getTime(),n=r(t),i={today:[],yesterday:[],week:[],earlier:[]};for(const s of e){if(s.draft){i.today.unshift(s);continue}const o=s.updatedAt?new Date(s.updatedAt).getTime():Number.NaN,l=Number.isNaN(o)?null:Math.round((n-r(new Date(o)))/864e5);l===null||l>7?i.earlier.push(s):l<=0?i.today.push(s):l===1?i.yesterday.push(s):i.week.push(s)}return[{key:"today",label:"今天",chats:i.today},{key:"yesterday",label:"昨天",chats:i.yesterday},{key:"week",label:"过去 7 天",chats:i.week},{key:"earlier",label:"更早",chats:i.earlier}].filter(s=>s.chats.length>0)}function afn(e){switch((e.state??"").trim()){case"有新结论":return"有新结论";case"正在推进":return"正在推进";case"持续关注":return"持续关注";case"待执行":return"待执行";case"已完成":return"已完成";case"已暂停":return"已暂停"}const t=String(e.status||"").toLowerCase();return t==="paused"?"已暂停":t==="done"?"已完成":e.last_run_id?"持续关注":"待执行"}function bAt(e){return e.filter(t=>String(t.status||"active").toLowerCase()!=="cancelled").map(t=>{const r=String(t.status||"active").toLowerCase();return{id:t.task_id,source:t.source==="ai_generated"?"结合你的岗位":"小多建议推进",title:t.title||t.question||"值得推进的事",why:t.why||"",next:t.question||"",state:afn(t),stateText:(t.state??"").trim(),status:r,attention:t.attention==="has_update",messages:[],live:!0,conversationId:t.conversation_id??null,updatedAt:t.last_run_at??t.updated_at??t.created_at??void 0}})}function AAt(e,t,r){return[{label:"当前职责",value:e?(t==null?void 0:t.duty)||(t==null?void 0:t.personaText)||"以服务端配置为准":"德国站广告运营"},{label:"经营目标",value:e?(t==null?void 0:t.goals)||"以服务端配置为准":"控制试错成本"},{label:"讨论范围",value:"调查与讨论,尚未执行专家动作"},{label:"来源与更新",value:[r.source,cee(r.updatedAt)].filter(Boolean).join(" · ")}]}function sfn(e,t){const r=`${e.business_type_code||""}:${e.group_code||""}`,n=t.get(r);return n||(e.group_name||e.business_type_name?[e.business_type_name,e.group_name].filter(Boolean).join(" · "):e.group_code||e.business_type_code||"")}function ofn(e){switch(e){case"pending":return"等待决定";case"accepted":return"已采纳";case"confirmed":return"已确认 · 已按这个方向继续";case"dispatched":return"已交办 · 等待执行回执";case"executing":return"执行中";case"observing":return"观察中";case"reviewed":return"已复盘";case"rejected":case"ignored":case"dismissed":return"已忽略";case"expired":return"已过期";default:return e||"等待决定"}}function lfn(e){return e==="pending"?"待采纳":["rejected","ignored","dismissed","cancelled"].includes(e)?"忽略历史":"执行历史"}function n3e(e,t,r={}){const n=[];for(const i of e){const a=i.id,s=String(i.status||"pending").toLowerCase(),o=r[String(a)],l=o?"执行历史":lfn(s);n.push({id:a,group:sfn(i,t),agent:i.agent_name||i.agent_code||"数字人",object:i.object_name||i.sub_title||`建议 #${a}`,text:i.main_title||i.content||i.sub_title||"(无标题建议)",state:l,created:N7(i.created_at),handled:l==="待采纳"?"":N7(i.updated_at)||N7(i.created_at),result:o?`已采纳 · 事项 ${o.matterId||"已立项"}`:ofn(s),live:!0,agentId:i.agent_id??void 0,groupKey:`${i.business_type_code||""}:${i.group_code||""}`})}return n}function cfn(e){const t=new Map,r=(n,i,a)=>{if(!n||!i)return;let s=t.get(n);s||(s=new Map,t.set(n,s)),s.set(i,a||i)};if(Array.isArray(e))for(const n of e){const i=String(n.dim??n.option_type??"").trim(),a=String(n.name??"").trim(),s=String(n.code??"").trim()||(i==="service_target"?a:"");r(i,s,a)}else if(e&&typeof e=="object"){for(const[n,i]of Object.entries(e))if(Array.isArray(i))for(const a of i)r(n,String((a==null?void 0:a.code)??(a==null?void 0:a.name)??"").trim(),String((a==null?void 0:a.name)??"").trim())}return t}function ufn(e){const t=[],r=new Map;if(!e)return{options:t,labels:r};const n=cfn(e.items),i=n.get("business_type"),a=n.get("group"),s=Array.isArray(e.digital_humans)?e.digital_humans:[];for(const o of s){const l=String(o.business_type_code??"").trim(),u=String(o.group_code??"").trim();if(!l&&!u)continue;const d=`${l}:${u}`;if(r.has(d))continue;const h=[(i==null?void 0:i.get(l))||l,(a==null?void 0:a.get(u))||u].filter(Boolean).join(" · ")||d;r.set(d,h),t.push({key:d,label:h,businessType:l,groupCode:u})}return{options:t,labels:r}}function dfn(e){switch(e){case"triggered":return"已触发";case"not_triggered":return"未触发";case"waiting_data":return"等待数据";default:return""}}function hfn(e){switch(e){case"pending_decision":return"待决定";case"executing":return"执行中";case"observing":return"观察中";case"reviewed":case"cancelled":return"已复盘";default:return"待决定"}}function ffn(e){return String(e.matter_id??e.id??"")}function pfn(e){const t=[];for(const r of e){const n=ffn(r);if(!n)continue;const i=r.proposal&&typeof r.proposal=="object"?r.proposal:null,a=typeof(i==null?void 0:i.action)=="string"&&i.action||typeof(i==null?void 0:i.content)=="string"&&i.content||typeof(i==null?void 0:i.summary)=="string"&&i.summary||"查看事项方案";t.push({id:n,title:r.title||"未命名事项",sub:String(r.playbook_id||r.source_agent_suggestion_id||""),state:hfn(r.status),expert:r.expert_agent||"",summary:r.summary||"",action:a,result:r.review_conclusion||(r.status==="executing"?"等待执行回执":r.status==="observing"?`观察至 ${N7(r.observe_until)||"待定"}`:""),live:!0})}return t}function xAt(e){const t=i=>i.replace(/^盯住\s*/,"")||i,r=(e.topic||"").trim();if(r)return t(r);const n=(e.title||"").trim();return n?t(n):""}function i3e(e){const t=String(e.status||"").toLowerCase();return{product:xAt(e)||"盯住的事",paused:t==="paused",cancelled:t==="cancelled",watchId:e.watch_id,pendingConfirm:t==="pending_confirm",topic:e.topic||"",originalText:e.original_text??void 0}}function mfn(e,t,r,n){var u,d,h,f,p,m,g,v;const i=(e.object_candidates??[]).map(y=>typeof y=="string"?y:(y==null?void 0:y.name)??"").filter(y=>!!y),a=(e.task??((u=e.proposal)==null?void 0:u.task)??((h=(d=e.proposal)==null?void 0:d.check_spec)==null?void 0:h.topic)??"").trim(),s=((f=e.proposal)==null?void 0:f.display)??null,o=((s==null?void 0:s.lines)??[]).filter(y=>typeof y=="string"&&!!y.trim()),l=((s==null?void 0:s.warnings)??[]).filter(y=>typeof y=="string"&&!!y.trim());return{product:i[0]??(r&&n?n.product:null)??(e.title||"").trim()??null,task:a||t,originalText:(e.original_text??"").trim()||void 0,scheduleType:e.schedule_type??((m=(p=e.proposal)==null?void 0:p.schedule)==null?void 0:m.schedule_type)??"",scheduleValue:e.schedule??((v=(g=e.proposal)==null?void 0:g.schedule)==null?void 0:v.schedule_value)??"",displayLines:o.length?o:void 0,displayWarnings:l.length?l:void 0,notifyText:(s==null?void 0:s.notify_text)??void 0,candidates:i.length?i:void 0}}function gfn(e){if(!e)return"";const t=[];return t.push(e.last_automation_at?`上次自动执行 ${yAt(e.last_automation_at)}`:"尚无自动执行记录"),typeof e.attention_count=="number"&&e.attention_count>0&&t.push(`${e.attention_count} 项有更新`),t.join(" · ")}const vfn={enterprise_rule:"企业规则",position_policy:"岗位策略",personal_pref:"个人偏好",product_knowledge:"商品知识",action_experience:"动作经验"},yfn={draft:"草稿",in_review:"待审核",reviewing:"待审核",pending:"待审核",rejected:"已驳回",active:"已生效",confirmed:"已生效",retired:"已撤回"};function bfn(e){return e.map((t,r)=>{const n=String(t.category||t.ktype||""),i=t.content_md||t.content||"",a=Number(t.doc_id??t.id);return{key:String(t.doc_id??t.id??`k-${r}`),docId:Number.isSafeInteger(a)&&a>0?a:null,label:t.category_label||vfn[n]||n||"知识素材",title:t.title||"",titleAuto:t.title_auto===!0,meta:[t.scope_label||(t.owner_type==="global"?"全局":t.owner_type||""),t.status_label||yfn[String(t.status||"").toLowerCase()]||(t.status?String(t.status):""),N7(t.updated_at||t.created_at)].filter(Boolean).join(" · "),body:i,status:t.status?String(t.status):""}})}function Afn(e){if(!e)return null;const t=String(e.persona||""),r=t.includes("管理员")?"企业管理员":t.includes("负责人")?"经营负责人":"广告运营",n=e.permissions&&typeof e.permissions=="object"?e.permissions:null,i=n==null?void 0:n.can_view,a=[];if(typeof e.business_scope=="string"&&e.business_scope)a.push(e.business_scope);else if(e.business_scope&&typeof e.business_scope=="object")for(const[s,o]of Object.entries(e.business_scope)){const l=Vx(o,4);l&&a.push(`${s}:${l}`)}return{userId:e.user_id||"",name:e.name||"(未命名)",personaText:t||"未配置岗位",personaKey:r,configured:e.configured!==!1,scopeLines:a,duty:e.duty||"",dutySource:e.duty_source||"",goals:e.goals||"",canViewText:typeof i=="string"?i:i&&typeof i=="object"?Object.entries(i).map(([s,o])=>`${s}:${Vx(o,4)}`).filter(s=>s.length>0&&!s.endsWith(":")).join(";"):"",canActText:Vx(n==null?void 0:n.can_act,4),needsApprovalText:Vx(n==null?void 0:n.needs_approval,4),auto:(n==null?void 0:n.auto_execute)===!0}}function xfn(e){return e.map(t=>({userId:String(t.user_id||""),name:t.name||t.username||"成员",role:t.persona||"",scope:typeof t.business_scope=="string"?t.business_scope:t.business_scope&&typeof t.business_scope=="object"?Object.entries(t.business_scope).map(([r,n])=>`${r} ${Vx(n,3)}`).filter(r=>!r.endsWith(" ")).join(" · "):t.duty||"",configured:t.configured!==!1}))}const Efn={"tool/catalog":"盘点可用数据","tool/selected":"选定取数工具","tool/called":"调用工具取数","tool/result":"解析返回结果","tool/parallel-batch":"并行批量取数","tool/failure-route-hint":"异常换路重试","tool/cached-hit":"命中缓存,直接复用","query/empty":"查询无结果","cognition/ended":"本轮收口"},Ifn={understand:"理解问题,拆解目标",plan:"规划调查路径",execute:"执行调查",verify:"核对结论",synthesize:"汇总结论",summarize:"汇总结论",report:"整理输出",done:"收尾"};function Cfn(e){const t=e.trim();if(!t)return"";const r=Efn[t];if(r)return r;const n=t.indexOf("/");return n>0&&/^(tool|phase|query)$/.test(t.slice(0,n))?t.slice(n+1).replace(/[-_]+/g," ").trim():t}function Sfn(e){const t=e.trim();return t?Ifn[t]??t:""}function a3e(e){const t=(e??"").trim();if(!t)return null;const r=t.includes("T")?t:t.replace(" ","T"),n=Date.parse(r);return Number.isFinite(n)?n:null}function wfn(e){const t=Array.isArray(e)?e:[];if(t.length===0)return null;const r=new Map;for(const n of t){const i=String((n==null?void 0:n.text)??"").replace(/\s+/g," ").trim();i&&r.set(`${n.type}\0${i}`,{name:i,status:n.status==="running"?"running":"done",note:"",ts:a3e(n.ts)??void 0})}return r.size===0?null:[...r.values()]}const EAt={待采纳:"pending",执行历史:"accepted",忽略历史:"dismissed"},Tfn=[["运营","5","ASIN 与店铺经营"],["广告","10","活动、预算与关键词"],["采购","18","需求、订单与交期"],["库存优化","5","缺货、积压与去化"]],IAt={广告运营:{name:"张三",goal:"在既定预算内改善投放效率,保护新品测试窗口",data:"广告表现、订单与商品基础信息",approval:"增加总预算 → 李雯 · 经营负责人"},经营负责人:{name:"李雯",goal:"提高新品成功率,改善老品贡献利润",data:"负责范围内的销售、广告、成本与利润",approval:"超出季度预算 → 企业负责人"},企业管理员:{name:"陈敏",goal:"维护岗位、业务归属与授权记录",data:"成员、岗位、数据连接状态;不默认开放经营数据",approval:"经营规则变更 → 经营负责人"}};function Rfn(e,t){return e==="广告运营"?t.scope:e==="经营负责人"?"德国、美国站 · 店铺 A / B · 家居品类":"组织与账号配置 · 无业务数据授权"}function kfn(e,t){return e==="广告运营"?t.action:e==="经营负责人"?"经营方案审批、预算分配与团队分工":"维护成员授权,保存变更记录"}function Mfn(){return[{id:1,title:"老品利润改善",sub:"6 个活动 · 24 个关键词",state:"待决定",expert:"广告",summary:"广告花费上升,利润承压。建议先降低低效词竞价,保留新品测试词。",action:"24 个关键词竞价降低 10%",result:"生效 72 小时后首次检查;归因窗口成熟后评价利润与订单变化。"},{id:2,title:"采购交期异常",sub:"3 笔采购单",state:"待决定",expert:"采购",summary:"供应商承诺与物流预计相差 5–8 天。我已整理冲突记录,需要采购负责人核实。",action:"发起交期核实任务",result:"收到新交期后重新测算缺货风险。"},{id:3,title:"夏季新品验证",sub:"4 个新品 ASIN",state:"观察中",expert:"运营",summary:"转化数据尚未成熟,暂不判定新品失败。维持已批准的测试预算。",action:"继续观察至周五",result:"周五检查转化、投入和库存保障。"},{id:4,title:"日常广告预算优化",sub:"16 个活动",state:"执行中",expert:"广告",summary:"在既有授权内调整预算分配,已完成 11 个活动,其余 5 个等待回执。",action:"核对执行回执",result:"回执齐全后开始效果观察。"},{id:5,title:"上一轮竞价调整复盘",sub:"12 个活动",state:"已复盘",expert:"广告",summary:"8 个活动达到目标,2 个无明显改善,2 个受促销影响,暂不归因。",action:"查看效果与经验",result:"有效动作记录为候选经验;无效动作进入策略重审。"}]}function Nfn(){return[{id:1,group:"广告",agent:"关键词竞价数字人",object:"E58012005 自动",text:"24 个低效关键词竞价降低 10%,保留新品测试词",state:"待采纳",created:"2026-09-28",handled:"",result:"等待决定"},{id:2,group:"采购",agent:"交期跟进数字人",object:"PO2026092803",text:"核实供应商交期与物流预计相差 5–8 天的原因",state:"待采纳",created:"2026-09-27",handled:"",result:"等待决定"},{id:3,group:"运营",agent:"新品验证数字人",object:"便携咖啡机 · B0DEMO0001",text:"延长新品验证窗口 3 天,维持原测试预算",state:"待采纳",created:"2026-09-26",handled:"",result:"等待决定"},{id:4,group:"广告",agent:"预算优化数字人",object:"16 个广告活动",text:"按转化表现重新分配日预算,总预算不变",state:"执行历史",created:"2026-09-25",handled:"2026-09-26",result:"执行中 · 11/16 已回执"},{id:5,group:"广告",agent:"关键词竞价数字人",object:"12 个广告活动",text:"低效关键词竞价降低 10%",state:"执行历史",created:"2026-09-22",handled:"2026-09-23",result:"已执行 · 8 项达标,2 项无改善,2 项暂无法归因"},{id:6,group:"库存优化",agent:"库存去化数字人",object:"SKU-DEMO-06",text:"调整积压商品促销方案并跟踪去化",state:"执行历史",created:"2026-09-24",handled:"2026-09-25",result:"执行失败 · 平台拒绝,待处理"},{id:7,group:"广告",agent:"关键词竞价数字人",object:"E5601101-Broad",text:"提高宽泛匹配竞价 10%",state:"忽略历史",created:"2026-09-24",handled:"2026-09-25",result:"忽略原因:新品测试期,暂不调整"},{id:8,group:"采购",agent:"交期跟进数字人",object:"PO2026092201",text:"追加补货以覆盖预计缺口",state:"忽略历史",created:"2026-09-22",handled:"2026-09-24",result:"忽略原因:到货计划已更新"}]}function zfn(){return[{id:1,source:"每日经营检查",title:"这周,先一起梳理新品的测试预算",why:"你负责德国站的新品投放,也希望控制试错成本。我建议先确认每款新品的测试目标,再看预算是否分散。",next:"先梳理测试目标与当前分配,与你确认优先级后,再调用广告专家形成动作。",state:"推荐",messages:[]},{id:2,source:"岗位关注建议",title:"销量没下降,老品利润也可能在流失",why:"结合广告运营岗位本周的关注主题,建议检查折扣、广告投入与贡献利润是否同步变化。先确定你有权查看的数据范围。",next:"先用广告花费与订单定位值得关注的商品;需要完整成本时,请经营负责人参与核实。",state:"推荐",messages:[]}]}function Ofn(){const e=(t,r,n)=>{const i=new Date;return i.setDate(i.getDate()-t),i.setHours(r,n,0,0),i.toISOString()};return[{id:1,title:"新品测试预算是否需要重新分配",scope:"德国站 · 店铺 A · 4 个新品",source:"小多每日经营检查",preview:"等你确认调查范围",status:"待确认",messages:[],confirmed:!1,updatedAt:e(0,10,12)},{id:2,title:"咖啡机销量变化",scope:"美国站 · 店铺 A · B0DEMO0001",source:"你交代的盯住",preview:"今天 09:00 · 销量下降达到提醒条件",status:"有更新",messages:[],confirmed:!0,updatedAt:e(0,9,0)},{id:3,title:"德国站新品验证",scope:"德国站 · 店铺 A · 新品测试",source:"你发起的讨论",preview:"上次停在:确认测试窗口",status:"",messages:[],confirmed:!0,updatedAt:e(1,16,40)}]}function Bfn(){return{role:"广告运营",scope:"德国站 · 店铺 A · 家居品类",action:"单次竞价调整 ≤ 10%",auto:!1}}function Pfn(){return{product:"咖啡机",metric:"销量",threshold:20,channel:"通过我的钉钉提醒我",paused:!1}}function s3e(e,t,r){const n=e.match(/(\d+(?:\.\d+)?)\s*[%%]/);return{product:/咖啡/.test(e)?"咖啡机":/收纳/.test(e)?"收纳包":t&&r?r.product:null,metric:/销售额/.test(e)?"销售额":t&&r?r.metric:"销量",threshold:n?Number(n[1]):t&&r?r.threshold:20,explicit:!!n,channel:/不要.*钉钉|仅站内|只在站内/.test(e)?"在站内提醒我":t&&r?r.channel:"通过我的钉钉提醒我"}}const Dfn=["建议编号","领域","数字人","业务对象","建议内容","状态","建议日期","处理日期","执行结果或忽略原因"];function Lfn(e){return`\uFEFF${[Dfn,...e.map(n=>[String(n.id),n.group,n.agent,n.object,n.text,n.state,n.created,n.handled,n.result])].map(n=>n.map(i=>`"${String(i).replace(/"/g,'""')}"`).join(",")).join(`\r
787
787
  `)}`}function Vfn(e,t,r){return`专家建议-${e}-${t||"不限"}-${r||"不限"}.csv`}function Ffn(e){return{mode:e,active:!1,loading:!1,sendPending:!1,error:"",conversationsError:"",suggestionsError:"",notice:"",statusLine:"",statusRaw:null,conversationRows:[],turns:{},turnsLoading:null,cards:{},stream:null,runs:{},lastRunIds:{},sendNotices:{},watchRows:[],watchRowsHasMore:!1,watchDetail:null,watchDeleteTarget:null,conversationDeleteTarget:null,conversationRenameTarget:null,watchChecks:[],watchChecksHasMore:!1,recommendationsHasMore:!1,watchParsed:null,suggestionTaskRows:[],adviceRows:[],adviceTotal:0,adviceCounts:{pending:0,accepted:0,dismissed:0},adviceDateFrom:"",adviceDateTo:"",adoptedMarks:{},matterRows:[],agentGroups:null,groupOptions:[],me:null,meRaw:null,members:[],memberTarget:"",knowledgeCards:[],workspaceMeEdit:!1,knowledgeWithdrawTarget:null}}function jfn(e=!1){return{page:"home",pageBack:null,domain:"",current:e?"":1,note:"",jobs:e?[]:Mfn(),conversations:[],chatSession:0,scopeChoice:"自动调用专家",focusRequest:null,advice:e?[]:Nfn(),adviceTab:"待采纳",advicePage:1,advicePageSize:10,agentFilter:"",dateFrom:e?"":"2026-09-21",dateTo:e?"":"2026-09-28",exportNote:"",exportCsv:"",watchStage:"input",watchText:"",watchDraft:"",watchEdit:!1,watchProposal:null,watchSaved:e?null:Pfn(),recommendations:e?[]:zfn(),recActive:e?"":1,homeNotice:"",enterpriseTab:"业务",persona:"广告运营",memberEdit:!1,enterpriseNotice:"",permission:Bfn(),chats12:e?[]:Ofn(),chat12:e?"":1,revise12:!1,live:Ffn(e)}}function qfn(e){return e==="home"||e==="watch"||e==="recommendation"?"home":e==="work"?"work":e==="conversation12"?"history":e==="company"?"company":null}const CAt=new Set(["home","work","company","conversation12"]),Qfn=new Set(["watch","recommendation","detail","chat"]);function Yfn(e){return Qfn.has(e)}function NS(e){return CAt.has(e.page)?e.page:e.pageBack}function Ym(e,t){if(!e.live.mode)return!1;if(e.live.sendPending||typeof t=="string"&&e.live.runs[t])return!0;const r=e.live.stream;return!r||r.status!=="streaming"?!1:t===void 0?!0:t===null?r.conversationId===null:r.conversationId===t}function o3e(e,t){const r=e.live.stream;if(r&&r.status==="streaming"&&r.conversationId===t)return r.stopping?"stopping":"running";const n=e.live.runs[t];return n?n.stopping?"stopping":"running":null}function Gfn(e,t){if(e.status!=="done"||!(t!=null&&t.length))return!1;if(e.runId){if(t.some(n=>n.role!=="user"&&String(n.run_id??"")===e.runId))return!0;if(e.recovered)return!1}const r=e.question.trim();return r?t.some(n=>n.role==="user"&&n.content.trim()===r):!1}function l3e(e,t=e.adviceTab){const{domain:r,agentFilter:n,dateFrom:i,dateTo:a}=e;return e.advice.filter(s=>s.state===t&&(!r||s.group===r||s.groupKey===r)&&(!n||s.agent===n||s.agentId!=null&&String(s.agentId)===n)&&(!i||(t==="待采纳"?s.created:s.handled)>=i)&&(!a||(t==="待采纳"?s.created:s.handled)<=a))}function Wfn(e){return[...new Set(e.advice.filter(t=>!e.domain||t.group===e.domain||t.groupKey===e.domain).map(t=>t.agent))]}function Ufn(e){var t;if(e.live.mode){const r=((t=e.live.agentGroups)==null?void 0:t.digital_humans)??[],n=new Map;for(const i of r){const a=(i.name||"").trim();if(!a)continue;const s=(i.service_target??"").trim()||"未分组",o=n.get(s)??[];o.push({value:String(i.agent_id??"")||a,label:a}),n.set(s,o)}return[{value:"",label:"全部数字人"},...[...n.entries()].map(([i,a])=>({label:i,options:a}))]}return[{value:"",label:"全部数字人"},...Wfn(e).map(r=>({value:r,label:r}))]}function Zfn(e){const t=l3e(e);return{csv:Lfn(t),filename:Vfn(e.adviceTab,e.dateFrom,e.dateTo),count:t.length}}function SAt(e){return e.chats12.find(t=>t.id===e.chat12)??e.chats12[0]}function c3e(e,t,r){return e.chats12.map(n=>n.id===t?{...n,...r}:n)}function wAt(e,t){return{id:e,title:t||"新会话",scope:"业务范围待明确",source:"你发起的讨论",preview:"说说你希望推进什么",status:"",messages:[],confirmed:!0,live:!0}}function Hfn(e,t){var r,n,i,a,s,o,l,u,d,h,f,p,m;switch(t.type){case"nav/home":return{...e,page:"home",pageBack:null,domain:"",note:""};case"nav/work":return{...e,page:"work",pageBack:null,domain:"",note:""};case"nav/company":return{...e,page:"company",pageBack:null,domain:"",note:""};case"nav/history":return{...e,page:"conversation12",pageBack:null,domain:"",note:""};case"nav/back":{const g=e.pageBack&&CAt.has(e.pageBack)?e.pageBack:"home";return{...e,page:g,pageBack:null,domain:"",note:""}}case"job/open":return{...e,current:t.id,page:"detail",pageBack:NS(e),note:""};case"job/approve":return{...e,jobs:e.jobs.map(g=>g.id===e.current?{...g,state:"执行中"}:g),note:"模拟交办成功。执行状态与效果结论将分别追踪。"};case"job/modify":return{...e,note:"请在下方补充调整要求,本轮要求不会自动成为企业长期偏好。",focusRequest:{target:"w6",token:Date.now()}};case"scope/change":return{...e,scopeChoice:t.value};case"send":{const g=t.text??t.inputValue;if(/盯住|盯着|持续关注/.test(g)){const A=s3e(g,!1,e.watchSaved);return{...e,page:"watch",pageBack:NS(e),watchEdit:!1,watchText:"",watchStage:A.product?"confirm":"choose",watchDraft:g,watchProposal:A}}const v=g.trim();if(!v)return{...e,focusRequest:{target:"w6",token:Date.now()}};const y={id:Date.now(),session:e.chatSession,text:v,scope:e.scopeChoice||"自动调用专家",job:e.page==="detail"?e.current:null};return{...e,conversations:[...e.conversations,y],page:e.page==="detail"?e.page:"chat",pageBack:NS(e)}}case"advice/tab":return{...e,adviceTab:t.tab,advicePage:1,exportNote:""};case"advice/domain":return{...e,domain:t.domain,agentFilter:"",advicePage:1,exportNote:""};case"advice/filter":{const g=t.key==="from"?{dateFrom:t.value}:t.key==="to"?{dateTo:t.value}:{agentFilter:t.value};return{...e,...g,advicePage:1,exportNote:""}}case"advice/page":return{...e,advicePage:t.page,advicePageSize:t.size};case"advice/adopt":return{...e,advice:e.advice.map(g=>g.id===t.id?{...g,state:"执行历史",handled:"2026-09-28",result:"待执行 · 已采纳,等待回执"}:g),exportNote:""};case"advice/ignore":return{...e,advice:e.advice.map(g=>g.id===t.id?{...g,state:"忽略历史",handled:"2026-09-28",result:"忽略原因:用户手动忽略"}:g),exportNote:""};case"advice/export":return{...e,exportCsv:t.csv,exportNote:t.note};case"watch/new":return{...e,page:"watch",pageBack:NS(e),watchStage:"input",watchText:"",watchDraft:"",watchEdit:!1};case"watch/view":return{...e,page:"watch",pageBack:NS(e),watchStage:"saved"};case"watch/draft":return{...e,watchDraft:t.value};case"watch/propose":{const g=e.watchDraft.trim();if(!g)return e;const v=s3e(g,e.watchEdit,e.watchSaved);return{...e,watchText:g,watchProposal:v,watchStage:v.product?"confirm":"choose"}}case"watch/chooseProduct":return e.watchStage!=="choose"||!e.watchProposal?e:{...e,watchProposal:{...e.watchProposal,product:t.product},watchStage:"confirm"};case"watch/confirm":{const g=e.watchProposal;if(!g||!(g.product||g.task))return e;const v=e.watchSaved,y={product:g.product??(v==null?void 0:v.product)??"盯住的事",metric:g.metric??(v==null?void 0:v.metric),threshold:g.threshold??(v==null?void 0:v.threshold),channel:g.channel??(v==null?void 0:v.channel),paused:e.watchEdit&&v?v.paused:!1,watchId:v==null?void 0:v.watchId,pendingConfirm:v==null?void 0:v.pendingConfirm,topic:g.task||e.watchText||(v==null?void 0:v.topic),originalText:g.originalText??(v==null?void 0:v.originalText),notifyText:g.notifyText??(v==null?void 0:v.notifyText)};return{...e,watchSaved:y,watchStage:"saved"}}case"watch/revise":return{...e,watchStage:"input"};case"watch/edit":return{...e,watchEdit:!0,watchStage:"input",watchDraft:"",watchText:""};case"watch/pause":return e.watchSaved?{...e,watchSaved:{...e.watchSaved,paused:!e.watchSaved.paused}}:e;case"watch/requestDelete":return{...e,live:{...e.live,watchDeleteTarget:t.watchId}};case"watch/cancelDelete":return{...e,live:{...e.live,watchDeleteTarget:null}};case"conversation/requestDelete":return{...e,live:{...e.live,conversationDeleteTarget:t.id}};case"conversation/cancelDelete":return{...e,live:{...e.live,conversationDeleteTarget:null}};case"conversation/requestRename":return{...e,live:{...e.live,conversationRenameTarget:t.id}};case"conversation/cancelRename":return{...e,live:{...e.live,conversationRenameTarget:null}};case"watch/delete":return{...e,live:{...e.live,watchDeleteTarget:null}};case"knowledge/requestWithdraw":return{...e,live:{...e.live,knowledgeWithdrawTarget:t.docId}};case"knowledge/cancelWithdraw":return{...e,live:{...e.live,knowledgeWithdrawTarget:null}};case"knowledge/withdraw":return{...e,live:{...e.live,knowledgeWithdrawTarget:null}};case"workspace/me/edit":return{...e,live:{...e.live,workspaceMeEdit:!0}};case"workspace/me/cancelEdit":return{...e,live:{...e.live,workspaceMeEdit:!1}};case"workspace/me/save":return{...e,live:{...e.live,workspaceMeEdit:!1}};case"workspace/me/permission/save":return e;case"watch/select":{const g=e.live.watchRows.find(v=>v.watch_id===t.watchId);return g?{...e,page:"watch",pageBack:NS(e),watchStage:"saved",watchEdit:!1,watchSaved:i3e(g)}:e}case"rec/open":return{...e,recActive:t.id,recommendations:e.recommendations.map(g=>g.id===t.id&&g.state==="待执行"?{...g,state:"正在推进"}:g),page:"recommendation",pageBack:NS(e)};case"rec/run":return{...e,recommendations:e.recommendations.map(g=>g.id===t.id&&(g.state==="待执行"||g.state==="推荐")?{...g,state:"正在推进"}:g)};case"rec/pause":return{...e,recommendations:e.recommendations.map(g=>g.id===t.id?{...g,state:g.state==="已暂停"?"持续关注":"已暂停",status:g.state==="已暂停"?"active":"paused"}:g),homeNotice:((r=e.recommendations.find(g=>g.id===t.id))==null?void 0:r.state)==="已暂停"?"已恢复这条建议。":"已暂停这条建议;历史保留。"};case"rec/cancel":return{...e,recommendations:e.recommendations.filter(g=>g.id!==t.id),recActive:e.recActive===t.id?((n=e.recommendations.find(g=>g.id!==t.id))==null?void 0:n.id)??"":e.recActive,homeNotice:"已关闭这条建议;同主题不会再自动出现。"};case"rec/select":return{...e,recActive:t.id};case"rec/send":{const g=t.value.trim();return g?{...e,recommendations:e.recommendations.map(v=>v.id===e.recActive?{...v,messages:[...v.messages,g]}:v)}:e}case"ent/tab":return{...e,enterpriseTab:t.tab,memberEdit:!1,enterpriseNotice:""};case"ent/member":{const g=!!t.memberId&&t.memberId!==e.live.memberTarget;return e.memberEdit&&!g?{...e,memberEdit:!1}:{...e,memberEdit:!0,live:t.memberId?{...e.live,memberTarget:t.memberId}:e.live}}case"ent/back":return{...e,memberEdit:!1};case"ent/save":return e.persona!=="企业管理员"?e:{...e,permission:{...e.permission,scope:t.scope,action:t.action,auto:t.auto},enterpriseNotice:"模拟已保存 · 陈敏更新张三的授权范围与动作边界。",memberEdit:!1};case"ent/note":return t.value.trim()?{...e,enterpriseNotice:"已记录为待确认素材,尚未改变企业规则。"}:e;case"c12/select":{const g=e.chats12.find(y=>y.id===t.id),v=e.chats12.filter(y=>!y.draft||y.id===t.id);return{...e,chat12:t.id,chats12:g&&g.status==="有更新"?v.map(y=>y.id===t.id?{...y,status:""}:y):v,revise12:!1}}case"c12/new":{const g=e.chats12.find(A=>A.draft&&!A.messages.length);if(g)return{...e,chat12:g.id,page:"conversation12",revise12:!1};const v=Date.now();return{...e,chats12:[{id:v,title:"新会话",scope:"业务范围待明确",source:"你发起的讨论",preview:"说说你希望推进什么",status:"",messages:[],confirmed:!1,draft:!0},...e.chats12],chat12:v,page:"conversation12",revise12:!1}}case"c12/rename":return{...e,chats12:e.chats12.map(g=>g.id===t.id?{...g,title:t.title}:g)};case"c12/confirm":return{...e,chats12:c3e(e,e.chat12,{confirmed:!0,status:"",preview:"已确认范围 · 调查待开始"})};case"c12/revise":return{...e,revise12:!0,focusRequest:{target:"c12",token:Date.now()}};case"c12/send":{const g=t.value.trim();if(!g)return e;const v=SAt(e);return v?{...e,chats12:c3e(e,e.chat12,{messages:[...v.messages,g],title:v.title==="新会话"?g.slice(0,22):v.title,preview:`上次补充:${g.slice(0,22)}`}),revise12:!1}:e}case"c12/investigate":{const g=SAt(e);return g?{...e,chats12:c3e(e,e.chat12,{messages:[...g.messages,"先核实库存、流量与转化变化"],preview:"正在讨论:核实销量变化原因"})}:e}case"live/loading":return{...e,live:{...e.live,loading:t.value}};case"live/sendPending":return{...e,live:{...e.live,sendPending:t.value}};case"live/error":return{...e,live:{...e.live,error:t.message}};case"live/notice":return{...e,live:{...e.live,notice:t.text}};case"live/homeNotice":return{...e,homeNotice:t.text};case"live/dismiss":return{...e,live:{...e.live,error:"",notice:""}};case"live/cardUpsert":{const g=t.card;return!g||typeof g.card_id!="string"||!g.card_id?e:{...e,live:{...e.live,cards:{...e.live.cards,[g.card_id]:g}}}}case"live/cardsHydrate":{if(!Array.isArray(t.cards)||t.cards.length===0)return e;const g={...e.live.cards};for(const v of t.cards)v&&typeof v.card_id=="string"&&v.card_id&&(g[v.card_id]=v);return{...e,live:{...e.live,cards:g}}}case"live/hydrateConversations":{const g=tfn(t.rows),v=[...e.chats12.filter(A=>A.draft),...g],y=v.some(A=>A.id===e.chat12);return{...e,chats12:v,chat12:y?e.chat12:((i=v[0])==null?void 0:i.id)??"",live:{...e.live,active:!0,conversationRows:t.rows,conversationsError:""}}}case"live/conversationArchived":{const g=e.chats12.filter(v=>v.id!==t.id);return{...e,chats12:g,chat12:e.chat12===t.id?((a=g[0])==null?void 0:a.id)??"":e.chat12}}case"live/conversationRenamed":return{...e,chats12:e.chats12.map(g=>g.id===t.id?{...g,title:t.title}:g)};case"live/conversationsError":return{...e,live:{...e.live,conversationsError:t.message}};case"live/suggestionsError":return{...e,live:{...e.live,suggestionsError:t.message}};case"live/conversationUpsert":{const v=e.chats12.some(y=>y.id===t.conversationId)?e.chats12.map(y=>y.id===t.conversationId?{...y,status:""}:y):[wAt(t.conversationId,t.title),...e.chats12];return{...e,chats12:v,chat12:t.select?t.conversationId:e.chat12,page:t.select?"conversation12":e.page,revise12:t.select?!1:e.revise12,live:{...e.live,active:!0}}}case"live/draftBound":{const g=e.chats12.filter(A=>A.id!==t.draftId),y=g.some(A=>A.id===t.conversationId)?g.map(A=>A.id===t.conversationId?{...A,status:""}:A):[wAt(t.conversationId,t.title),...g];return{...e,chats12:y,chat12:t.conversationId,page:"conversation12",revise12:!1,live:{...e.live,active:!0}}}case"live/hydrateStatus":return{...e,live:{...e.live,active:!0,statusRaw:t.row,statusLine:gfn(t.row)}};case"live/hydrateWatches":{const g=e.watchSaved??(t.rows[0]?i3e(t.rows[0]):null),v=g!=null&&g.watchId?t.rows.find(A=>A.watch_id===g.watchId):void 0,y=v?i3e(v):g;return{...e,watchSaved:y,live:{...e.live,active:!0,watchRows:t.rows,watchRowsHasMore:t.hasMore}}}case"live/watchDetailLoaded":return{...e,live:{...e.live,active:!0,watchDetail:t.row}};case"live/watchChecksLoaded":return{...e,live:{...e.live,active:!0,watchChecks:t.rows,watchChecksHasMore:t.hasMore}};case"live/watchChecksAppend":return{...e,live:{...e.live,active:!0,watchChecks:[...e.live.watchChecks,...t.rows],watchChecksHasMore:t.hasMore}};case"live/hydrateSuggestionTasks":{const g=bAt(t.rows),v=g.some(y=>y.id===e.recActive);return{...e,recommendations:g,recActive:v?e.recActive:((s=g[0])==null?void 0:s.id)??"",live:{...e.live,active:!0,suggestionTaskRows:t.rows,suggestionsError:"",recommendationsHasMore:t.hasMore}}}case"live/appendSuggestionTasks":{const g=bAt(t.rows),v=new Set(e.recommendations.map(A=>A.id)),y=[...e.recommendations,...g.filter(A=>!v.has(A.id))];return{...e,recommendations:y,live:{...e.live,recommendationsHasMore:t.hasMore}}}case"live/appendWatches":{const g=new Set(e.live.watchRows.map(y=>y.watch_id)),v=[...e.live.watchRows,...t.rows.filter(y=>!g.has(y.watch_id))];return{...e,live:{...e.live,watchRows:v,watchRowsHasMore:t.hasMore}}}case"live/suggestionConversation":return{...e,recommendations:e.recommendations.map(g=>g.id===t.id?{...g,conversationId:t.conversationId}:g)};case"live/hydrateAdvice":{const g=new Map(e.live.groupOptions.map(v=>[v.key,v.label]));return{...e,advice:n3e(t.rows,g,e.live.adoptedMarks),live:{...e.live,active:!0,adviceRows:t.rows,adviceTotal:t.total,adviceDateFrom:t.dateFrom||e.live.adviceDateFrom,adviceDateTo:t.dateTo||e.live.adviceDateTo}}}case"live/hydrateAdviceCounts":return{...e,live:{...e.live,active:!0,adviceCounts:t.counts}};case"live/adopted":{const g=String(t.id),v={...e.live.adoptedMarks,[g]:{matterId:t.matterId,at:new Date().toISOString().slice(0,10)}},y=new Map(e.live.groupOptions.map(A=>[A.key,A.label]));return{...e,advice:n3e(e.live.adviceRows,y,v),exportNote:"",live:{...e.live,adoptedMarks:v,notice:t.matterId?`已采纳并立项:事项 ${t.matterId}`:"已采纳并立项。"}}}case"live/hydrateMatters":{const g=pfn(t.rows),v=g.some(y=>y.id===e.current);return{...e,jobs:g,current:v?e.current:((o=g[0])==null?void 0:o.id)??"",live:{...e.live,active:!0,matterRows:t.rows}}}case"live/matterDispatched":return{...e,jobs:e.jobs.map(g=>g.id===t.id?{...g,state:"执行中"}:g),note:"已交办 · 等待执行回执,效果将另行判定。"};case"live/hydrateGroups":{const{options:g,labels:v}=ufn(t.payload);return{...e,advice:e.live.adviceRows.length?n3e(e.live.adviceRows,v,e.live.adoptedMarks):e.advice,live:{...e.live,active:!0,agentGroups:t.payload,groupOptions:g}}}case"watch/confirmPending":{const g=e.live.watchRows.map(y=>y.watch_id===t.watchId?{...y,status:"active"}:y),v=e.watchSaved&&e.watchSaved.watchId===t.watchId?{...e.watchSaved,pendingConfirm:!1,paused:!1}:e.watchSaved;return{...e,watchSaved:v,live:{...e.live,watchRows:g,notice:"盯住已确认生效。"}}}case"watch/deleted":{const g=t.watchId,v=e.page==="watch"&&((l=e.watchSaved)==null?void 0:l.watchId)===g;return{...e,page:v?"home":e.page,pageBack:v?null:e.pageBack,watchSaved:((u=e.watchSaved)==null?void 0:u.watchId)===g?null:e.watchSaved,watchEdit:!1,live:{...e.live,watchRows:e.live.watchRows.filter(y=>y.watch_id!==g),watchDetail:((d=e.live.watchDetail)==null?void 0:d.watch_id)===g?null:e.live.watchDetail,watchDeleteTarget:null}}}case"live/hydrateWorkspaceMe":{const g=Afn(t.me);return g?{...e,persona:g.personaKey,permission:{role:g.personaText||e.permission.role,scope:g.scopeLines.join(" · ")||e.permission.scope,action:g.canActText||e.permission.action,auto:g.auto},live:{...e.live,active:!0,me:g,meRaw:t.me}}:{...e,live:{...e.live,active:!0,me:null,meRaw:t.me}}}case"live/hydrateMembers":{const g=xfn(t.rows);let v=e.live.memberTarget;if(!g.some(y=>y.userId&&y.userId===v)){const y=(h=e.live.me)==null?void 0:h.userId;v=((f=g.find(A=>A.userId&&A.userId===y))==null?void 0:f.userId)??((p=g[0])==null?void 0:p.userId)??""}return{...e,live:{...e.live,active:!0,members:g,memberTarget:v}}}case"live/mePermissionSaved":{const g=e.live.me;return g?{...e,live:{...e.live,me:{...g,canViewText:t.canViewText??g.canViewText,canActText:t.canActText??g.canActText,needsApprovalText:t.needsApprovalText??g.needsApprovalText}}}:e}case"live/permissionSaved":{const g=e.live.members.find(v=>v.userId===e.live.memberTarget)??e.live.members[0];return{...e,permission:{...e.permission,scope:t.scope,action:t.action,auto:t.auto},enterpriseNotice:`已保存 · ${(g==null?void 0:g.name)||"成员"}的授权范围与动作边界已更新。`,memberEdit:!1}}case"live/hydrateKnowledge":return{...e,live:{...e.live,active:!0,knowledgeCards:bfn(t.rows)}};case"live/watchParsed":{if(e.watchStage==="saved"&&((m=e.watchSaved)==null?void 0:m.topic)===t.text)return{...e,live:{...e.live,watchParsed:t.parsed}};const v=t.parsed?mfn(t.parsed,t.text,t.edit,t.saved):s3e(t.text,t.edit,t.saved);return{...e,watchText:t.text,watchProposal:v,watchStage:e.live.mode||v.product?"confirm":"choose",live:{...e.live,watchParsed:t.parsed}}}case"live/watchCreated":{const g={product:t.proposal.product??"盯住的事",paused:!1,watchId:t.watchId??void 0,pendingConfirm:!t.confirmed,topic:t.proposal.task||e.watchText,originalText:t.proposal.originalText,notifyText:t.proposal.notifyText};return{...e,watchSaved:g,watchStage:"saved",live:{...e.live,notice:t.confirmed?"盯住已创建并确认生效。":t.watchId?"盯住已创建,等待确认后生效。":"盯住已创建。"}}}case"live/exported":return{...e,exportCsv:t.csv,exportNote:t.note};case"live/streamStart":{const g=e.live.stream,v={...e.live.runs};g&&g.status==="streaming"&&g.conversationId&&g.conversationId!==t.conversationId&&(v[g.conversationId]={runId:g.runId,question:g.question,startedAt:g.startedAt,stopping:g.stopping});const y={...e.live.sendNotices};return t.conversationId&&(delete v[t.conversationId],t.recovered||delete y[t.conversationId]),{...e,page:t.surface==="detail"?"detail":t.surface==="c12"?"conversation12":t.surface==="chat"?"chat":e.page,live:{...e.live,runs:v,sendNotices:y,stream:{surface:t.surface,conversationId:t.conversationId,runId:t.runId??null,question:t.question,thinking:"",steps:[],facts:[],answer:"",status:"streaming",startedAt:t.startedAt??Date.now(),durationMs:null,slow:!1,error:"",stopping:!1,stopped:!1,recovered:t.recovered??!1,delivery:null}}}}case"live/streamBound":{const g=e.live.stream;if(!g)return e;const v=t.conversationId??g.conversationId,y={...e.live.runs};return v&&delete y[v],{...e,live:{...e.live,runs:y,stream:{...g,conversationId:v,runId:t.runId}}}}case"live/streamThinking":{const g=e.live.stream;return g?{...e,live:{...e.live,stream:{...g,thinking:Sfn(t.text),slow:!1}}}:e}case"live/streamStep":{const g=e.live.stream;if(!g)return e;const v=Cfn(t.step.name);if(!v)return e;const y={...t.step,name:v},A=g.steps.map(x=>x.name).lastIndexOf(y.name),b=A>=0?g.steps.map((x,C)=>C===A?{...x,...y}:x):[...g.steps,{...y,ts:Date.now()}];return{...e,live:{...e.live,stream:{...g,steps:b,slow:!1}}}}case"live/streamSlow":{const g=e.live.stream;return!g||g.status!=="streaming"?e:{...e,live:{...e.live,stream:{...g,slow:t.value}}}}case"live/streamDone":{const g=e.live.stream;return g?{...e,live:{...e.live,runs:dee(e.live.runs,g.conversationId),stream:{...g,status:"done",answer:t.answer,facts:t.facts,durationMs:g.durationMs??Date.now()-g.startedAt,slow:!1,stopping:!1,stopped:t.stopped??!1,delivery:t.delivery??null}}}:e}case"live/streamError":{const g=e.live.stream;return g?{...e,live:{...e.live,runs:dee(e.live.runs,g.conversationId),stream:{...g,status:"error",error:t.message,durationMs:g.durationMs??Date.now()-g.startedAt,slow:!1,stopping:!1}}}:{...e,live:{...e.live,error:t.message}}}case"live/streamStopping":{const g=e.live.stream,v=g&&g.status==="streaming"&&g.conversationId===t.conversationId?g:null,y=e.live.runs[t.conversationId];return!v&&!y?e:{...e,live:{...e.live,stream:v?{...v,stopping:t.value}:g,runs:y?{...e.live.runs,[t.conversationId]:{...y,stopping:t.value}}:e.live.runs}}}case"live/streamDiscard":{const g=e.live.stream;return!g||g.status!=="streaming"||g.conversationId!==t.conversationId?e:{...e,live:{...e.live,stream:null}}}case"live/runSettled":return e.live.runs[t.conversationId]?{...e,live:{...e.live,runs:dee(e.live.runs,t.conversationId)}}:e;case"live/runRegister":{const g=e.live.stream;if(g&&g.status==="streaming"&&g.conversationId===t.conversationId)return e;const v=e.live.runs[t.conversationId];return{...e,live:{...e.live,runs:{...e.live.runs,[t.conversationId]:{runId:t.runId,question:t.question??(v==null?void 0:v.question)??"",startedAt:t.startedAt??(v==null?void 0:v.startedAt)??Date.now(),stopping:(v==null?void 0:v.stopping)??!1}}}}}case"live/sendNotice":return{...e,live:{...e.live,sendNotices:{...e.live.sendNotices,[t.conversationId]:t.text}}};case"live/sendNoticeClear":return t.conversationId in e.live.sendNotices?{...e,live:{...e.live,sendNotices:dee(e.live.sendNotices,t.conversationId)}}:e;case"live/turnsLoading":return{...e,live:{...e.live,turnsLoading:t.conversationId}};case"live/turnsLoaded":return{...e,live:{...e.live,turnsLoading:e.live.turnsLoading===t.conversationId?null:e.live.turnsLoading,lastRunIds:t.lastRunId===void 0?e.live.lastRunIds:{...e.live.lastRunIds,[t.conversationId]:t.lastRunId},turns:{...e.live.turns,[t.conversationId]:[...t.turns].sort((g,v)=>g.turn_no-v.turn_no||(g.role===v.role?0:g.role==="user"?-1:1))}}};default:return e}}function dee(e,t){if(!t||!(t in e))return e;const r={...e};return delete r[t],r}const hee=[0,1500,4e3];async function u3e(e){const{data:t}=await Dtt({conversation_id:e,limit:200});return qwe(t).filter(r=>!!r.artifact_id)}function Kfn(e){const t=new Map;for(const r of e??[]){const n=r.run_id?String(r.run_id):"";if(!n)continue;const i=t.get(n);i?i.push(r):t.set(n,[r])}return t}function Jfn(e){return e.oss_url?e.oss_url:`${Gi()}/api/v1/cognitive/artifacts/${e.artifact_id}/download`}function Xfn(e,t,r,n){if(!r)return;let i=0,a=!1;const s=async()=>{if(!a){try{if(await e.refetchQueries({queryKey:t,exact:!0}),(e.getQueryData(t)??[]).some(u=>n?u.run_id&&String(u.run_id)===String(n)||u.kind==="data":!!u.artifact_id)||i>=hee.length-1){a=!0;return}}catch{if(i>=hee.length-1){a=!0;return}}i+=1,setTimeout(s,hee[i])}};setTimeout(s,hee[0])}function $u(e){const t=(e==null?void 0:e.data)??e;return t==null||typeof t!="object"?null:t}function Fx(e,t=[]){const r=(e==null?void 0:e.data)??e;if(Array.isArray(r))return r;for(const n of[...t,"items","list","rows","data"]){const i=r==null?void 0:r[n];if(Array.isArray(i))return i}if(r&&typeof r=="object"){for(const n of Object.values(r))if(Array.isArray(n))return n}return[]}function d3e(e,t){const r=(e==null?void 0:e.data)??e,n=r==null?void 0:r.items;return Array.isArray(n)?n:t}function h3e(e){const t=(e==null?void 0:e.data)??e;return!!(t!=null&&t.has_more)}function Xi(e){if(!e)return"请求失败";const t=e,r=(t==null?void 0:t.data)??t;return typeof(r==null?void 0:r.message)=="string"&&r.message?r.message:typeof(t==null?void 0:t.message)=="string"&&t.message?t.message:t!=null&&t.status?`HTTP ${t.status}`:"请求失败"}function _fn(e){var i,a,s,o;const t=e;if(((t==null?void 0:t.status)??((i=t==null?void 0:t.data)==null?void 0:i.code)??((a=t==null?void 0:t.data)==null?void 0:a.status)??((s=t==null?void 0:t.response)==null?void 0:s.status))===409)return!0;const n=String((t==null?void 0:t.message)??((o=t==null?void 0:t.data)==null?void 0:o.message)??"");return/409|conflict|已确认过|重复确认/.test(n)}function $fn(e){var n,i,a;const t=e;return((t==null?void 0:t.status)??((n=t==null?void 0:t.data)==null?void 0:n.code)??((i=t==null?void 0:t.data)==null?void 0:i.status)??((a=t==null?void 0:t.response)==null?void 0:a.status))===429}async function epn(e=50){const t=await E9r({limit:e});return Fx(t,["conversations"])}async function f3e(e){const t=await C9r(e,{});return $u(t)}async function TAt(e={}){const t=await M9r({...e,limit:e.limit??10});return{items:d3e(t,Fx(t,["watches"])),has_more:h3e(t)}}async function tpn(e){const t=await z9r(e,{});return $u(t)}async function RAt(e,t={}){const r=await P9r(e,{limit:t.limit??50,...t.beforeId!=null?{before_id:Number(t.beforeId)}:{}});return{items:d3e(r,Fx(r,["checks"])),has_more:h3e(r)}}async function rpn(){const e=await W9r({});return $u(e)}async function npn(e=10){const t=await U9r({limit:e}),r=$u(t)??{};return{items:Array.isArray(r.items)?r.items:[],note:typeof r.note=="string"?r.note:""}}async function kAt(e={}){const t=await Z9r({...e,limit:e.limit??10});return{items:d3e(t,Fx(t,["tasks"])),has_more:h3e(t)}}async function ipn(){const e=await j9r();return $u(e)}async function fee(e){const t=await q9r({status:e.status,limit:e.limit,offset:e.offset,business_type:e.businessType||void 0,group_code:e.groupCode||void 0,agent_id:e.agentId||void 0,agent_code:e.agentCode||void 0,created_from:e.createdFrom||void 0,created_to:e.createdTo||void 0,range:e.range}),r=(t==null?void 0:t.data)??t,n=Array.isArray(r==null?void 0:r.items)?r.items:[];return{items:n,total:Number((r==null?void 0:r.total)??n.length),has_more:!!(r!=null&&r.has_more),dateFrom:String((r==null?void 0:r.date_from)??""),dateTo:String((r==null?void 0:r.date_to)??"")}}async function apn(){const e=await _9r({});return $u(e)}async function spn(){const e=await tzr({});return Fx(e,["members"])}async function opn(e=50){const t=await Y9r({limit:e});return Fx(t,["matters"])}async function lpn(e={}){const t=await p9r({limit:e.limit??50,status:e.status});return Fx(t,["items","knowledge","docs"])}async function cpn(e){const t=await A9r(e);return $u(t)}async function upn(e){const t=await I9r(e);return $u(t)}async function dpn(e){await k9r(e,{})}async function hpn(e){await T9r(e,{})}async function fpn(e){const t=await y9r(e);return $u(t)}async function ppn(e,t){await S9r(e,{},{title:t})}async function mpn(e,t){const r=await F9r({},{text:e});return $u(r)}async function gpn(e){const t=await N9r(e);return $u(t)}async function MAt(e){await L9r(e,{})}async function vpn(e){await D9r(e,{})}async function ypn(e){await V9r(e,{})}async function bpn(e){await O9r(e,{})}async function Apn(e,t){await B9r(e,{},t)}async function xpn(e){const t=typeof e=="number"?e:Number(e);if(!Number.isFinite(t))throw new Error("建议缺少数字主键,无法采纳");const r=await Q9r(t,{});return $u(r)}async function Epn(e){await H9r(e,{})}async function Ipn(e){await K9r(e,{})}async function Cpn(e){await J9r(e,{})}async function NAt(e){const t=await X9r(e,{});return $u(t)}async function Spn(e){await izr({},e)}async function wpn(e){await x9r(e)}async function Tpn(e){await $9r({},e)}async function Rpn(e){await ezr({},e)}async function kpn(e=50){const t=await nzr({limit:e});return Fx(t,["items","history","records"])}async function Mpn(e,t={}){await G9r(e,{},t)}async function Npn(e,t){await rzr(e,{},t)}async function zpn(e){try{const t=await Ht.download({method:"GET",url:"/api/v1/cognitive/agent-suggestions/export",params:e,requestType:"json"});return{blob:t,text:await t.text()}}catch(t){const r=t==null?void 0:t.data;if(r instanceof Blob){const n=await r.text().then(i=>{try{return JSON.parse(i)}catch{return null}},()=>null);if(typeof(n==null?void 0:n.message)=="string"&&n.message)throw new Error(n.message)}throw t}}async function Opn(e){var i;const r=await g9r(e,{limit:200});return(Array.isArray((i=r==null?void 0:r.data)==null?void 0:i.items)?r.data.items:[]).filter(a=>!!a&&typeof a.card_id=="string"&&typeof a.shape=="string")}async function Bpn(e,t,r){return(await m9r(e,{},{action_id:t,text:r||"",channel:"web"})).data??{status:"duplicate"}}async function zAt(e,t){if(!e.body)throw new Error("No response body");const r=e.body.getReader(),n=new TextDecoder;let i="",a=null;const s=o=>{var u,d,h,f;const l=o.trim();if(!l||((u=t.onActivity)==null||u.call(t),l.startsWith(":")))return!1;if(l.startsWith("event:"))return a=l.slice(6).trim(),!1;if(l.startsWith("data:")&&a){const p=l.slice(5).trim(),m=((d=t.eventAliases)==null?void 0:d[a])??a;if(p==="[DONE]")return a=null,!0;try{const g=JSON.parse(p);m==="run_event"?(h=t.onRunEvent)==null||h.call(t,g):t.onFrame({type:m,data:g})}catch{}return a=null,((f=t.isTerminal)==null?void 0:f.call(t,m))??!1}return!1};for(;;){const{done:o,value:l}=await r.read();if(o)break;i+=n.decode(l,{stream:!0});const u=i.split(`
788
788
  `);i=u.pop()??"";for(const d of u)if(s(d)){await r.cancel().catch(()=>{});return}}if(i+=n.decode(),i.trim()){for(const o of i.split(`
789
789
  `))if(s(o)){await r.cancel().catch(()=>{});return}}}async function Ppn(e,t,r){const n=await fetch(`${Gi()}${e}`,{method:"POST",headers:{...fG(),Accept:"text/event-stream"},body:JSON.stringify(t),signal:r.signal});if(n.status===401&&DVe(`${Gi()}${e}`,!0)){VVe(),window.location.replace("/");return}if(!n.ok){const a=await n.json().catch(()=>null),s=new Error(typeof(a==null?void 0:a.message)=="string"&&a.message?a.message:`HTTP ${n.status}`);throw s.status=n.status,s}const i=n.headers.get("content-type")||"";if(!n.body||!i.includes("text/event-stream")){const a=await n.json().catch(()=>null);if(a&&typeof a=="object"){if(a.success===!1)throw new Error(a.message||"请求失败");r.onFrame({type:"complete",data:a.data??a});return}throw new Error("响应不是事件流")}await zAt(n,r)}async function Dpn(e,t){await Ppn("/api/v1/cognitive/ask/stream",e,t)}async function z7(e){const t=await v9r(e);return $u(t)}async function OAt(e){const t=await b9r(e);return $u(t)}async function BAt(e,t){const r=await fetch(`${Gi()}/api/v1/cognitive/runs/${e}/events/stream?after_seq=${t.afterSeq??0}`,{headers:{...fG(),Accept:"text/event-stream"},signal:t.signal});if(!r.ok)throw new Error(`HTTP ${r.status}`);await zAt(r,{...t,eventAliases:{run_event:"run_event"}})}const Us="wandox-cognitive",an={root:[Us],conversations:[Us,"conversations"],conversation:e=>[Us,"conversation",e],conversationArtifacts:e=>[Us,"conversation-artifacts",e],conversationFiles:e=>[Us,"conversation-files",e],conversationSources:e=>[Us,"conversation-sources",e],conversationFacts:e=>[Us,"conversation-facts",e],conversationCards:e=>[Us,"conversation-cards",e],status:[Us,"status"],homeFindings:[Us,"home-findings"],watches:[Us,"watches"],watchDetail:e=>[Us,"watch",e],watchChecks:e=>[Us,"watch-checks",e],suggestionTasks:[Us,"suggestion-tasks"],suggestionTask:e=>[Us,"suggestion-task",e],agentGroups:[Us,"agent-groups"],agentSuggestions:[Us,"agent-suggestions"],matters:[Us,"matters"],workspaceMe:[Us,"workspace-me"],workspaceMembers:[Us,"workspace-members"],permissionHistory:[Us,"permission-history"],knowledge:[Us,"knowledge"],knowledgeDetail:e=>[Us,"knowledge-detail",String(e)]};function Lpn(e){const t=e.trim();if(!t)return{businessType:void 0,groupCode:void 0};const r=t.indexOf(":");return r<0?{businessType:t,groupCode:void 0}:{businessType:t.slice(0,r),groupCode:t.slice(r+1)}}function Vpn(e,t,r,n=null,i){var W;const a=Ui({queryKey:an.conversations,queryFn:()=>epn(),enabled:e}),s=Ui({queryKey:an.status,queryFn:()=>rpn(),enabled:e,refetchInterval:6e4}),o=Ui({queryKey:an.watches,queryFn:()=>TAt(),enabled:e,refetchInterval:3e4}),l=Ui({queryKey:an.suggestionTasks,queryFn:()=>kAt(),enabled:e}),u=Ui({queryKey:an.agentGroups,queryFn:()=>ipn(),enabled:e}),d=i??{tab:"待采纳",domain:"",agentFilter:"",dateFrom:"",dateTo:"",page:1,pageSize:10},h=Lpn(d.domain),f=Ui({queryKey:[...an.agentSuggestions,d.tab,d.domain,d.agentFilter,d.dateFrom,d.dateTo,d.page,d.pageSize],queryFn:()=>fee({status:EAt[d.tab]??"pending",limit:d.pageSize,offset:(d.page-1)*d.pageSize,businessType:h.businessType,groupCode:h.groupCode,agentId:d.agentFilter||void 0,createdFrom:d.dateFrom||void 0,createdTo:d.dateTo||void 0}),enabled:i!==void 0,placeholderData:Z=>Z}),p=Ui({queryKey:[...an.agentSuggestions,"counts",d.domain,d.agentFilter,d.dateFrom,d.dateTo],queryFn:async()=>{const Z={limit:1,offset:0,businessType:h.businessType,groupCode:h.groupCode,agentId:d.agentFilter||void 0,createdFrom:d.dateFrom||void 0,createdTo:d.dateTo||void 0},[H,K,J]=await Promise.all([fee({...Z,status:"pending"}),fee({...Z,status:"accepted"}),fee({...Z,status:"dismissed"})]);return{pending:H.total,accepted:K.total,dismissed:J.total}},enabled:i!==void 0,placeholderData:Z=>Z}),m=Ui({queryKey:an.matters,queryFn:()=>opn(),enabled:e}),g=Ui({queryKey:an.workspaceMe,queryFn:()=>apn(),enabled:e}),v=Ui({queryKey:an.workspaceMembers,queryFn:()=>spn(),enabled:e}),y=Ui({queryKey:an.knowledge,queryFn:()=>lpn(),enabled:e}),A=Ui({queryKey:an.conversation(r??"none"),queryFn:()=>f3e(r),enabled:!!r}),b=Ui({queryKey:an.conversationCards(r??"none"),queryFn:()=>Opn(r),enabled:!!r,staleTime:15e3});I.useEffect(()=>{const Z=b.data;Z&&Z.length>0&&t({type:"live/cardsHydrate",cards:Z})},[b.data,t]),Ui({queryKey:an.conversationArtifacts(r??"none"),queryFn:()=>u3e(r),enabled:!!r,staleTime:3e4});const x=Ui({queryKey:an.watchDetail(n??"none"),queryFn:()=>tpn(n),enabled:!!n}),C=Ui({queryKey:an.watchChecks(n??"none"),queryFn:()=>RAt(n),enabled:!!n}),w=a.data;I.useEffect(()=>{w&&t({type:"live/hydrateConversations",rows:w})},[w,t]);const S=s.data;I.useEffect(()=>{S&&t({type:"live/hydrateStatus",row:S})},[S,t]);const T=a.error;I.useEffect(()=>{T&&t({type:"live/conversationsError",message:Xi(T)})},[T,t]);const R=l.error;I.useEffect(()=>{R&&t({type:"live/suggestionsError",message:Xi(R)})},[R,t]);const M=o.data;I.useEffect(()=>{M&&t({type:"live/hydrateWatches",rows:M.items,hasMore:M.has_more})},[M,t]);const k=l.data;I.useEffect(()=>{k&&t({type:"live/hydrateSuggestionTasks",rows:k.items,hasMore:k.has_more})},[k,t]);const z=u.data;I.useEffect(()=>{z!==void 0&&t({type:"live/hydrateGroups",payload:z})},[z,t]);const O=f.data;I.useEffect(()=>{O&&t({type:"live/hydrateAdvice",rows:O.items,total:O.total,dateFrom:O.dateFrom,dateTo:O.dateTo})},[O,t]);const N=p.data;I.useEffect(()=>{N&&t({type:"live/hydrateAdviceCounts",counts:N})},[N,t]);const B=m.data;I.useEffect(()=>{B&&t({type:"live/hydrateMatters",rows:B})},[B,t]);const P=g.data;I.useEffect(()=>{P!==void 0&&t({type:"live/hydrateWorkspaceMe",me:P})},[P,t]);const D=v.data;I.useEffect(()=>{D&&t({type:"live/hydrateMembers",rows:D})},[D,t]);const L=y.data;I.useEffect(()=>{L&&t({type:"live/hydrateKnowledge",rows:L})},[L,t]);const V=A.data;I.useEffect(()=>{V&&t({type:"live/turnsLoaded",conversationId:V.conversation_id??r,turns:V.turns??[],lastRunId:typeof V.last_run_id=="string"&&V.last_run_id?V.last_run_id:null})},[V,r,t]);const F=A.isPending;I.useEffect(()=>{r&&F&&t({type:"live/turnsLoading",conversationId:r})},[F,r,t]);const j=x.data;I.useEffect(()=>{if(!n){t({type:"live/watchDetailLoaded",row:null});return}j!==void 0&&t({type:"live/watchDetailLoaded",row:j})},[e,n,j,t]);const G=C.data;I.useEffect(()=>{if(!n){t({type:"live/watchChecksLoaded",rows:[],hasMore:!1});return}G!==void 0&&t({type:"live/watchChecksLoaded",rows:G.items??[],hasMore:G.has_more})},[e,n,G,t]);const Q=[a,s,o,l,u,f,m,g,v,y].some(Z=>Z.isPending);I.useEffect(()=>{t({type:"live/loading",value:Q})},[Q,t]);const Y=(W=[a,s,o,l,u,f,m,g,v,y,A].find(Z=>Z.error))==null?void 0:W.error;I.useEffect(()=>{Y&&t({type:"live/error",message:Xi(Y)})},[Y,t])}function Fpn(e,t){return Ui({queryKey:an.knowledgeDetail(t??"none"),queryFn:()=>t===null?Promise.resolve(null):cpn(t),enabled:e&&t!==null,staleTime:5*60*1e3})}function jpn(e){return Ui({queryKey:an.permissionHistory,queryFn:()=>kpn(),enabled:e,staleTime:60*1e3})}function p3e(e){return e?`conv:${e}`:"new"}const m3e="misc",qpn=8e3,PAt="已按你的要求停止,本轮尚未形成结论。";function DAt(e){return e.stopped===!0||String(e.status??"")==="cancelled"}function LAt(e){return String(e.step_name??"").trim()==="正在停止"}function g3e(e){return!e||e==="running"||e==="cancelling"}function Qpn(e,t,r){const n=e.live.turns[t]??[],i=r?n.find(a=>a.role==="user"&&String(a.run_id??"")===r):void 0;if(i)return i.content;for(let a=n.length-1;a>=0;a-=1)if(n[a].role==="user")return n[a].content;return""}const Ypn=new Set(["detail","chat","conversation12"]);function VAt(e){var n;if(!Ypn.has(e.page))return null;const t=(n=e.live.stream)==null?void 0:n.conversationId;if(typeof t=="string"&&t)return t;const r=e.chats12.find(i=>i.id===e.chat12);return r!=null&&r.live?String(r.id):null}function pee(e){const t=(e==null?void 0:e.conclusion)??(e==null?void 0:e.answer);if(typeof t=="string")return t;if(t&&typeof t=="object"){const r=t.conclusion;return typeof r=="string"?r:JSON.stringify(t)}return""}function Gpn(e){const t=e.trim();return t?/^call_\d+$/i.test(t)||/^版本链v_\d+$/i.test(t)?"查证":/^user_corrected$/i.test(t)?"用户修正":t:""}function FAt(e){const t=e==null?void 0:e.facts;return Array.isArray(t)?t.filter(r=>!!r&&typeof r=="object").map(r=>({fact:String(r.fact??r.content??""),nature:String(r.nature??""),factSource:Gpn(String(r.fact_source??r.source??"")),objectName:String(r.object_name??""),status:String(r.status??"")})).filter(r=>!!r.fact):[]}function jAt(e){const t=e==null?void 0:e.delivery;if(!t||typeof t!="object")return null;const r=t,n=Number(r.claimed),i=Number(r.delivered);return!Number.isFinite(n)||!Number.isFinite(i)?null:{claimed:n,delivered:i,complete:r.complete===!0||n<=i,kind:typeof r.kind=="string"?r.kind:null,artifact_url:typeof r.artifact_url=="string"?r.artifact_url:null,note:typeof r.note=="string"?r.note:null}}const Wpn=45e3,Upn=9e4;function JV(e,t){e.invalidateQueries({queryKey:an.conversations}),typeof t=="string"&&t&&e.invalidateQueries({queryKey:an.conversation(t)})}async function Zpn(e,t){try{const r=await xpn(t);e.dispatch({type:"live/adopted",id:t,matterId:(r==null?void 0:r.matter_id)??null}),e.qc.invalidateQueries({queryKey:an.agentSuggestions}),e.qc.invalidateQueries({queryKey:an.matters})}catch(r){e.dispatch({type:"live/error",message:`采纳失败:${Xi(r)}`})}}async function qAt(e,t,r,n){const i=e.getState(),a=(t??i.watchDraft).trim();if(!a){e.releaseSend();return}const s=r??i.watchEdit,o=n!==void 0?n:i.watchSaved;try{const l=await mpn(a);e.dispatch({type:"live/watchParsed",text:a,parsed:l,edit:s,saved:o})}catch(l){e.dispatch({type:"live/watchParsed",text:a,parsed:null,edit:s,saved:o}),e.dispatch({type:"live/error",message:`解析服务暂不可用:${Xi(l)}`})}finally{e.releaseSend()}}async function Hpn(e){var l,u,d,h,f;const t=e.getState(),r=t.watchProposal;if(!(r!=null&&r.product)){e.releaseSend();return}const n=((l=t.live.watchParsed)==null?void 0:l.proposal)??null,i=t.live.watchParsed??null,a={topic:String((i==null?void 0:i.task)??(n==null?void 0:n.task)??((u=n==null?void 0:n.check_spec)==null?void 0:u.topic)??r.task??t.watchText??"").slice(0,200)};r.product&&(a.title=r.product);const s=(i==null?void 0:i.schedule_type)??((d=n==null?void 0:n.schedule)==null?void 0:d.schedule_type)??"";s&&(a.schedule_type=String(s));const o=((i==null?void 0:i.schedule)??((h=n==null?void 0:n.schedule)==null?void 0:h.schedule_value)??r.scheduleValue??"").trim();if(o&&(a.schedule_value=o),i!=null&&i.original_text&&(a.original_text=i.original_text),!t.watchEdit&&e.watchOrigin.current&&(a.origin_conversation_id=e.watchOrigin.current),!a.topic){e.dispatch({type:"live/error",message:"创建盯住失败:缺少任务文本。"}),e.releaseSend();return}try{if(t.watchEdit&&((f=t.watchSaved)!=null&&f.watchId)){const p={topic:a.topic};a.title&&(p.title=a.title),a.schedule_value&&(p.schedule_value=a.schedule_value),await Apn(t.watchSaved.watchId,p),e.dispatch({type:"watch/confirm"}),e.dispatch({type:"live/notice",text:"盯住配置已更新。"})}else{const p=await gpn(a),m=typeof(p==null?void 0:p.watch_id)=="string"?p.watch_id:null;let g=!1;if(m)try{await MAt(m),g=!0}catch{}e.dispatch({type:"live/watchCreated",watchId:m,proposal:r,confirmed:g})}e.qc.invalidateQueries({queryKey:an.watches})}catch(p){e.dispatch({type:"live/error",message:`创建盯住失败:${Xi(p)}`})}finally{e.releaseSend()}}async function Kpn(e,t){try{await MAt(t),e.dispatch({type:"watch/confirmPending",watchId:t}),e.qc.invalidateQueries({queryKey:an.watches})}catch(r){e.dispatch({type:"live/error",message:`确认失败:${Xi(r)}`})}finally{e.releaseSend()}}async function Jpn(e){const r=e.getState().watchSaved;if(!(r!=null&&r.watchId)){e.dispatch({type:"watch/pause"}),e.releaseSend();return}const n=r.paused;try{n?await ypn(r.watchId):await vpn(r.watchId),e.dispatch({type:"watch/pause"}),e.dispatch({type:"live/notice",text:n?"已恢复盯住。":"已暂停盯住。"}),e.qc.invalidateQueries({queryKey:an.watches})}catch(i){e.dispatch({type:"live/error",message:`操作失败:${Xi(i)}`})}finally{e.releaseSend()}}async function Xpn(e,t){try{await bpn(t),e.dispatch({type:"watch/deleted",watchId:t}),e.dispatch({type:"live/notice",text:"已删除盯住。"}),e.qc.invalidateQueries({queryKey:an.watches})}catch(r){e.dispatch({type:"live/error",message:`删除失败:${Xi(r)}`})}finally{e.releaseSend()}}async function _pn(e,t){const n=e.getState().recommendations.find(i=>i.id===t);if(!(n!=null&&n.live)){e.dispatch({type:"rec/open",id:t});return}if(n.conversationId){e.dispatch({type:"nav/history"}),e.dispatch({type:"c12/select",id:n.conversationId}),v3e(e,n.conversationId),e.qc.invalidateQueries({queryKey:an.conversations});return}e.dispatch({type:"rec/open",id:t})}async function $pn(e,t){try{const r=await NAt(String(t)),n=typeof(r==null?void 0:r.conversation_id)=="string"?r.conversation_id:null,i=typeof(r==null?void 0:r.run_id)=="string"?r.run_id:null;e.dispatch({type:"rec/open",id:t}),n&&e.dispatch({type:"live/suggestionConversation",id:t,conversationId:n}),i?(e.dispatch({type:"live/streamStart",surface:"recommendation",conversationId:n,question:"现在就查一次"}),e.dispatch({type:"live/streamBound",conversationId:n,runId:i}),emn(e,i,n)):e.dispatch({type:"live/notice",text:"已触发一次调查,结论出来后会在这里显示。"}),e.qc.invalidateQueries({queryKey:an.suggestionTasks}),e.qc.invalidateQueries({queryKey:an.conversations})}catch(r){e.dispatch({type:"live/error",message:`触发调查失败:${Xi(r)}`})}finally{e.releaseSend()}}function emn(e,t,r,n={}){const i=new AbortController;let a=!1;const s=()=>{const u=e.getState().live.stream;return(u==null?void 0:u.surface)===(n.surface??"recommendation")&&(u.runId===t||u.conversationId===r)},o=u=>{if(a||(a=!0,!s()))return;const d=String(u.status??""),h=DAt(u),f=pee(u)||(h?PAt:"");!h&&d&&d!=="success"&&d!=="completed"&&!f?e.dispatch({type:"live/streamError",message:String(u.error||u.hint||`运行状态:${d}`)}):e.dispatch({type:"live/streamDone",answer:f,facts:FAt(u),stopped:h,delivery:jAt(u)}),r&&e.qc.invalidateQueries({queryKey:an.conversation(r)}),e.qc.invalidateQueries({queryKey:an.conversations}),e.qc.invalidateQueries({queryKey:an.suggestionTasks})},l=u=>{if(!s())return;const d=u.payload&&typeof u.payload=="object"?u.payload:{},h=String(u.event_type??"");if(h.startsWith("tool/")){const p=String(d.step_name??d.tool??d.name??h).trim();if(!p)return;e.dispatch({type:"live/streamStep",step:{name:p,status:String(d.status??(h.endsWith("started")?"running":"done")),note:typeof d.note=="string"?d.note:""}});return}const f=d.message??d.summary??d.phase??u.phase;typeof f=="string"&&f.trim()&&e.dispatch({type:"live/streamThinking",text:f.trim()})};BAt(t,{afterSeq:0,signal:i.signal,isTerminal:u=>u==="complete"||u==="error",onRunEvent:l,onFrame:u=>{const d=u.data??{};if(u.type==="card"){d&&typeof d.card_id=="string"&&e.dispatch({type:"live/cardUpsert",card:d});return}u.type==="thinking"?typeof d.message=="string"&&d.message&&e.dispatch({type:"live/streamThinking",text:d.message}):u.type==="step"?e.dispatch({type:"live/streamStep",step:{name:typeof d.step_name=="string"&&d.step_name||"处理中",status:String(d.status??"running"),note:typeof d.note=="string"?d.note:""}}):u.type==="complete"?pee(d)?o(d):z7(t).then(h=>{const f=h!=null&&h.judgment&&typeof h.judgment=="object"?h.judgment:{};o({...h??{},...f,status:String((h==null?void 0:h.status)??d.status??"")})}).catch(()=>o({...d,status:String(d.status??"")||"success"})):u.type==="error"&&(a=!0,s()&&e.dispatch({type:"live/streamError",message:String(d.message||"运行失败")}))}}).catch(u=>{i.signal.aborted||a||(a=!0,s()&&e.dispatch({type:"live/streamError",message:Xi(u)}))})}async function tmn(e,t){var i;const n=((i=e.getState().recommendations.find(a=>a.id===t))==null?void 0:i.state)!=="已暂停";try{n?await Epn(String(t)):await Ipn(String(t)),e.dispatch({type:"rec/pause",id:t}),e.qc.invalidateQueries({queryKey:an.suggestionTasks})}catch(a){e.dispatch({type:"live/error",message:`操作失败:${Xi(a)}`})}finally{e.releaseSend()}}async function rmn(e,t){try{await Cpn(String(t)),e.dispatch({type:"rec/cancel",id:t}),e.qc.invalidateQueries({queryKey:an.suggestionTasks})}catch(r){e.dispatch({type:"live/error",message:`操作失败:${Xi(r)}`})}finally{e.releaseSend()}}async function nmn(e){const r=e.getState().recommendations.length;try{const n=await kAt({offset:r,limit:20});e.dispatch({type:"live/appendSuggestionTasks",rows:n.items,hasMore:n.has_more})}catch(n){e.dispatch({type:"live/error",message:`加载更多建议失败:${Xi(n)}`})}}async function imn(e){const r=e.getState().live.watchRows.length;try{const n=await TAt({offset:r,limit:20});e.dispatch({type:"live/appendWatches",rows:n.items,hasMore:n.has_more})}catch(n){e.dispatch({type:"live/error",message:`加载更多盯住失败:${Xi(n)}`})}}async function amn(e){var s;const t=e.getState(),r=((s=t.watchSaved)==null?void 0:s.watchId)??null;if(!r)return;const n=t.live.watchChecks,i=n[n.length-1],a=(i==null?void 0:i.id)??null;if(a!=null)try{const o=await RAt(String(r),{beforeId:a});e.dispatch({type:"live/watchChecksAppend",rows:o.items,hasMore:o.has_more})}catch(o){e.dispatch({type:"live/error",message:`加载更多执行记录失败:${Xi(o)}`})}}async function smn(e){const t=e.getState(),r=t.jobs.find(n=>n.id===t.current);if(!(r!=null&&r.live)){e.dispatch({type:"job/approve"});return}try{await Mpn(String(r.id)),e.dispatch({type:"live/matterDispatched",id:r.id}),e.qc.invalidateQueries({queryKey:an.matters})}catch(n){e.dispatch({type:"live/error",message:`交办失败:${Xi(n)}`})}}async function omn(e,t){const r=t.trim();if(r)try{await Spn({content:r}),e.dispatch({type:"ent/note",value:r}),e.qc.invalidateQueries({queryKey:an.knowledge})}catch(n){e.dispatch({type:"live/error",message:`提交失败:${Xi(n)}`})}}async function lmn(e,t){try{await wpn(t),e.dispatch({type:"live/notice",text:"已撤回草稿。"}),e.qc.invalidateQueries({queryKey:an.knowledge})}catch(r){e.dispatch({type:"live/error",message:_fn(r)?"该素材不是草稿,无法撤回(待审/已生效请走管理台)。":`撤回失败:${Xi(r)}`})}finally{e.releaseSend()}}async function cmn(e,t){try{await Tpn(t),e.dispatch({type:"live/notice",text:"已保存画像,立即生效。"}),e.qc.invalidateQueries({queryKey:an.workspaceMe})}catch(r){e.dispatch({type:"live/error",message:`保存失败:${Xi(r)}`})}finally{e.releaseSend()}}async function umn(e,t){const{field:r,lines:n}=t,i={};r==="can_view"&&(i.can_view=n),r==="can_act"&&(i.can_act=n),r==="needs_approval"&&(i.needs_approval=n);try{await Rpn(i);const a=n.join("、");e.dispatch({type:"live/mePermissionSaved",...r==="can_view"?{canViewText:a}:{},...r==="can_act"?{canActText:a}:{},...r==="needs_approval"?{needsApprovalText:a}:{}}),e.dispatch({type:"live/notice",text:"已保存授权边界,立即生效。"}),e.qc.invalidateQueries({queryKey:an.workspaceMe}),e.qc.invalidateQueries({queryKey:an.permissionHistory})}catch(a){e.dispatch({type:"live/error",message:`保存授权失败:${Xi(a)}`})}finally{e.releaseSend()}}async function dmn(e,t){var s;const r=e.getState(),n=r.live.members.find(o=>o.userId&&o.userId===r.live.memberTarget)??r.live.members[0];if(!(n!=null&&n.userId)){e.dispatch({type:"live/error",message:"未找到可编辑的成员(workspace/members 为空)。"});return}const i=((s=r.live.meRaw)==null?void 0:s.permissions)??null,a={};i!=null&&i.can_view&&typeof i.can_view=="object"&&!Array.isArray(i.can_view)&&(a.can_view=i.can_view),Array.isArray(i==null?void 0:i.needs_approval)&&(a.needs_approval=i.needs_approval),a.can_act=t.action?[t.action]:Array.isArray(i==null?void 0:i.can_act)?i.can_act:[],a.auto_execute=t.auto;try{await Npn(n.userId,a),e.dispatch({type:"live/permissionSaved",scope:t.scope,action:t.action,auto:t.auto}),e.qc.invalidateQueries({queryKey:an.workspaceMe}),e.qc.invalidateQueries({queryKey:an.workspaceMembers})}catch(o){e.dispatch({type:"live/error",message:`保存授权失败:${Xi(o)}`})}}async function QAt(e,t,r){const n=t.slice(0,22);try{const i=await upn({source:"user",title:n}),a=typeof(i==null?void 0:i.conversation_id)=="string"?i.conversation_id:null;if(!a){e.dispatch({type:"live/error",message:"新建会话失败:服务端未返回会话 ID"}),e.releaseSend();return}r!=null?e.dispatch({type:"live/draftBound",draftId:r,conversationId:a,title:n}):e.dispatch({type:"live/conversationUpsert",conversationId:a,title:n,select:!0}),e.qc.invalidateQueries({queryKey:an.conversations}),e.startAsk({question:t,conversationId:a,surface:"c12"},e.lockKey)}catch(i){e.dispatch({type:"live/error",message:`新建会话失败:${Xi(i)}`}),e.releaseSend()}}async function hmn(e,t){if(o3e(e.getState(),t)!=="stopping"){e.dispatch({type:"live/streamStopping",conversationId:t,value:!0});try{const r=await fpn(t),n=String((r==null?void 0:r.status)??"");if(n==="cancelling")return;if(e.dispatch({type:"live/streamStopping",conversationId:t,value:!1}),n==="idle"){e.dispatch({type:"live/runSettled",conversationId:t}),JV(e.qc,t),e.dispatch({type:"live/notice",text:(r==null?void 0:r.note)||"当前没有正在处理的任务。"});return}e.dispatch({type:"live/notice",text:(r==null?void 0:r.note)||"这一轮已经结束,停止未生效。"})}catch(r){e.dispatch({type:"live/streamStopping",conversationId:t,value:!1}),e.dispatch({type:"live/error",message:`停止失败:${Xi(r)}`})}}}async function fmn(e,t){const r=t.trim();if(!r){e.releaseSend();return}const n=e.getState(),i=n.recommendations.find(s=>s.id===n.recActive);if(!(i!=null&&i.live)){e.dispatch({type:"rec/send",value:t}),e.releaseSend();return}let a=typeof i.conversationId=="string"?i.conversationId:null;if(!a)try{const s=await NAt(String(i.id));a=typeof(s==null?void 0:s.conversation_id)=="string"?s.conversation_id:null,a&&e.dispatch({type:"live/suggestionConversation",id:i.id,conversationId:a})}catch(s){e.dispatch({type:"live/error",message:`建议会话准备失败:${Xi(s)}`}),e.releaseSend();return}e.startAsk({question:r,conversationId:a,surface:"recommendation"},e.lockKey)}function v3e(e,t){const r=e.getState().chats12.find(n=>n.id===t);!(r!=null&&r.live)||r.status!=="有更新"||dpn(String(t)).then(()=>void e.qc.invalidateQueries({queryKey:an.conversations})).catch(()=>{})}async function pmn(e,t){try{await hpn(String(t)),e.dispatch({type:"live/conversationArchived",id:t}),e.dispatch({type:"live/notice",text:"会话已删除。"}),e.qc.invalidateQueries({queryKey:an.conversations})}catch(r){e.dispatch({type:"live/error",message:`删除会话失败:${Xi(r)}`})}}async function mmn(e,t,r){try{await ppn(String(t),r),e.dispatch({type:"live/conversationRenamed",id:t,title:r}),e.dispatch({type:"live/notice",text:"会话已重命名。"}),e.qc.invalidateQueries({queryKey:an.conversations})}catch(n){e.dispatch({type:"live/error",message:`重命名会话失败:${Xi(n)}`})}}function gmn(e,t){const r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,document.body.appendChild(n),n.click(),n.remove(),window.setTimeout(()=>URL.revokeObjectURL(r),3e4)}async function vmn(e){var s;const t=e.getState(),r={},n=t.live.groupOptions.find(o=>o.key===t.domain);n!=null&&n.businessType&&(r.business_type=n.businessType),n!=null&&n.groupCode&&(r.group_code=n.groupCode);const a=(((s=t.live.agentGroups)==null?void 0:s.digital_humans)??[]).find(o=>(String(o.agent_id??"")||(o.name??"").trim())===t.agentFilter);(a==null?void 0:a.agent_id)!=null&&(r.agent_id=String(a.agent_id)),t.adviceTab==="待采纳"?r.status="pending":t.adviceTab==="执行历史"?r.status="accepted":r.status="dismissed",t.dateFrom&&(r.created_from=t.dateFrom),t.dateTo&&(r.created_to=t.dateTo);try{const{blob:o,text:l}=await zpn(r);gmn(o,`专家建议-${t.adviceTab}-${t.dateFrom||"不限"}-${t.dateTo||"不限"}.csv`),e.dispatch({type:"live/exported",csv:l,note:"已从服务端导出 CSV(UTF-8 带 BOM),文件开始下载;预览为服务端返回内容。"})}catch(o){e.dispatch({type:"live/error",message:`导出失败:${Xi(o)}`})}}function ymn(e,t,r){var w;const n=I.useRef(t);n.current=t;const i=Ro(),a=I.useRef(null),s=I.useRef(null),o=I.useRef(new Set),l=I.useRef(null),u=I.useRef(new Set),d=I.useRef(new Set),h=I.useRef(async()=>{}),f=I.useCallback(S=>{o.current.delete(S),r({type:"live/sendPending",value:!1})},[r]),p=I.useCallback((S,T)=>{var le;l.current&&o.current.delete(l.current),T&&o.current.delete(T);let R=p3e(S.conversationId);o.current.add(R),l.current=R,(le=a.current)==null||le.abort();const M=new AbortController;a.current=M;const k=S.resume;r({type:"live/streamStart",surface:S.surface,question:S.question,conversationId:S.conversationId,...k?{runId:k.runId,recovered:!0,startedAt:k.startedAt}:{}}),r({type:"live/sendPending",value:!1});const z=S.conversationId??void 0;let O=Date.now(),N=Date.now(),B=(k==null?void 0:k.runId)??null,P=null,D="ask",L=0,V=M;const F=()=>a.current===V;let j=!1;const G=()=>{var se;return!j&&((se=n.current.live.stream)==null?void 0:se.status)==="streaming"},Q=()=>{D="done",window.clearInterval(L),j&&B&&u.current.add(B),F()&&(a.current=null,l.current=null,f(R))},Y=se=>{const oe=p3e(se);oe!==R&&(o.current.delete(R),R=oe,o.current.add(oe),F()&&(l.current=oe))},W=()=>{var se;return((se=n.current.live.stream)==null?void 0:se.conversationId)??S.conversationId??null},Z=()=>{const se=W();se&&r({type:"live/streamStopping",conversationId:se,value:!0})},H=se=>{j=!0,Z();const oe=B??(typeof se.run_id=="string"?se.run_id:null);let ie=0;const ue=window.setInterval(()=>{if(ie+=1,!F()){window.clearInterval(ue);return}if(!oe||ie>30){window.clearInterval(ue),r({type:"live/streamError",message:"停止已受理,仍在等待收口;结论可稍后在会话记录中查看。"});return}z7(oe).then(ve=>{if(!F()){window.clearInterval(ue);return}const fe=String((ve==null?void 0:ve.status)??"");!fe||fe==="running"||fe==="cancelling"||(window.clearInterval(ue),$(fe,ve??{}))}).catch(()=>{})},3e3)},K=se=>{var fe,ke,Se;j=!0;const oe=String(se.status??""),ie=DAt(se);if(!ie&&oe==="cancelling"){H(se);return}const ue=pee(se)||(ie?PAt:"");r(!ie&&oe&&oe!=="success"&&oe!=="completed"&&!ue?{type:"live/streamError",message:String(se.error||se.hint||`运行状态:${oe}`)}:{type:"live/streamDone",answer:ue,facts:FAt(se),stopped:ie,delivery:jAt(se)}),JV(i,se.conversation_id??((fe=n.current.live.stream)==null?void 0:fe.conversationId)??S.conversationId);const ve=String(se.conversation_id??((ke=n.current.live.stream)==null?void 0:ke.conversationId)??S.conversationId??"");ve&&Xfn(i,an.conversationArtifacts(ve),ve,(Se=n.current.live.stream)==null?void 0:Se.runId)},J=se=>{const oe=se==null?void 0:se.steps;if(Array.isArray(oe))for(const ie of oe){if(!ie||typeof ie!="object")continue;const ue=String(ie.name??ie.step_name??ie.tool??"").trim();ue&&r({type:"live/streamStep",step:{name:ue,status:String(ie.status??"running"),note:typeof ie.note=="string"?ie.note:""}})}},X=se=>{const oe=se.payload&&typeof se.payload=="object"?se.payload:{},ie=String(se.event_type??"");if(ie.startsWith("tool/")){const ve=String(oe.step_name??oe.tool??oe.name??ie).trim();if(!ve)return;r({type:"live/streamStep",step:{name:ve,status:String(oe.status??(ie.endsWith("started")?"running":"done")),note:typeof oe.note=="string"?oe.note:""}});return}const ue=oe.message??oe.summary??oe.phase??se.phase;typeof ue=="string"&&ue.trim()&&r({type:"live/streamThinking",text:ue.trim()})},$=(se,oe)=>{const ie=oe.judgment&&typeof oe.judgment=="object"?oe.judgment:{};K({...oe,...ie,status:se})},_=se=>{const oe=new AbortController;V=oe,a.current=oe,D="tail";let ie=null;const ue=async ve=>{const fe=String(ve.status??"");if(pee(ve)){K(ve);return}const ke=await z7(se).catch(()=>null);if(F()){if(ke){$(String(ke.status??"")||fe,ke);return}K({...ve,status:fe||"success"})}};BAt(se,{afterSeq:0,signal:oe.signal,isTerminal:ve=>ve==="complete"||ve==="error",onActivity:()=>{O=Date.now()},onRunEvent:ve=>{F()&&X(ve)},onFrame:ve=>{if(!F())return;const fe=ve.data??{};if(ve.type==="card"){fe&&typeof fe.card_id=="string"&&r({type:"live/cardUpsert",card:fe});return}ve.type==="thinking"?typeof fe.message=="string"&&fe.message&&r({type:"live/streamThinking",text:fe.message}):ve.type==="step"?(LAt(fe)&&Z(),r({type:"live/streamStep",step:{name:typeof fe.step_name=="string"&&fe.step_name||"处理中",status:String(fe.status??"running"),note:typeof fe.note=="string"?fe.note:""}})):ve.type==="complete"?ie=ue(fe):ve.type==="error"&&(j=!0,r({type:"live/streamError",message:String(fe.message||"运行失败")}))}}).catch(ve=>{oe.signal.aborted||(j=!0,r({type:"live/streamError",message:Xi(ve)}))}).then(async()=>{await ie}).finally(()=>{D==="tail"&&Q()})},re=async()=>{const se=B;if(!se||!F())return!1;try{const[oe,ie]=await Promise.all([z7(se).catch(()=>null),OAt(se).catch(()=>null)]);if(!F()||j)return!0;if(J(ie),!oe)return!1;const ue=String(oe.status??"");return g3e(ue)?(ue==="cancelling"&&Z(),_(se),!0):($(ue,oe),Q(),!0)}catch{return!1}},te=()=>{j=!0,r({type:"live/streamError",message:P?Xi(P):"本轮连接中断,结果可稍后在会话记录中查看。"}),Q()};if(k){J(k.progress),k.status==="cancelling"&&Z(),_(k.runId);return}L=window.setInterval(()=>{if(D!=="ask"||!F()||!G())return;const se=Date.now(),oe=se-O>Wpn;(oe||se-N>Upn)&&r({type:"live/streamSlow",value:!0}),oe&&B&&(window.clearInterval(L),D="recovering",V.abort(),re().then(ie=>{!ie&&D==="recovering"&&te()}))},5e3),Dpn(z?{question:S.question,conversation_id:z}:{question:S.question},{signal:M.signal,isTerminal:se=>se==="complete"||se==="error",onActivity:()=>{O=Date.now()},onFrame:se=>{if(N=Date.now(),!F())return;const oe=se.data??{};switch(se.type){case"card":{oe&&typeof oe.card_id=="string"&&r({type:"live/cardUpsert",card:oe});break}case"start":{const ie=typeof oe.conversation_id=="string"?oe.conversation_id:null;B=typeof oe.run_id=="string"?oe.run_id:null,r({type:"live/streamBound",conversationId:ie,runId:B}),ie&&Y(ie),ie&&!S.conversationId&&(r({type:"live/conversationUpsert",conversationId:ie,title:S.question.slice(0,22),select:!0}),JV(i,ie));break}case"thinking":typeof oe.message=="string"&&oe.message&&r({type:"live/streamThinking",text:oe.message});break;case"step":{LAt(oe)&&Z();const ie={name:typeof oe.step_name=="string"&&oe.step_name||"处理中",status:String(oe.status??"running"),note:typeof oe.note=="string"?oe.note:""};r({type:"live/streamStep",step:ie});break}case"complete":K(oe);break;case"error":j=!0,r({type:"live/streamError",message:String(oe.message||"运行失败")});break}}}).catch(se=>{M.signal.aborted||(P=se)}).then(async()=>{if(D!=="ask")return;if(P&&$fn(P)&&F()){j=!0;const oe=S.conversationId;oe?(r({type:"live/streamDiscard",conversationId:oe}),r({type:"live/sendNotice",conversationId:oe,text:Xi(P)})):r({type:"live/streamError",message:Xi(P)}),Q(),oe&&h.current(oe,void 0,{fresh:!0});return}if(!F()||!G()){Q();return}D="recovering",!await re()&&D==="recovering"&&te()})},[r,i,f]),m=I.useCallback(async(S,T,R={})=>{var M;if(!d.current.has(S)){d.current.add(S);try{const k=n.current;let z=R.fresh?null:T??((M=k.live.runs[S])==null?void 0:M.runId)??k.live.lastRunIds[S]??null;if(!z){const V=await f3e(S).catch(()=>null);z=typeof(V==null?void 0:V.last_run_id)=="string"&&V.last_run_id?V.last_run_id:null}if(!z||u.current.has(z)){r({type:"live/runSettled",conversationId:S});return}const O=n.current.live.stream;if(O&&O.status==="streaming"&&O.runId===z)return;const[N,B]=await Promise.all([z7(z).catch(()=>null),OAt(z).catch(()=>null)]);if(!N)return;const P=String(N.status??"");if(!g3e(P)){u.current.add(z),r({type:"live/runSettled",conversationId:S}),JV(i,S);return}const D=n.current;if(D.page!=="conversation12"||D.chat12!==S)return;const L=D.live.runs[S];p({question:(L==null?void 0:L.question)||Qpn(D,S,z),conversationId:S,surface:"c12",resume:{runId:z,status:P,progress:B,startedAt:L==null?void 0:L.startedAt}})}finally{d.current.delete(S)}}},[r,i,p]);h.current=m;const g=t.page==="conversation12"&&typeof t.chat12=="string"?t.chat12:null,v=t.live.stream,y=v&&v.status==="streaming"?v.conversationId:null,A=g?((w=t.live.runs[g])==null?void 0:w.runId)??null:null,b=g?t.live.lastRunIds[g]??null:null,x=g?t.live.turns[g]:void 0;I.useEffect(()=>{if(!g||y===g)return;const S=A??b;if(!(!S||u.current.has(S))){if(x!=null&&x.some(T=>T.role!=="user"&&String(T.run_id??"")===S)){u.current.add(S);return}m(g,S)}},[g,y,A,b,x,m]);const C=Object.keys(t.live.runs).sort().join("|");return I.useEffect(()=>{if(!C)return;const S=()=>{for(const[R,M]of Object.entries(n.current.live.runs)){if(!M.runId){f3e(R).then(z=>{const O=typeof(z==null?void 0:z.last_run_id)=="string"&&z.last_run_id?z.last_run_id:null;O&&r({type:"live/runRegister",conversationId:R,runId:O})}).catch(()=>{});continue}const k=M.runId;z7(k).then(z=>{if(!z)return;const O=String(z.status??"");if(O==="cancelling"){M.stopping||r({type:"live/streamStopping",conversationId:R,value:!0});return}g3e(O)||(u.current.add(k),r({type:"live/runSettled",conversationId:R}),JV(i,R))}).catch(()=>{})}},T=window.setInterval(S,qpn);return()=>window.clearInterval(T)},[e,C,r,i]),I.useCallback(S=>{const T=z=>({getState:()=>n.current,dispatch:r,qc:i,startAsk:p,lockKey:z,releaseSend:()=>{z&&f(z)},watchOrigin:s}),R=T(""),M=z=>{const O=p3e(z);return o.current.has(O)||Ym(n.current,z)?null:(o.current.add(O),r({type:"live/sendPending",value:!0}),T(O))},k=()=>o.current.has(m3e)||n.current.live.sendPending?null:(o.current.add(m3e),r({type:"live/sendPending",value:!0}),T(m3e));switch(S.type){case"send":{const z=S.text??S.inputValue;if(!z.trim())return;const O=M(null);if(!O)return;if(/盯住|盯着|持续关注/.test(z)){s.current=VAt(n.current),r(S),qAt(O,z,!1,n.current.watchSaved);return}const N=z.trim();if(n.current.page==="detail"){p({question:N,conversationId:null,surface:"detail"},O.lockKey);return}QAt(O,N);return}case"c12/send":{const z=S.value.trim();if(!z)return;const O=n.current.chats12.find(B=>B.id===n.current.chat12);if(!(O!=null&&O.live)){const B=M(null);if(!B)return;QAt(B,z,O==null?void 0:O.id);return}const N=M(String(O.id));if(!N)return;p({question:z,conversationId:String(O.id),surface:"c12"},N.lockKey);return}case"c12/stop":hmn(R,S.conversationId);return;case"rec/send":{if(!S.value.trim())return;const z=n.current.recommendations.find(N=>N.id===n.current.recActive),O=M(z!=null&&z.live&&typeof z.conversationId=="string"?z.conversationId:null);if(!O)return;fmn(O,S.value);return}case"advice/adopt":Zpn(R,S.id);return;case"advice/ignore":R.dispatch({type:"live/notice",text:"忽略由第三方系统处理,本期工作台只读展示。"});return;case"advice/export":vmn(R);return;case"watch/propose":{if(!n.current.watchDraft.trim())return;const z=k();if(!z)return;s.current=VAt(n.current),qAt(z);return}case"watch/confirm":{const z=k();z&&Hpn(z);return}case"watch/pause":{const z=k();z&&Jpn(z);return}case"watch/delete":{const z=k();z&&Xpn(z,S.watchId);return}case"watch/confirmPending":{const z=k();z&&Kpn(z,S.watchId);return}case"rec/open":_pn(R,S.id);return;case"rec/run":{const z=k();z&&$pn(z,S.id);return}case"rec/pause":{const z=k();z&&tmn(z,S.id);return}case"rec/cancel":{const z=k();z&&rmn(z,S.id);return}case"live/loadMoreSuggestions":nmn(R);return;case"live/loadMoreWatches":imn(R);return;case"live/loadMoreWatchChecks":amn(R);return;case"job/approve":smn(R);return;case"ent/note":omn(R,S.value);return;case"knowledge/withdraw":{const z=k();z&&lmn(z,S.docId);return}case"workspace/me/save":{const z=k();z&&cmn(z,S.payload);return}case"workspace/me/permission/save":{const z=k();z&&umn(z,{field:S.field,lines:S.lines});return}case"ent/save":dmn(R,{scope:S.scope,action:S.action,auto:S.auto});return;case"c12/new":r(S);return;case"c12/select":r(S),v3e(R,S.id);return;case"c12/archive":pmn(R,S.id);return;case"c12/rename":mmn(R,S.id,S.title);return;case"live/openConversation":r({type:"nav/history"}),r({type:"c12/select",id:S.id}),v3e(R,S.id);return;case"live/retryConversations":i.invalidateQueries({queryKey:an.conversations});return;case"live/retrySuggestions":i.invalidateQueries({queryKey:an.suggestionTasks});return;default:r(S)}},[e,r,i,p,f])}const YAt={file:0,artifact:0,url:0,knowledge:0,dataset:0},bmn=["file","artifact","url","knowledge"];function GAt(e){const t=new Map;for(const r of e??[])r.run_id&&r.turn_no!=null&&!t.has(String(r.run_id))&&t.set(String(r.run_id),r.turn_no);return t}function Amn(e,t,r){const n=[];for(const a of e??[]){const s=a.filename||a.name;s&&n.push({source_id:`file:${a.file_id||s}`,kind:"file",title:s,badge:a.oss_error?"归档失败":null,turn_no:null,created_at:a.created_at??null,download_url:a.raw_oss_url||null})}for(const a of t??[])n.push({source_id:`artifact:${a.artifact_id}`,kind:"artifact",title:a.filename||a.artifact_id,badge:a.kind==="data"?"导出文件":a.kind==="report"?"Run 报告":a.kind??null,turn_no:a.run_id&&r?r.get(String(a.run_id))??null:null,run_id:a.run_id??null,created_at:a.created_at??null,download_url:Jfn(a)});const i={...YAt};for(const a of n)i[a.kind]+=1;return{items:n,counts:i}}async function xmn(e){const{data:t}=await Ht({method:"GET",url:`/api/v1/cognitive/conversations/${e}/sources`,params:{limit:200},responseType:"json",requestType:"json"}),n=(Array.isArray(t==null?void 0:t.sources)?t.sources:[]).filter(a=>!!a&&typeof a.source_id=="string"&&typeof a.kind=="string"&&bmn.includes(a.kind)).map(a=>({...a,title:a.title||a.source_id})),i={...YAt,...(t==null?void 0:t.counts)??{}};return{items:n,counts:i}}async function Emn(e){const{data:t}=await R9r(e);return qwe(t)}async function Imn(e){const{data:t}=await w9r(e,{});return(Array.isArray(t)?t:t&&typeof t=="object"&&Array.isArray(t.items)?t.items:[]).filter(n=>!!n&&typeof n.fact=="string")}function WAt(e,t){const r=e??"none",n=Ui({queryKey:an.conversationSources(r),queryFn:()=>xmn(e),enabled:!!e,staleTime:3e4,retry:!1}),i=!!e&&n.isError,a=Ui({queryKey:an.conversationFiles(r),queryFn:()=>Emn(e),enabled:i,staleTime:3e4}),s=Ui({queryKey:an.conversationArtifacts(r),queryFn:()=>u3e(e),enabled:i,staleTime:3e4}),o=Amn(a.data,s.data,t);return{data:e?n.data??o:null,isLoading:n.isLoading||n.isError&&(a.isLoading||s.isLoading)}}const Cmn='button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [href], [tabindex]:not([tabindex="-1"])';function mee({open:e,onClose:t,panelRef:r,triggerRef:n}){const i=I.useRef(t);i.current=t,I.useEffect(()=>{var h;if(!e||!window.matchMedia("(max-width: 767px)").matches)return;const a=r.current,s=()=>a?Array.from(a.querySelectorAll(Cmn)):[];(h=s()[0]??a)==null||h.focus();const o=document.querySelector(".wandox-conversations__messages"),l=document.body.style.overflow,u=(o==null?void 0:o.style.overflow)??"";document.body.style.overflow="hidden",o&&(o.style.overflow="hidden");const d=f=>{if(f.key==="Escape"){f.preventDefault(),i.current();return}if(f.key!=="Tab")return;const p=s();if(!p.length)return;const m=p.indexOf(document.activeElement),g=m<=0,v=m===-1||m===p.length-1;(f.shiftKey?g:v)&&(f.preventDefault(),p[f.shiftKey?p.length-1:0].focus())};return document.addEventListener("keydown",d,!0),()=>{var f;document.removeEventListener("keydown",d,!0),document.body.style.overflow=l,o&&(o.style.overflow=u),(f=n.current)==null||f.focus()}},[e,r,n])}function y3e({open:e,axis:t,threshold:r,edgeOpenPx:n,scrollableRef:i,onOpen:a,onClose:s}){const[o,l]=I.useState(!1),[u,d]=I.useState(0),h=I.useRef(null),f=I.useRef(0),p=I.useRef(s);p.current=s;const m=I.useRef(a);return m.current=a,I.useEffect(()=>{if(e||t!=="x"||!n||!window.matchMedia("(max-width: 767px)").matches)return;let A=0,b=0,x=!1;const C=S=>{A=S.touches[0].clientX,b=S.touches[0].clientY,x=A<=n},w=S=>{var M;if(!x)return;x=!1;const T=S.changedTouches[0].clientX-A,R=S.changedTouches[0].clientY-b;T>60&&Math.abs(T)>Math.abs(R)*1.5&&((M=m.current)==null||M.call(m))};return document.addEventListener("touchstart",C,{passive:!0}),document.addEventListener("touchend",w,{passive:!0}),()=>{document.removeEventListener("touchstart",C),document.removeEventListener("touchend",w)}},[e,t,n]),{dragging:o,offset:u,bind:{onTouchStart:A=>{if(!e||t==="y"&&(i!=null&&i.current)&&i.current.scrollTop>0)return;const b=A.touches[0];h.current={x:b.clientX,y:b.clientY},f.current=0,d(0),l(!0)},onTouchMove:A=>{const b=h.current;if(!b)return;const x=A.touches[0],C=t==="x"?x.clientX-b.x:x.clientY-b.y,w=t==="x"?Math.min(0,C):Math.max(0,C);f.current=w,d(w)},onTouchEnd:()=>{if(!h.current)return;h.current=null,l(!1),d(0),(t==="x"?f.current<-r:f.current>r)&&p.current()}}}}function b3e(e){const t=Math.max(0,Math.floor(e/1e3)),r=Math.floor(t/3600),n=Math.floor(t%3600/60),i=t%60;return r>0?`${r}h ${n}m ${i}s`:n>0?`${n}m ${i}s`:`${i}s`}function Smn(e){if(!e)return;const t=new Date(e);if(!Number.isNaN(t.getTime()))return t.toLocaleTimeString("zh-CN",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function gee({status:e,steps:t,thinking:r,startedAt:n,durationMs:i}){const a=e==="streaming",[s,o]=I.useState(a),[l,u]=I.useState(()=>Date.now()),d=I.useRef(e);I.useEffect(()=>{d.current==="streaming"&&e!=="streaming"&&o(!1),d.current=e},[e]),I.useEffect(()=>{if(!a||i!==null)return;const g=window.setInterval(()=>u(Date.now()),1e3);return()=>window.clearInterval(g)},[a,i]);const h=a?i??(n?Math.max(0,l-n):0):i??0,f=!!n&&h>0,p=e==="error"?`思考失败${f?`(用时 ${b3e(h)})`:""}`:a?`思考中${f?`(已用时 ${b3e(h)})`:""}`:`已思考${f?`(用时 ${b3e(h)})`:""}`,m=t.length||a?E.jsx(h0e,{mode:"start",titleSpan:"82px",className:"wandox-conversations__process-antd",items:[...t.map((g,v)=>({key:`${g.name}-${v}`,title:Smn(g.ts),loading:g.status!=="done",content:E.jsxs("div",{className:"wandox-conversations__process-step",children:[E.jsx("span",{className:"wandox-conversations__process-step-name",children:g.name}),g.note?E.jsx("span",{className:"wandox-conversations__process-step-note",children:g.note}):null]})})),...a?[{key:"thinking-live",loading:!0,content:E.jsx("span",{className:"wandox-conversations__process-step-note",children:r||"小多正在处理…"})}]:[]]}):null;return E.jsxs("div",{className:"wandox-conversations__process",children:[E.jsxs("button",{type:"button",className:"wandox-conversations__process-toggle","aria-expanded":s,onClick:()=>o(g=>!g),children:[a?E.jsx("span",{className:"wandox-conversations__process-spinner","aria-hidden":"true"}):E.jsx("span",{className:`wandox-conversations__process-stateicon${e==="error"?" wandox-conversations__process-stateicon--error":""}`,"aria-hidden":"true",children:e==="error"?"✕":"✓"}),E.jsx("span",{className:`wandox-conversations__process-elapsed${a?" wandox-conversations__process-elapsed--thinking":""}`,children:p}),E.jsx("svg",{className:`wandox-conversations__process-chevron${s?" wandox-conversations__process-chevron--expanded":""}`,viewBox:"0 0 16 16",width:"14",height:"14","aria-hidden":"true",children:E.jsx("path",{d:"M6 4l4 4-4 4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})]}),s?m:null]})}function wmn(e){if(e.kind==="report")return E.jsx(Y$e,{});const t=/\.([a-z0-9]+)$/i.exec(e.filename||""),r=t?t[1].toLowerCase():"",n={fontSize:15};return["csv","xlsx","xls","tsv"].includes(r)?E.jsx(G$e,{style:{...n,color:"#16a34a"}}):r==="pdf"?E.jsx(IH,{style:{...n,color:"#dc2626"}}):["doc","docx"].includes(r)?E.jsx(oye,{style:{...n,color:"#2563eb"}}):r==="zip"?E.jsx(W$e,{style:{...n,color:"#d97706"}}):["txt","md","json"].includes(r)?E.jsx(MD,{style:{...n,color:"#6b7280"}}):E.jsx(Ay,{style:n})}function Tmn(e){return e==="data"?"导出文件":e==="report"?"Run 报告":e||null}function UAt({item:e}){const t=Tmn(e.kind),r=[{key:"download",label:"下载文件"}];e.kind==="report"&&e.run_id&&r.push({key:"report",label:"查看报告"});const n=({key:i})=>{if(i==="download"){if(e.oss_url){window.open(e.oss_url,"_blank","noopener,noreferrer");return}Y$(e.artifact_id,e.filename||e.artifact_id).catch(a=>{wt.error(a.message||"下载失败,请稍后重试")})}else i==="report"&&e.run_id&&Scn(String(e.run_id)).catch(a=>{wt.error(a.message||"报告打开失败,请稍后重试")})};return E.jsxs("div",{className:"wandox-conversations__artifacts-row",children:[wmn(e),E.jsx("span",{className:"wandox-conversations__artifacts-name",title:e.filename,children:e.filename||"未命名文件"}),t?E.jsx("span",{className:`wandox-conversations__artifacts-badge${e.kind==="report"?" wandox-conversations__artifacts-badge--report":""}`,children:t}):null,E.jsx(Jf,{menu:{items:r,onClick:n},trigger:["click"],placement:"bottomRight",children:E.jsx("button",{type:"button",className:"wandox-conversations__artifacts-more","aria-label":`文件操作:${e.filename||""}`,children:E.jsx(GMr,{})})})]})}function ZAt(e){return e.role==="final"||e.role==="intermediate"?e.role:e.kind==="dataset"||e.kind==="tool_result"?"intermediate":"final"}function HAt({artifacts:e}){if(!(e!=null&&e.length))return null;const t=e.filter(n=>ZAt(n)==="final"),r=e.filter(n=>ZAt(n)==="intermediate");return E.jsxs("div",{className:"wandox-conversations__artifacts",children:[E.jsx("div",{className:"wandox-conversations__artifacts-head",children:`已生成 ${e.length} 个文件`}),t.map(n=>E.jsx(UAt,{item:n},n.artifact_id)),r.length?E.jsxs("details",{className:"wandox-conversations__artifacts-intermediate",children:[E.jsx("summary",{children:`分析过程文件(${r.length})`}),r.map(n=>E.jsx(UAt,{item:n},n.artifact_id))]}):null]})}function Rmn(e,t){if(e.status==="awaiting"){const r=Date.parse(e.issued_at);if(Number.isFinite(r)&&t>r+e.ttl_seconds*1e3)return"expired"}return e.status}function Vv(){return E.jsxs(E.Fragment,{children:[E.jsx("img",{className:"wandox-conversations__brand-mark",src:zk,alt:"","aria-hidden":"true"}),"小多"]})}function O7({text:e}){return E.jsx("div",{className:"wandox-conversations__md",children:E.jsx(kx,{remarkPlugins:[Mx],children:e})})}function vee(e){const t=new Map;return e.map(r=>{const n=(t.get(r)??0)+1;return t.set(r,n),{key:`${n}-${r}`,text:r}})}function yee(e){return t=>{t.key==="Enter"&&!t.shiftKey&&!t.nativeEvent.isComposing&&(t.preventDefault(),e())}}function bee(e){const t=I.useRef(!1);return I.useEffect(()=>{e||(t.current=!1)}),()=>e||t.current?!1:(t.current=!0,!0)}function A3e({dispatch:e,scopeChoice:t,showScope:r=!0,sending:n=!1}){const[i,a]=I.useState(""),s=bee(n),o=()=>{!i.trim()||!s()||(e({type:"send",inputValue:i}),a(""))};return E.jsxs("div",{className:"w-composer",children:[E.jsx("textarea",{id:"w6-input",className:"w-composer__input","aria-label":"告诉小多你的目标",placeholder:"想了解什么,或希望我推进什么?",value:i,disabled:n,onChange:l=>a(l.target.value),onKeyDown:yee(o)}),E.jsxs("div",{className:"w-tools",children:[r?E.jsxs("select",{id:"w6-scope",className:"w-composer__select","aria-label":"专家范围",value:t,disabled:n,onChange:l=>e({type:"scope/change",value:l.target.value}),children:[E.jsx("option",{children:"自动调用专家"}),Tfn.map(l=>E.jsx("option",{children:l[0]},l[0]))]}):null,E.jsxs("button",{type:"button",className:"w-send","data-do":"send","aria-label":n?"正在发送":"发送","aria-busy":n,disabled:!i.trim()||n,onClick:o,children:[E.jsx("span",{children:n?"发送中…":"发送"}),n?E.jsx(na,{spin:!0}):E.jsx(CC,{})]})]})]})}function kmn({dispatch:e,sending:t=!1}){const[r,n]=I.useState(""),i=bee(t),a=()=>{!r.trim()||!i()||(e({type:"rec/send",value:r}),n(""))};return E.jsxs("div",{className:"wandox-recommendation__composer w-composer",children:[E.jsx("textarea",{id:"h11-input",className:"w-composer__input","aria-label":"补充推进信息",placeholder:"补充你的目标、顾虑,或想先看的问题…",value:r,disabled:t,onChange:s=>n(s.target.value),onKeyDown:yee(a)}),E.jsx("div",{className:"w-tools",children:E.jsx("button",{type:"button",className:"w-send","data-rec-send":"","aria-label":t?"正在发送":"发送","aria-busy":t,disabled:!r.trim()||t,onClick:a,children:t?E.jsx(na,{spin:!0}):E.jsx(CC,{})})})]})}function Mmn({dispatch:e,draft:t,sending:r=!1}){const n=bee(r),i=()=>{!t.trim()||!n()||e({type:"watch/propose"})};return E.jsxs("div",{className:"w-composer",children:[E.jsx("textarea",{id:"w8-input",className:"w-composer__input","aria-label":"交代要盯住的事",placeholder:"例如:盯住咖啡机销量,明显下降时在会话里提醒我",value:t,disabled:r,onChange:a=>e({type:"watch/draft",value:a.target.value}),onKeyDown:yee(i)}),E.jsxs("div",{className:"w-tools",children:[E.jsx("span",{className:"w-subhead",children:"说清你关心的事,小多来找对象和规则"}),E.jsx("button",{type:"button",className:"w-send","data-eight":"propose","aria-label":r?"正在发送":"发送","aria-busy":r,disabled:!t.trim()||r,onClick:i,children:r?E.jsx(na,{spin:!0}):E.jsx(CC,{})})]})]})}function Nmn({dispatch:e,revise:t,sending:r=!1,runState:n=null,onStop:i}){const[a,s]=I.useState(""),o=bee(r),l=()=>{!a.trim()||!o()||(e({type:"c12/send",value:a}),s(""))},u=n==="running"&&!!i,d=n==="stopping"&&!!i;return E.jsx("div",{className:"wandox-conversations__composer",children:E.jsxs("div",{className:`wandox-conversations__composer-shell${d?" has-wait":""}`,children:[E.jsx(Or.TextArea,{id:"c12-input","aria-label":"继续这件事的讨论",placeholder:n?"小多正在处理上一条,回复后可继续…":t?"补充你的要求…":"补充信息,或交代下一步…",value:a,autoSize:{minRows:1,maxRows:6},disabled:r,onChange:h=>s(h.target.value),onKeyDown:yee(l)}),E.jsx("div",{className:"wandox-conversations__composer-actions",children:d?E.jsxs("button",{type:"button",className:"wandox-conversations__composer-btn wandox-conversations__composer-btn--stopping","data-c12":"stop","aria-label":"正在停止","aria-busy":"true",disabled:!0,title:"正在停止,等当前步骤结束后给出已获得的结果",children:[E.jsx(na,{spin:!0}),E.jsx("span",{children:"正在停止…"})]}):u?E.jsx("button",{type:"button",className:"wandox-conversations__composer-btn wandox-conversations__composer-btn--stop","data-c12":"stop","aria-label":"停止本次处理",title:"停止本次处理;已获得的结果会保留",onClick:i,children:E.jsx("span",{className:"wandox-conversations__stop-glyph","aria-hidden":!0})}):E.jsx("button",{type:"button",className:"wandox-conversations__composer-btn wandox-conversations__composer-btn--send","data-c12":"send","aria-label":r?"正在发送":"发送","aria-busy":r,disabled:!a.trim()||r,onClick:l,children:r?E.jsx(na,{spin:!0}):E.jsx(CC,{})})})]})})}function KAt(){return E.jsx("p",{className:"w-notice wandox-conversations__stopped-note",role:"status",children:"已停止,以下为停止前已获得的结果。"})}function JAt({delivery:e}){return e.complete?null:E.jsxs("p",{className:"w-notice wandox-conversations__delivery-note",role:"status",children:[`本次为部分交付(${e.delivered}/${e.claimed}),可继续要求补齐。`,e.artifact_url?E.jsxs(E.Fragment,{children:[" ",E.jsx("a",{className:"w-link",href:e.artifact_url,target:"_blank",rel:"noreferrer",children:"下载已交付部分 →"})]}):null,e.note?E.jsx("span",{className:"wandox-conversations__delivery-note-detail",children:e.note}):null]})}function Aee({stream:e,userClass:t="w-message",artifacts:r,hideQuestion:n=!1}){return E.jsxs(E.Fragment,{children:[n?null:E.jsx("div",{className:t,children:e.question}),E.jsxs("div",{className:"w-answer",children:[E.jsx("h3",{className:"w-title w-title--card",children:E.jsx(Vv,{})}),e.status==="streaming"?E.jsxs(E.Fragment,{children:[E.jsx(gee,{status:e.status,steps:e.steps,thinking:e.thinking,startedAt:e.startedAt,durationMs:e.durationMs}),e.stopping?E.jsx("p",{className:"w-muted w-clamp",role:"status",children:"正在停止,等当前步骤结束后给出已获得的结果。"}):e.slow?E.jsx("p",{className:"w-muted w-clamp",children:"处理时间较长,仍在进行;结论出来后会显示在这里。"}):null]}):null,e.status==="done"&&e.stopped?E.jsx(KAt,{}):null,e.status==="done"&&e.delivery?E.jsx(JAt,{delivery:e.delivery}):null,e.status==="done"&&e.answer?E.jsx(O7,{text:e.answer}):null,e.status!=="streaming"?E.jsx(HAt,{artifacts:r}):null,e.status==="error"?E.jsx("p",{className:"w-notice",role:"alert",children:`本轮未完成:${e.error}`}):null,e.status!=="streaming"?E.jsx(gee,{status:e.status,steps:e.steps,thinking:e.thinking,startedAt:e.startedAt,durationMs:e.durationMs}):null]})]})}function zmn({stream:e}){return e.status==="error"?E.jsx("p",{className:"w-notice",role:"alert",children:`本轮未完成:${e.error}`}):e.status!=="done"?null:E.jsxs(E.Fragment,{children:[e.stopped?E.jsx(KAt,{}):null,e.delivery?E.jsx(JAt,{delivery:e.delivery}):null,E.jsx(gee,{status:e.status,steps:e.steps,thinking:e.thinking,startedAt:e.startedAt,durationMs:e.durationMs})]})}function Omn(){const[e,t]=I.useState(()=>Date.now());return I.useEffect(()=>{const r=window.setInterval(()=>t(Date.now()),3e4);return()=>window.clearInterval(r)},[]),e}function Bmn({extra:e}){const t=e.requested_pct,r=e.effective_pct,n=[];return t!=null&&Number.isFinite(Number(t))&&n.push(`策略请求 ${t}%`),r!=null&&Number.isFinite(Number(r))&&n.push(`实际生效 ${r}%`),n.length===0&&!e.limit_reason?null:E.jsxs("span",{className:"wandox-conversations__icard-field-extra",children:[n.length>0?`(${n.join(" / ")})`:null,e.limit_reason?E.jsx("span",{className:"wandox-conversations__icard-field-extra-detail",children:e.limit_reason}):null]})}function XAt({card:e,onRespond:t}){var g,v;const r=Omn(),n=Rmn(e,r),[i,a]=I.useState(null),[s,o]=I.useState(null),[l,u]=I.useState("");if(e.v>1)return E.jsxs("div",{className:"wandox-conversations__icard","data-shape":"fallback",children:[E.jsx("div",{className:"wandox-conversations__icard-title",children:e.title}),E.jsx("div",{className:"wandox-conversations__icard-text",children:e.text_fallback})]});const d=y=>{a(y.action_id);const A=s===y.action_id;t==null||t(e,y.action_id,A&&l.trim()||void 0)},h=y=>{if(!(!t||i)){if(y.requires_text&&s!==y.action_id){o(y.action_id);return}if(y.risk==="high"){Oi.confirm({title:y.label,content:"该操作不可逆或直接影响线上,确认执行?",okText:"确认执行",cancelText:"再想想",onOk:()=>d(y)});return}d(y)}},f=n==="expired"?"已过期":n==="cancelled"?"已关闭":n==="superseded"?"已被新内容替代":null,p=n!=="awaiting"&&n!=="answered",m=((g=e.body)==null?void 0:g.fields)??[];return E.jsxs("div",{className:"wandox-conversations__icard","data-shape":e.shape,children:[E.jsx("div",{className:"wandox-conversations__icard-title",children:e.title}),(v=e.body)!=null&&v.text?E.jsx("div",{className:"wandox-conversations__icard-text",children:e.body.text}):null,m.length>0?E.jsx("div",{className:"wandox-conversations__icard-fields",children:m.map(y=>E.jsxs("div",{className:"wandox-conversations__icard-field",children:[E.jsx("span",{className:"wandox-conversations__icard-field-k",children:y.k}),E.jsxs("span",{className:"wandox-conversations__icard-field-v",children:[y.v,y.extra?E.jsx(Bmn,{extra:y.extra}):null]})]},y.k))}):null,n==="answered"&&e.answered?E.jsxs("div",{className:"wandox-conversations__icard-answered",children:[`已答复 · ${e.answered.label}`,e.answered.text?`:${e.answered.text.slice(0,40)}`:"",` · ${e.answered.who} · ${e.answered.at}`]}):null,n==="awaiting"&&t?E.jsxs(E.Fragment,{children:[s?E.jsx("textarea",{className:"wandox-conversations__icard-note",value:l,rows:2,maxLength:1e3,placeholder:"补充说明(可留空)",onChange:y=>u(y.target.value)}):null,E.jsx("div",{className:"wandox-conversations__icard-actions",children:e.actions.map(y=>E.jsx("button",{type:"button",className:y.style==="primary"?"w-primary":y.style==="danger"?"w-chip wandox-conversations__icard-danger":"w-chip",disabled:i!==null,onClick:()=>h(y),children:s===y.action_id&&y.requires_text?"确认发送":y.label},y.action_id))}),e.shape==="choice"?E.jsx("div",{className:"wandox-conversations__icard-hint",children:"以上都不对?直接在下方输入框回复也可以。"}):null]}):null,p&&f?E.jsx("div",{className:"wandox-conversations__icard-closed",children:f}):null]})}function Pmn({state:e,dispatch:t}){var i;const r=e.conversations.filter(a=>!a.job&&a.session===e.chatSession),n=e.live.mode&&((i=e.live.stream)==null?void 0:i.surface)==="chat"?e.live.stream:null;return E.jsxs(E.Fragment,{children:[E.jsx("button",{type:"button",className:"w-link w-back","data-nav":"home",onClick:()=>t({type:"nav/home"}),children:"← 回到小多"}),E.jsx("h1",{className:"w-title w-title--page",children:"和小多一起想清楚"}),vee(r.map(a=>a.text)).map((a,s)=>E.jsxs(I.Fragment,{children:[E.jsx("div",{className:"w-message",children:a.text}),E.jsxs("div",{className:"w-answer",children:[E.jsx("h3",{className:"w-title w-title--card",children:E.jsx(Vv,{})}),E.jsx("p",{children:`我会先明确业务范围与目标,再装配${r[s].scope==="自动调用专家"?"相关":r[s].scope}专家,结合企业知识、当前数据和历史动作效果展开调查。`}),E.jsx("p",{className:"w-muted w-clamp",children:"这是会话流程演示,尚未进行真实数据查询或执行动作。"})]})]},a.key)),n?E.jsx(Aee,{stream:n}):null,E.jsx(A3e,{dispatch:t,scopeChoice:e.scopeChoice,sending:Ym(e,null)})]})}const Dmn=[["业务","我负责的业务"],["知识","知识与规则"],["团队","团队与授权"]],Lmn=[{field:"can_view",label:"可以查看",placeholder:"如:负责范围内的广告表现、订单与商品基础信息"},{field:"can_act",label:"可以操作",placeholder:"如:单次竞价调整不超过 10%"},{field:"needs_approval",label:"需要确认",placeholder:"如:增加总预算须经营负责人批准"}],_At=1e3,$At=500;function Vmn(e){return e?e.split(/[;;、,,]/).map(t=>t.trim()).filter(Boolean).join(`