@wandox/sdk 0.2.2 → 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.
- package/dist/{V2Workbench-DAISzjAm.cjs → V2Workbench-D6dvEP4Z.cjs} +1 -1
- package/dist/{V2Workbench-CYLZl-xN.js → V2Workbench-G2bDh6BA.js} +2 -2
- package/dist/{arc-C5jT3DnU.cjs → arc-BkBZlP_A.cjs} +1 -1
- package/dist/{arc-BunGwpLF.js → arc-i7AiDgeR.js} +1 -1
- package/dist/{architectureDiagram-3BPJPVTR-C2DqULa4.cjs → architectureDiagram-3BPJPVTR-f1EdL5hl.cjs} +1 -1
- package/dist/{architectureDiagram-3BPJPVTR-BHZ-bq1T.js → architectureDiagram-3BPJPVTR-uda1MMUR.js} +3 -3
- package/dist/{blockDiagram-GPEHLZMM-Det2MAN5.js → blockDiagram-GPEHLZMM-BGN6tHd3.js} +3 -3
- package/dist/{blockDiagram-GPEHLZMM-Bo_nB3qy.cjs → blockDiagram-GPEHLZMM-M2Tz0Pr4.cjs} +1 -1
- package/dist/{c4Diagram-AAUBKEIU-Ch0riHab.cjs → c4Diagram-AAUBKEIU-CDNGauB_.cjs} +1 -1
- package/dist/{c4Diagram-AAUBKEIU-CsrqHbqo.js → c4Diagram-AAUBKEIU-pZXW-ano.js} +2 -2
- package/dist/{channel-CCculgSt.cjs → channel-CCD4RO7P.cjs} +1 -1
- package/dist/{channel-CqpIau2e.js → channel-DBxAHVU7.js} +1 -1
- package/dist/{chunk-2J33WTMH-JWoQ5wVu.cjs → chunk-2J33WTMH-FKfDhde-.cjs} +1 -1
- package/dist/{chunk-2J33WTMH-CTKwMaGP.js → chunk-2J33WTMH-bEvwef-g.js} +1 -1
- package/dist/{chunk-4BX2VUAB-DYIisole.js → chunk-4BX2VUAB-BJSUd0yQ.js} +1 -1
- package/dist/{chunk-4BX2VUAB-BZSlyaCg.cjs → chunk-4BX2VUAB-OCFpNzMC.cjs} +1 -1
- package/dist/{chunk-55IACEB6-XLpDuekc.js → chunk-55IACEB6-BVmQ01HH.js} +1 -1
- package/dist/{chunk-55IACEB6-HnOiZtv9.cjs → chunk-55IACEB6-DVdg4xdH.cjs} +1 -1
- package/dist/{chunk-727SXJPM-BR9NcwXR.js → chunk-727SXJPM-DKdHyyLT.js} +5 -5
- package/dist/{chunk-727SXJPM-68u1QM5E.cjs → chunk-727SXJPM-l9WBBjns.cjs} +1 -1
- package/dist/{chunk-AQP2D5EJ-CXlMYEop.js → chunk-AQP2D5EJ-CULIggDf.js} +3 -3
- package/dist/{chunk-AQP2D5EJ-BkuE9_zi.cjs → chunk-AQP2D5EJ-yCXqd_6D.cjs} +1 -1
- package/dist/{chunk-FMBD7UC4-Dw0a3AJ-.cjs → chunk-FMBD7UC4-CakyvtQ4.cjs} +1 -1
- package/dist/{chunk-FMBD7UC4-JJNXsWjl.js → chunk-FMBD7UC4-DJXMQXo_.js} +1 -1
- package/dist/{chunk-ND2GUHAM-CITgMeMc.cjs → chunk-ND2GUHAM-DjThLqeS.cjs} +1 -1
- package/dist/{chunk-ND2GUHAM-BqlPf64U.js → chunk-ND2GUHAM-xncvFFt-.js} +1 -1
- package/dist/{chunk-QZHKN3VN-CW0H55tb.cjs → chunk-QZHKN3VN-CUl6V9kU.cjs} +1 -1
- package/dist/{chunk-QZHKN3VN-CAJTYZ5B.js → chunk-QZHKN3VN-qmQr6bfu.js} +1 -1
- package/dist/{classDiagram-4FO5ZUOK-ChE9XN3i.js → classDiagram-4FO5ZUOK-BeAU2xMc.js} +2 -2
- package/dist/{classDiagram-4FO5ZUOK-C5tNY3K3.cjs → classDiagram-4FO5ZUOK-UIEVIV5l.cjs} +1 -1
- package/dist/{classDiagram-v2-Q7XG4LA2-CRf1KaTy.js → classDiagram-v2-Q7XG4LA2-DvnvOdmJ.js} +2 -2
- package/dist/{classDiagram-v2-Q7XG4LA2-C5tNY3K3.cjs → classDiagram-v2-Q7XG4LA2-UIEVIV5l.cjs} +1 -1
- package/dist/{cose-bilkent-S5V4N54A-DITbR2zy.cjs → cose-bilkent-S5V4N54A-BY80nrOj.cjs} +1 -1
- package/dist/{cose-bilkent-S5V4N54A-CY45gzce.js → cose-bilkent-S5V4N54A-BwahTgKE.js} +2 -2
- package/dist/{dagre-BM42HDAG-fnp5Wty6.cjs → dagre-BM42HDAG-C9oi-PBt.cjs} +1 -1
- package/dist/{dagre-BM42HDAG--O1tnF58.js → dagre-BM42HDAG-ClocbEgh.js} +1 -1
- package/dist/{diagram-2AECGRRQ-D5UjJPFV.js → diagram-2AECGRRQ-BV7RxnvR.js} +2 -2
- package/dist/{diagram-2AECGRRQ-ETkwjSUn.cjs → diagram-2AECGRRQ-DQ4Fvuyc.cjs} +1 -1
- package/dist/{diagram-5GNKFQAL-LluhArjq.cjs → diagram-5GNKFQAL-B4jOsHQY.cjs} +1 -1
- package/dist/{diagram-5GNKFQAL-BXsJ2kC2.js → diagram-5GNKFQAL-DziYh-9x.js} +3 -3
- package/dist/{diagram-KO2AKTUF-CJ3_562Z.cjs → diagram-KO2AKTUF-rSU6PJsU.cjs} +1 -1
- package/dist/{diagram-KO2AKTUF-Xmmt6BTQ.js → diagram-KO2AKTUF-tvSVJtdI.js} +2 -2
- package/dist/{diagram-LMA3HP47-PhBkaPN8.cjs → diagram-LMA3HP47-HfVQo7SD.cjs} +1 -1
- package/dist/{diagram-LMA3HP47-CGAthpdv.js → diagram-LMA3HP47-wz_tErEB.js} +2 -2
- package/dist/{diagram-OG6HWLK6-2K_0332M.cjs → diagram-OG6HWLK6-BgV34R4X.cjs} +1 -1
- package/dist/{diagram-OG6HWLK6-Bz_1lsTo.js → diagram-OG6HWLK6-Cnm3b-Zp.js} +3 -3
- package/dist/{erDiagram-TEJ5UH35-DI6AVIdC.cjs → erDiagram-TEJ5UH35-BQBbu7Zc.cjs} +1 -1
- package/dist/{erDiagram-TEJ5UH35-DM8U1mwy.js → erDiagram-TEJ5UH35-YLNfMMf5.js} +4 -4
- package/dist/{flowDiagram-I6XJVG4X-KUNswkeD.js → flowDiagram-I6XJVG4X-B1PRq33D.js} +6 -6
- package/dist/{flowDiagram-I6XJVG4X-B4zNT6DY.cjs → flowDiagram-I6XJVG4X-Lwl0iikW.cjs} +1 -1
- package/dist/{ganttDiagram-6RSMTGT7-7JIhx1d9.js → ganttDiagram-6RSMTGT7-CHQJQnaq.js} +3 -3
- package/dist/{ganttDiagram-6RSMTGT7-YYw1kJJR.cjs → ganttDiagram-6RSMTGT7-YQBJ0jsG.cjs} +1 -1
- package/dist/{gitGraphDiagram-PVQCEYII-C7yIh1GL.cjs → gitGraphDiagram-PVQCEYII-CR7jDw3s.cjs} +1 -1
- package/dist/{gitGraphDiagram-PVQCEYII-d7BzW5H_.js → gitGraphDiagram-PVQCEYII-DR5W4qeJ.js} +3 -3
- package/dist/{index-DBKw4lJx.js → index-C9mNWDpD.js} +46 -35
- package/dist/{index-C01lBhHB.cjs → index-CPpPf-ol.cjs} +1 -1
- package/dist/{index-DxMaiuxU.js → index-CWED9RHQ.js} +2 -2
- package/dist/{index-BA1nle1c.cjs → index-DaQiMhn3.cjs} +9 -9
- package/dist/{infoDiagram-5YYISTIA-BR94Io4B.js → infoDiagram-5YYISTIA-CZpm-U4O.js} +1 -1
- package/dist/{infoDiagram-5YYISTIA-CAqGeZnP.cjs → infoDiagram-5YYISTIA-DHKHjzGv.cjs} +1 -1
- package/dist/{ishikawaDiagram-YF4QCWOH-DzN6mmyN.cjs → ishikawaDiagram-YF4QCWOH-CLUKpP_t.cjs} +1 -1
- package/dist/{ishikawaDiagram-YF4QCWOH-DsNSRAyv.js → ishikawaDiagram-YF4QCWOH-DvE5cc79.js} +1 -1
- package/dist/{journeyDiagram-JHISSGLW-CNfwaLhS.cjs → journeyDiagram-JHISSGLW-BIced7Dp.cjs} +1 -1
- package/dist/{journeyDiagram-JHISSGLW-DwV_CE7f.js → journeyDiagram-JHISSGLW-CV5x-gLE.js} +4 -4
- package/dist/{kanban-definition-UN3LZRKU-Bizyoykj.cjs → kanban-definition-UN3LZRKU-BI_3FmDm.cjs} +1 -1
- package/dist/{kanban-definition-UN3LZRKU-CQ5UQd_l.js → kanban-definition-UN3LZRKU-bmpBMFyw.js} +2 -2
- package/dist/{linear-D8pHvqtM.js → linear-0QuZO-z3.js} +1 -1
- package/dist/{linear-BwCu3bns.cjs → linear-DGmDFaZ5.cjs} +1 -1
- package/dist/{mermaid.core-Do5-NVQf.js → mermaid.core-BSzVj9oo.js} +35 -35
- package/dist/{mermaid.core-BtIoEVwS.cjs → mermaid.core-ClLxugfZ.cjs} +3 -3
- package/dist/{mindmap-definition-RKZ34NQL-CBblbBH6.js → mindmap-definition-RKZ34NQL-Dr_NxcVN.js} +3 -3
- package/dist/{mindmap-definition-RKZ34NQL-1O-wdIkS.cjs → mindmap-definition-RKZ34NQL-y1Fe8hve.cjs} +1 -1
- package/dist/{pieDiagram-4H26LBE5-BYAeFQLy.js → pieDiagram-4H26LBE5-C_4xfhkq.js} +3 -3
- package/dist/{pieDiagram-4H26LBE5-BAPkofLT.cjs → pieDiagram-4H26LBE5-wF3h_TDN.cjs} +1 -1
- package/dist/{quadrantDiagram-W4KKPZXB-zCk9E9DR.js → quadrantDiagram-W4KKPZXB-B-8sqw4C.js} +2 -2
- package/dist/{quadrantDiagram-W4KKPZXB-CBNGzNid.cjs → quadrantDiagram-W4KKPZXB-DYJ7U4Ro.cjs} +1 -1
- package/dist/{requirementDiagram-4Y6WPE33-BRbHgrl2.js → requirementDiagram-4Y6WPE33-DH6qHAb4.js} +3 -3
- package/dist/{requirementDiagram-4Y6WPE33-HVBwXxbm.cjs → requirementDiagram-4Y6WPE33-DqEyiRAP.cjs} +1 -1
- package/dist/{sankeyDiagram-5OEKKPKP-BPQl8AOh.cjs → sankeyDiagram-5OEKKPKP-D5D7BbtQ.cjs} +1 -1
- package/dist/{sankeyDiagram-5OEKKPKP-CevraOeN.js → sankeyDiagram-5OEKKPKP-edGQCCi6.js} +1 -1
- package/dist/{sequenceDiagram-3UESZ5HK-J8j32UFS.js → sequenceDiagram-3UESZ5HK-BC7KU3NR.js} +3 -3
- package/dist/{sequenceDiagram-3UESZ5HK-BXx5iGBc.cjs → sequenceDiagram-3UESZ5HK-eODiBTW9.cjs} +1 -1
- package/dist/{stateDiagram-AJRCARHV-CdnKc4gl.cjs → stateDiagram-AJRCARHV-B3kmWUQo.cjs} +1 -1
- package/dist/{stateDiagram-AJRCARHV-BDQqlk0x.js → stateDiagram-AJRCARHV-DQ8PstOa.js} +2 -2
- package/dist/{stateDiagram-v2-BHNVJYJU-CRNIY1n9.js → stateDiagram-v2-BHNVJYJU-CK2n-1wG.js} +2 -2
- package/dist/{stateDiagram-v2-BHNVJYJU-CNBLzoQS.cjs → stateDiagram-v2-BHNVJYJU-pj170Ut1.cjs} +1 -1
- package/dist/{timeline-definition-PNZ67QCA-CbHWwt-Z.js → timeline-definition-PNZ67QCA-69y0BMrg.js} +2 -2
- package/dist/{timeline-definition-PNZ67QCA-D8jGtJM3.cjs → timeline-definition-PNZ67QCA-DeHnz_Tu.cjs} +1 -1
- package/dist/{vennDiagram-CIIHVFJN-BdBtnUNe.js → vennDiagram-CIIHVFJN-B766yr-s.js} +1 -1
- package/dist/{vennDiagram-CIIHVFJN-C3sPVQmj.cjs → vennDiagram-CIIHVFJN-BjLD-Ngt.cjs} +1 -1
- package/dist/wandox.cjs +1 -1
- package/dist/wandox.css +1 -1
- package/dist/wandox.js +1 -1
- package/dist/wandox.umd.js +3 -3
- package/dist/{wardleyDiagram-YWT4CUSO-BGwGLPEP.js → wardleyDiagram-YWT4CUSO-DIIBTggN.js} +2 -2
- package/dist/{wardleyDiagram-YWT4CUSO-CXweoZ8S.cjs → wardleyDiagram-YWT4CUSO-GHA7Jg-F.cjs} +1 -1
- package/dist/{xychartDiagram-2RQKCTM6-D-ha4QKl.js → xychartDiagram-2RQKCTM6-BGmZSuqu.js} +2 -2
- package/dist/{xychartDiagram-2RQKCTM6-B4UCQKfg.cjs → xychartDiagram-2RQKCTM6-Cgd1y87s.cjs} +1 -1
- package/package.json +2 -2
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
`);return a===-1?"":i.stack.slice(a+1)})();try{if(!r.stack)r.stack=o;else if(o){const a=o.indexOf(`
|
|
23
23
|
`),s=a===-1?-1:o.indexOf(`
|
|
24
24
|
`,a+1),l=s===-1?"":o.slice(s+1);String(r.stack).endsWith(l)||(r.stack+=`
|
|
25
|
-
`+o)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=cv(this.defaults,n);const{transitional:r,paramsSerializer:i,headers:o}=n;r!==void 0&&LP.assertOptions(r,{silentJSONParsing:Zs.transitional(Zs.boolean),forcedJSONParsing:Zs.transitional(Zs.boolean),clarifyTimeoutError:Zs.transitional(Zs.boolean),legacyInterceptorReqResOrdering:Zs.transitional(Zs.boolean)},!1),i!=null&&(Ye.isFunction(i)?n.paramsSerializer={serialize:i}:LP.assertOptions(i,{encode:Zs.function,serialize:Zs.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),LP.assertOptions(n,{baseUrl:Zs.spelling("baseURL"),withXsrfToken:Zs.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=o&&Ye.merge(o.common,o[n.method]);o&&Ye.forEach(["delete","get","head","post","put","patch","query","common"],h=>{delete o[h]}),n.headers=La.concat(a,o);const s=[];let l=!0;this.interceptors.request.forEach(function(m){if(typeof m.runWhen=="function"&&m.runWhen(n)===!1)return;l=l&&m.synchronous;const v=n.transitional||WU;v&&v.legacyInterceptorReqResOrdering?s.unshift(m.fulfilled,m.rejected):s.push(m.fulfilled,m.rejected)});const c=[];this.interceptors.response.forEach(function(m){c.push(m.fulfilled,m.rejected)});let u,d=0,f;if(!l){const h=[Cte.bind(this),void 0];for(h.unshift(...s),h.push(...c),f=h.length,u=Promise.resolve(n);d<f;)u=u.then(h[d++],h[d++]);return u}f=s.length;let p=n;for(;d<f;){const h=s[d++],m=s[d++];try{p=h(p)}catch(v){m.call(this,v);break}}try{u=Cte.call(this,p)}catch(h){return Promise.reject(h)}for(d=0,f=c.length;d<f;)u=u.then(c[d++],c[d++]);return u}getUri(t){t=cv(this.defaults,t);const n=Rbe(t.baseURL,t.url,t.allowAbsoluteUrls);return Pbe(n,t.params,t.paramsSerializer)}};Ye.forEach(["delete","get","head","options"],function(t){Gg.prototype[t]=function(n,r){return this.request(cv(r||{},{method:t,url:n,data:(r||{}).data}))}});Ye.forEach(["post","put","patch","query"],function(t){function n(r){return function(o,a,s){return this.request(cv(s||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:a}))}}Gg.prototype[t]=n(),t!=="query"&&(Gg.prototype[t+"Form"]=n(!0))});let OFe=class jbe{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const r=this;this.promise.then(i=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](i);r._listeners=null}),this.promise.then=i=>{let o;const a=new Promise(s=>{r.subscribe(s),o=s}).then(i);return a.cancel=function(){r.unsubscribe(o)},a},t(function(o,a,s){r.reason||(r.reason=new eE(o,a,s),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new jbe(function(i){t=i}),cancel:t}}};function LFe(e){return function(n){return e.apply(null,n)}}function jFe(e){return Ye.isObject(e)&&e.isAxiosError===!0}const B5={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(B5).forEach(([e,t])=>{B5[t]=e});function zbe(e){const t=new Gg(e),n=ybe(Gg.prototype.request,t);return Ye.extend(n,Gg.prototype,t,{allOwnKeys:!0}),Ye.extend(n,t,null,{allOwnKeys:!0}),n.create=function(i){return zbe(cv(e,i))},n}const Mi=zbe(J$);Mi.Axios=Gg;Mi.CanceledError=eE;Mi.CancelToken=OFe;Mi.isCancel=kbe;Mi.VERSION=UU;Mi.toFormData=SD;Mi.AxiosError=Wt;Mi.Cancel=Mi.CanceledError;Mi.all=function(t){return Promise.all(t)};Mi.spread=LFe;Mi.isAxiosError=jFe;Mi.mergeConfig=cv;Mi.AxiosHeaders=La;Mi.formToJSON=e=>Nbe(Ye.isHTMLForm(e)?new FormData(e):e);Mi.getAdapter=Lbe.getAdapter;Mi.HttpStatusCode=B5;Mi.default=Mi;const{Axios:csn,AxiosError:usn,CanceledError:dsn,isCancel:fsn,CancelToken:psn,VERSION:hsn,all:msn,Cancel:gsn,isAxiosError:vsn,spread:ysn,toFormData:bsn,AxiosHeaders:xsn,HttpStatusCode:wsn,formToJSON:Ssn,getAdapter:_sn,mergeConfig:Csn,create:Asn}=Mi,$te={prod:{baseURL:"https://ai-api.wandox.com",openapiURL:"https://ai-api.wandox.com/openapi.json"},test:{baseURL:"https://test-ai-api.wandox.com",openapiURL:"https://test-ai-api.wandox.com/openapi.json"}},CD={token:"sso_token",tenantId:"sso_company",domain:"sso_domain",username:"sso_username",userId:"sso_user_id"},Ete=["/api/v1/auth/login","/api/v1/auth/dingtalk/callback"],zFe={java:41,php:401},BFe=e=>{const t=new FileReader;return t.readAsText(e),new Promise((n,r)=>{t.onload=i=>{const o=i.target.result;try{const a=JSON.parse(o);r(a)}catch{n(e)}},t.onerror=()=>{r({success:!1,message:"下载出错",code:0})}})},FFe={VITE_WANDOX_ENV:"prod"};function VFe(){var t;const e=typeof{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:Yj&&Yj.tagName.toUpperCase()==="SCRIPT"&&Yj.src||new URL("index-
|
|
25
|
+
`+o)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=cv(this.defaults,n);const{transitional:r,paramsSerializer:i,headers:o}=n;r!==void 0&&LP.assertOptions(r,{silentJSONParsing:Zs.transitional(Zs.boolean),forcedJSONParsing:Zs.transitional(Zs.boolean),clarifyTimeoutError:Zs.transitional(Zs.boolean),legacyInterceptorReqResOrdering:Zs.transitional(Zs.boolean)},!1),i!=null&&(Ye.isFunction(i)?n.paramsSerializer={serialize:i}:LP.assertOptions(i,{encode:Zs.function,serialize:Zs.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),LP.assertOptions(n,{baseUrl:Zs.spelling("baseURL"),withXsrfToken:Zs.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=o&&Ye.merge(o.common,o[n.method]);o&&Ye.forEach(["delete","get","head","post","put","patch","query","common"],h=>{delete o[h]}),n.headers=La.concat(a,o);const s=[];let l=!0;this.interceptors.request.forEach(function(m){if(typeof m.runWhen=="function"&&m.runWhen(n)===!1)return;l=l&&m.synchronous;const v=n.transitional||WU;v&&v.legacyInterceptorReqResOrdering?s.unshift(m.fulfilled,m.rejected):s.push(m.fulfilled,m.rejected)});const c=[];this.interceptors.response.forEach(function(m){c.push(m.fulfilled,m.rejected)});let u,d=0,f;if(!l){const h=[Cte.bind(this),void 0];for(h.unshift(...s),h.push(...c),f=h.length,u=Promise.resolve(n);d<f;)u=u.then(h[d++],h[d++]);return u}f=s.length;let p=n;for(;d<f;){const h=s[d++],m=s[d++];try{p=h(p)}catch(v){m.call(this,v);break}}try{u=Cte.call(this,p)}catch(h){return Promise.reject(h)}for(d=0,f=c.length;d<f;)u=u.then(c[d++],c[d++]);return u}getUri(t){t=cv(this.defaults,t);const n=Rbe(t.baseURL,t.url,t.allowAbsoluteUrls);return Pbe(n,t.params,t.paramsSerializer)}};Ye.forEach(["delete","get","head","options"],function(t){Gg.prototype[t]=function(n,r){return this.request(cv(r||{},{method:t,url:n,data:(r||{}).data}))}});Ye.forEach(["post","put","patch","query"],function(t){function n(r){return function(o,a,s){return this.request(cv(s||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:a}))}}Gg.prototype[t]=n(),t!=="query"&&(Gg.prototype[t+"Form"]=n(!0))});let OFe=class jbe{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const r=this;this.promise.then(i=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](i);r._listeners=null}),this.promise.then=i=>{let o;const a=new Promise(s=>{r.subscribe(s),o=s}).then(i);return a.cancel=function(){r.unsubscribe(o)},a},t(function(o,a,s){r.reason||(r.reason=new eE(o,a,s),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new jbe(function(i){t=i}),cancel:t}}};function LFe(e){return function(n){return e.apply(null,n)}}function jFe(e){return Ye.isObject(e)&&e.isAxiosError===!0}const B5={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(B5).forEach(([e,t])=>{B5[t]=e});function zbe(e){const t=new Gg(e),n=ybe(Gg.prototype.request,t);return Ye.extend(n,Gg.prototype,t,{allOwnKeys:!0}),Ye.extend(n,t,null,{allOwnKeys:!0}),n.create=function(i){return zbe(cv(e,i))},n}const Mi=zbe(J$);Mi.Axios=Gg;Mi.CanceledError=eE;Mi.CancelToken=OFe;Mi.isCancel=kbe;Mi.VERSION=UU;Mi.toFormData=SD;Mi.AxiosError=Wt;Mi.Cancel=Mi.CanceledError;Mi.all=function(t){return Promise.all(t)};Mi.spread=LFe;Mi.isAxiosError=jFe;Mi.mergeConfig=cv;Mi.AxiosHeaders=La;Mi.formToJSON=e=>Nbe(Ye.isHTMLForm(e)?new FormData(e):e);Mi.getAdapter=Lbe.getAdapter;Mi.HttpStatusCode=B5;Mi.default=Mi;const{Axios:csn,AxiosError:usn,CanceledError:dsn,isCancel:fsn,CancelToken:psn,VERSION:hsn,all:msn,Cancel:gsn,isAxiosError:vsn,spread:ysn,toFormData:bsn,AxiosHeaders:xsn,HttpStatusCode:wsn,formToJSON:Ssn,getAdapter:_sn,mergeConfig:Csn,create:Asn}=Mi,$te={prod:{baseURL:"https://ai-api.wandox.com",openapiURL:"https://ai-api.wandox.com/openapi.json"},test:{baseURL:"https://test-ai-api.wandox.com",openapiURL:"https://test-ai-api.wandox.com/openapi.json"}},CD={token:"sso_token",tenantId:"sso_company",domain:"sso_domain",username:"sso_username",userId:"sso_user_id"},Ete=["/api/v1/auth/login","/api/v1/auth/dingtalk/callback"],zFe={java:41,php:401},BFe=e=>{const t=new FileReader;return t.readAsText(e),new Promise((n,r)=>{t.onload=i=>{const o=i.target.result;try{const a=JSON.parse(o);r(a)}catch{n(e)}},t.onerror=()=>{r({success:!1,message:"下载出错",code:0})}})},FFe={VITE_WANDOX_ENV:"prod"};function VFe(){var t;const e=typeof{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:Yj&&Yj.tagName.toUpperCase()==="SCRIPT"&&Yj.src||new URL("index-DaQiMhn3.cjs",document.baseURI).href}<"u"?FFe:void 0;if(e!=null&&e.VITE_WANDOX_ENV)return e.VITE_WANDOX_ENV;if(typeof process<"u")return"prod";if(typeof window<"u"&&((t=window.location)!=null&&t.hostname)){const n=window.location.hostname,r=n==="localhost"||n==="127.0.0.1"||/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(n)||/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(n)||/^192\.168\.\d{1,3}\.\d{1,3}$/.test(n)||/^172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}$/.test(n),i=n==="test"||n.startsWith("test-")||n.startsWith("test.")||n.includes(".test-")||n.includes(".test.");return r||i?"test":"prod"}return"test"}function _r(){var t;const e=VFe();return((t=$te[e])==null?void 0:t.baseURL)||$te.test.baseURL}function KU(){return typeof localStorage>"u"?null:localStorage.getItem(CD.token)}function Bbe(){return typeof localStorage>"u"?null:localStorage.getItem(CD.tenantId)}function Fbe(){return typeof localStorage>"u"?null:localStorage.getItem(CD.domain)}function HFe(e){if(!e)return!1;try{const t=new URL(e,"http://localhost").pathname;return Ete.includes(t)}catch{return Ete.includes(e.split("?")[0])}}function Vbe(e,t){return t&&!HFe(e)}let Tte=!1;function Hbe(){if(!(typeof localStorage>"u"))for(const e of Object.values(CD))localStorage.removeItem(e)}function WFe(e){return Object.values(zFe).some(t=>String(e)===String(t))}function Ite(e){if(typeof window>"u")return!1;const t=!!KU();return!Vbe(e,t)||Tte?!1:(Tte=!0,Hbe(),window.location.replace("/"),!0)}function AD(){const e={"Content-Type":"application/json"},t=KU(),n=Bbe(),r=Fbe();return t&&(e.Authorization=`Bearer ${t}`),n&&(e["X-Tenant-ID"]=n),r&&(e["X-Domain"]=r),e}const ek=Mi.create({baseURL:_r(),timeout:3e5,responseType:"json"});ek.interceptors.request.use(e=>{const t=KU(),n=Bbe(),r=Fbe();return t&&(e.headers.Authorization=`Bearer ${t}`),n&&(e.headers["X-Tenant-ID"]=n),r&&(e.headers["X-Domain"]=r),e});ek.interceptors.response.use(e=>{var n,r;const t=(n=e==null?void 0:e.data)==null?void 0:n.code;return WFe(t)?(Ite((r=e==null?void 0:e.config)==null?void 0:r.url),Promise.reject(e)):e},async e=>{var i,o;const t=e.response;if((t==null?void 0:t.status)===401)return Ite(((i=t==null?void 0:t.config)==null?void 0:i.url)||((o=e==null?void 0:e.config)==null?void 0:o.url)),Promise.reject(t);if((t==null?void 0:t.status)===403||(t==null?void 0:t.status)===500||(t==null?void 0:t.status)===503)return Promise.reject(t);const n=e.config,r=e.code==="ECONNABORTED"||e.code==="ETIMEDOUT"||(t==null?void 0:t.status)===504||(t==null?void 0:t.status)===408;return n&&r&&(n.__retryCount=n.__retryCount||0,n.__retryCount<1)?(n.__retryCount++,await new Promise(a=>setTimeout(a,2e3)),ek(n)):Promise.reject(t||{message:e.message})});async function t4(e){var p;const{method:t,url:n,params:r,data:i,headers:o,timeout:a,requestType:s,responseType:l}=e;let c=i;if(s==="form"&&i&&!(i instanceof FormData)){const h=new FormData;for(const m of Object.keys(i))h.append(m,i[m]);c=h}const d=await ek({method:t,url:n,params:r,data:c,headers:o,timeout:a,responseType:l==="blob"?"blob":"json"});if(l==="blob"&&typeof((p=d.data)==null?void 0:p.size)=="number")try{return await BFe(d.data),d.data}catch(h){d.data=h}if(l==="blob")return d.data;const f=d.data;if(`${f.code}`=="200"||f.code===0||f.success)return f;throw f}const st=Object.assign(function(t){return t4(t)},{download(e){return t4({...e,responseType:"blob"})},upload(e){return t4({...e,requestType:"form"})}});var Wbe={exports:{}},Hs={},Gbe={exports:{}},Ube={};/**
|
|
26
26
|
* @license React
|
|
27
27
|
* scheduler.production.min.js
|
|
28
28
|
*
|
|
@@ -710,9 +710,9 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
710
710
|
`))+1))}const a="#".repeat(i),s=n.enter("headingAtx"),l=n.enter("phrasing");o.move(a+" ");let c=n.containerPhrasing(e,{before:"# ",after:`
|
|
711
711
|
`,...o.current()});return/^[\t ]/.test(c)&&(c=k$(c.charCodeAt(0))+c.slice(1)),c=c?a+" "+c:a,n.options.closeAtx&&(c+=" "+a),l(),s(),c}eLe.peek=r9t;function eLe(e){return e.value||""}function r9t(){return"<"}tLe.peek=i9t;function tLe(e,t,n,r){const i=hJ(n),o=i==='"'?"Quote":"Apostrophe",a=n.enter("image");let s=n.enter("label");const l=n.createTracker(r);let c=l.move("![");return c+=l.move(n.safe(e.alt,{before:c,after:"]",...l.current()})),c+=l.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(e.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(s=n.enter("destinationRaw"),c+=l.move(n.safe(e.url,{before:c,after:e.title?" ":")",...l.current()}))),s(),e.title&&(s=n.enter(`title${o}`),c+=l.move(" "+i),c+=l.move(n.safe(e.title,{before:c,after:i,...l.current()})),c+=l.move(i),s()),c+=l.move(")"),a(),c}function i9t(){return"!"}nLe.peek=o9t;function nLe(e,t,n,r){const i=e.referenceType,o=n.enter("imageReference");let a=n.enter("label");const s=n.createTracker(r);let l=s.move("![");const c=n.safe(e.alt,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),a();const u=n.stack;n.stack=[],a=n.enter("reference");const d=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return a(),n.stack=u,o(),i==="full"||!c||c!==d?l+=s.move(d+"]"):i==="shortcut"?l=l.slice(0,-1):l+=s.move("]"),l}function o9t(){return"!"}rLe.peek=a9t;function rLe(e,t,n){let r=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o<n.unsafe.length;){const a=n.unsafe[o],s=n.compilePattern(a);let l;if(a.atBreak)for(;l=s.exec(r);){let c=l.index;r.charCodeAt(c)===10&&r.charCodeAt(c-1)===13&&c--,r=r.slice(0,c)+" "+r.slice(l.index+1)}}return i+r+i}function a9t(){return"`"}function iLe(e,t){const n=oJ(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}oLe.peek=s9t;function oLe(e,t,n,r){const i=hJ(n),o=i==='"'?"Quote":"Apostrophe",a=n.createTracker(r);let s,l;if(iLe(e,n)){const u=n.stack;n.stack=[],s=n.enter("autolink");let d=a.move("<");return d+=a.move(n.containerPhrasing(e,{before:d,after:">",...a.current()})),d+=a.move(">"),s(),n.stack=u,d}s=n.enter("link"),l=n.enter("label");let c=a.move("[");return c+=a.move(n.containerPhrasing(e,{before:c,after:"](",...a.current()})),c+=a.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),c+=a.move("<"),c+=a.move(n.safe(e.url,{before:c,after:">",...a.current()})),c+=a.move(">")):(l=n.enter("destinationRaw"),c+=a.move(n.safe(e.url,{before:c,after:e.title?" ":")",...a.current()}))),l(),e.title&&(l=n.enter(`title${o}`),c+=a.move(" "+i),c+=a.move(n.safe(e.title,{before:c,after:i,...a.current()})),c+=a.move(i),l()),c+=a.move(")"),s(),c}function s9t(e,t,n){return iLe(e,n)?"<":"["}aLe.peek=l9t;function aLe(e,t,n,r){const i=e.referenceType,o=n.enter("linkReference");let a=n.enter("label");const s=n.createTracker(r);let l=s.move("[");const c=n.containerPhrasing(e,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),a();const u=n.stack;n.stack=[],a=n.enter("reference");const d=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return a(),n.stack=u,o(),i==="full"||!c||c!==d?l+=s.move(d+"]"):i==="shortcut"?l=l.slice(0,-1):l+=s.move("]"),l}function l9t(){return"["}function mJ(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function c9t(e){const t=mJ(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function u9t(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function sLe(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function d9t(e,t,n,r){const i=n.enter("list"),o=n.bulletCurrent;let a=e.ordered?u9t(n):mJ(n);const s=e.ordered?a==="."?")":".":c9t(n);let l=t&&n.bulletLastUsed?a===n.bulletLastUsed:!1;if(!e.ordered){const u=e.children?e.children[0]:void 0;if((a==="*"||a==="-")&&u&&(!u.children||!u.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),sLe(n)===a&&u){let d=-1;for(;++d<e.children.length;){const f=e.children[d];if(f&&f.type==="listItem"&&f.children&&f.children[0]&&f.children[0].type==="thematicBreak"){l=!0;break}}}}l&&(a=s),n.bulletCurrent=a;const c=n.containerFlow(e,r);return n.bulletLastUsed=a,n.bulletCurrent=o,i(),c}function f9t(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function p9t(e,t,n,r){const i=f9t(n);let o=n.bulletCurrent||mJ(n);t&&t.type==="list"&&t.ordered&&(o=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+o);let a=o.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const s=n.createTracker(r);s.move(o+" ".repeat(a-o.length)),s.shift(a);const l=n.enter("listItem"),c=n.indentLines(n.containerFlow(e,s.current()),u);return l(),c;function u(d,f,p){return f?(p?"":" ".repeat(a))+d:(p?o:o+" ".repeat(a-o.length))+d}}function h9t(e,t,n,r){const i=n.enter("paragraph"),o=n.enter("phrasing"),a=n.containerPhrasing(e,r);return o(),i(),a}const m9t=dj(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function g9t(e,t,n,r){return(e.children.some(function(a){return m9t(a)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function v9t(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}lLe.peek=y9t;function lLe(e,t,n,r){const i=v9t(n),o=n.enter("strong"),a=n.createTracker(r),s=a.move(i+i);let l=a.move(n.containerPhrasing(e,{after:i,before:s,...a.current()}));const c=l.charCodeAt(0),u=HR(r.before.charCodeAt(r.before.length-1),c,i);u.inside&&(l=k$(c)+l.slice(1));const d=l.charCodeAt(l.length-1),f=HR(r.after.charCodeAt(0),d,i);f.inside&&(l=l.slice(0,-1)+k$(d));const p=a.move(i+i);return o(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},s+l+p}function y9t(e,t,n){return n.options.strong||"*"}function b9t(e,t,n,r){return n.safe(e.value,r)}function x9t(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function w9t(e,t,n){const r=(sLe(n)+(n.options.ruleSpaces?" ":"")).repeat(x9t(n));return n.options.ruleSpaces?r.slice(0,-1):r}const cLe={blockquote:WHt,break:rve,code:XHt,definition:QHt,emphasis:JOe,hardBreak:rve,heading:n9t,html:eLe,image:tLe,imageReference:nLe,inlineCode:rLe,link:oLe,linkReference:aLe,list:d9t,listItem:p9t,paragraph:h9t,root:g9t,strong:lLe,text:b9t,thematicBreak:w9t};function S9t(){return{enter:{table:_9t,tableData:ive,tableHeader:ive,tableRow:A9t},exit:{codeText:$9t,table:C9t,tableData:YF,tableHeader:YF,tableRow:YF}}}function _9t(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function C9t(e){this.exit(e),this.data.inTable=void 0}function A9t(e){this.enter({type:"tableRow",children:[]},e)}function YF(e){this.exit(e)}function ive(e){this.enter({type:"tableCell",children:[]},e)}function $9t(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,E9t));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function E9t(e,t){return t==="|"?t:e}function T9t(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,o=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
712
712
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:f,table:a,tableCell:l,tableRow:s}};function a(p,h,m,v){return c(u(p,m,v),p.align)}function s(p,h,m,v){const y=d(p,m,v),b=c([y]);return b.slice(0,b.indexOf(`
|
|
713
|
-
`))}function l(p,h,m,v){const y=m.enter("tableCell"),b=m.enter("phrasing"),x=m.containerPhrasing(p,{...v,before:o,after:o});return b(),y(),x}function c(p,h){return VHt(p,{align:h,alignDelimiters:r,padding:n,stringLength:i})}function u(p,h,m){const v=p.children;let y=-1;const b=[],x=h.enter("table");for(;++y<v.length;)b[y]=d(v[y],h,m);return x(),b}function d(p,h,m){const v=p.children;let y=-1;const b=[],x=h.enter("tableRow");for(;++y<v.length;)b[y]=l(v[y],p,h,m);return x(),b}function f(p,h,m){let v=cLe.inlineCode(p,h,m);return m.stack.includes("tableCell")&&(v=v.replace(/\|/g,"\\$&")),v}}function I9t(){return{exit:{taskListCheckValueChecked:ove,taskListCheckValueUnchecked:ove,paragraph:N9t}}}function P9t(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:k9t}}}function ove(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function N9t(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let o=-1,a;for(;++o<i.length;){const s=i[o];if(s.type==="paragraph"){a=s;break}}a===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function k9t(e,t,n,r){const i=e.children[0],o=typeof e.checked=="boolean"&&i&&i.type==="paragraph",a="["+(e.checked?"x":" ")+"] ",s=n.createTracker(r);o&&s.move(a);let l=cLe.listItem(e,t,n,{...r,...s.current()});return o&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,c)),l;function c(u){return u+a}}function M9t(){return[dHt(),kHt(),OHt(),S9t(),I9t()]}function R9t(e){return{extensions:[fHt(),MHt(e),LHt(),T9t(e),P9t()]}}const D9t={tokenize:F9t,partial:!0},uLe={tokenize:V9t,partial:!0},dLe={tokenize:H9t,partial:!0},fLe={tokenize:W9t,partial:!0},O9t={tokenize:G9t,partial:!0},pLe={name:"wwwAutolink",tokenize:z9t,previous:mLe},hLe={name:"protocolAutolink",tokenize:B9t,previous:gLe},Rf={name:"emailAutolink",tokenize:j9t,previous:vLe},nd={};function L9t(){return{text:nd}}let km=48;for(;km<123;)nd[km]=Rf,km++,km===58?km=65:km===91&&(km=97);nd[43]=Rf;nd[45]=Rf;nd[46]=Rf;nd[95]=Rf;nd[72]=[Rf,hLe];nd[104]=[Rf,hLe];nd[87]=[Rf,pLe];nd[119]=[Rf,pLe];function j9t(e,t,n){const r=this;let i,o;return a;function a(d){return!HG(d)||!vLe.call(r,r.previous)||gJ(r.events)?n(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(d))}function s(d){return HG(d)?(e.consume(d),s):d===64?(e.consume(d),l):n(d)}function l(d){return d===46?e.check(O9t,u,c)(d):d===45||d===95||ca(d)?(o=!0,e.consume(d),l):u(d)}function c(d){return e.consume(d),i=!0,l}function u(d){return o&&i&&Da(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(d)):n(d)}}function z9t(e,t,n){const r=this;return i;function i(a){return a!==87&&a!==119||!mLe.call(r,r.previous)||gJ(r.events)?n(a):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(D9t,e.attempt(uLe,e.attempt(dLe,o),n),n)(a))}function o(a){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(a)}}function B9t(e,t,n){const r=this;let i="",o=!1;return a;function a(d){return(d===72||d===104)&&gLe.call(r,r.previous)&&!gJ(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),s):n(d)}function s(d){if(Da(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),s;if(d===58){const f=i.toLowerCase();if(f==="http"||f==="https")return e.consume(d),l}return n(d)}function l(d){return d===47?(e.consume(d),o?c:(o=!0,l)):n(d)}function c(d){return d===null||BR(d)||kr(d)||Kv(d)||lj(d)?n(d):e.attempt(uLe,e.attempt(dLe,u),n)(d)}function u(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(d)}}function F9t(e,t,n){let r=0;return i;function i(a){return(a===87||a===119)&&r<3?(r++,e.consume(a),i):a===46&&r===3?(e.consume(a),o):n(a)}function o(a){return a===null?n(a):t(a)}}function V9t(e,t,n){let r,i,o;return a;function a(c){return c===46||c===95?e.check(fLe,l,s)(c):c===null||kr(c)||Kv(c)||c!==45&&lj(c)?l(c):(o=!0,e.consume(c),a)}function s(c){return c===95?r=!0:(i=r,r=void 0),e.consume(c),a}function l(c){return i||r||!o?n(c):t(c)}}function H9t(e,t){let n=0,r=0;return i;function i(a){return a===40?(n++,e.consume(a),i):a===41&&r<n?o(a):a===33||a===34||a===38||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===60||a===63||a===93||a===95||a===126?e.check(fLe,t,o)(a):a===null||kr(a)||Kv(a)?t(a):(e.consume(a),i)}function o(a){return a===41&&r++,e.consume(a),i}}function W9t(e,t,n){return r;function r(s){return s===33||s===34||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===63||s===95||s===126?(e.consume(s),r):s===38?(e.consume(s),o):s===93?(e.consume(s),i):s===60||s===null||kr(s)||Kv(s)?t(s):n(s)}function i(s){return s===null||s===40||s===91||kr(s)||Kv(s)?t(s):r(s)}function o(s){return Da(s)?a(s):n(s)}function a(s){return s===59?(e.consume(s),r):Da(s)?(e.consume(s),a):n(s)}}function G9t(e,t,n){return r;function r(o){return e.consume(o),i}function i(o){return ca(o)?n(o):t(o)}}function mLe(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||kr(e)}function gLe(e){return!Da(e)}function vLe(e){return!(e===47||HG(e))}function HG(e){return e===43||e===45||e===46||e===95||ca(e)}function gJ(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const U9t={tokenize:e7t,partial:!0};function q9t(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Z9t,continuation:{tokenize:Q9t},exit:J9t}},text:{91:{name:"gfmFootnoteCall",tokenize:X9t},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:K9t,resolveTo:Y9t}}}}function K9t(e,t,n){const r=this;let i=r.events.length;const o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a;for(;i--;){const l=r.events[i][1];if(l.type==="labelImage"){a=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return s;function s(l){if(!a||!a._balanced)return n(l);const c=_c(r.sliceSerialize({start:a.end,end:r.now()}));return c.codePointAt(0)!==94||!o.includes(c.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function Y9t(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},s=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",o,t],["enter",a,t],["exit",a,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...s),e}function X9t(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o=0,a;return s;function s(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),l}function l(d){return d!==94?n(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",c)}function c(d){if(o>999||d===93&&!a||d===null||d===91||kr(d))return n(d);if(d===93){e.exit("chunkString");const f=e.exit("gfmFootnoteCallString");return i.includes(_c(r.sliceSerialize(f)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(d)}return kr(d)||(a=!0),o++,e.consume(d),d===92?u:c}function u(d){return d===91||d===92||d===93?(e.consume(d),o++,c):c(d)}}function Z9t(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,a=0,s;return l;function l(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),c}function c(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",u):n(h)}function u(h){if(a>999||h===93&&!s||h===null||h===91||kr(h))return n(h);if(h===93){e.exit("chunkString");const m=e.exit("gfmFootnoteDefinitionLabelString");return o=_c(r.sliceSerialize(m)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),f}return kr(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 f(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),i.includes(o)||i.push(o),or(e,p,"gfmFootnoteDefinitionWhitespace")):n(h)}function p(h){return t(h)}}function Q9t(e,t,n){return e.check(rT,t,e.attempt(U9t,t,n))}function J9t(e){e.exit("gfmFootnoteDefinition")}function e7t(e,t,n){const r=this;return or(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(o):n(o)}}function t7t(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:o,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(a,s){let l=-1;for(;++l<a.length;)if(a[l][0]==="enter"&&a[l][1].type==="strikethroughSequenceTemporary"&&a[l][1]._close){let c=l;for(;c--;)if(a[c][0]==="exit"&&a[c][1].type==="strikethroughSequenceTemporary"&&a[c][1]._open&&a[l][1].end.offset-a[l][1].start.offset===a[c][1].end.offset-a[c][1].start.offset){a[l][1].type="strikethroughSequence",a[c][1].type="strikethroughSequence";const u={type:"strikethrough",start:Object.assign({},a[c][1].start),end:Object.assign({},a[l][1].end)},d={type:"strikethroughText",start:Object.assign({},a[c][1].end),end:Object.assign({},a[l][1].start)},f=[["enter",u,s],["enter",a[c][1],s],["exit",a[c][1],s],["enter",d,s]],p=s.parser.constructs.insideSpan.null;p&&Bs(f,f.length,0,cj(p,a.slice(c+1,l),s)),Bs(f,f.length,0,[["exit",d,s],["enter",a[l][1],s],["exit",a[l][1],s],["exit",u,s]]),Bs(a,c-1,l-c+3,f),l=c+f.length-2;break}}for(l=-1;++l<a.length;)a[l][1].type==="strikethroughSequenceTemporary"&&(a[l][1].type="data");return a}function o(a,s,l){const c=this.previous,u=this.events;let d=0;return f;function f(h){return c===126&&u[u.length-1][1].type!=="characterEscape"?l(h):(a.enter("strikethroughSequenceTemporary"),p(h))}function p(h){const m=mw(c);if(h===126)return d>1?l(h):(a.consume(h),d++,p);if(d<2&&!n)return l(h);const v=a.exit("strikethroughSequenceTemporary"),y=mw(h);return v._open=!y||y===2&&!!m,v._close=!m||m===2&&!!y,s(h)}}}class n7t{constructor(){this.map=[]}add(t,n,r){r7t(this,t,n,r)}consume(t){if(this.map.sort(function(o,a){return o[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const o of i)t.push(o);i=r.pop()}this.map.length=0}}function r7t(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function i7t(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const o=r.length-1;r[o]=r[o]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function o7t(){return{flow:{null:{name:"table",tokenize:a7t,resolveAll:s7t}}}}function a7t(e,t,n){const r=this;let i=0,o=0,a;return s;function s(T){let $=r.events.length-1;for(;$>-1;){const M=r.events[$][1].type;if(M==="lineEnding"||M==="linePrefix")$--;else break}const P=$>-1?r.events[$][1].type:null,N=P==="tableHead"||P==="tableRow"?C:l;return N===C&&r.parser.lazy[r.now().line]?n(T):N(T)}function l(T){return e.enter("tableHead"),e.enter("tableRow"),c(T)}function c(T){return T===124||(a=!0,o+=1),u(T)}function u(T){return T===null?n(T):sn(T)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),p):n(T):Yn(T)?or(e,u,"whitespace")(T):(o+=1,a&&(a=!1,i+=1),T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),a=!0,u):(e.enter("data"),d(T)))}function d(T){return T===null||T===124||kr(T)?(e.exit("data"),u(T)):(e.consume(T),T===92?f:d)}function f(T){return T===92||T===124?(e.consume(T),d):d(T)}function p(T){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(T):(e.enter("tableDelimiterRow"),a=!1,Yn(T)?or(e,h,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):h(T))}function h(T){return T===45||T===58?v(T):T===124?(a=!0,e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),m):_(T)}function m(T){return Yn(T)?or(e,v,"whitespace")(T):v(T)}function v(T){return T===58?(o+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),y):T===45?(o+=1,y(T)):T===null||sn(T)?S(T):_(T)}function y(T){return T===45?(e.enter("tableDelimiterFiller"),b(T)):_(T)}function b(T){return T===45?(e.consume(T),b):T===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(T))}function x(T){return Yn(T)?or(e,S,"whitespace")(T):S(T)}function S(T){return T===124?h(T):T===null||sn(T)?!a||i!==o?_(T):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(T)):_(T)}function _(T){return n(T)}function C(T){return e.enter("tableRow"),A(T)}function A(T){return T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),A):T===null||sn(T)?(e.exit("tableRow"),t(T)):Yn(T)?or(e,A,"whitespace")(T):(e.enter("data"),E(T))}function E(T){return T===null||T===124||kr(T)?(e.exit("data"),A(T)):(e.consume(T),T===92?I:E)}function I(T){return T===92||T===124?(e.consume(T),E):E(T)}}function s7t(e,t){let n=-1,r=!0,i=0,o=[0,0,0,0],a=[0,0,0,0],s=!1,l=0,c,u,d;const f=new n7t;for(;++n<e.length;){const p=e[n],h=p[1];p[0]==="enter"?h.type==="tableHead"?(s=!1,l!==0&&(ave(f,t,l,c,u),u=void 0,l=0),c={type:"table",start:Object.assign({},h.start),end:Object.assign({},h.end)},f.add(n,0,[["enter",c,t]])):h.type==="tableRow"||h.type==="tableDelimiterRow"?(r=!0,d=void 0,o=[0,0,0,0],a=[0,n+1,0,0],s&&(s=!1,u={type:"tableBody",start:Object.assign({},h.start),end:Object.assign({},h.end)},f.add(n,0,[["enter",u,t]])),i=h.type==="tableDelimiterRow"?2:u?3:1):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")?(r=!1,a[2]===0&&(o[1]!==0&&(a[0]=a[1],d=oP(f,t,o,i,void 0,d),o=[0,0,0,0]),a[2]=n)):h.type==="tableCellDivider"&&(r?r=!1:(o[1]!==0&&(a[0]=a[1],d=oP(f,t,o,i,void 0,d)),o=a,a=[o[1],n,0,0])):h.type==="tableHead"?(s=!0,l=n):h.type==="tableRow"||h.type==="tableDelimiterRow"?(l=n,o[1]!==0?(a[0]=a[1],d=oP(f,t,o,i,n,d)):a[1]!==0&&(d=oP(f,t,a,i,n,d)),i=0):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")&&(a[3]=n)}for(l!==0&&ave(f,t,l,c,u),f.consume(t.events),n=-1;++n<t.events.length;){const p=t.events[n];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=i7t(t.events,n))}return e}function oP(e,t,n,r,i,o){const a=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",s="tableContent";n[0]!==0&&(o.end=Object.assign({},G0(t.events,n[0])),e.add(n[0],0,[["exit",o,t]]));const l=G0(t.events,n[1]);if(o={type:a,start:Object.assign({},l),end:Object.assign({},l)},e.add(n[1],0,[["enter",o,t]]),n[2]!==0){const c=G0(t.events,n[2]),u=G0(t.events,n[3]),d={type:s,start:Object.assign({},c),end:Object.assign({},u)};if(e.add(n[2],0,[["enter",d,t]]),r!==2){const f=t.events[n[2]],p=t.events[n[3]];if(f[1].end=Object.assign({},p[1].end),f[1].type="chunkText",f[1].contentType="text",n[3]>n[2]+1){const h=n[2]+1,m=n[3]-n[2]-1;e.add(h,m,[])}}e.add(n[3]+1,0,[["exit",d,t]])}return i!==void 0&&(o.end=Object.assign({},G0(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function ave(e,t,n,r,i){const o=[],a=G0(t.events,n);i&&(i.end=Object.assign({},a),o.push(["exit",i,t])),r.end=Object.assign({},a),o.push(["exit",r,t]),e.add(n+1,0,o)}function G0(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const l7t={name:"tasklistCheck",tokenize:u7t};function c7t(){return{text:{91:l7t}}}function u7t(e,t,n){const r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),o)}function o(l){return kr(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),a):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),a):n(l)}function a(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s):n(l)}function s(l){return sn(l)?t(l):Yn(l)?e.check({tokenize:d7t},t,n)(l):n(l)}}function d7t(e,t,n){return or(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function f7t(e){return EOe([L9t(),q9t(),t7t(e),o7t(),c7t()])}const p7t={};function Wp(e){const t=this,n=e||p7t,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(f7t(n)),o.push(M9t()),a.push(R9t(n))}let aP,sve=Promise.resolve();const ag=new Map,h7t=50,m7t={startOnLoad:!1,look:"handDrawn",securityLevel:"strict",fontFamily:"monospace",suppressErrorRendering:!0};function g7t(){return aP||(aP=Promise.resolve().then(()=>require("./mermaid.core-BtIoEVwS.cjs")).then(e=>e.mermaid_core).then(e=>e.default).catch(e=>{throw aP=void 0,e})),aP}function v7t(e,t){if(ag.delete(e),ag.set(e,t),ag.size>h7t){const n=ag.keys().next().value;n!==void 0&&ag.delete(n)}}function lve(e,t){const n=String(t);return/^(?:height|width|x|y|cx|cy|r|rx|ry)$/i.test(e)&&/^(?:NaN|[-+]?Infinity)$/i.test(n.trim())?"0":n}async function y7t(e,t,n){const r=SVGElement.prototype.setAttribute,i=SVGElement.prototype.setAttributeNS;SVGElement.prototype.setAttribute=function(o,a){return r.call(this,o,lve(o,a))},SVGElement.prototype.setAttributeNS=function(o,a,s){return i.call(this,o,a,lve(a,s))};try{const o=await e.render(t,n);return _7t(o.svg)}finally{SVGElement.prototype.setAttribute=r,SVGElement.prototype.setAttributeNS=i}}function b7t(e,t){const n=ag.get(e);if(n)return Promise.resolve(n);const r=sve.then(async()=>{if(t())return null;const i=ag.get(e);if(i)return i;const o=await g7t();if(t())return null;o.initialize(m7t);const a=`mermaid-${Date.now()}-${Math.random().toString(36).slice(2,11)}`,s=await y7t(o,a,e);return v7t(e,s),s});return sve=r.then(()=>{},()=>{}),r}const yLe=[/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],vJ=[/^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 x7t(e){return Array.from(e.matchAll(/```mermaid[^\r\n]*\r?\n([\s\S]*?)```/gi),t=>t[1].trim())}const w7t=[/^#{1,6}\s/,/^\|.*\|/,/^[-*+]\s/,/^\d+\.\s/,/^>\s/,/^!\[/,/^\[.*\]\(.*\)/,/^<button\b/i,/^<div\b/i,/^<table\b/i];function bLe(e,t){let n=t,r=!1;for(let i=t+1;i<e.length;i++){const o=e[i],a=o.trim();if(a===""){r=!0;continue}if(w7t.some(s=>s.test(a))||r&&!o.startsWith(" ")&&!o.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(a)||/-->|==>|-.->|-->/i.test(a)||vJ.some(l=>l.test(a))))break;n=i,r=!1}return n}function S7t(e){var p;const t=e.split(`
|
|
713
|
+
`))}function l(p,h,m,v){const y=m.enter("tableCell"),b=m.enter("phrasing"),x=m.containerPhrasing(p,{...v,before:o,after:o});return b(),y(),x}function c(p,h){return VHt(p,{align:h,alignDelimiters:r,padding:n,stringLength:i})}function u(p,h,m){const v=p.children;let y=-1;const b=[],x=h.enter("table");for(;++y<v.length;)b[y]=d(v[y],h,m);return x(),b}function d(p,h,m){const v=p.children;let y=-1;const b=[],x=h.enter("tableRow");for(;++y<v.length;)b[y]=l(v[y],p,h,m);return x(),b}function f(p,h,m){let v=cLe.inlineCode(p,h,m);return m.stack.includes("tableCell")&&(v=v.replace(/\|/g,"\\$&")),v}}function I9t(){return{exit:{taskListCheckValueChecked:ove,taskListCheckValueUnchecked:ove,paragraph:N9t}}}function P9t(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:k9t}}}function ove(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function N9t(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let o=-1,a;for(;++o<i.length;){const s=i[o];if(s.type==="paragraph"){a=s;break}}a===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function k9t(e,t,n,r){const i=e.children[0],o=typeof e.checked=="boolean"&&i&&i.type==="paragraph",a="["+(e.checked?"x":" ")+"] ",s=n.createTracker(r);o&&s.move(a);let l=cLe.listItem(e,t,n,{...r,...s.current()});return o&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,c)),l;function c(u){return u+a}}function M9t(){return[dHt(),kHt(),OHt(),S9t(),I9t()]}function R9t(e){return{extensions:[fHt(),MHt(e),LHt(),T9t(e),P9t()]}}const D9t={tokenize:F9t,partial:!0},uLe={tokenize:V9t,partial:!0},dLe={tokenize:H9t,partial:!0},fLe={tokenize:W9t,partial:!0},O9t={tokenize:G9t,partial:!0},pLe={name:"wwwAutolink",tokenize:z9t,previous:mLe},hLe={name:"protocolAutolink",tokenize:B9t,previous:gLe},Rf={name:"emailAutolink",tokenize:j9t,previous:vLe},nd={};function L9t(){return{text:nd}}let km=48;for(;km<123;)nd[km]=Rf,km++,km===58?km=65:km===91&&(km=97);nd[43]=Rf;nd[45]=Rf;nd[46]=Rf;nd[95]=Rf;nd[72]=[Rf,hLe];nd[104]=[Rf,hLe];nd[87]=[Rf,pLe];nd[119]=[Rf,pLe];function j9t(e,t,n){const r=this;let i,o;return a;function a(d){return!HG(d)||!vLe.call(r,r.previous)||gJ(r.events)?n(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(d))}function s(d){return HG(d)?(e.consume(d),s):d===64?(e.consume(d),l):n(d)}function l(d){return d===46?e.check(O9t,u,c)(d):d===45||d===95||ca(d)?(o=!0,e.consume(d),l):u(d)}function c(d){return e.consume(d),i=!0,l}function u(d){return o&&i&&Da(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(d)):n(d)}}function z9t(e,t,n){const r=this;return i;function i(a){return a!==87&&a!==119||!mLe.call(r,r.previous)||gJ(r.events)?n(a):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(D9t,e.attempt(uLe,e.attempt(dLe,o),n),n)(a))}function o(a){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(a)}}function B9t(e,t,n){const r=this;let i="",o=!1;return a;function a(d){return(d===72||d===104)&&gLe.call(r,r.previous)&&!gJ(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),s):n(d)}function s(d){if(Da(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),s;if(d===58){const f=i.toLowerCase();if(f==="http"||f==="https")return e.consume(d),l}return n(d)}function l(d){return d===47?(e.consume(d),o?c:(o=!0,l)):n(d)}function c(d){return d===null||BR(d)||kr(d)||Kv(d)||lj(d)?n(d):e.attempt(uLe,e.attempt(dLe,u),n)(d)}function u(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(d)}}function F9t(e,t,n){let r=0;return i;function i(a){return(a===87||a===119)&&r<3?(r++,e.consume(a),i):a===46&&r===3?(e.consume(a),o):n(a)}function o(a){return a===null?n(a):t(a)}}function V9t(e,t,n){let r,i,o;return a;function a(c){return c===46||c===95?e.check(fLe,l,s)(c):c===null||kr(c)||Kv(c)||c!==45&&lj(c)?l(c):(o=!0,e.consume(c),a)}function s(c){return c===95?r=!0:(i=r,r=void 0),e.consume(c),a}function l(c){return i||r||!o?n(c):t(c)}}function H9t(e,t){let n=0,r=0;return i;function i(a){return a===40?(n++,e.consume(a),i):a===41&&r<n?o(a):a===33||a===34||a===38||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===60||a===63||a===93||a===95||a===126?e.check(fLe,t,o)(a):a===null||kr(a)||Kv(a)?t(a):(e.consume(a),i)}function o(a){return a===41&&r++,e.consume(a),i}}function W9t(e,t,n){return r;function r(s){return s===33||s===34||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===63||s===95||s===126?(e.consume(s),r):s===38?(e.consume(s),o):s===93?(e.consume(s),i):s===60||s===null||kr(s)||Kv(s)?t(s):n(s)}function i(s){return s===null||s===40||s===91||kr(s)||Kv(s)?t(s):r(s)}function o(s){return Da(s)?a(s):n(s)}function a(s){return s===59?(e.consume(s),r):Da(s)?(e.consume(s),a):n(s)}}function G9t(e,t,n){return r;function r(o){return e.consume(o),i}function i(o){return ca(o)?n(o):t(o)}}function mLe(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||kr(e)}function gLe(e){return!Da(e)}function vLe(e){return!(e===47||HG(e))}function HG(e){return e===43||e===45||e===46||e===95||ca(e)}function gJ(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const U9t={tokenize:e7t,partial:!0};function q9t(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Z9t,continuation:{tokenize:Q9t},exit:J9t}},text:{91:{name:"gfmFootnoteCall",tokenize:X9t},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:K9t,resolveTo:Y9t}}}}function K9t(e,t,n){const r=this;let i=r.events.length;const o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a;for(;i--;){const l=r.events[i][1];if(l.type==="labelImage"){a=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return s;function s(l){if(!a||!a._balanced)return n(l);const c=_c(r.sliceSerialize({start:a.end,end:r.now()}));return c.codePointAt(0)!==94||!o.includes(c.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function Y9t(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},s=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",o,t],["enter",a,t],["exit",a,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...s),e}function X9t(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o=0,a;return s;function s(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),l}function l(d){return d!==94?n(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",c)}function c(d){if(o>999||d===93&&!a||d===null||d===91||kr(d))return n(d);if(d===93){e.exit("chunkString");const f=e.exit("gfmFootnoteCallString");return i.includes(_c(r.sliceSerialize(f)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(d)}return kr(d)||(a=!0),o++,e.consume(d),d===92?u:c}function u(d){return d===91||d===92||d===93?(e.consume(d),o++,c):c(d)}}function Z9t(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,a=0,s;return l;function l(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),c}function c(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",u):n(h)}function u(h){if(a>999||h===93&&!s||h===null||h===91||kr(h))return n(h);if(h===93){e.exit("chunkString");const m=e.exit("gfmFootnoteDefinitionLabelString");return o=_c(r.sliceSerialize(m)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),f}return kr(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 f(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),i.includes(o)||i.push(o),or(e,p,"gfmFootnoteDefinitionWhitespace")):n(h)}function p(h){return t(h)}}function Q9t(e,t,n){return e.check(rT,t,e.attempt(U9t,t,n))}function J9t(e){e.exit("gfmFootnoteDefinition")}function e7t(e,t,n){const r=this;return or(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(o):n(o)}}function t7t(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:o,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(a,s){let l=-1;for(;++l<a.length;)if(a[l][0]==="enter"&&a[l][1].type==="strikethroughSequenceTemporary"&&a[l][1]._close){let c=l;for(;c--;)if(a[c][0]==="exit"&&a[c][1].type==="strikethroughSequenceTemporary"&&a[c][1]._open&&a[l][1].end.offset-a[l][1].start.offset===a[c][1].end.offset-a[c][1].start.offset){a[l][1].type="strikethroughSequence",a[c][1].type="strikethroughSequence";const u={type:"strikethrough",start:Object.assign({},a[c][1].start),end:Object.assign({},a[l][1].end)},d={type:"strikethroughText",start:Object.assign({},a[c][1].end),end:Object.assign({},a[l][1].start)},f=[["enter",u,s],["enter",a[c][1],s],["exit",a[c][1],s],["enter",d,s]],p=s.parser.constructs.insideSpan.null;p&&Bs(f,f.length,0,cj(p,a.slice(c+1,l),s)),Bs(f,f.length,0,[["exit",d,s],["enter",a[l][1],s],["exit",a[l][1],s],["exit",u,s]]),Bs(a,c-1,l-c+3,f),l=c+f.length-2;break}}for(l=-1;++l<a.length;)a[l][1].type==="strikethroughSequenceTemporary"&&(a[l][1].type="data");return a}function o(a,s,l){const c=this.previous,u=this.events;let d=0;return f;function f(h){return c===126&&u[u.length-1][1].type!=="characterEscape"?l(h):(a.enter("strikethroughSequenceTemporary"),p(h))}function p(h){const m=mw(c);if(h===126)return d>1?l(h):(a.consume(h),d++,p);if(d<2&&!n)return l(h);const v=a.exit("strikethroughSequenceTemporary"),y=mw(h);return v._open=!y||y===2&&!!m,v._close=!m||m===2&&!!y,s(h)}}}class n7t{constructor(){this.map=[]}add(t,n,r){r7t(this,t,n,r)}consume(t){if(this.map.sort(function(o,a){return o[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const o of i)t.push(o);i=r.pop()}this.map.length=0}}function r7t(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function i7t(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const o=r.length-1;r[o]=r[o]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function o7t(){return{flow:{null:{name:"table",tokenize:a7t,resolveAll:s7t}}}}function a7t(e,t,n){const r=this;let i=0,o=0,a;return s;function s(T){let $=r.events.length-1;for(;$>-1;){const M=r.events[$][1].type;if(M==="lineEnding"||M==="linePrefix")$--;else break}const P=$>-1?r.events[$][1].type:null,N=P==="tableHead"||P==="tableRow"?C:l;return N===C&&r.parser.lazy[r.now().line]?n(T):N(T)}function l(T){return e.enter("tableHead"),e.enter("tableRow"),c(T)}function c(T){return T===124||(a=!0,o+=1),u(T)}function u(T){return T===null?n(T):sn(T)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),p):n(T):Yn(T)?or(e,u,"whitespace")(T):(o+=1,a&&(a=!1,i+=1),T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),a=!0,u):(e.enter("data"),d(T)))}function d(T){return T===null||T===124||kr(T)?(e.exit("data"),u(T)):(e.consume(T),T===92?f:d)}function f(T){return T===92||T===124?(e.consume(T),d):d(T)}function p(T){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(T):(e.enter("tableDelimiterRow"),a=!1,Yn(T)?or(e,h,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):h(T))}function h(T){return T===45||T===58?v(T):T===124?(a=!0,e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),m):_(T)}function m(T){return Yn(T)?or(e,v,"whitespace")(T):v(T)}function v(T){return T===58?(o+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),y):T===45?(o+=1,y(T)):T===null||sn(T)?S(T):_(T)}function y(T){return T===45?(e.enter("tableDelimiterFiller"),b(T)):_(T)}function b(T){return T===45?(e.consume(T),b):T===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(T))}function x(T){return Yn(T)?or(e,S,"whitespace")(T):S(T)}function S(T){return T===124?h(T):T===null||sn(T)?!a||i!==o?_(T):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(T)):_(T)}function _(T){return n(T)}function C(T){return e.enter("tableRow"),A(T)}function A(T){return T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),A):T===null||sn(T)?(e.exit("tableRow"),t(T)):Yn(T)?or(e,A,"whitespace")(T):(e.enter("data"),E(T))}function E(T){return T===null||T===124||kr(T)?(e.exit("data"),A(T)):(e.consume(T),T===92?I:E)}function I(T){return T===92||T===124?(e.consume(T),E):E(T)}}function s7t(e,t){let n=-1,r=!0,i=0,o=[0,0,0,0],a=[0,0,0,0],s=!1,l=0,c,u,d;const f=new n7t;for(;++n<e.length;){const p=e[n],h=p[1];p[0]==="enter"?h.type==="tableHead"?(s=!1,l!==0&&(ave(f,t,l,c,u),u=void 0,l=0),c={type:"table",start:Object.assign({},h.start),end:Object.assign({},h.end)},f.add(n,0,[["enter",c,t]])):h.type==="tableRow"||h.type==="tableDelimiterRow"?(r=!0,d=void 0,o=[0,0,0,0],a=[0,n+1,0,0],s&&(s=!1,u={type:"tableBody",start:Object.assign({},h.start),end:Object.assign({},h.end)},f.add(n,0,[["enter",u,t]])),i=h.type==="tableDelimiterRow"?2:u?3:1):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")?(r=!1,a[2]===0&&(o[1]!==0&&(a[0]=a[1],d=oP(f,t,o,i,void 0,d),o=[0,0,0,0]),a[2]=n)):h.type==="tableCellDivider"&&(r?r=!1:(o[1]!==0&&(a[0]=a[1],d=oP(f,t,o,i,void 0,d)),o=a,a=[o[1],n,0,0])):h.type==="tableHead"?(s=!0,l=n):h.type==="tableRow"||h.type==="tableDelimiterRow"?(l=n,o[1]!==0?(a[0]=a[1],d=oP(f,t,o,i,n,d)):a[1]!==0&&(d=oP(f,t,a,i,n,d)),i=0):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")&&(a[3]=n)}for(l!==0&&ave(f,t,l,c,u),f.consume(t.events),n=-1;++n<t.events.length;){const p=t.events[n];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=i7t(t.events,n))}return e}function oP(e,t,n,r,i,o){const a=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",s="tableContent";n[0]!==0&&(o.end=Object.assign({},G0(t.events,n[0])),e.add(n[0],0,[["exit",o,t]]));const l=G0(t.events,n[1]);if(o={type:a,start:Object.assign({},l),end:Object.assign({},l)},e.add(n[1],0,[["enter",o,t]]),n[2]!==0){const c=G0(t.events,n[2]),u=G0(t.events,n[3]),d={type:s,start:Object.assign({},c),end:Object.assign({},u)};if(e.add(n[2],0,[["enter",d,t]]),r!==2){const f=t.events[n[2]],p=t.events[n[3]];if(f[1].end=Object.assign({},p[1].end),f[1].type="chunkText",f[1].contentType="text",n[3]>n[2]+1){const h=n[2]+1,m=n[3]-n[2]-1;e.add(h,m,[])}}e.add(n[3]+1,0,[["exit",d,t]])}return i!==void 0&&(o.end=Object.assign({},G0(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function ave(e,t,n,r,i){const o=[],a=G0(t.events,n);i&&(i.end=Object.assign({},a),o.push(["exit",i,t])),r.end=Object.assign({},a),o.push(["exit",r,t]),e.add(n+1,0,o)}function G0(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const l7t={name:"tasklistCheck",tokenize:u7t};function c7t(){return{text:{91:l7t}}}function u7t(e,t,n){const r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),o)}function o(l){return kr(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),a):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),a):n(l)}function a(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s):n(l)}function s(l){return sn(l)?t(l):Yn(l)?e.check({tokenize:d7t},t,n)(l):n(l)}}function d7t(e,t,n){return or(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function f7t(e){return EOe([L9t(),q9t(),t7t(e),o7t(),c7t()])}const p7t={};function Wp(e){const t=this,n=e||p7t,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(f7t(n)),o.push(M9t()),a.push(R9t(n))}let aP,sve=Promise.resolve();const ag=new Map,h7t=50,m7t={startOnLoad:!1,look:"handDrawn",securityLevel:"strict",fontFamily:"monospace",suppressErrorRendering:!0};function g7t(){return aP||(aP=Promise.resolve().then(()=>require("./mermaid.core-ClLxugfZ.cjs")).then(e=>e.mermaid_core).then(e=>e.default).catch(e=>{throw aP=void 0,e})),aP}function v7t(e,t){if(ag.delete(e),ag.set(e,t),ag.size>h7t){const n=ag.keys().next().value;n!==void 0&&ag.delete(n)}}function lve(e,t){const n=String(t);return/^(?:height|width|x|y|cx|cy|r|rx|ry)$/i.test(e)&&/^(?:NaN|[-+]?Infinity)$/i.test(n.trim())?"0":n}async function y7t(e,t,n){const r=SVGElement.prototype.setAttribute,i=SVGElement.prototype.setAttributeNS;SVGElement.prototype.setAttribute=function(o,a){return r.call(this,o,lve(o,a))},SVGElement.prototype.setAttributeNS=function(o,a,s){return i.call(this,o,a,lve(a,s))};try{const o=await e.render(t,n);return _7t(o.svg)}finally{SVGElement.prototype.setAttribute=r,SVGElement.prototype.setAttributeNS=i}}function b7t(e,t){const n=ag.get(e);if(n)return Promise.resolve(n);const r=sve.then(async()=>{if(t())return null;const i=ag.get(e);if(i)return i;const o=await g7t();if(t())return null;o.initialize(m7t);const a=`mermaid-${Date.now()}-${Math.random().toString(36).slice(2,11)}`,s=await y7t(o,a,e);return v7t(e,s),s});return sve=r.then(()=>{},()=>{}),r}const yLe=[/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],vJ=[/^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 x7t(e){return Array.from(e.matchAll(/```mermaid[^\r\n]*\r?\n([\s\S]*?)```/gi),t=>t[1].trim())}const w7t=[/^#{1,6}\s/,/^\|.*\|/,/^[-*+]\s/,/^\d+\.\s/,/^>\s/,/^!\[/,/^\[.*\]\(.*\)/,/^<button\b/i,/^<div\b/i,/^<table\b/i];function bLe(e,t){let n=t,r=!1;for(let i=t+1;i<e.length;i++){const o=e[i],a=o.trim();if(a===""){r=!0;continue}if(w7t.some(s=>s.test(a))||r&&!o.startsWith(" ")&&!o.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(a)||/-->|==>|-.->|-->/i.test(a)||vJ.some(l=>l.test(a))))break;n=i,r=!1}return n}function S7t(e){var p;const t=e.split(`
|
|
714
714
|
`),n=t.findIndex(h=>/^xychart(?:-beta)?\b/i.test(h.trim()));if(n===-1)return e;let r=-1,i=null,o=null,a="";const s=(p=t.find(h=>/^\s*x-axis\b[^\[]*\[/i.test(h)))==null?void 0:p.match(/^\s*x-axis\b[^\[]*\[([^\]]*)\]/i),l=(s==null?void 0:s[1].trim())??"",c=s?l?l.split(",").length:0:null,u=[],d=/^(\s*)(bar|line)\b([\s\S]*?)\[([^\]]*)\](\s*)$/i;for(let h=0;h<t.length;h++){const m=t[h],v=m.match(/^\s*y-axis\b(.*)$/i);if(v){r=h;const b=v[1],x=b.match(/"([^"]*)"|\[([^\]]*)\]/);a=x?x[1]??x[2]??"":"";const S=b.match(/([-\d.]+)\s*-->\s*([-\d.]+)/);S&&(i=Number.parseFloat(S[1]),o=Number.parseFloat(S[2]));continue}const y=m.match(d);if(y){const b=y[4].split(",").map(x=>{const S=Number(x.trim());return Number.isFinite(S)?(u.push(S),x.trim()):"0"});if(c!==null){for(;b.length<c;)b.push("0");b.length>c&&(b.length=c)}t[h]=`${y[1]}${y[2]}${y[3]}[${b.join(", ")}]${y[5]}`}}if(r===-1||i===null||o===null||!Number.isFinite(i)||!Number.isFinite(o)||i>=o){const h=u.length>0?Math.min(...u):0,m=u.length>0?Math.max(...u):1,v=m-h,y=v===0?1:v*.1,b=Math.floor(h-y),x=Math.ceil(m+y),_=` y-axis${a?` "${a}"`:""} ${b} --> ${x}`;if(r!==-1)t[r]=_;else{const C=t.findIndex((E,I)=>I>n&&/^\s*x-axis\b/i.test(E)),A=C===-1?n+1:C+1;t.splice(A,0,_)}}return t.join(`
|
|
715
|
-
`)}function _7t(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,n=>n.replace(/(NaN|-?Infinity)/gi,"0")),t}function mp({chart:e,streaming:t=!1,ready:n=!0}){const r=g.useRef(null),i=g.useRef(null),[o,a]=g.useState("empty"),s=t&&!n;return g.useEffect(()=>{const l=r.current,c=i.current;if(!l||!c)return;let u=!1;const d=e.trim();if(!d)return c.replaceChildren(),a("empty"),()=>{u=!0};if(s)return a("pending"),()=>{u=!0};c.replaceChildren(),a("loading");const f=async()=>{try{const v=S7t(d),y=await b7t(v,()=>u);!u&&i.current===c&&(y?(c.innerHTML=y,a("rendered")):(c.replaceChildren(),a("error")))}catch{!u&&i.current===c&&(c.replaceChildren(),a("error"))}};let p,h;const m=()=>{p=window.setTimeout(()=>void f(),180)};return"IntersectionObserver"in window?(h=new IntersectionObserver(v=>{v.some(y=>y.isIntersecting)&&(h==null||h.disconnect(),m())},{rootMargin:"360px 0px"}),h.observe(l)):m(),()=>{u=!0,h==null||h.disconnect(),p!==void 0&&window.clearTimeout(p)}},[e,s]),w.jsxs("div",{ref:r,className:"wandox-mermaid-chart","aria-busy":o==="loading",children:[o==="loading"&&w.jsxs("output",{className:"wandox-mermaid-loading",children:[w.jsx("span",{className:"wandox-mermaid-loading__spinner","aria-hidden":"true"}),w.jsx("span",{className:"wandox-mermaid-loading__text",children:"加载中"})]}),o==="pending"&&w.jsx("output",{className:"wandox-mermaid-pending","aria-live":"polite",children:"图表生成中..."}),o==="error"&&w.jsx("div",{className:"wandox-mermaid-error",role:"alert",children:w.jsx("span",{children:"图表暂时无法渲染"})}),w.jsx("div",{ref:i,className:"wandox-mermaid-content",hidden:o!=="rendered"})]})}const xLe=g.createContext({});function C7t(e){const t=[],n=/<button[^>]*>([^<]*)<\/button>/gi,r=/data-id=["']([^"']*)["']/i,i=/data-playbook-id=["']([^"']*)["']/i,o=/data-playbook-name=["']([^"']*)["']/i,a=/data-playbook-params='([^']*)'/i,s=/data-input-fields='([^']*)'/i,l=[],c=/```[\s\S]*?```|`[^`]+`/g;let u=c.exec(e);for(;u!==null;)l.push({start:u.index,end:u.index+u[0].length}),u=c.exec(e);const d=m=>l.some(v=>m>=v.start&&m<v.end);let f=0;const p=[];let h=n.exec(e);for(;h!==null;){if(d(h.index)){h=n.exec(e);continue}const m=h[0],v=h[1],y=r.exec(m),b=i.exec(m),x=o.exec(m),S=a.exec(m),_=s.exec(m);if((y||b)&&x){let C={};if(S)try{C=JSON.parse(S[1].replace(/"/g,'"').replace(/'/g,"'"))}catch{}let A=[];if(_)try{A=JSON.parse(_[1].replace(/"/g,'"').replace(/'/g,"'"))}catch{}p.push({index:h.index,length:m.length,info:{id:y==null?void 0:y[1],playbookId:b==null?void 0:b[1],playbookName:x[1],playbookParams:C,buttonText:v||x[1],inputFields:A}})}h=n.exec(e)}p.sort((m,v)=>m.index-v.index);for(const m of p)m.index>f&&t.push({text:e.slice(f,m.index),buttons:[]}),t.push({text:"",buttons:[m.info]}),f=m.index+m.length;return f<e.length&&t.push({text:e.slice(f),buttons:[]}),t.length>0?t:[{text:e,buttons:[]}]}function A7t(e,t){if(e[t]!=="{")return-1;let n=0,r=!1,i=!1;for(let o=t;o<e.length;o+=1){const a=e[o];if(r){i?i=!1:a==="\\"?i=!0:a==='"'&&(r=!1);continue}if(a==='"')r=!0;else if(a==="{")n+=1;else if(a==="}"&&(n-=1,n===0))return o+1}return-1}function $7t(e){const t=[],n=[],r=/```[\s\S]*?```|`[^`]+`/g;let i=r.exec(e);for(;i!==null;)n.push({start:i.index,end:i.index+i[0].length}),i=r.exec(e);const o=u=>n.some(d=>u>=d.start&&u<d.end);let a=0;const s=[],l=/\[\[([^|\[\]]+)\|([^|\[\]]+)\|([^|\[\]]+)\|/g;let c=l.exec(e);for(;c!==null;){if(o(c.index)){c=l.exec(e);continue}const u=l.lastIndex,d=A7t(e,u);if(d===-1||e.slice(d,d+2)!=="]]"){c=l.exec(e);continue}const f=e.slice(c.index,d+2),p=c[1],h=c[2],m=c[3],v=e.slice(u,d);let y={};try{y=JSON.parse(v)}catch{}s.push({index:c.index,length:f.length,info:{id:h,playbookId:void 0,playbookName:p,playbookParams:y,buttonText:p,inputFields:[],playbookType:m}}),c=l.exec(e)}s.sort((u,d)=>u.index-d.index),a=0;for(const u of s)u.index>a&&t.push({text:e.slice(a,u.index),buttons:[]}),t.push({text:"",buttons:[u.info]}),a=u.index+u.length;return a<e.length&&t.push({text:e.slice(a),buttons:[]}),t.length>0?t:[{text:e,buttons:[]}]}function E7t(e){if(e){if(typeof e=="object"&&"data"in e){const t=e.data;if(t&&typeof t=="object")return t}return e}}function cve(e){return(Array.isArray(e)?e.map(n=>[void 0,n]):e&&typeof e=="object"?Object.entries(e):[]).flatMap(([n,r])=>{if(!r||typeof r!="object")return[];const i=r,o=String(i.name||n||"").trim();return o?[{...i,name:o,label:String(i.label||o),type:String(i.type||"string"),required:i.required===!0}]:[]})}function T7t(e,t){const n=new Map(t.filter(r=>r.default!==void 0&&r.default!=="").map(r=>[r.name,r.default]));return n.size===0?e:e.map(r=>r.default!==void 0&&r.default!==""||!n.has(r.name)?r:{...r,default:n.get(r.name)})}function I7t(e){if(!e)return[];const t=e.content||{},n=cve(e.input_fields??t.input_fields),r=t.yaml_content||"";if(r)try{const i=kE.parse(r),o=cve(i==null?void 0:i.params);if(o.length>0)return T7t(o,n)}catch{}return n}function uve({info:e}){const{onExecutePlaybook:t,onFillPlaybookParams:n,getPlaybookDetail:r}=g.useContext(xLe),[i,o]=g.useState(!1),[a,s]=g.useState(e.playbookId||""),l=(d,f)=>f.length===0?!1:(n&&n({playbookId:d,playbookName:e.playbookName,inputFields:f.map(p=>({...p,label:p.label||p.name})),initialParams:e.playbookParams,playbookType:e.playbookType}),!0),c=d=>{const f=(d==null?void 0:d.playbookId)||a||e.playbookId;f&&t&&t({message:e.playbookName,playbook_id:f,playbook_params:e.playbookParams,playbook_type:e.playbookType})},u=async()=>{if(i)return;const d=e.id||e.playbookId;if(!d){if(l(e.playbookId||"",e.inputFields))return;c();return}if(!r){if(l(e.playbookId||"",e.inputFields))return;c();return}o(!0);try{const f=E7t(await r(d)),p=String((f==null?void 0:f.playbook_id)||e.playbookId||d);p&&s(p);const h=I7t(f);h.length>0?l(p,h):c({playbookId:p})}catch{if(l(e.playbookId||"",e.inputFields))return;c()}finally{o(!1)}};return w.jsxs("button",{type:"button",className:"wandox-playbook-button","data-id":e.id,"data-playbook-id":a||e.playbookId,"data-playbook-name":e.playbookName,"data-playbook-params":JSON.stringify(e.playbookParams),"data-input-fields":JSON.stringify(e.inputFields),onClick:u,disabled:i,children:[i?w.jsx(xr,{className:"wandox-playbook-button-icon"}):w.jsx(Qw,{className:"wandox-playbook-button-icon"}),w.jsx("span",{children:e.buttonText})]})}const P7t=new Set(["csv","xlsx","xls","tsv","doc","docx","pdf","txt","md","zip","json"]),N7t=/\/api\/v1\/cognitive\/artifacts\/[^/]+\/download/i;function k7t(e){const t=e.trim();if(!t)return!1;if(N7t.test(t))return!0;const n=t.split(/[?#]/,1)[0],r=/\.([a-z0-9]+)$/i.exec(n);return r!==null&&P7t.has(r[1].toLowerCase())}function dve(e){try{const n=e.split(/[?#]/,1)[0].split("/").filter(Boolean).pop()||"";return decodeURIComponent(n)||"文件"}catch{return"文件"}}function WG(e){const t=/\.([a-z0-9]+)$/i.exec(e);return t?t[1].toLowerCase():""}const M7t={excel:"#16a34a",pdf:"#dc2626",word:"#2563eb",zip:"#d97706",text:"#6b7280"};function R7t(e){const t=WG(e),n=["csv","xlsx","xls","tsv"].includes(t)?"excel":["doc","docx"].includes(t)?"word":["txt","md","json"].includes(t)?"text":t,r={fontSize:22,color:M7t[n]||"#6b7280"};return n==="excel"?w.jsx($Ee,{style:r}):n==="pdf"?w.jsx(GO,{style:r}):n==="word"?w.jsx(zY,{style:r}):n==="zip"?w.jsx(EEe,{style:r}):n==="text"?w.jsx(AE,{style:r}):w.jsx(Tf,{style:r})}function wLe(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(wLe).join(""):""}function SLe({href:e,children:t,onClick:n}){const r=wLe(t).trim(),o=r&&!/^https?:\/\//i.test(r)?r:dve(e),a=WG(o)||WG(dve(e));return w.jsxs("a",{className:"wandox-file-card",href:e,target:"_blank",rel:"noopener noreferrer",onClick:n,children:[w.jsx("span",{className:"wandox-file-card__icon",children:R7t(o)}),w.jsxs("span",{className:"wandox-file-card__body",children:[w.jsx("span",{className:"wandox-file-card__name",title:o,children:o}),w.jsxs("span",{className:"wandox-file-card__meta",children:["点击下载",a?` · ${a.toUpperCase()}`:""]})]}),w.jsx(EE,{className:"wandox-file-card__action"})]})}const GG=g.createContext({streaming:!1,completeMermaidCodes:new Set,completeEChartsCodes:new Set});function D7t(e){return[...e.matchAll(/```echarts[^\r\n]*\r?\n([\s\S]*?)```/gi)].map(t=>t[1].trim())}function O7t({className:e,children:t,...n}){const{streaming:r,completeMermaidCodes:i,completeEChartsCodes:o}=g.useContext(GG),a=/language-(\w+)/.exec(e||""),s=String(t).replace(/\n$/,"");if(a&&a[1]==="echarts"){const l=!r||o.has(s.trim());return w.jsx(yFt,{source:s,streaming:r,ready:l})}if(a&&a[1]==="mermaid"){const l=!r||i.has(s.trim());return w.jsx(mp,{chart:s,streaming:r,ready:l})}return w.jsx("code",{className:e,...n,children:t})}const fve={a({href:e,children:t,...n}){return e&&rOe(String(e))?w.jsx(pw,{src:String(e),alt:"图片预览",size:"small"}):e&&k7t(String(e))?w.jsx(SLe,{href:String(e),children:t}):w.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",...n,children:t})},table({children:e,...t}){return w.jsx("div",{className:"wandox-native-table-wrapper",children:w.jsx("table",{className:"wandox-native-table",...t,children:e})})},img({src:e,alt:t}){return e?w.jsx(pw,{src:String(e),alt:t||"图片预览",size:"small"}):null},code:O7t};function sP({content:e,streaming:t=!1}){if(!e||e.trim()==="")return null;const n=e.replace(/```[\s\S]*?```/g,"").replace(/`[^`]+`/g,"");if(n.includes("[[")&&(n.includes("|standard|")||n.includes("|exploration|")||n.includes("|fast_action|")||n.includes("|patrol|"))){const o=$7t(e),a=[];let s=[];const l=()=>{s.length>0&&(a.push(w.jsx("div",{className:"wandox-playbook-button-group",children:s.map((c,u)=>w.jsx(uve,{info:c},`btn-${u}`))},`btn-group-${a.length}`)),s=[])};for(let c=0;c<o.length;c++){const u=o[c];u.buttons.length>0?s.push(...u.buttons):u.text.trim()&&(l(),a.push(w.jsx(BN,{content:u.text,streaming:t},`text-${c}`)))}return l(),w.jsx("div",{className:"wandox-markdown-with-buttons",children:a})}if(/<button[^>]*data-playbook-id/i.test(n)){const o=C7t(e),a=[];let s=[];const l=()=>{s.length>0&&(a.push(w.jsx("div",{className:"wandox-playbook-button-group",children:s.map((c,u)=>w.jsx(uve,{info:c},`btn-${u}`))},`btn-group-${a.length}`)),s=[])};for(let c=0;c<o.length;c++){const u=o[c];u.buttons.length>0?s.push(...u.buttons):u.text.trim()&&(l(),a.push(w.jsx(BN,{content:u.text,streaming:t},`text-${c}`)))}return l(),w.jsx("div",{className:"wandox-markdown-with-buttons",children:a})}return w.jsx(BN,{content:e,streaming:t})}function BN({content:e,streaming:t=!1}){if(!e||e.trim()==="")return null;const n=new Set(x7t(e)),r=new Set(D7t(e)),i=yLe.some(a=>a.test(e)),o=e.includes("```mermaid");if(i&&!o){const a=e.split(`
|
|
715
|
+
`)}function _7t(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,n=>n.replace(/(NaN|-?Infinity)/gi,"0")),t}function mp({chart:e,streaming:t=!1,ready:n=!0}){const r=g.useRef(null),i=g.useRef(null),[o,a]=g.useState("empty"),[s,l]=g.useState(),c=t&&!n;return g.useEffect(()=>{const u=r.current,d=i.current;if(!u||!d)return;let f=!1;const p=e.trim();if(!p)return d.replaceChildren(),a("empty"),()=>{f=!0};if(c)return a("pending"),()=>{f=!0};d.replaceChildren(),a("loading");const h=async()=>{try{const b=S7t(p),x=await b7t(b,()=>f);!f&&i.current===d&&(x?(d.innerHTML=x,l(void 0),a("rendered")):(d.replaceChildren(),l("图表源码为空"),a("error")))}catch(b){!f&&i.current===d&&(d.replaceChildren(),l(b instanceof Error&&b.message?b.message:String(b??"未知错误")),a("error"))}};let m,v;const y=()=>{m=window.setTimeout(()=>void h(),180)};return"IntersectionObserver"in window?(v=new IntersectionObserver(b=>{b.some(x=>x.isIntersecting)&&(v==null||v.disconnect(),y())},{rootMargin:"360px 0px"}),v.observe(u)):y(),()=>{f=!0,v==null||v.disconnect(),m!==void 0&&window.clearTimeout(m)}},[e,c]),w.jsxs("div",{ref:r,className:"wandox-mermaid-chart","aria-busy":o==="loading",children:[o==="loading"&&w.jsxs("output",{className:"wandox-mermaid-loading",children:[w.jsx("span",{className:"wandox-mermaid-loading__spinner","aria-hidden":"true"}),w.jsx("span",{className:"wandox-mermaid-loading__text",children:"加载中"})]}),o==="pending"&&w.jsx("output",{className:"wandox-mermaid-pending","aria-live":"polite",children:"图表生成中..."}),o==="error"&&w.jsxs("div",{className:"wandox-mermaid-error",role:"alert",children:[w.jsx("span",{children:"图表暂时无法渲染"}),s?w.jsx("span",{className:"wandox-mermaid-error__detail",children:s}):null]}),w.jsx("div",{ref:i,className:"wandox-mermaid-content",hidden:o!=="rendered"})]})}const xLe=g.createContext({});function C7t(e){const t=[],n=/<button[^>]*>([^<]*)<\/button>/gi,r=/data-id=["']([^"']*)["']/i,i=/data-playbook-id=["']([^"']*)["']/i,o=/data-playbook-name=["']([^"']*)["']/i,a=/data-playbook-params='([^']*)'/i,s=/data-input-fields='([^']*)'/i,l=[],c=/```[\s\S]*?```|`[^`]+`/g;let u=c.exec(e);for(;u!==null;)l.push({start:u.index,end:u.index+u[0].length}),u=c.exec(e);const d=m=>l.some(v=>m>=v.start&&m<v.end);let f=0;const p=[];let h=n.exec(e);for(;h!==null;){if(d(h.index)){h=n.exec(e);continue}const m=h[0],v=h[1],y=r.exec(m),b=i.exec(m),x=o.exec(m),S=a.exec(m),_=s.exec(m);if((y||b)&&x){let C={};if(S)try{C=JSON.parse(S[1].replace(/"/g,'"').replace(/'/g,"'"))}catch{}let A=[];if(_)try{A=JSON.parse(_[1].replace(/"/g,'"').replace(/'/g,"'"))}catch{}p.push({index:h.index,length:m.length,info:{id:y==null?void 0:y[1],playbookId:b==null?void 0:b[1],playbookName:x[1],playbookParams:C,buttonText:v||x[1],inputFields:A}})}h=n.exec(e)}p.sort((m,v)=>m.index-v.index);for(const m of p)m.index>f&&t.push({text:e.slice(f,m.index),buttons:[]}),t.push({text:"",buttons:[m.info]}),f=m.index+m.length;return f<e.length&&t.push({text:e.slice(f),buttons:[]}),t.length>0?t:[{text:e,buttons:[]}]}function A7t(e,t){if(e[t]!=="{")return-1;let n=0,r=!1,i=!1;for(let o=t;o<e.length;o+=1){const a=e[o];if(r){i?i=!1:a==="\\"?i=!0:a==='"'&&(r=!1);continue}if(a==='"')r=!0;else if(a==="{")n+=1;else if(a==="}"&&(n-=1,n===0))return o+1}return-1}function $7t(e){const t=[],n=[],r=/```[\s\S]*?```|`[^`]+`/g;let i=r.exec(e);for(;i!==null;)n.push({start:i.index,end:i.index+i[0].length}),i=r.exec(e);const o=u=>n.some(d=>u>=d.start&&u<d.end);let a=0;const s=[],l=/\[\[([^|\[\]]+)\|([^|\[\]]+)\|([^|\[\]]+)\|/g;let c=l.exec(e);for(;c!==null;){if(o(c.index)){c=l.exec(e);continue}const u=l.lastIndex,d=A7t(e,u);if(d===-1||e.slice(d,d+2)!=="]]"){c=l.exec(e);continue}const f=e.slice(c.index,d+2),p=c[1],h=c[2],m=c[3],v=e.slice(u,d);let y={};try{y=JSON.parse(v)}catch{}s.push({index:c.index,length:f.length,info:{id:h,playbookId:void 0,playbookName:p,playbookParams:y,buttonText:p,inputFields:[],playbookType:m}}),c=l.exec(e)}s.sort((u,d)=>u.index-d.index),a=0;for(const u of s)u.index>a&&t.push({text:e.slice(a,u.index),buttons:[]}),t.push({text:"",buttons:[u.info]}),a=u.index+u.length;return a<e.length&&t.push({text:e.slice(a),buttons:[]}),t.length>0?t:[{text:e,buttons:[]}]}function E7t(e){if(e){if(typeof e=="object"&&"data"in e){const t=e.data;if(t&&typeof t=="object")return t}return e}}function cve(e){return(Array.isArray(e)?e.map(n=>[void 0,n]):e&&typeof e=="object"?Object.entries(e):[]).flatMap(([n,r])=>{if(!r||typeof r!="object")return[];const i=r,o=String(i.name||n||"").trim();return o?[{...i,name:o,label:String(i.label||o),type:String(i.type||"string"),required:i.required===!0}]:[]})}function T7t(e,t){const n=new Map(t.filter(r=>r.default!==void 0&&r.default!=="").map(r=>[r.name,r.default]));return n.size===0?e:e.map(r=>r.default!==void 0&&r.default!==""||!n.has(r.name)?r:{...r,default:n.get(r.name)})}function I7t(e){if(!e)return[];const t=e.content||{},n=cve(e.input_fields??t.input_fields),r=t.yaml_content||"";if(r)try{const i=kE.parse(r),o=cve(i==null?void 0:i.params);if(o.length>0)return T7t(o,n)}catch{}return n}function uve({info:e}){const{onExecutePlaybook:t,onFillPlaybookParams:n,getPlaybookDetail:r}=g.useContext(xLe),[i,o]=g.useState(!1),[a,s]=g.useState(e.playbookId||""),l=(d,f)=>f.length===0?!1:(n&&n({playbookId:d,playbookName:e.playbookName,inputFields:f.map(p=>({...p,label:p.label||p.name})),initialParams:e.playbookParams,playbookType:e.playbookType}),!0),c=d=>{const f=(d==null?void 0:d.playbookId)||a||e.playbookId;f&&t&&t({message:e.playbookName,playbook_id:f,playbook_params:e.playbookParams,playbook_type:e.playbookType})},u=async()=>{if(i)return;const d=e.id||e.playbookId;if(!d){if(l(e.playbookId||"",e.inputFields))return;c();return}if(!r){if(l(e.playbookId||"",e.inputFields))return;c();return}o(!0);try{const f=E7t(await r(d)),p=String((f==null?void 0:f.playbook_id)||e.playbookId||d);p&&s(p);const h=I7t(f);h.length>0?l(p,h):c({playbookId:p})}catch{if(l(e.playbookId||"",e.inputFields))return;c()}finally{o(!1)}};return w.jsxs("button",{type:"button",className:"wandox-playbook-button","data-id":e.id,"data-playbook-id":a||e.playbookId,"data-playbook-name":e.playbookName,"data-playbook-params":JSON.stringify(e.playbookParams),"data-input-fields":JSON.stringify(e.inputFields),onClick:u,disabled:i,children:[i?w.jsx(xr,{className:"wandox-playbook-button-icon"}):w.jsx(Qw,{className:"wandox-playbook-button-icon"}),w.jsx("span",{children:e.buttonText})]})}const P7t=new Set(["csv","xlsx","xls","tsv","doc","docx","pdf","txt","md","zip","json"]),N7t=/\/api\/v1\/cognitive\/artifacts\/[^/]+\/download/i;function k7t(e){const t=e.trim();if(!t)return!1;if(N7t.test(t))return!0;const n=t.split(/[?#]/,1)[0],r=/\.([a-z0-9]+)$/i.exec(n);return r!==null&&P7t.has(r[1].toLowerCase())}function dve(e){try{const n=e.split(/[?#]/,1)[0].split("/").filter(Boolean).pop()||"";return decodeURIComponent(n)||"文件"}catch{return"文件"}}function WG(e){const t=/\.([a-z0-9]+)$/i.exec(e);return t?t[1].toLowerCase():""}const M7t={excel:"#16a34a",pdf:"#dc2626",word:"#2563eb",zip:"#d97706",text:"#6b7280"};function R7t(e){const t=WG(e),n=["csv","xlsx","xls","tsv"].includes(t)?"excel":["doc","docx"].includes(t)?"word":["txt","md","json"].includes(t)?"text":t,r={fontSize:22,color:M7t[n]||"#6b7280"};return n==="excel"?w.jsx($Ee,{style:r}):n==="pdf"?w.jsx(GO,{style:r}):n==="word"?w.jsx(zY,{style:r}):n==="zip"?w.jsx(EEe,{style:r}):n==="text"?w.jsx(AE,{style:r}):w.jsx(Tf,{style:r})}function wLe(e){return typeof e=="string"?e:typeof e=="number"?String(e):Array.isArray(e)?e.map(wLe).join(""):""}function SLe({href:e,children:t,onClick:n}){const r=wLe(t).trim(),o=r&&!/^https?:\/\//i.test(r)?r:dve(e),a=WG(o)||WG(dve(e));return w.jsxs("a",{className:"wandox-file-card",href:e,target:"_blank",rel:"noopener noreferrer",onClick:n,children:[w.jsx("span",{className:"wandox-file-card__icon",children:R7t(o)}),w.jsxs("span",{className:"wandox-file-card__body",children:[w.jsx("span",{className:"wandox-file-card__name",title:o,children:o}),w.jsxs("span",{className:"wandox-file-card__meta",children:["点击下载",a?` · ${a.toUpperCase()}`:""]})]}),w.jsx(EE,{className:"wandox-file-card__action"})]})}const GG=g.createContext({streaming:!1,completeMermaidCodes:new Set,completeEChartsCodes:new Set});function D7t(e){return[...e.matchAll(/```echarts[^\r\n]*\r?\n([\s\S]*?)```/gi)].map(t=>t[1].trim())}function O7t({className:e,children:t,...n}){const{streaming:r,completeMermaidCodes:i,completeEChartsCodes:o}=g.useContext(GG),a=/language-(\w+)/.exec(e||""),s=String(t).replace(/\n$/,"");if(a&&a[1]==="echarts"){const l=!r||o.has(s.trim());return w.jsx(yFt,{source:s,streaming:r,ready:l})}if(a&&a[1]==="mermaid"){const l=!r||i.has(s.trim());return w.jsx(mp,{chart:s,streaming:r,ready:l})}return w.jsx("code",{className:e,...n,children:t})}const fve={a({href:e,children:t,...n}){return e&&rOe(String(e))?w.jsx(pw,{src:String(e),alt:"图片预览",size:"small"}):e&&k7t(String(e))?w.jsx(SLe,{href:String(e),children:t}):w.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",...n,children:t})},table({children:e,...t}){return w.jsx("div",{className:"wandox-native-table-wrapper",children:w.jsx("table",{className:"wandox-native-table",...t,children:e})})},img({src:e,alt:t}){return e?w.jsx(pw,{src:String(e),alt:t||"图片预览",size:"small"}):null},code:O7t};function sP({content:e,streaming:t=!1}){if(!e||e.trim()==="")return null;const n=e.replace(/```[\s\S]*?```/g,"").replace(/`[^`]+`/g,"");if(n.includes("[[")&&(n.includes("|standard|")||n.includes("|exploration|")||n.includes("|fast_action|")||n.includes("|patrol|"))){const o=$7t(e),a=[];let s=[];const l=()=>{s.length>0&&(a.push(w.jsx("div",{className:"wandox-playbook-button-group",children:s.map((c,u)=>w.jsx(uve,{info:c},`btn-${u}`))},`btn-group-${a.length}`)),s=[])};for(let c=0;c<o.length;c++){const u=o[c];u.buttons.length>0?s.push(...u.buttons):u.text.trim()&&(l(),a.push(w.jsx(BN,{content:u.text,streaming:t},`text-${c}`)))}return l(),w.jsx("div",{className:"wandox-markdown-with-buttons",children:a})}if(/<button[^>]*data-playbook-id/i.test(n)){const o=C7t(e),a=[];let s=[];const l=()=>{s.length>0&&(a.push(w.jsx("div",{className:"wandox-playbook-button-group",children:s.map((c,u)=>w.jsx(uve,{info:c},`btn-${u}`))},`btn-group-${a.length}`)),s=[])};for(let c=0;c<o.length;c++){const u=o[c];u.buttons.length>0?s.push(...u.buttons):u.text.trim()&&(l(),a.push(w.jsx(BN,{content:u.text,streaming:t},`text-${c}`)))}return l(),w.jsx("div",{className:"wandox-markdown-with-buttons",children:a})}return w.jsx(BN,{content:e,streaming:t})}function BN({content:e,streaming:t=!1}){if(!e||e.trim()==="")return null;const n=new Set(x7t(e)),r=new Set(D7t(e)),i=yLe.some(a=>a.test(e)),o=e.includes("```mermaid");if(i&&!o){const a=e.split(`
|
|
716
716
|
`);let s=-1;for(let l=0;l<a.length;l++){const c=a[l].trim();if(vJ.some(u=>u.test(c))){s=l;break}}if(s!==-1){const l=bLe(a,s),c=a.slice(0,s).join(`
|
|
717
717
|
`).trim();let u=a.slice(s,l+1).join(`
|
|
718
718
|
`).trim();const d=a.slice(l+1).join(`
|
|
@@ -750,7 +750,7 @@ $3`).replace(/(\*\*[^*\n]+:\*\*)-/g,`$1
|
|
|
750
750
|
- `).replace(/([^\n])-(\*\*[^*\n]+\*\*)/g,`$1
|
|
751
751
|
- $2`),t=t.replace(/@@WANDOX_MD_TABLE_ROW_(\d+)@@/g,(a,s)=>o.rows[Number(s)]??""),t=t.replace(/@@WANDOX_MD_LINK_(\d+)@@/g,(a,s)=>r[Number(s)]??""),t}function vve(e){try{return JSON.stringify(e,null,2)??""}catch{return String(e)}}function lP(e){if(e==null)return"";if(typeof e=="string")return yve(WR(e.trim()));if(typeof e!="object")return String(e);if(Array.isArray(e))return vve(e);const t=e;if(t.status==="failed")return typeof t.message=="string"&&t.message?t.message:"执行失败";let n=XF(t);if(n===void 0&&t.type===void 0&&(n=t),typeof n=="object"&&n!==null){let i=XF(n);i===void 0&&W7t(n.data)&&(i=XF(n.data)),n=i!==void 0?i:vve(n)}typeof n!="string"&&(n=n==null?"":String(n));let r=WR(n.trim());return r=yve(r),r=U7t(r),r}function yve(e){const t=e.trim(),n=t.match(/^```(?:markdown|md)\s*\n([\s\S]*?)\n```\s*$/);if(n)return n[1].trim();const r=t.match(/^```\s*\n([\s\S]*?)\n```\s*$/);if(r){const i=r[1].trim();if(/^(?:#|\*\*|- |\|)/.test(i))return i}return e}const CLe=new Set(["dashboard","debug","echarts","form","markdown","mermaid","step","table","text"]);function bJ(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function q7t(e){const t=e.trim();if(!t.startsWith("[")||!t.endsWith("]"))return null;try{const n=JSON.parse(t);return Array.isArray(n)?n:null}catch{return null}}function K7t(e){if(Array.isArray(e)||typeof e=="string")return e;if(!bJ(e))return null;const t=typeof e.type=="string"?e.type.toLowerCase():void 0;return t&&CLe.has(t)?null:e.content??e.text??e.body??e.message??e.summary}function Y7t(e){const t=typeof e=="string"?q7t(e):e;return!Array.isArray(t)||t.length===0||!t.every(bJ)||t.every(n=>typeof n.type=="string"&&(CLe.has(n.type.toLowerCase())||n.type.toLowerCase()==="card")&&Object.prototype.hasOwnProperty.call(n,"content"))?null:t}function X7t(e){const t=new Set,n=[];for(const r of e)for(const i of Object.keys(r))i.startsWith("_")||t.has(i)||(t.add(i),n.push({name:i,label:i}));return n.length>0?n:void 0}function Z7t(e){const t=Y7t(K7t(e));if(!t)return null;const n=bJ(e)?e:void 0;return{type:"table",title:typeof(n==null?void 0:n.title)=="string"?n.title:void 0,content:t,fields_map:X7t(t)}}function UG(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Q7t(e){return Array.isArray(e)?e.filter(t=>UG(t)&&typeof t.name=="string"&&t.name.trim().length>0):[]}function J7t(e){if(!UG(e)||e.type!=="debug"||!UG(e.content))return null;const t=Q7t(e.fields_map);return t.length===0?null:{type:"card",title:typeof e.title=="string"?e.title:void 0,content:e.content,fields_map:t}}function eWt(e){var t;return!!(e&&typeof e=="object"&&Array.isArray(e.fields_map)&&(((t=e.fields_map)==null?void 0:t.length)??0)>0)}function tWt(e){return!e||typeof e!="object"||Array.isArray(e)?!1:typeof e.content=="string"||typeof e.text=="string"||typeof e.body=="string"||typeof e.message=="string"||typeof e.summary=="string"}function nWt(e){const t=e.content;return typeof t=="string"?t.trim()!=="":!(!t||typeof t!="object"||Array.isArray(t)||typeof t.content!="string"||!t.content.trim())}function rWt({payload:e,errorFallback:t,onError:n}){const r=e&&typeof e=="object"?e.type:void 0,i=e&&typeof e=="object"&&!Array.isArray(e)?e.streaming===!0:!1,o=NG(e)?e.input_params:void 0,a=Z7t(e),s=e&&typeof e=="object"?e.content??e.text??e.body??e.message??e.summary:void 0,l=s!=null&&(typeof s!="string"||s.trim()!==""),c=u=>w.jsxs(w.Fragment,{children:[w.jsx(P$,{params:o,hideRawData:r==="debug"}),u]});if(a)return c(w.jsx(gve,{payload:a}));if(typeof e=="string"||typeof e=="number"||typeof e=="boolean"||Array.isArray(e))return w.jsx(sP,{content:lP(e)});try{switch(r){case"dashboard":return c(w.jsx(hFt,{data:e,showSaveButton:!1}));case"step":return w.jsx(B7t,{payload:e,renderChild:u=>w.jsx(Pg,{payload:u,errorFallback:t,onError:n})});case"debug":{const u=J7t(e);return c(u?w.jsx(fle,{payload:u}):w.jsx(mFt,{payload:e}))}case"table":{const u=e;return yJ(u).length===0?c(w.jsx("div",{className:"wandox-empty-content",children:"暂无符合条件的记录"})):c(w.jsx(gve,{payload:u}))}case"markdown":case"card":{const u=e;if(nWt(u)){const f=lP(e);return c(w.jsx(sP,{content:f,streaming:i}))}if(eWt(u)||!tWt(u.content))return c(w.jsx(fle,{payload:u}));const d=lP(e);return c(w.jsx(sP,{content:d,streaming:i}))}case"mermaid":return c(w.jsx(z7t,{payload:e}));case"echarts":{const u=e,d=typeof u.content=="string"?u.content:void 0;return c(w.jsx(uOe,{option:u.option??u.content,source:d,streaming:i,ready:!i}))}default:{if(o&&!l)return w.jsx(P$,{params:o});const u=lP(e);return c(w.jsx(sP,{content:u,streaming:i}))}}}catch{return w.jsx("div",{className:"wandox-empty-content",children:"内容渲染失败"})}}function Pg(e){return w.jsx(lOe,{resetKey:e.payload,fallback:e.errorFallback,onError:e.onError,children:w.jsx(rWt,{...e})})}const{RangePicker:ZF}=Zr;function QF(e,t){const n=e.options.find(s=>s.id===t),r=(n==null?void 0:n.params)??[],i=e.params??[];if(r.length===0&&i.length===0)return[];if(r.length===0)return i;if(i.length===0)return r;const o=new Set(r.map(s=>s.name)),a=[...r];for(const s of i)o.has(s.name)||a.push(s);return a}function bve(e){const t={};for(const n of e)n.default!==void 0&&n.default!==null&&(t[n.name]=n.default);return t}function GR(e){if(!e)return null;if(Nn.isDayjs(e))return e.isValid()?e:null;if(typeof e!="string"&&typeof e!="number"&&!(e instanceof Date))return null;const t=Nn(e);return t.isValid()?t:null}function JF(e){const t=e&&typeof e=="object"&&"start"in e&&"end"in e?[e.start,e.end]:Array.isArray(e)?e:null;if(!t||t.length!==2)return null;const n=GR(t[0]),r=GR(t[1]);return n&&r?[n,r]:null}function N0(e){return e.format?e.format:["datetime","datetimeRange","datetime_range"].includes(e.type)?"YYYY-MM-DD HH:mm:ss":["time","timeRange","time_range"].includes(e.type)?"HH:mm:ss":"YYYY-MM-DD"}function ALe(e){return e==="YYYY"?"year":e==="YYYY-MM"?"month":"date"}function iWt(e,t){return e.picker||ALe(t)}function e5(e){return e.includes("ss")?"HH:mm:ss":"HH:mm"}function qG(e){if(Nn.isDayjs(e))return e.isValid()?e:null;if(typeof e!="string"||!e)return null;const t=Nn(`2000-01-01 ${e}`);return t.isValid()?t:null}function xve(e){if(!Array.isArray(e)||e.length!==2)return null;const t=qG(e[0]),n=qG(e[1]);return t&&n?[t,n]:null}function oWt({param:e,value:t,onChange:n,disabled:r}){const i=e.options&&e.options.length>0;switch(e.type){case"select":return i?w.jsx(Qn,{value:t,onChange:n,placeholder:e.description||"请选择",disabled:r,style:{width:"100%"},allowClear:!0,options:e.options.map(o=>({label:o,value:o}))}):w.jsx(_n,{value:t||"",onChange:o=>n(o.target.value),placeholder:e.description||"请输入",disabled:r});case"multi_select":return i?w.jsx(Qn,{mode:"multiple",value:t||[],onChange:n,placeholder:e.description||"请选择",disabled:r,style:{width:"100%"},allowClear:!0,options:e.options.map(o=>({label:o,value:o}))}):w.jsx(_n,{value:Array.isArray(t)?t.join(", "):t||"",onChange:o=>{const a=o.target.value;n(a?a.split(",").map(s=>s.trim()).filter(Boolean):[])},placeholder:e.description||"请输入(逗号分隔)",disabled:r});case"array":return i?w.jsx(Qn,{mode:"multiple",value:t||[],onChange:n,placeholder:e.description||"请选择",disabled:r,style:{width:"100%"},allowClear:!0,options:e.options.map(o=>({label:o,value:o}))}):w.jsx(Qn,{mode:"tags",value:t||[],onChange:n,placeholder:e.description||"请输入(回车添加)",disabled:r,style:{width:"100%"},tokenSeparators:[","]});case"string":case"text":return w.jsx(_n,{value:t||"",onChange:o=>n(o.target.value),placeholder:e.description||"请输入",disabled:r});case"date":{const o=N0(e),a={picker:iWt(e,o),format:o,showTime:e.show_time?{format:e5(o)}:!1,disabled:r,style:{width:"100%"}};return e.range?w.jsx(ZF,{...a,value:JF(t),onChange:(s,l)=>n(l)}):w.jsx(Zr,{...a,value:GR(t),onChange:(s,l)=>n(l),placeholder:e.description||"请选择"})}case"dateRange":case"date_range":{const o=N0(e);return w.jsx(ZF,{value:JF(t),picker:ALe(o),format:o,onChange:(a,s)=>{s&&s[0]&&s[1]?n({start:s[0],end:s[1]}):n(void 0)},disabled:r,style:{width:"100%"}})}case"datetime":{const o=N0(e);return w.jsx(Zr,{value:GR(t),showTime:{format:e5(o)},format:o,onChange:(a,s)=>n(s),placeholder:e.description||"请选择",disabled:r,style:{width:"100%"}})}case"datetimeRange":case"datetime_range":{const o=N0(e);return w.jsx(ZF,{value:JF(t),showTime:{format:e5(o)},format:o,onChange:(a,s)=>{s!=null&&s[0]&&s[1]?n({start:s[0],end:s[1]}):n(void 0)},disabled:r,style:{width:"100%"}})}case"time":{const o=N0(e);return e.range?w.jsx(da.RangePicker,{value:xve(t),format:o,onChange:(a,s)=>n(s),disabled:r,style:{width:"100%"}}):w.jsx(da,{value:qG(t),format:o,onChange:(a,s)=>n(s),placeholder:e.description||"请选择",disabled:r,style:{width:"100%"}})}case"timeRange":case"time_range":{const o=N0(e);return w.jsx(da.RangePicker,{value:xve(t),format:o,onChange:(a,s)=>n(s),disabled:r,style:{width:"100%"}})}default:return w.jsx(_n,{value:t||"",onChange:o=>n(o.target.value),placeholder:e.description||"请输入",disabled:r})}}function wve({proposal:e,disabled:t=!1,proposalStatus:n,initialFilledParams:r,onConfirm:i,onReject:o}){const a=e.options.length===1,[s,l]=g.useState(()=>{if(a)return e.options[0].id;const C=e.options.find(A=>A.selected);return(C==null?void 0:C.id)||null}),[c,u]=g.useState(()=>{const C={};for(const A of e.options){const E=QF(e,A.id),I=bve(E);(A.selected||a)&&r?C[A.id]={...I,...r}:C[A.id]=I}return C});g.useEffect(()=>{a&&!s&&l(e.options[0].id)},[a,s,e.options]);const d=t||!!n,f=g.useMemo(()=>QF(e,s),[e,s]),p=s?c[s]||{}:{},h=g.useMemo(()=>{if(!s)return!1;for(const C of f)if(C.required){const A=p[C.name];if(A==null||A===""||typeof A=="string"&&A.trim()===""||Array.isArray(A)&&A.length===0)return!1}return!0},[s,f,p]),m=g.useCallback(C=>{d||(l(C),u(A=>{if(A[C])return A;const E=QF(e,C);return{...A,[C]:bve(E)}}))},[d,e]),v=g.useCallback((C,A)=>{s&&u(E=>({...E,[s]:{...E[s]||{},[C]:A}}))},[s]),y=g.useCallback(()=>{!h||d||!s||i(s,p)},[h,d,s,p,i]),b=g.useCallback(()=>{d||o()},[d,o]),x=n==="confirmed"?"✅ 已确认":n==="rejected"?"❌ 已拒绝":null,S=f.length>0,_=!!(n||s&&(S||!n));return w.jsxs("div",{className:`wandox-proposal ${d?"wandox-proposal--disabled":""}`,children:[e.message&&w.jsx("div",{className:"wandox-proposal-hint",children:e.message}),w.jsx("div",{className:"wandox-proposal-options",children:e.options.map(C=>{const A=s===C.id;return w.jsxs("div",{className:`wandox-proposal-option ${A?"wandox-proposal-option--active":""} ${d?"wandox-proposal-option--disabled":""}`,onClick:()=>m(C.id),onKeyDown:E=>{(E.key==="Enter"||E.key===" ")&&m(C.id)},role:"radio","aria-checked":A,tabIndex:d?-1:0,children:[w.jsx("span",{className:"wandox-proposal-option-check"}),w.jsxs("div",{className:"wandox-proposal-option-body",children:[w.jsx("span",{className:"wandox-proposal-option-title",children:C.title}),C.description&&w.jsx("span",{className:"wandox-proposal-option-desc",children:C.description})]})]},C.id)})}),_&&w.jsxs("div",{className:"wandox-proposal-panel",children:[S&&w.jsx("div",{className:"wandox-proposal-params",children:f.map(C=>w.jsxs("div",{className:"wandox-proposal-param",children:[w.jsxs("label",{className:"wandox-proposal-param-label",children:[C.display_name,C.required&&w.jsx("span",{className:"wandox-proposal-param-required",children:"*"})]}),w.jsx("div",{className:"wandox-proposal-param-input",children:w.jsx(oWt,{param:C,value:p[C.name],onChange:A=>v(C.name,A),disabled:d})})]},C.name))}),w.jsxs("div",{className:"wandox-proposal-footer",children:[x&&w.jsx("span",{className:"wandox-proposal-status",children:x}),!n&&w.jsxs(w.Fragment,{children:[w.jsx("button",{type:"button",className:"wandox-proposal-btn wandox-proposal-btn--confirm",disabled:!h||d,onClick:y,children:e.actions.confirm.label}),e.actions.reject&&w.jsx("button",{type:"button",className:"wandox-proposal-btn wandox-proposal-btn--reject",disabled:d,onClick:b,children:e.actions.reject.label})]})]})]})]})}const aWt={qty_expected:["plan_qty","qty_expected"]},Sve={warehouse_code:"仓库编码",warehouse_desc:"仓库名称",qty_expected:"建议数量",default_supplier_code:"供应商编码"};function $Le(e){return e.includes(">>")&&e.split(">>").pop()||e}function sWt(e,t){var r;if(t.includes(e))return e;const n=$Le(e);return t.includes(n)?n:(r=aWt[n])==null?void 0:r.find(i=>t.includes(i))}function lWt(e){const t=$Le(e.name);return Sve[t]?Sve[t]:e.label&&e.label!==e.name&&!e.label.includes(">>")?e.label:t}function t5(e){return e!=null&&e!==""}function n5(e,t,n){const r=e.action_id;if(t5(r)){const o=n.find(a=>String(a.action_id)===String(r));if(o)return o}return n.find(o=>{if(!o.params)return!1;const a=[[e.query_text,o.params.query_text],[e.campaign_name,o.params.campaign_name]].filter(([s,l])=>t5(s)&&t5(l));return a.length>0&&a.every(([s,l])=>s===l)})??n[t]}function _ve(e){return/event:\s*error|"event_type"\s*:\s*"error"|"success"\s*:\s*false/.test(e)}function ELe(e,t={}){const n=(e==null?void 0:e.accessToken)??t.ssoToken,r=(e==null?void 0:e.domain)??t.ssoDomain,i=(e==null?void 0:e.tenantId)??t.ssoCompany;return{...e,accessToken:n,domain:r,tenantId:i,ssoToken:n,ssoDomain:r,ssoCompany:i}}function Cve(e,t={}){const n={};for(const[a,s]of Object.entries(t))n[a.toLowerCase()]=s;for(const[a,s]of Object.entries((e==null?void 0:e.headers)??{}))n[a.toLowerCase()]=s;const r=(e==null?void 0:e.accessToken)??(e==null?void 0:e.ssoToken),i=(e==null?void 0:e.domain)??(e==null?void 0:e.ssoDomain),o=(e==null?void 0:e.tenantId)??(e==null?void 0:e.ssoCompany);return r&&!n.authorization&&(n.authorization=`Bearer ${r}`),i&&!n["x-domain"]&&(n["x-domain"]=i),o&&!n["x-tenant-id"]&&(n["x-tenant-id"]=o),n}function cWt(e){const t=e.filter(n=>n!=null&&n!=="").slice(0,5);return t.length===0?!1:t.every(n=>{if(typeof n=="number")return!0;if(typeof n=="string"){const r=n.replace("%","").trim();return r!==""&&!Number.isNaN(Number(r))}return!1})}function Ave(e){return typeof e=="number"?e:typeof e=="string"&&Number.parseFloat(e.replace("%",""))||0}function uWt(e,t){if(e.some(r=>Lh(r,t)))return!1;const n=e.filter(r=>r!=null).slice(0,5);return n.length===0?!1:n.some(r=>!!(Array.isArray(r)||typeof r=="object"&&r!==null||typeof r=="string"&&r.length>50))}function dWt(e,t){if(e==null)return"-";if(Lh(e,t))return aj(e,t);if(Array.isArray(e)){if(e.every(n=>typeof n=="string")){const n=new Map;return w.jsx("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",lineHeight:1.6},children:e.map(r=>{const i=n.get(r)??0;return n.set(r,i+1),w.jsxs("div",{children:["• ",r]},`${r}-${i}`)})})}return w.jsx("pre",{style:{margin:0,fontSize:12,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:JSON.stringify(e,null,2)})}if(typeof e=="object"){const n=Object.entries(e);return w.jsx("div",{style:{lineHeight:1.6},children:n.map(([r,i])=>w.jsxs("div",{style:{marginBottom:4},children:[w.jsxs("span",{style:{color:"#666",fontWeight:500},children:[r,":"]}),w.jsx("span",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:i===null?"-":String(i)})]},r))})}return w.jsx("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",lineHeight:1.6},children:String(e)})}function fWt(e){return e.editable!==!1}function r5(e){return!!e&&(!(e!=null&&e.status)||e.status==="pending")}function $ve(e,t){return`${e.replace(/\/$/,"")}${t}`}function pWt({value:e,fieldMeta:t,onChange:n,disabled:r}){const{type:i,input_type:o,options:a}=t;return o==="select"&&a&&a.length>0?w.jsx(Qn,{value:e,onChange:n,options:a,disabled:r,size:"small",style:{width:"100%",minWidth:100}}):i==="number"||i==="integer"||i==="float"?w.jsx(Sl,{value:e,onChange:s=>n(s),disabled:r,size:"small",style:{width:"100%",minWidth:80}}):w.jsx(_n,{value:String(e??""),onChange:s=>n(s.target.value),disabled:r,size:"small",style:{width:"100%",minWidth:100}})}function Eve({payload:e,actions:t,auth:n,ssoToken:r,ssoDomain:i,ssoCompany:o,apiBaseUrl:a,actionExecuteUrl:s,batchActionExecuteUrl:l,onExecuteAction:c,onExecuteBatchActions:u}){var R;const d=yJ(e),f=_Le(e),[p,h]=g.useState(new Set),[m,v]=g.useState(new Set),[y,b]=g.useState(new Set),[x,S]=g.useState([]),[_,C]=g.useState(!1),[A,E]=g.useState({done:0,total:0}),[I,T]=g.useState({}),$=g.useMemo(()=>ELe(n,{ssoToken:r,ssoDomain:i,ssoCompany:o}),[n,r,i,o]),P=g.useMemo(()=>{const F=new Map;for(const V of t)if(V.params_fields_map)for(const U of V.params_fields_map)fWt(U)&&!F.has(U.name)&&F.set(U.name,U);return F},[t]),N=g.useMemo(()=>d.map((F,V)=>{const U=n5(F,V,t),G=(U==null?void 0:U.action_id)||`row-${V}`;return{...F,_rowKey:G,_action:U}}),[d,t]),M=g.useCallback((F,V,U,G)=>{var Y,K,ne,ee;if(((Y=I[F])==null?void 0:Y[V])!==void 0)return I[F][V];const q=(K=U==null?void 0:U.params)==null?void 0:K[V];return q!==void 0?q:((ee=(ne=U==null?void 0:U.params_fields_map)==null?void 0:ne.find(Q=>Q.name===V))==null?void 0:ee.display_value)??G},[I]),k=g.useCallback((F,V,U)=>{T(G=>({...G,[F]:{...G[F],[V]:U}}))},[]),O=g.useCallback(F=>{const V={...F.params||{}},U=F.action_id||"",G=I[U];return G&&Object.assign(V,G),V},[I]),j=g.useCallback(async F=>{const V=F.action_id;if(V){h(U=>new Set(U).add(V)),b(U=>{const G=new Set(U);return G.delete(V),G});try{const U=O(F);if(c)await c({action:F,actionId:V,params:U,auth:$});else{const G=s??(a!==void 0||$.accessToken||$.tenantId||$.domain?$ve(a??"","/api/v1/agents/actions/execute"):"");if(!G)throw new Error("缺少动作执行接口地址");const q=await fetch(G,{method:"POST",headers:Cve($,{"content-type":"application/json"}),body:JSON.stringify({action_id:V,action_params:U,stream:!0})});if(!q.ok)throw new Error(`HTTP ${q.status}`);const X=await q.text();if(_ve(X))throw new Error("执行失败")}v(G=>new Set(G).add(V))}catch{b(U=>new Set(U).add(V))}finally{h(U=>{const G=new Set(U);return G.delete(V),G})}}},[O,s,a,c,$]),z=g.useCallback(async()=>{const F=N.filter(q=>{var X;return x.includes(q._rowKey)&&((X=q._action)==null?void 0:X.action_id)&&r5(q._action)&&!m.has(q._action.action_id)});if(F.length===0)return;C(!0),E({done:0,total:F.length});const V=F.map(q=>q._action).filter(q=>!!(q!=null&&q.action_id));if(!!(u||l||a!==void 0)&&V.every(q=>q.supports_batch===!0)){const q=new Set(V.map(K=>K.playbook_id).filter(Boolean)),X=Math.min(...V.map(K=>K.batch_max_items??Number.MAX_SAFE_INTEGER));if(q.size!==1){zt.warning("批量执行只能选择同一场景的动作"),C(!1);return}if(V.length>X){zt.warning(`本次最多批量执行 ${X} 条`),C(!1);return}const Y=V.map(K=>K.action_id);h(K=>new Set([...K,...Y]));try{const K=crypto.randomUUID(),ne=V.map(ee=>({action:ee,actionId:ee.action_id,params:O(ee)}));if(u)await u({items:ne,submitToken:K,auth:$});else{const ee=l??(a!==void 0||$.accessToken||$.tenantId||$.domain?$ve(a??"","/api/v1/agents/actions/batch-execute"):"");if(!ee)throw new Error("缺少批量动作执行接口地址");const Q=await fetch(ee,{method:"POST",headers:Cve($,{"content-type":"application/json"}),body:JSON.stringify({items:ne.map(ie=>({action_id:ie.actionId,params:ie.params})),submit_token:K,stream:!0})});if(!Q.ok)throw new Error(`HTTP ${Q.status}`);const te=await Q.text();if(_ve(te))throw new Error("批量执行失败")}v(ee=>new Set([...ee,...Y])),E({done:V.length,total:V.length})}catch(K){b(ne=>new Set([...ne,...Y])),zt.error(K instanceof Error?K.message:"批量执行失败")}finally{h(K=>{const ne=new Set(K);for(const ee of Y)ne.delete(ee);return ne})}}else for(let q=0;q<V.length;q++)await j(V[q]),E({done:q+1,total:V.length});C(!1),S([])},[N,x,m,j,O,l,a,u,$]),{cols:B,detailFields:D}=g.useMemo(()=>{if(d.length===0)return{cols:[],detailFields:[]};const F=Object.keys(d[0]||{}),V=["range","model","provider","deepseek-v3.2"],G=!!(f!=null&&f.length)?(f??[]).filter(ie=>F.includes(ie.name)).map(ie=>({name:ie.name,label:ie.label||ie.name})):F.filter(ie=>!V.includes(ie)).map(ie=>({name:ie,label:ie})),q=new Set;for(const[ie]of P){const oe=sWt(ie,F);if(!oe)continue;const fe=G.find(ye=>ye.name===oe);!fe||fe.paramName||(fe.paramName=ie,q.add(ie))}const X=Array.from(P.entries()).filter(([ie])=>!q.has(ie)).map(([ie,oe])=>({name:ie,label:lWt(oe),paramName:ie})),Y=[...G,...X],K=[],ne=[];for(const ie of Y){const oe=d.map((fe,ye)=>{var be,je,Oe;if(!ie.paramName)return fe[ie.name];const $e=n5(fe,ye,t);return((be=$e==null?void 0:$e.params)==null?void 0:be[ie.paramName])??((Oe=(je=$e==null?void 0:$e.params_fields_map)==null?void 0:je.find(Fe=>Fe.name===ie.paramName))==null?void 0:Oe.display_value)??fe[ie.name]});uWt(oe,ie.label)?ne.push(ie):K.push(ie)}const ee=(ie,oe,fe)=>{const ye=d.map((Se,Pe)=>{var Te,ve,he;if(!fe)return Se[ie];const _e=n5(Se,Pe,t);return((Te=_e==null?void 0:_e.params)==null?void 0:Te[fe])??((he=(ve=_e==null?void 0:_e.params_fields_map)==null?void 0:ve.find(Z=>Z.name===fe))==null?void 0:he.display_value)??Se[ie]}),$e=cWt(ye),be=ye.some(Se=>Lh(Se,oe)),je=P.get(fe||ie),Oe=Se=>{var Pe,_e,Te,ve,he;return fe?((_e=(Pe=Se._action)==null?void 0:Pe.params)==null?void 0:_e[fe])??((he=(ve=(Te=Se._action)==null?void 0:Te.params_fields_map)==null?void 0:ve.find(Z=>Z.name===fe))==null?void 0:he.display_value)??Se[ie]:Se[ie]},Fe=Se=>{let Pe=0;for(const _e of Se)/[\u4e00-\u9fff\u3000-\u303f\uff00-\uffef]/.test(_e)?Pe+=14:Pe+=8;return Pe},xe=Fe(oe)+32,ue=ye.slice(0,20).reduce((Se,Pe)=>{if(Pe==null)return Se;const _e=String(Pe);return Math.max(Se,Fe(_e))},0)+16,pe=be?Math.max(88,Math.min(120,xe)):Math.min(300,Math.max(80,xe,ue));return{title:oe,dataIndex:ie,key:fe||ie,ellipsis:be?!1:{showTitle:!0},width:pe,sorter:$e?(Se,Pe)=>Ave(Oe(Se))-Ave(Oe(Pe)):(Se,Pe)=>String(Oe(Se)??"").localeCompare(String(Oe(Pe))??""),render:(Se,Pe)=>{const _e=Pe._action,Te=(_e==null?void 0:_e.action_id)||"",ve=(_e==null?void 0:_e.status)==="executed"||m.has(Te),he=fe||ie,Z=M(Te,he,_e,Oe(Pe));return je&&_e&&!ve?w.jsx(pWt,{value:Z,fieldMeta:je,disabled:_e.status==="executing"||p.has(Te),onChange:se=>k(Te,he,se)}):aj(Z,oe)}}},Q=K.map(ie=>ee(ie.name,ie.label,ie.paramName));Q.sort((ie,oe)=>{const fe=P.has(String(ie.key??""))?0:1,ye=P.has(String(oe.key??""))?0:1;return fe-ye});const te={title:"操作",key:"_operation",width:100,fixed:"right",render:(ie,oe)=>{const fe=oe._action;if(!fe)return w.jsx("span",{style:{color:"#999"},children:"—"});const ye=fe.action_id||"",$e=fe.status==="executing"||p.has(ye),be=fe.status==="executed"||m.has(ye),je=fe.status==="failed"||y.has(ye);return $e?w.jsx(Fo,{icon:w.jsx(xr,{spin:!0}),color:"processing",children:"执行中"}):be?w.jsx(Fo,{icon:w.jsx(Zw,{}),color:"success",children:"已执行"}):je?w.jsx(qt,{type:"link",size:"small",danger:!0,icon:w.jsx(jO,{}),onClick:()=>{ri.confirm({title:"确认重试",content:`确定要重新执行「${fe.display_name||"该操作"}」吗?`,okText:"确认",cancelText:"取消",onOk:()=>j(fe)})},children:"重试"}):w.jsx(qt,{type:"link",size:"small",onClick:()=>{ri.confirm({title:"确认执行",content:`确定要执行「${fe.display_name||"该操作"}」吗?`,okText:"确认",cancelText:"取消",onOk:()=>j(fe)})},children:fe.display_name||"执行"})}};return{cols:[...Q,te],detailFields:ne}},[d,t,f,P,p,m,y,j,M,k]),H=(R=N.find(F=>{var V;return x.includes(F._rowKey)&&((V=F._action)==null?void 0:V.supports_batch)}))==null?void 0:R._action,W={selectedRowKeys:x,onChange:F=>S(F),getCheckboxProps:F=>{var U,G;const V=(U=F._action)==null?void 0:U.action_id;return{disabled:!V||!r5(F._action)||m.has(V??"")||!!(H&&(((G=F._action)==null?void 0:G.supports_batch)!==!0||F._action.playbook_id!==H.playbook_id))}}};if(N.length===0)return w.jsx("div",{className:"wandox-empty-content",children:"暂无数据"});const L=N.filter(F=>{var V;return x.includes(F._rowKey)&&((V=F._action)==null?void 0:V.action_id)&&r5(F._action)&&!m.has(F._action.action_id)}).length;return w.jsxs("div",{className:"wandox-table-container wandox-action-table-container",children:[w.jsx("div",{className:"wandox-table-container__toolbar",children:w.jsxs(Tl,{children:[w.jsx(qt,{type:"primary",size:"small",disabled:_||L===0,loading:_,onClick:()=>{ri.confirm({title:"确认批量执行",content:`确定要批量执行选中的 ${L} 条操作吗?`,okText:"确认",cancelText:"取消",onOk:z})},children:_?`执行中 (${A.done}/${A.total})`:`批量执行${L>0?` (${L})`:""}`}),m.size>0&&w.jsxs("span",{className:"wandox-action-table-stats",children:["已完成 ",m.size,"/",t.length]})]})}),w.jsx(Us,{columns:B,dataSource:N,rowKey:"_rowKey",rowSelection:W,size:"small",scroll:{x:"max-content"},tableLayout:void 0,showSorterTooltip:!1,expandable:D.length>0?{expandedRowRender:F=>w.jsx(yc,{column:1,size:"small",bordered:!0,styles:{label:{width:160,minWidth:160,maxWidth:160}},style:{background:"#fff",zoom:.8,tableLayout:"fixed"},children:D.map(({name:V,label:U})=>w.jsx(yc.Item,{label:U,children:dWt(F[V],U)},V))}),rowExpandable:()=>!0,expandIcon:({expanded:F,onExpand:V,record:U})=>w.jsx("button",{type:"button",className:`wandox-table-expand-icon${F?" is-expanded":""}`,"aria-label":F?"收起行":"展开行",onClick:G=>V(U,G),children:F?w.jsx(HO,{}):w.jsx(jY,{})})}:void 0,pagination:N.length>10?{defaultPageSize:10,showSizeChanger:!0,showTotal:F=>`共 ${F} 条`,pageSizeOptions:[10,20,50,100],size:"small"}:!1,rowClassName:F=>{var V;return(V=F._action)!=null&&V.action_id&&m.has(F._action.action_id)?"wandox-action-row-done":""}})]})}function Yv(e){const{className:t,style:n,...r}=e;return w.jsx("div",{className:`wandox-payload-renderer${t?` ${t}`:""}`,style:n,children:w.jsx(Pg,{...r})})}async function M$(e,t){var L;const{onProgress:n,onContent:r,onOutput:i,onComplete:o,onError:a,onMessageId:s,onRecommend:l,onQueue:c,onProposal:u,onProcessEvent:d}=t,f=(L=e.body)==null?void 0:L.getReader(),p=new TextDecoder;let h="",m="",v="",y,b=!1,x=!1,S,_;const C=new Map,A=new Map;let E=0;const I=R=>R!=null&&String(R).trim()!=="",T=R=>Object.fromEntries(["step_index","step_name","step_id","total_steps","task_id","status","type","title","content","fields_map","output_type","output_data","output_fields_map","data","result","input_params","is_final","streaming","message","content_truncated","data_count","output"].filter(V=>R[V]!==void 0).map(V=>[V,R[V]])),$=(R,F,V)=>{const U=Number(V.sequence),G=Number.isFinite(U)&&U>=0?U:E+1;E=Math.max(E,G),d==null||d({...typeof V.event_id=="string"&&V.event_id?{event_id:V.event_id}:{},type:R,sequence:G,...typeof V.timestamp=="string"&&V.timestamp?{timestamp:V.timestamp}:{},...V.execution_id!==void 0||V.executionId!==void 0?{execution_id:String(V.execution_id??V.executionId)}:{},...typeof V.execution_type=="string"&&V.execution_type?{execution_type:V.execution_type}:{},...typeof V.source=="string"&&V.source?{source:V.source}:{},data:F})},P=R=>{const F=[];return R.output&&(Array.isArray(R.output)?F.push(...R.output):F.push(R.output)),R.content&&typeof R.content=="object"&&F.push(R.content),{type:"step",title:R.step_name,step_index:R.step_index,step_name:R.step_name,total_steps:R.total_steps,task_id:R.task_id,status:R.status,children:F.length>0?F:void 0,input_params:R.input_params,message:R.message,content_truncated:R.content_truncated}},N=R=>({type:R.type,title:R.title,content:R.content,fields_map:R.fields_map,step_index:R.step_index,step_name:R.step_name,task_id:R.task_id,execution_id:R.execution_id??R.executionId,status:R.status,input_params:R.input_params,is_final:R.is_final,streaming:R.streaming,message:R.message,content_truncated:R.content_truncated}),M=R=>{const F=I(R.task_id)?String(R.task_id):R.step_index!==void 0?String(R.step_index):I(R.execution_id)?String(R.execution_id):"__default__";let V="";if(typeof R.text=="string")V=R.text;else if(typeof R.content=="string")V=R.content;else if(typeof R.delta=="string")V=`${C.get(F)||""}${R.delta}`;else return!1;C.set(F,V);const U=I(R.task_id)?A.get(String(R.task_id)):void 0,G=!!(U||I(R.task_id)||R.step_index!==void 0||I(R.step_name)),q=R.is_step_content===!0||R.is_step_content!==!1&&G;q||(v=V);const X=R.step_index??(U==null?void 0:U.step_index),Y=R.step_name??(U==null?void 0:U.step_name);if(q){const K=I(R.task_id)?String(R.task_id):X!==void 0?`step-${X}`:Y||F,ne=`content:${R.execution_id??S??""}:${K}`;$("output",T({type:"markdown",title:Y,content:V,task_id:R.task_id,step_index:X,step_name:Y,streaming:!0}),{...R,event_id:ne})}return r==null||r(V,{content:V,text:typeof R.text=="string"?R.text:void 0,delta:typeof R.delta=="string"?R.delta:void 0,is_step_content:q,job_id:R.job_id,task_id:R.task_id,session_id:R.session_id,timestamp:R.timestamp,execution_id:R.execution_id,step_index:X,step_name:Y}),!0},k=new Set(["queue","thinking","step","content","output","recommend","proposal","complete","timeout","error","stopped"]),O=new Set(["execution_init","execution_started","resume_init","re_executing","step_running","step_awaiting_async","step_pending_async","step_completed","step_failed","substep_running","substep_completed","waiting_input","gateway_auth_required","return_previous","execution_completed","execution_failed"]),j=new Set(["execution_completed","execution_failed"]),z=new Set(["waiting_input","gateway_auth_required"]),B=(R,F=m)=>{const V=[R.event_type,R.event].find(ne=>typeof ne=="string"&&ne.trim()),U=typeof R.type=="string"&&k.has(R.type.toLowerCase())?R.type:"",G=String(F||V||U||"output").toLowerCase(),q=Object.prototype.hasOwnProperty.call(R,"outputs"),Y=!F&&!V&&!U&&(R.success===!0&&(q||R.summary!==void 0)||R.summary!==void 0&&q)?"complete":G;return Y==="content"||Y==="output"&&typeof R.text=="string"&&(R.delta!==void 0||R.task_id!==void 0)?"content":Y},D=R=>{var U,G;b=!0,R.summary&&(v=R.summary),Array.isArray(R.outputs)?y=R.outputs.length>0?R.outputs:R.final_output??R.output??R.result:typeof R.outputs=="object"&&R.outputs!==null?y=R.outputs:y=R.final_output??R.output??R.result;const F=Array.isArray(y)&&y.length===1?y[0]:y;if((F==null?void 0:F.type)==="card"&&((U=F==null?void 0:F.content)!=null&&U.content))try{const q=F.content.content;if(typeof q=="string"){const X=JSON.parse(q);X.message_type==="chitchat"&&X.quick_reply&&(v=X.quick_reply,y=null)}}catch{}const V=Array.isArray(R.outputs)?R.actions||[]:((G=R.outputs)==null?void 0:G.actions)||R.actions||[];o==null||o(v,y,V,R.message_id,R.execution_id??R.executionId??S,typeof R.conversation_id=="string"?R.conversation_id:_)},H=(R,F=m)=>{var G,q,X,Y,K,ne;S=R.execution_id??R.executionId??S,typeof R.conversation_id=="string"&&R.conversation_id&&(_=R.conversation_id);const V=R.anchor_message_id||R.message_id;V&&(s==null||s(V));const U=B(R,F);if(O.has(U)){if(x=!0,I(R.task_id)&&A.set(String(R.task_id),{step_index:R.step_index,step_name:R.step_name??R.playbook_name}),Array.isArray(R.steps))for(const ee of R.steps){const Q=ee&&typeof ee=="object"?ee.task_id??ee.step_id:void 0;I(Q)&&A.set(String(Q),{step_index:ee.step_index,step_name:ee.step_name??ee.playbook_name})}if($(U,R,R),(j.has(U)||z.has(U))&&(b=!0),U==="execution_failed"){const ee=R.error_message||R.error||R.message||"执行失败";return a==null||a(ee),"stop"}return U==="execution_completed"?(o==null||o(R.summary||"",R.outputs??R.final_output??R.output??R.result,R.actions||[],R.message_id,R.execution_id??R.executionId??S,typeof R.conversation_id=="string"?R.conversation_id:_),"stop"):"continue"}switch(U){case"queue":{x=!0,c==null||c({status:R.status,position:R.position,estimated_wait:R.estimated_wait,progress:R.progress,message:R.message,request_id:R.request_id});break}case"thinking":{x=!0;const ee=R.message||"思考中...";$("thinking",T({...R,message:ee}),R),n==null||n(ee);break}case"step":{x=!0;const ee=R.message||`${R.step_name||""} ${R.status==="done"?"✓":"..."}`;n==null||n(ee),R.task_id&&A.set(String(R.task_id),{step_index:R.step_index,step_name:R.step_name});const Q=P(R);$("step",T(R),R),R.step_name&&(i==null||i(Q));break}case"content":{M(R);break}case"output":{x=!0;const ee=N(R),Q=R.status==="done"||R.is_final===!0?{...R,streaming:!1}:R;if($("output",T(Q),R),i==null||i(ee),R.status==="failed"){const te=R.message||`${R.step_name||"任务"} 执行失败`;return b=!0,v="",a==null||a(te),"stop"}break}case"recommend":{x=!0,$("recommend",{message:R.message,count:Array.isArray(R.recommended_playbooks)?R.recommended_playbooks.length:0},R),l==null||l(R.recommended_playbooks||[]);break}case"proposal":{b=!0,u==null||u(R);break}case"complete":{D(R);break}case"timeout":{const ee=R.message||`执行超时(${R.timeout_seconds||300}秒)`;return b=!0,v="",$("error",{message:ee,status:"failed"},R),a==null||a(ee),"stop"}case"error":{const ee=R.cancelled===!0||((G=R.data)==null?void 0:G.cancelled)===!0,Q=R.message||((q=R.data)==null?void 0:q.message)||(ee?"任务已停止":"执行失败"),te=R.code?` [${R.code}]`:"",ie=`${Q}${te}`;return b=!0,v="",$(ee?"stopped":"error",{message:ie,status:R.status||((X=R.data)==null?void 0:X.status)},R),a==null||a(ie,{cancelled:ee,status:R.status||((Y=R.data)==null?void 0:Y.status)}),"stop"}case"stopped":{const ee=R.message||((K=R.data)==null?void 0:K.message)||"任务已停止",Q=R.status||((ne=R.data)==null?void 0:ne.status)||"stopped";return b=!0,v="",$("stopped",{message:ee,status:Q},R),a==null||a(ee,{cancelled:!0,status:Q}),"stop"}default:M(R),R.message&&(n==null||n(R.message)),R.summary!==void 0&&D(R)}return"continue"},W=R=>{const F=R.trim();if(!F)return m="","continue";if(F.startsWith(":"))return"continue";if(F.startsWith("event:"))return m=F.slice(6).trim(),"continue";const U=F.startsWith("data:")?F.slice(5).trim():F;if(!U)return"continue";try{const G=JSON.parse(U);return!G||typeof G!="object"||Array.isArray(G)?"continue":H(G,m)}catch{return"continue"}};if(!f)throw new Error("Response body is not readable");try{for(;;){const{done:R,value:F}=await f.read();if(R){h+=p.decode();for(const G of h.split(`
|
|
752
752
|
`))if(W(G)==="stop")return;h="";break}const V=p.decode(F,{stream:!0});h+=V;const U=h.split(`
|
|
753
|
-
`);h=U.pop()||"";for(const G of U)if(W(G)==="stop"){f.cancel();return}}!b&&x?a==null||a("流式响应异常结束"):!b&&v&&o?o(v,y,[],void 0,S,_):!b&&!v&&(a==null||a("流式响应异常结束"))}catch(R){if((R==null?void 0:R.name)==="AbortError")return;a==null||a(R.message||"流处理出错")}finally{try{f.releaseLock()}catch{}}}function TLe(e){const{ssoToken:t,ssoDomain:n,ssoCompany:r,onProgress:i,onContent:o,onOutput:a,onComplete:s,onError:l}=e,[c,u]=g.useState(!1),d=g.useRef(null),f=g.useCallback(()=>!t||!n||!r?(zt.warning("请先登录 SSO"),!1):!0,[t,n,r]),p=g.useCallback(async m=>{if(f()&&!c){u(!0);try{const v={action_id:m.action_id,action_params:m.action_params,stream:!0},y=new AbortController;d.current=y;const b=await fetch(`${_r()}/api/v1/agents/actions/execute`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`,"X-Tenant-ID":r,"X-Domain":n},body:JSON.stringify(v),signal:y.signal});if(!b.ok)throw new Error(`HTTP ${b.status}`);await M$(b,{assistantMsgId:`action_${Date.now()}`,onProgress:i,onContent:o,onOutput:a,onComplete:(x,S,_)=>{s==null||s(x,S,_)},onError:l})}catch(v){if(v instanceof DOMException&&v.name==="AbortError"||v instanceof Error&&v.name==="AbortError")return;const y=v instanceof Error?v.message:"未知错误";l==null||l(`执行出错: ${y}`)}finally{d.current=null,u(!1)}}},[s,o,l,a,i,r,n,t,f]),h=g.useCallback(()=>{d.current&&!d.current.signal.aborted&&d.current.abort()},[]);return{executing:c,executeAction:p,abort:h}}const hWt=e=>{const t=e.action_params?JSON.stringify(e.action_params):"";return`${e.action_id}:${t}`};function mWt({open:e,ssoToken:t,ssoDomain:n,ssoCompany:r,onClose:i,onExecuteAction:o,onExecuteComplete:a}){var T,$;const[s,l]=g.useState("操作执行"),[c,u]=g.useState([]),[d,f]=g.useState(""),[p,h]=g.useState(void 0),[m,v]=g.useState([]),[y,b]=g.useState(void 0),[x,S]=g.useState(!1),_=g.useRef(new Map),C=g.useRef(null),{executeAction:A,abort:E}=TLe({ssoToken:t,ssoDomain:n,ssoCompany:r,onProgress:P=>{b(void 0),u(N=>[...N,P])},onContent:P=>{b(void 0),f(P)},onOutput:P=>{b(void 0),v(N=>[...N,P])},onComplete:(P,N)=>{b(void 0);const M=P||"执行完成";f(M),h(N),C.current&&_.current.set(C.current,{title:s,progress:[...c,"执行完成"],content:M,payload:N,outputs:m,error:void 0,timestamp:Date.now()}),a&&a()},onError:P=>{b(P),C.current&&_.current.set(C.current,{title:s,progress:[...c],content:d,payload:p,outputs:m,error:P,timestamp:Date.now()})}});g.useEffect(()=>(e||E(),()=>{E()}),[e,E]),g.useEffect(()=>{o&&o(async P=>{if(P.executed_outputs){l(P.action_id||"操作执行"),u(["已执行完成"]),f(""),h(P.executed_outputs),v([]),b(void 0),S(!0);return}const N=hWt(P),M=_.current.get(N);if(M){l(M.title),u(M.progress),f(M.content),h(M.payload),v(M.outputs||[]),b(M.error),S(!0);return}C.current=N,l(P.action_id||"操作执行"),u([]),f(""),h(void 0),v([]),b(void 0),S(!1),await A(P)})},[o]);const I=()=>{E(),u([]),f(""),h(void 0),v([]),b(void 0),i()};return e?w.jsxs("div",{className:"wandox-root",children:[w.jsx("div",{className:"wandox-drawer-mask",onClick:I,onKeyDown:P=>P.key==="Escape"&&I(),role:"button",tabIndex:0,"aria-label":"关闭抽屉"}),w.jsxs("div",{className:"wandox-drawer wandox-drawer--right",children:[w.jsxs("div",{className:"wandox-drawer-header",children:[w.jsxs("span",{className:"wandox-drawer-title",children:[s,x&&w.jsx("span",{className:"wandox-tag wandox-tag-blue",children:"缓存数据"})]}),w.jsx("button",{type:"button",className:"wandox-drawer-close",onClick:I,"aria-label":"关闭",children:"✕"})]}),w.jsx("div",{className:"wandox-drawer-body",children:w.jsxs("div",{className:"wandox-drawer-content",children:[m.length>0&&(()=>{const P=m.filter(N=>{if(!N||typeof N!="object")return!1;const M=N;return M.content||M.type||Object.keys(M).length>1});return P.length===0?null:w.jsxs("div",{className:"wandox-result-section",children:[w.jsxs("div",{className:"wandox-section-title",children:[w.jsx("span",{className:"wandox-section-icon",children:"✨"}),w.jsx("span",{children:"执行结果"})]}),w.jsx("div",{className:"wandox-results-container",children:P.map((N,M)=>{const k=N,O=k.title?`output-${k.title}-${M}`:`output-${Date.now()}-${M}`;return w.jsxs("div",{className:"wandox-result-card",children:[N&&typeof N=="object"&&k.title&&w.jsx("div",{className:"wandox-result-card-title",children:String(k.title)}),w.jsx("div",{className:"wandox-result-card-body",children:w.jsx(Yv,{payload:N})})]},O)})})]})})(),(p||d)&&w.jsx("div",{className:"wandox-result-section",children:p&&typeof p=="object"&&p.type!==void 0?w.jsxs("div",{className:"wandox-result-card",children:[(p.title||((T=p.output_data)==null?void 0:T.title)||p.step_index)&&w.jsx("div",{className:"wandox-result-card-title",children:p.title||(($=p.output_data)==null?void 0:$.title)||(p.step_index?`Step${p.step_index}:${p.step_name||""}`:"执行结果")}),w.jsx("div",{className:"wandox-result-card-body",children:w.jsx(Yv,{payload:p})})]}):w.jsx("div",{className:"wandox-result-card",children:w.jsx("div",{className:"wandox-result-card-body",children:d&&typeof d=="string"&&d.trim()?w.jsx(Hp,{remarkPlugins:[Wp],children:d}):w.jsx("div",{className:"wandox-empty-content",children:"暂无内容"})})})}),y&&w.jsxs("div",{className:"wandox-error-section",children:[w.jsx("div",{className:"wandox-error-icon",children:"⚠️"}),w.jsxs("div",{className:"wandox-error-content",children:[w.jsx("div",{className:"wandox-error-title",children:"执行失败"}),w.jsx("div",{className:"wandox-error-message",children:y})]})]})]})})]})]}):null}function gWt(e){return e===1||e===-1?e:null}function ILe(e){var i,o;const t=e.feedback,n=(i=e.meta_content)==null?void 0:i.feedback,r=[e.feedback_rating,typeof t=="object"&&t!==null?t.rating:t,(o=e.meta_content)==null?void 0:o.feedback_rating,typeof n=="object"&&n!==null?n.rating:n];for(const a of r){const s=gWt(a);if(s!==null)return s}return null}function PLe(e,t){return e===t?null:t}const Mm=e=>e.action_id||e.label,vWt=e=>{var n;const t={};for(const r of e.params_fields_map||[])t[r.name]=((n=e.params)==null?void 0:n[r.name])??r.display_value??"";return{...t,...e.params||{}}},Tve=e=>e==null||e===""?"-":String(e);function NLe(e){const{open:t,actions:n,ssoToken:r,ssoDomain:i,ssoCompany:o,onClose:a,onExecuteComplete:s}=e;e.title;const[l,c]=g.useState(null),[u,d]=g.useState({}),[f,p]=g.useState(null),h=g.useRef(null),[m,v]=g.useState(new Set),[y,b]=g.useState({}),[x,S]=g.useState({}),[_,C]=g.useState([]),[A,E]=g.useState(""),[I,T]=g.useState(void 0),[$,P]=g.useState([]),[N,M]=g.useState(void 0),[k,O]=g.useState(""),[j,z]=g.useState(""),[B,D]=g.useState(""),[H,W]=g.useState(!1),[L,R]=g.useState("card"),[F,V]=g.useState(new Set),[U,G]=g.useState([]),[q,X]=g.useState(!1),[Y,K]=g.useState(null),[ne,ee]=g.useState(0),[Q,te]=g.useState(0),[ie,oe]=g.useState([]),fe=g.useRef(null),ye=g.useRef(!1),$e=g.useRef(!1),be=g.useRef(""),[je,Oe]=g.useState(null),[Fe,xe]=g.useState("asc"),{executeAction:ue,abort:pe}=TLe({ssoToken:r,ssoDomain:i,ssoCompany:o,onProgress:Me=>{C(Re=>[...Re,Me])},onContent:Me=>{E(Me)},onOutput:Me=>{P(Re=>{const Ze=Me;if(typeof Ze.step_index=="number"){const Qe=Re.findIndex(ot=>typeof ot.step_index=="number"&&ot.step_index===Ze.step_index);if(Qe!==-1){const ot=[...Re];return ot[Qe]=Ze,ot}}return[...Re,Me]})},onComplete:(Me,Re)=>{Me&&E(Me),Re&&(T(Re),P(Qe=>[...Qe,Re]));const Ze=h.current;Ze&&S(Qe=>({...Qe,[Ze]:{content:Me,payload:Re}})),M(void 0),p(null),h.current=null,s==null||s()},onError:Me=>{M(Me)}}),Se=(Me,Re)=>{var Ge,nt,De;const Ze=Mm(Me),Qe=y[Ze];if(Qe&&Object.prototype.hasOwnProperty.call(Qe,Re))return Qe[Re];const ot=(Ge=Me.params)==null?void 0:Ge[Re];return ot!==void 0?ot:((De=(nt=Me.params_fields_map)==null?void 0:nt.find(et=>et.name===Re))==null?void 0:De.display_value)??""},Pe=Me=>{const Re={...Me.params||{}};for(const Ze of Me.params_fields_map||[])Re[Ze.name]=Se(Me,Ze.name);return Re},_e=(Me,Re,Ze)=>{const Qe=Mm(Me);b(ot=>({...ot,[Qe]:{...ot[Qe],[Re]:Ze}})),Me.params={...Me.params||{},[Re]:Ze}};g.useEffect(()=>{var Me;if(!t)be.current="",c(null),d({}),p(null),C([]),E(""),T(void 0),P([]),M(void 0),O(""),z(""),D(""),W(!1),b({}),S({}),V(new Set),G([]),X(!1),K(null),ee(0),te(0),oe([]),pe(),(Me=fe.current)==null||Me.abort(),fe.current=null,ye.current=!1,$e.current=!0,ka.destroy("pool-notification"),Oe(null),xe("asc");else{const Re=n.map(Mm).join("|");be.current!==Re&&(be.current=Re,V(new Set));const Ze={};for(const Qe of n){const ot=Mm(Qe);Ze[ot]=vWt(Qe)}b(Ze)}},[t,n,pe]),g.useEffect(()=>{if(t){const Me=se();Me.length>0&&!j&&z(Me[0].value)}},[t,j]);const Te=Me=>{Me.params={...u},c(null),d({})},ve=()=>{c(null),d({})},he=async Me=>{const Re=Me.action_id;if(Me.action_id){if(W(!0),(Me.status==="executed"||m.has(Re||""))&&Me.outputs){C(["已执行完成"]),E(""),P([Me.outputs]),M(void 0),O(Me.label||"");return}p(Re||null),h.current=Re||null,C([`正在执行: ${Me.label||""}`]),E(""),T(void 0),P([]),M(void 0),O(Me.label||""),await ue({action_id:Me.action_id,action_params:Pe(Me)}),Re&&v(Ze=>new Set(Ze).add(Re))}},Z=Me=>{const Re=Me.action_id||Me.label;W(!0),O(Me.label),M(void 0),C([]),P([]);const Ze=x[Re];if(Ze){const Qe=Ze.content||"执行成功,暂无输出结果";E(Qe),Ze.payload&&T(Ze.payload)}else Me.outputs?P([Me.outputs]):E("执行成功,暂无输出结果")},se=()=>{const Me=new Set;for(const Re of n)if(Re.params_fields_map)for(const Ze of Re.params_fields_map)Me.add(Ze.label);return Array.from(Me).map(Re=>({label:Re,value:Re}))};g.useEffect(()=>{if(!j){const Me=se();Me.length>0&&z(Me[0].value)}},[j,n]);const ce=()=>!j||!B?n:n.filter(Me=>{if(!Me.params_fields_map)return!1;const Re=Me.params_fields_map.find(ot=>ot.label===j);if(!Re)return!1;const Ze=String(Se(Me,Re.name)||"").toLowerCase(),Qe=B.toLowerCase();return Ze.includes(Qe)}),ae=Me=>{V(Re=>{const Ze=new Set(Re);if(Ze.has(Me))Ze.delete(Me);else{const Qe=n.find(nt=>Mm(nt)===Me),ot=n.filter(nt=>Re.has(Mm(nt))),Ge=ot.find(nt=>nt.supports_batch===!0);if((Qe==null?void 0:Qe.supports_batch)===!0){const nt=ot.some(et=>et.supports_batch!==!0||et.playbook_id!==Qe.playbook_id),De=Math.min(Qe.batch_max_items??Number.MAX_SAFE_INTEGER,...ot.map(et=>et.batch_max_items??Number.MAX_SAFE_INTEGER));if(nt)return zt.warning("批量执行只能选择同一场景且支持批量的动作"),Re;if(Ze.size+1>De)return zt.warning(`本次最多批量执行 ${De} 条`),Re}else if(Ge)return zt.warning("当前选择只能继续勾选同一场景且支持批量的动作"),Re;Ze.add(Me)}return Ze})},we=g.useCallback(()=>{const Me=Ce(),Re=new Set([...U.map(ot=>ot.action_id||ot.label),...Y?[Y.action_id||Y.label]:[]]),Ze=Me.map(ot=>ot.action_id||ot.label).filter(ot=>!Re.has(ot)&&!m.has(ot)&&ot!==f),Qe=Ze.length>0&&Ze.every(ot=>F.has(ot));V(Qe?new Set:new Set(Ze))},[F,n,j,B,je,Fe,U,Y,m]),Ae=g.useCallback(async(Me,Re)=>{var Ze;if(!Me.action_id)return"error";try{const Qe={action_id:Me.action_id,action_params:Pe(Me),stream:!0},ot=await fetch(`${_r()}/api/v1/agents/actions/execute`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`,"X-Tenant-ID":o,"X-Domain":i},body:JSON.stringify(Qe),signal:Re});if(!ot.ok)throw new Error(`HTTP ${ot.status}`);const Ge=(Ze=ot.body)==null?void 0:Ze.getReader();if(Ge)try{for(;;){const{done:nt}=await Ge.read();if(nt)break}}catch(nt){if(Re.aborted)return"cancelled";throw nt}return"done"}catch{return Re.aborted?"cancelled":"error"}},[r,i,o,y]),He=g.useCallback((Me,Re,Ze)=>{ka.open({key:"pool-notification",message:"执行池运行中",description:w.jsxs("div",{className:"wandox-pool-notification",children:[w.jsxs("div",{className:"wandox-pool-notification-task",children:["当前:"," ",w.jsx("span",{className:"wandox-pool-notification-label",children:Me.label})]}),w.jsx("div",{className:"wandox-pool-notification-progress",children:w.jsx(LO,{percent:Ze>0?Math.round(Re/Ze*100):0,size:"small",strokeColor:{from:"#513aeb",to:"#4f46e5"},format:()=>`${Re}/${Ze}`})}),w.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[w.jsx("div",{className:"wandox-pool-notification-hint",children:"⚠️ 请勿关闭或离开当前界面"}),w.jsx("button",{type:"button",className:"wandox-pool-notification-skip-btn",onClick:()=>{var Qe;ye.current=!0,(Qe=fe.current)==null||Qe.abort()},children:"跳过当前"})]})]}),placement:"bottomRight",duration:1e3,closable:!1})},[]),Ve=g.useCallback((Me,Re)=>{const Ze=Re.length>0,Qe=Me-Re.length;ka.open({key:"pool-notification",message:Ze?"执行完成(部分异常)":"全部执行完成",description:w.jsxs("div",{className:"wandox-pool-notification",children:[w.jsxs("div",{className:"wandox-pool-notification-result",children:[w.jsxs("span",{className:"wandox-pool-notification-result-success",children:["✓ 成功 ",Qe," 个"]}),Ze&&w.jsxs("span",{className:"wandox-pool-notification-result-fail",children:["✗ 异常 ",Re.length," 个"]})]}),Ze&&w.jsx("div",{className:"wandox-pool-notification-errors",children:Re.map((ot,Ge)=>w.jsx("div",{className:"wandox-pool-notification-error-item",children:ot},Ge))}),w.jsx("button",{type:"button",className:"wandox-pool-notification-done-btn",onClick:()=>ka.destroy("pool-notification"),children:"我知道了"})]}),placement:"bottomRight",duration:0,closable:!1})},[]),Ke=g.useRef([]);g.useEffect(()=>{Ke.current=U},[U]);const at=g.useCallback(async Me=>{if(Me.length===0)return;X(!0),ee(Me.length),te(0),oe([]),$e.current=!1,Ke.current=Me;let Re=0;const Ze=[],Qe=()=>{const Ge=Ke.current;if(Ge.length===0)return;const nt=Ge[0],De=Ge.slice(1);return Ke.current=De,G(De),nt};let ot=Qe();for(;ot&&!$e.current;){const Ge=ot.action_id||ot.label;K(ot),p(Ge),h.current=Ge;const nt=new AbortController;fe.current=nt,ye.current=!1,He(ot,Re,Re+1+Ke.current.length);const De=await Ae(ot,nt.signal);if($e.current)break;if(Re++,te(Re),De==="done")v(et=>new Set(et).add(Ge));else if(De==="cancelled"){const et=`${ot.label}: 已跳过`;Ze.push(et),oe(rt=>[...rt,et])}else{const et=`${ot.label}: 执行失败`;Ze.push(et),oe(rt=>[...rt,et])}p(null),h.current=null,ot=Qe()}X(!1),K(null),G([]),Ke.current=[],fe.current=null,$e.current?ka.destroy("pool-notification"):Ve(Re,Ze),s==null||s()},[Ae,He,Ve,s]),Ne=g.useCallback(async Me=>{const Re=new Set(Me.map(ot=>ot.playbook_id).filter(Boolean)),Ze=Math.min(...Me.map(ot=>ot.batch_max_items??Number.MAX_SAFE_INTEGER));if(Re.size!==1){zt.warning("批量执行只能选择同一场景的动作");return}if(Me.length>Ze){zt.warning(`本次最多批量执行 ${Ze} 条`);return}const Qe=Me.map(ot=>Mm(ot));X(!0),G(Me),ee(Me.length),te(0),oe([]),ka.open({key:"pool-notification",message:"批量执行中",description:`正在一次执行 ${Me.length} 个动作`,placement:"bottomRight",duration:0,closable:!1});try{const ot=await fetch(`${_r()}/api/v1/agents/actions/batch-execute`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`,"X-Tenant-ID":o,"X-Domain":i},body:JSON.stringify({items:Me.map(nt=>({action_id:nt.action_id,params:Pe(nt)})),submit_token:crypto.randomUUID(),stream:!0})});if(!ot.ok)throw new Error(`HTTP ${ot.status}`);const Ge=await ot.text();if(/event:\s*error|"event_type"\s*:\s*"error"|"success"\s*:\s*false/.test(Ge))throw new Error("批量执行失败");v(nt=>new Set([...nt,...Qe])),te(Me.length),Ve(Me.length,[]),s==null||s()}catch(ot){const Ge=ot instanceof Error?ot.message:"批量执行失败";oe([Ge]),Ve(Me.length,[Ge])}finally{X(!1),G([]),K(null)}},[r,i,o,y,Ve,s]),Ue=g.useCallback(()=>{const Me=Ce(),Re=new Set([...Ke.current.map(Qe=>Qe.action_id||Qe.label),...Y?[Y.action_id||Y.label]:[]]),Ze=Me.filter(Qe=>{const ot=Qe.action_id||Qe.label;return F.has(ot)&&!m.has(ot)&&(!Qe.status||Qe.status==="pending")&&!Re.has(ot)});if(Ze.length===0){zt.warning("请选择未执行的动作");return}if(V(new Set),Ze.every(Qe=>Qe.supports_batch===!0)){Ne(Ze);return}if(q){const Qe=[...Ke.current,...Ze];Ke.current=Qe,G(Qe),ee(ot=>ot+Ze.length),zt.info(`已追加 ${Ze.length} 个动作到执行池`)}else G(Ze),at(Ze)},[F,n,m,q,Y,at,Ne]),Ee=()=>{const Me=new Map;for(const Re of n)if(Re.params_fields_map)for(const Ze of Re.params_fields_map)Me.has(Ze.name)||Me.set(Ze.name,{name:Ze.name,label:Ze.label,type:Ze.type});return Array.from(Me.values())},me=Me=>{for(const Re of n)if(Re.params_fields_map){const Ze=Re.params_fields_map.find(Qe=>Qe.name===Me);if(Ze&&(Ze.type==="number"||Ze.display_value!==void 0&&typeof Ze.display_value=="number"||Ze.display_value!==void 0&&!isNaN(Number(Ze.display_value))))return!0}return!1},de=Me=>{je===Me?xe(Re=>Re==="asc"?"desc":"asc"):(Oe(Me),xe("asc"))},Ce=()=>{let Me=ce();return je&&(Me=[...Me].sort((Re,Ze)=>{var De,et;const Qe=(De=Re.params_fields_map)==null?void 0:De.find(rt=>rt.name===je),ot=(et=Ze.params_fields_map)==null?void 0:et.find(rt=>rt.name===je),Ge=Number(Qe?Se(Re,Qe.name):0),nt=Number(ot?Se(Ze,ot.name):0);return Fe==="asc"?Ge-nt:nt-Ge})),Me},Be=Me=>{const Re=Me.params_fields_map,Ze=Me.action_id||Me.label,Qe=Me.status==="executed"||m.has(Ze);return!Re||Re.length===0?w.jsx("div",{className:"wandox-action-card-empty",children:"暂无默认参数"}):w.jsx("div",{className:"wandox-action-card-params",children:Re.map(ot=>w.jsxs("div",{className:"wandox-action-card-param-item",children:[w.jsxs("span",{className:"wandox-action-card-param-key",children:[ot.label,":"]}),ot.editable===!1||Qe?w.jsx("span",{className:"wandox-action-card-param-value",children:Tve(Se(Me,ot.name))}):ot.input_type==="select"&&ot.options?w.jsx(Qn,{value:String(Se(Me,ot.name)??""),onChange:Ge=>_e(Me,ot.name,Ge),options:ot.options,style:{flex:1,minWidth:120},size:"small"}):w.jsx(_n,{value:String(Se(Me,ot.name)??""),onChange:Ge=>_e(Me,ot.name,Ge.target.value),placeholder:`请输入 ${ot.label}`,style:{flex:1},size:"small"})]},ot.name))})},Ie=Me=>{const Re=Me.params||{},Ze=Me.params_fields_map,Qe=ot=>{const Ge=Ze==null?void 0:Ze.find(nt=>nt.name===ot);return(Ge==null?void 0:Ge.label)||ot};return w.jsxs("div",{className:"wandox-action-card-edit-form",children:[Object.entries(Re).map(([ot])=>w.jsxs("div",{className:"wandox-action-card-form-item",children:[w.jsx("span",{className:"wandox-action-card-form-label",children:Qe(ot)}),w.jsx("input",{type:"text",className:"wandox-input",value:typeof u[ot]=="object"?JSON.stringify(u[ot]):String(u[ot]??""),onChange:Ge=>{let nt=Ge.target.value;try{(Ge.target.value.startsWith("{")||Ge.target.value.startsWith("["))&&(nt=JSON.parse(Ge.target.value))}catch{}d(De=>({...De,[ot]:nt}))},placeholder:`请输入 ${Qe(ot)}`})]},ot)),Object.keys(Re).length===0&&w.jsx("div",{className:"wandox-action-card-empty",children:"暂无可编辑参数"})]})},We=Me=>{const Re=Me.action_id||Me.label,Ze=l===Re,Qe=f===Re,ot=Me.status==="executed"||m.has(Re);return w.jsxs("div",{className:`wandox-action-card-v2${ot?" wandox-action-card-v2--executed":""}${Qe?" wandox-action-card-v2--executing":""}`,children:[w.jsxs("div",{className:"wandox-action-card-v2-content",children:[w.jsx("div",{className:"wandox-action-card-v2-title",children:w.jsx("span",{className:"wandox-action-card-v2-title-text",children:Me.label})}),Ze?Ie(Me):w.jsx("div",{className:"wandox-action-card-v2-params",children:Be(Me)})]}),w.jsx("div",{className:"wandox-action-card-v2-footer",children:Ze?w.jsxs(w.Fragment,{children:[w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--primary",onClick:()=>Te(Me),children:"保存"}),w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--ghost",onClick:ve,children:"取消"})]}):ot?w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--success",onClick:()=>Z(Me),children:"查看"}):w.jsx(w.Fragment,{children:w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--primary",id:Me.action_id,"data-sensors-track":"true","data-sensors-name":"执行动作","data-sensors-module":"可执行动作",onClick:()=>{Qe||he(Me)},disabled:Qe,children:Qe?"执行中...":"执行"})})})]})},tt=g.useCallback(Me=>Y&&(Y.action_id||Y.label)===Me?!0:U.some(Re=>(Re.action_id||Re.label)===Me),[Y,U]),lt=(Me,Re,Ze)=>{if(!Re)return w.jsx("span",{className:"wandox-action-list-cell-placeholder",children:"-"});const Qe=Se(Me,Re.name),ot=Tve(Qe);return Re.editable===!1||Ze.isExecuted||Ze.isExecuting||Ze.inPool?w.jsx("span",{className:"wandox-action-list-cell-text",title:ot,children:ot}):Re.input_type==="select"&&Re.options&&Re.options.length>0?w.jsx(Qn,{className:"wandox-action-list-cell-editor",size:"small",value:String(Qe??""),options:Re.options,onChange:nt=>_e(Me,Re.name,nt)}):w.jsx(_n,{className:"wandox-action-list-cell-editor",size:"small",value:String(Qe??""),placeholder:`请输入 ${Re.label}`,onChange:nt=>_e(Me,Re.name,nt.target.value)})},ct=()=>{const Me=Ee(),Re=Ce(),Ze=new Set([...U.map(Ge=>Ge.action_id||Ge.label),...Y?[Y.action_id||Y.label]:[]]),Qe=Re.filter(Ge=>!Ge.status||Ge.status==="pending").map(Ge=>Ge.action_id||Ge.label).filter(Ge=>!m.has(Ge)&&!Ze.has(Ge)&&Ge!==f),ot=Qe.length>0&&Qe.every(Ge=>F.has(Ge));return w.jsxs("div",{className:"wandox-action-list-view",children:[w.jsxs("div",{className:"wandox-batch-action-bar",children:[w.jsxs("span",{className:"wandox-batch-action-count",children:["已选 ",F.size," 项"]}),w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--primary",onClick:Ue,disabled:F.size===0,children:q?"追加到执行池":"批量执行"}),w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--ghost",onClick:()=>V(new Set),disabled:F.size===0,children:"取消选择"})]}),ie.length>0&&!q&&w.jsxs("div",{className:"wandox-batch-errors",children:[w.jsxs("div",{className:"wandox-batch-errors-title",children:["执行异常(",ie.length,")"]}),ie.map((Ge,nt)=>w.jsx("div",{className:"wandox-batch-error-item",children:Ge},nt))]}),w.jsx("div",{className:"wandox-action-list-table-wrapper",children:w.jsxs("table",{className:"wandox-action-list-table",children:[w.jsx("thead",{children:w.jsxs("tr",{children:[w.jsx("th",{className:"wandox-action-list-th wandox-action-list-th--checkbox",children:w.jsx("input",{type:"checkbox",checked:ot,onChange:we})}),w.jsx("th",{className:"wandox-action-list-th",children:"名称"}),Me.map(Ge=>w.jsxs("th",{className:`wandox-action-list-th ${me(Ge.name)?"wandox-action-list-th--sortable":""}`,onClick:()=>me(Ge.name)&&de(Ge.name),children:[w.jsx("span",{children:Ge.label}),me(Ge.name)&&w.jsx("span",{className:"wandox-action-list-sort-icon",children:je===Ge.name?Fe==="asc"?" ↑":" ↓":" ↕"})]},Ge.name)),w.jsx("th",{className:"wandox-action-list-th wandox-action-list-th--status",children:"状态"}),w.jsx("th",{className:"wandox-action-list-th wandox-action-list-th--action",children:"操作"})]})}),w.jsxs("tbody",{children:[Re.map(Ge=>{const nt=Ge.action_id||Ge.label,De=Ge.status==="executed"||m.has(nt),et=f===nt,rt=tt(nt),dt=U.some(bn=>(bn.action_id||bn.label)===nt),Nt=F.has(nt),kt=(!Ge.status||Ge.status==="pending")&&!De&&!rt&&!et;return w.jsxs("tr",{className:`wandox-action-list-row ${Nt?"wandox-action-list-row--selected":""} ${De?"wandox-action-list-row--executed":""} ${rt?"wandox-action-list-row--in-pool":""}`,children:[w.jsx("td",{className:"wandox-action-list-td wandox-action-list-td--checkbox",children:w.jsx("input",{type:"checkbox",checked:Nt,onChange:()=>kt&&ae(nt),disabled:!kt})}),w.jsx("td",{className:"wandox-action-list-td wandox-action-list-td--name",title:Ge.label,children:Ge.label}),Me.map(bn=>{var Kn;const ur=(Kn=Ge.params_fields_map)==null?void 0:Kn.find(kn=>kn.name===bn.name);return w.jsx("td",{className:`wandox-action-list-td ${ur&&ur.editable!==!1&&!De&&!et&&!rt?"wandox-action-list-td--editable":""}`,children:lt(Ge,ur,{isExecuted:De,isExecuting:et,inPool:rt})},bn.name)}),w.jsx("td",{className:"wandox-action-list-td wandox-action-list-td--status",children:et?w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--executing",children:"执行中"}):dt?w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--queued",children:"排队中"}):De?w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--done",children:"已执行"}):w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--pending",children:"待执行"})}),w.jsx("td",{className:"wandox-action-list-td wandox-action-list-td--action",children:De?w.jsx("button",{type:"button",className:"wandox-action-list-btn wandox-action-list-btn--view",onClick:()=>Z(Ge),children:"查看"}):rt?w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--queued",style:{fontSize:11},children:et?"执行中":"等待中"}):w.jsx("button",{type:"button",className:"wandox-action-list-btn wandox-action-list-btn--exec",onClick:()=>!et&&!rt&&he(Ge),disabled:et||rt,children:"执行"})})]},nt)}),Re.length===0&&w.jsx("tr",{children:w.jsx("td",{colSpan:Me.length+4,className:"wandox-action-list-empty",children:"没有找到匹配的动作"})})]})]})})]})},Ht=()=>{if(_.length===0&&$.length===0&&!N&&!A)return w.jsxs("div",{className:"wandox-execution-empty",children:[w.jsx("div",{className:"wandox-execution-empty-icon",children:"📋"}),w.jsx("div",{className:"wandox-execution-empty-text",children:"点击上方按钮执行动作"})]});const Me=_.length===0&&(A||$.length>0);return w.jsxs("div",{className:"wandox-execution-process",children:[!Me&&_.length>0&&w.jsxs("div",{className:"wandox-progress-section",children:[w.jsx("div",{className:"wandox-progress-title",children:"执行进度"}),w.jsx("div",{className:"wandox-progress-timeline",children:_.map((Re,Ze)=>w.jsxs("div",{className:"wandox-progress-item",children:[w.jsx("span",{className:"wandox-progress-dot",children:w.jsx("span",{className:"wandox-progress-check",children:"✓"})}),w.jsx("span",{className:"wandox-progress-text",children:Re})]},`${Re}-${Ze}`))})]}),A&&w.jsx("div",{className:"wandox-content-section",children:w.jsx(Yv,{payload:{type:"markdown",content:A}})}),!A&&$.length===0&&_.length===0&&!N&&w.jsx("div",{className:"wandox-execution-empty",children:w.jsx("div",{className:"wandox-execution-empty-text",children:"暂无执行结果"})}),N&&w.jsxs("div",{className:"wandox-error-section",children:[w.jsx("div",{className:"wandox-error-icon",children:"✗"}),w.jsxs("div",{className:"wandox-error-content",children:[w.jsx("div",{className:"wandox-error-title",children:"执行失败"}),w.jsx("div",{className:"wandox-error-message",children:N})]})]})]})};return t?w.jsxs("div",{className:"wandox-root",children:[w.jsx("div",{className:"wandox-drawer-mask",onClick:a,onKeyDown:Me=>Me.key==="Escape"&&a(),role:"button",tabIndex:0,"aria-label":"关闭抽屉"}),w.jsxs("div",{className:`wandox-drawer wandox-drawer--right wandox-action-detail-drawer ${L==="list"?"wandox-drawer--wide":""}`,children:[w.jsxs("div",{className:"wandox-drawer-header",children:[w.jsxs("span",{className:"wandox-drawer-title",children:["可执行动作(",n.length,")"]}),w.jsxs("div",{className:"wandox-drawer-header-actions",children:[w.jsxs("div",{className:"wandox-view-mode-toggle",children:[w.jsx("button",{type:"button",className:`wandox-view-mode-btn ${L==="card"?"wandox-view-mode-btn--active":""}`,onClick:()=>R("card"),title:"卡片模式",children:w.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",children:[w.jsx("rect",{x:"1",y:"1",width:"6",height:"6",rx:"1"}),w.jsx("rect",{x:"9",y:"1",width:"6",height:"6",rx:"1"}),w.jsx("rect",{x:"1",y:"9",width:"6",height:"6",rx:"1"}),w.jsx("rect",{x:"9",y:"9",width:"6",height:"6",rx:"1"})]})}),w.jsx("button",{type:"button",className:`wandox-view-mode-btn ${L==="list"?"wandox-view-mode-btn--active":""}`,onClick:()=>R("list"),title:"列表模式",children:w.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",children:[w.jsx("rect",{x:"1",y:"2",width:"14",height:"2.5",rx:"0.5"}),w.jsx("rect",{x:"1",y:"6.75",width:"14",height:"2.5",rx:"0.5"}),w.jsx("rect",{x:"1",y:"11.5",width:"14",height:"2.5",rx:"0.5"})]})})]}),w.jsx("button",{type:"button",className:"wandox-drawer-close",onClick:a,children:"✕"})]})]}),w.jsx("div",{className:"wandox-drawer-body",children:w.jsxs("div",{className:"wandox-action-detail-content",children:[se().length>0&&w.jsx("div",{className:"wandox-action-filter-section",children:w.jsxs(Tl.Compact,{style:{width:"100%"},children:[w.jsx(Qn,{value:j,onChange:Me=>{z(Me),D("")},placeholder:"选择字段",style:{width:150},options:[...se()]}),w.jsx(_n,{value:B,onChange:Me=>D(Me.target.value),placeholder:"输入过滤值",disabled:!j,style:{flex:1},allowClear:!0})]})}),w.jsx("div",{className:"wandox-action-cards-section",children:L==="card"?w.jsxs("div",{className:"wandox-action-cards-grid",children:[ce().map(Me=>w.jsx("div",{className:"wandox-action-card-wrapper",children:We(Me)},Me.action_id||Me.label)),ce().length===0&&(j||B)&&w.jsxs("div",{className:"wandox-action-empty-filter",children:[w.jsx("div",{className:"wandox-action-empty-icon",children:"🔍"}),w.jsx("div",{className:"wandox-action-empty-text",children:"没有找到匹配的动作"})]})]}):ct()}),H&&w.jsxs("div",{className:"wandox-execution-section wandox-execution-panel-slide",onClick:Me=>Me.stopPropagation(),children:[w.jsxs("div",{className:"wandox-execution-panel-header",children:[w.jsx("span",{className:"wandox-execution-panel-title",children:"执行结果"}),w.jsx("button",{type:"button",className:"wandox-execution-panel-close",onClick:()=>W(!1),"aria-label":"关闭",children:"✕"})]}),Ht()]})]})})]})]}):null}function kLe(e){const t={unit:"day",interval:1,hour:9,minute:0,weekDays:[1],monthDay:1,yearMonth:1,yearDay:1,customCron:""};if(!e)return t;const n=e.trim().split(/\s+/);if(n.length<5)return t;const r=Number.parseInt(n[0],10)||0,i=n[1].includes("/")?0:Number.parseInt(n[1],10)||0;if(n[1].startsWith("*/"))return{...t,unit:"hour",interval:Number.parseInt(n[1].slice(2),10)||1,hour:0,minute:r};if(n[3]!=="*"&&!n[3].startsWith("*/"))return{...t,unit:"year",hour:i,minute:r,yearMonth:Number.parseInt(n[3],10)||1,yearDay:Number.parseInt(n[2],10)||1};if(n[3].startsWith("*/"))return{...t,unit:"month",interval:Number.parseInt(n[3].slice(2),10)||1,hour:i,minute:r,monthDay:Number.parseInt(n[2],10)||1};if(n[4]!=="*"){const o=n[4].split(",").map(a=>Number.parseInt(a,10)).filter(a=>!Number.isNaN(a));return{...t,unit:"week",hour:i,minute:r,weekDays:o.length>0?o:[1]}}return n[2].startsWith("*/")?{...t,unit:"day",interval:Number.parseInt(n[2].slice(2),10)||1,hour:i,minute:r}:n[2]!=="*"?{...t,unit:"month",interval:1,hour:i,minute:r,monthDay:Number.parseInt(n[2],10)||1}:{...t,unit:"day",interval:1,hour:i,minute:r}}const yWt=["周日","周一","周二","周三","周四","周五","周六"],bWt=[{value:"hour",label:"小时",hint:"高频轮询"},{value:"day",label:"每天",hint:"日常任务"},{value:"week",label:"每周",hint:"固定周几"},{value:"month",label:"每月",hint:"月度复盘"},{value:"year",label:"每年",hint:"年度节点"},{value:"custom",label:"Cron",hint:"高级规则"}],xWt=[{v:1,l:"周一"},{v:2,l:"周二"},{v:3,l:"周三"},{v:4,l:"周四"},{v:5,l:"周五"},{v:6,l:"周六"},{v:0,l:"周日"}];function wWt(e,t,n,r,i,o,a,s,l){switch(e){case"hour":return`${r} */${t} * * *`;case"day":return t===1?`${r} ${n} * * *`:`${r} ${n} */${t} * *`;case"week":return`${r} ${n} * * ${i.length>0?i.join(","):"1"}`;case"month":return t===1?`${r} ${n} ${o} * *`:`${r} ${n} ${o} */${t} *`;case"year":return`${r} ${n} ${s} ${a} *`;case"custom":return l.trim()||`${r} ${n} * * *`;default:return`${r} ${n} * * *`}}function SWt(e,t,n,r,i,o,a,s,l){const c=`${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`;switch(e){case"hour":return`每 ${t} 小时执行一次(每小时第 ${r} 分)`;case"day":return t===1?`每天 ${c} 执行`:`每 ${t} 天 ${c} 执行`;case"week":return`每周 ${i.length>0?i.map(d=>yWt[d]).join("、"):"周一"} ${c} 执行`;case"month":return t===1?`每月第 ${o} 天 ${c} 执行`:`每 ${t} 个月第 ${o} 天 ${c} 执行`;case"year":return`每年 ${a} 月 ${s} 日 ${c} 执行`;case"custom":return l.trim()?`自定义:${l.trim()}`:"请输入 Cron 表达式";default:return`每天 ${c} 执行`}}function MLe({defaultValue:e,onChange:t}){const n=kLe(e),[r,i]=g.useState(n.unit),[o,a]=g.useState(n.interval),[s,l]=g.useState(n.hour),[c,u]=g.useState(n.minute),[d,f]=g.useState(n.weekDays),[p,h]=g.useState(n.monthDay),[m,v]=g.useState(n.yearMonth),[y,b]=g.useState(n.yearDay),[x,S]=g.useState(n.customCron),_=g.useMemo(()=>wWt(r,o,s,c,d,p,m,y,x),[r,o,s,c,d,p,m,y,x]),C=g.useMemo(()=>SWt(r,o,s,c,d,p,m,y,x),[r,o,s,c,d,p,m,y,x]),A=g.useRef(t);A.current=t,g.useEffect(()=>{var $;($=A.current)==null||$.call(A,_,C)},[_,C]);const E=Array.from({length:24},($,P)=>({value:P,label:String(P).padStart(2,"0")})),I=Array.from({length:60},($,P)=>({value:P,label:String(P).padStart(2,"0")})),T=Array.from({length:12},($,P)=>({value:P+1,label:`${P+1} 月`}));return w.jsxs("div",{className:"sfp-root",children:[w.jsx(lY,{block:!0,size:"small",className:"sfp-freq-segmented",value:r,"aria-label":"调度频率",options:bWt.map(({value:$,label:P,hint:N})=>({value:$,label:w.jsxs("span",{className:"sfp-freq-option",children:[w.jsx("span",{className:"sfp-freq-option__label",children:P}),w.jsx("span",{className:"sfp-freq-option__hint",children:N})]})})),onChange:$=>{i($),a(1)}}),w.jsxs("div",{className:"sfp-config",children:[w.jsxs("div",{className:"sfp-config-title",children:[w.jsx(o$e,{}),w.jsx("span",{children:"执行规则"})]}),r==="hour"&&w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-text",children:"每"}),w.jsx(Sl,{min:1,max:24,value:o,onChange:$=>a($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"小时,在第"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I}),w.jsx("span",{className:"sfp-text",children:"分钟执行"})]}),r==="day"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-text",children:"每"}),w.jsx(Sl,{min:1,max:365,value:o,onChange:$=>a($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"天执行一次"})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsxs("span",{className:"sfp-label",children:[w.jsx(pc,{})," 执行时间"]}),w.jsx(Qn,{value:s,onChange:$=>l($),className:"sfp-select sfp-select--compact",size:"middle",options:E}),w.jsx("span",{className:"sfp-sep",children:":"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I})]})]}),r==="week"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sfp-row sfp-row-wrap",children:[w.jsx("span",{className:"sfp-label",children:"执行日期"}),w.jsx("div",{className:"sfp-weekday-tags",children:xWt.map(({v:$,l:P})=>w.jsx(Fo.CheckableTag,{checked:d.includes($),onChange:N=>{N?f(M=>[...M,$].sort((k,O)=>k-O)):d.length>1&&f(M=>M.filter(k=>k!==$))},children:P},$))})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsxs("span",{className:"sfp-label",children:[w.jsx(pc,{})," 执行时间"]}),w.jsx(Qn,{value:s,onChange:$=>l($),className:"sfp-select sfp-select--compact",size:"middle",options:E}),w.jsx("span",{className:"sfp-sep",children:":"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I})]})]}),r==="month"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-text",children:"每"}),w.jsx(Sl,{min:1,max:12,value:o,onChange:$=>a($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"个月执行一次"})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-label",children:"执行日期"}),w.jsx("span",{className:"sfp-text",children:"第"}),w.jsx(Sl,{min:1,max:31,value:p,onChange:$=>h($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"天"})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsxs("span",{className:"sfp-label",children:[w.jsx(pc,{})," 执行时间"]}),w.jsx(Qn,{value:s,onChange:$=>l($),className:"sfp-select sfp-select--compact",size:"middle",options:E}),w.jsx("span",{className:"sfp-sep",children:":"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I})]})]}),r==="year"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-label",children:"执行月份"}),w.jsx(Qn,{value:m,onChange:$=>v($),className:"sfp-select sfp-select--month",size:"middle",options:T})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-label",children:"执行日期"}),w.jsx("span",{className:"sfp-text",children:"第"}),w.jsx(Sl,{min:1,max:31,value:y,onChange:$=>b($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"天"})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsxs("span",{className:"sfp-label",children:[w.jsx(pc,{})," 执行时间"]}),w.jsx(Qn,{value:s,onChange:$=>l($),className:"sfp-select sfp-select--compact",size:"middle",options:E}),w.jsx("span",{className:"sfp-sep",children:":"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I})]})]}),r==="custom"&&w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-label",children:"Cron 表达式"}),w.jsx(_n,{value:x,onChange:$=>S($.target.value),placeholder:"例如:0 9 * * 1-5",size:"middle",className:"sfp-cron-input"})]})]}),w.jsxs("div",{className:"sfp-preview",children:[w.jsx(IEe,{className:"sfp-preview-icon"}),w.jsx("span",{children:C})]})]})}const{Text:Ive}=If,FN="0 9 * * *";function ls(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function O1(e,t){return ls(e)&&typeof e.message=="string"?e.message:t}function UR(e){return ls(e)?e.data??e.result??e.results??e:e}function k0(e){return e?String(e.schedule_id??e.id??""):""}function Pve(e){return(e==null?void 0:e.name)||(e==null?void 0:e.schedule_name)||(e==null?void 0:e.title)||"未命名任务"}function _Wt(e){return(e==null?void 0:e.cron_expression)||(e==null?void 0:e.schedule_cron)||FN}function CWt(e){return(e==null?void 0:e.playbook_params)??(e==null?void 0:e.schedule_params)??(e==null?void 0:e.params)??{}}function Nve(e){return e?typeof e.is_active=="boolean"?e.is_active:typeof e.is_enabled=="boolean"?e.is_enabled:typeof e.enabled=="boolean"?e.enabled:!0:!0}function AWt(e){const t=UR(e),n=ls(t)?t.items??t.records??t.rows??t.schedules??t.list??t.data:t;return Array.isArray(n)?n.filter(ls).map(r=>r):[]}function $Wt(e){const t=UR(e),n=ls(t)?t.items??t.records??t.rows??t.webhooks??t.list??t.data:t;return Array.isArray(n)?n.filter(ls).map(r=>{const i=r.webhook_id??r.id,o=typeof r.name=="string"&&r.name.trim()?r.name:i?String(i):"未命名通知地址";return{webhook_id:i?String(i):"",name:o,platform:typeof r.platform=="string"?r.platform:void 0,is_active:typeof r.is_active=="boolean"?r.is_active:void 0,is_default:typeof r.is_default=="boolean"?r.is_default:void 0}}).filter(r=>r.webhook_id):[]}function EWt(e){return(Array.isArray(e)?e:ls(e)?Object.values(e):[]).filter(ls).map(n=>{const r=typeof n.name=="string"?n.name:"",i=Array.isArray(n.enum)?n.enum.filter(o=>typeof o=="string"):Array.isArray(n.options)?n.options.map(o=>typeof o=="string"?o:ls(o)&&typeof o.value=="string"?o.value:"").filter(Boolean):void 0;return{name:r,label:typeof n.label=="string"?n.label:typeof n.display_name=="string"?n.display_name:r,type:typeof n.type=="string"?n.type:"string",required:!!n.required,default:n.default,mock:n.mock,enum:i,file_type:typeof n.file_type=="string"?n.file_type:void 0,description:typeof n.description=="string"?n.description:void 0}}).filter(n=>n.name)}function TWt(e){if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function IWt(e){switch(e){case"dingtalk":return"钉钉";case"feishu":case"lark":return"飞书";case"wecom":case"wechat_work":return"企微";default:return e||""}}function kve(e){const t=IWt(e.platform);return t?`${e.name} (${t})`:e.name}function RLe({open:e,agentId:t,playbookId:n,playbookName:r,onClose:i,onSuccess:o}){const[a,s]=g.useState([]),[l,c]=g.useState([]),[u,d]=g.useState([]),[f,p]=g.useState(!1),[h,m]=g.useState(!1),[v,y]=g.useState(!1),[b,x]=g.useState("create"),[S,_]=g.useState(""),[C,A]=g.useState(""),[E,I]=g.useState(!0),[T,$]=g.useState(""),[P,N]=g.useState(0),[M,k]=g.useState(FN),[O,j]=g.useState({}),[z,B]=g.useState({}),[D,H]=g.useState(!1),[W,L]=g.useState(""),[R,F]=g.useState(""),[V,U]=g.useState(""),G=u.length>0,q=g.useMemo(()=>{const ue=l.map(pe=>[pe.webhook_id,kve(pe)]);return new Map(ue)},[l]),X=g.useMemo(()=>{const ue=new Set,pe=l.map(Se=>(ue.add(Se.webhook_id),{value:Se.webhook_id,label:`${kve(Se)}${Se.is_default?" · 默认":""}`,disabled:Se.is_active===!1}));return T&&!ue.has(T)&&pe.unshift({value:T,label:`当前通知地址 (${T})`,disabled:!1}),pe},[l,T]);function Y(ue=l){var pe;return((pe=ue.find(Se=>Se.is_default&&Se.is_active!==!1))==null?void 0:pe.webhook_id)||""}function K(ue={},pe=u){const Se={};for(const Pe of pe)ue[Pe.name]!==void 0&&ue[Pe.name]!==""?Se[Pe.name]=ue[Pe.name]:Pe.default!==void 0&&Pe.default!==""?Se[Pe.name]=Pe.default:Pe.type==="boolean"?Se[Pe.name]=!1:Pe.type==="number"||Pe.type==="integer"||Pe.type==="float"?Se[Pe.name]=void 0:Se[Pe.name]="";return Se}function ne(ue=u,pe=l,Se=V||r){const Pe=Se||"";x("create"),_(""),A(Pe?`${Pe} 定时任务`:"定时任务"),I(!0),$(Y(pe)),k(FN),N(_e=>_e+1),j(K({},ue)),F("")}function ee(ue,pe=u){x("edit"),_(k0(ue)),A(Pve(ue)),I(Nve(ue)),$(ue.webhook_id||""),k(_Wt(ue)),N(Se=>Se+1),j(K(CWt(ue),pe)),F("")}async function Q(){if(!n)return d([]),{fields:[],name:""};y(!0);try{const ue=await aS({playbook_id:n}),pe=UR(ue),Se=ls(pe)?pe:{},_e=(typeof Se.name=="string"&&Se.name.trim()?Se.name.trim():ls(Se.meta)&&typeof Se.meta.name=="string"?Se.meta.name.trim():"")||r||"";U(_e);const Te=ls(Se.content)?Se.content.yaml_content:Se.yaml_content,ve=typeof Te=="string"&&Te?kE.parse(Te):null,he=EWt(ls(ve)?ve.params:[]);return d(he),{fields:he,name:_e}}catch{return d([]),{fields:[],name:""}}finally{y(!1)}}async function te(){m(!0);try{const ue=await VTe({}),pe=$Wt(ue);return c(pe),pe}catch(ue){return c([]),zt.error(O1(ue,"获取通知地址失败")),[]}finally{m(!1)}}async function ie(ue,pe=u,Se=l,Pe=V||r){if(!t||!n)return[];p(!0);try{const _e=await WTe({agent_id:t,playbook_id:n}),Te=AWt(_e);s(Te);const ve=ue?Te.find(se=>k0(se)===ue):null,he=S?Te.find(se=>k0(se)===S):null,Z=ve||he||Te[0];return Z?ee(Z,pe):ne(pe,Se,Pe),Te}catch(_e){return s([]),ne(pe,Se,Pe),zt.error(O1(_e,"获取定时任务失败")),[]}finally{p(!1)}}g.useEffect(()=>{!e||!t||!n||(F(""),B({}),L(""),U(""),(async()=>{const[{fields:ue,name:pe},Se]=await Promise.all([Q(),te()]);await ie(void 0,ue,Se,pe)})())},[e,t,n]);const oe=(ue,pe)=>{j(Se=>({...Se,[ue]:pe}))},fe=ue=>async({file:pe,onSuccess:Se,onError:Pe})=>{var _e;B(Te=>({...Te,[ue]:!0}));try{const Te=await cX(pe),ve=(_e=Te==null?void 0:Te.data)==null?void 0:_e.url;if(!ve)throw new Error("上传失败");oe(ue,ve),Se==null||Se(Te),zt.success("文件上传成功")}catch(Te){Pe==null||Pe(Te instanceof Error?Te:new Error("文件上传失败")),zt.error(O1(Te,"文件上传失败"))}finally{B(Te=>({...Te,[ue]:!1}))}},ye=()=>{if(!t)return zt.warning("缺少智能体ID"),!1;if(!n)return zt.warning("缺少场景ID"),!1;if(!C.trim())return zt.warning("请输入任务名称"),!1;if(!T)return zt.warning("请选择通知地址"),!1;if(E&&!M.trim())return zt.warning("请设置调度频率"),!1;for(const ue of u){const pe=O[ue.name];if(ue.required&&pe!==0&&pe!==!1&&(pe==null||pe===""))return zt.warning(`请填写「${ue.label||ue.name}」`),!1}return!0},$e=()=>{const ue=M||FN,pe=G?{...O}:void 0;return{name:C.trim(),agent_id:t,playbook_id:n,webhook_id:T,is_active:E,schedule_type:"custom",cron_expression:ue,playbook_params:pe}},be=async()=>{if(ye()){F(""),H(!0);try{if(b==="edit"&&S)await GTe(S,{},$e()),zt.success("定时任务已更新"),await ie(S);else{const ue=await HTe({},$e()),pe=UR(ue),Se=ls(pe)?k0(pe):"";zt.success("定时任务已创建"),await ie(Se||void 0)}o==null||o()}catch(ue){F(O1(ue,"保存失败"))}finally{H(!1)}}},je=async ue=>{const pe=k0(ue);if(pe){L(pe);try{await UTe(pe,{}),zt.success("定时任务已删除"),S===pe&&_(""),await ie(),o==null||o()}catch(Se){zt.error(O1(Se,"删除失败"))}finally{L("")}}},Oe=ue=>{const pe=ue.cron_expression||ue.schedule_cron||"未设置频率",Se=TWt(ue.next_run_at),Pe=ue.webhook_id?ue.webhook_name||q.get(ue.webhook_id)||ue.webhook_id:"",_e=Se?`${pe} · 下次 ${Se}`:pe;return Pe?`${_e} · 通知 ${Pe}`:_e},Fe=ue=>{const pe=O[ue.name];switch(ue.type){case"file":{const Se=ue.file_type||void 0,Pe=pe?String(pe).split("/").pop():"";return Pe?w.jsxs("div",{className:"sm-file-value",children:[w.jsx("span",{className:"sm-file-name",children:Pe}),w.jsx(qt,{size:"small",type:"text",danger:!0,onClick:()=>oe(ue.name,""),children:"删除"})]}):w.jsxs(_v.Dragger,{accept:Se,showUploadList:!1,customRequest:fe(ue.name),disabled:!!z[ue.name],className:"sm-upload",children:[w.jsx("p",{style:{marginBottom:4},children:w.jsx(TE,{style:{fontSize:24,color:"#8b5cf6"}})}),w.jsx("p",{style:{fontSize:12,margin:0,color:"#6b7280"},children:z[ue.name]?"上传中...":"点击或拖拽文件上传"})]})}case"boolean":return w.jsx(Ah,{checked:!!pe,onChange:Se=>oe(ue.name,Se),size:"small"});case"number":case"integer":case"float":{const Se=typeof pe=="number"?pe:typeof pe=="string"&&pe.trim()!==""?Number(pe):void 0;return w.jsx(Sl,{style:{width:"100%"},value:Number.isNaN(Se)?void 0:Se,onChange:Pe=>oe(ue.name,Pe),placeholder:`请输入${ue.label}`,size:"middle"})}case"array":case"object":return w.jsx(_n.TextArea,{value:typeof pe=="string"?pe:pe!=null?JSON.stringify(pe):"",onChange:Se=>oe(ue.name,Se.target.value),autoSize:{minRows:1,maxRows:4},placeholder:ue.description||"JSON 格式"});default:return ue.enum&&ue.enum.length>0?w.jsx(Qn,{style:{width:"100%"},value:typeof pe=="string"?pe:void 0,onChange:Se=>oe(ue.name,Se),placeholder:`请选择${ue.label}`,options:ue.enum.map(Se=>({value:Se,label:Se})),size:"middle"}):w.jsx(_n,{value:typeof pe=="string"||typeof pe=="number"?String(pe):"",onChange:Se=>oe(ue.name,Se.target.value),placeholder:`请输入${ue.label}`,size:"middle"})}},xe=()=>w.jsxs("div",{className:"sm-footer",children:[w.jsx(qt,{onClick:i,children:"关闭"}),w.jsx(qt,{type:"primary",loading:D,onClick:be,children:b==="edit"?"保存修改":"创建任务"})]});return w.jsxs(ri,{title:null,open:e,onCancel:i,width:920,centered:!0,footer:xe(),className:"schedule-modal",closable:!1,zIndex:1e4,styles:{container:{padding:0}},children:[w.jsxs("div",{className:"sm-header",children:[w.jsx(pc,{className:"sm-header-icon"}),w.jsxs("div",{children:[w.jsx("div",{className:"sm-header-title",children:"定时触发配置"}),w.jsx("div",{className:"sm-header-sub",children:V||r||n||"当前场景"})]}),w.jsx(qt,{type:"primary",icon:w.jsx(yy,{}),onClick:()=>ne(),children:"创建任务"})]}),w.jsxs("div",{className:"sm-layout",children:[w.jsxs("aside",{className:"sm-task-panel",children:[w.jsx("div",{className:"sm-task-panel-head",children:w.jsxs("div",{children:[w.jsx("div",{className:"sm-task-panel-title",children:"已创建任务"}),w.jsxs("div",{className:"sm-task-panel-count",children:[a.length," 个定时任务"]})]})}),w.jsx(ju,{spinning:f,children:a.length===0?w.jsx("div",{className:"sm-task-empty",children:w.jsx(os,{image:os.PRESENTED_IMAGE_SIMPLE,description:"暂无定时任务"})}):w.jsx("div",{className:"sm-task-list",children:a.map(ue=>{const pe=k0(ue),Se=b==="edit"&&S===pe,Pe=Nve(ue);return w.jsxs("div",{className:`sm-task-item${Se?" sm-task-item--active":""}`,children:[w.jsxs("button",{type:"button",className:"sm-task-select",onClick:()=>ee(ue),children:[w.jsxs("div",{className:"sm-task-item-main",children:[w.jsxs("div",{className:"sm-task-item-title",children:[w.jsx("span",{children:Pve(ue)}),w.jsx(Fo,{color:Pe?"green":"default",children:Pe?"启用":"停用"})]}),w.jsx("div",{className:"sm-task-item-meta",children:Oe(ue)})]}),w.jsx(Vx,{className:"sm-task-edit"})]}),w.jsx("div",{className:"sm-task-actions",children:w.jsx(xY,{title:"删除定时任务",description:"删除后不可恢复,确认删除?",okText:"删除",cancelText:"取消",okButtonProps:{danger:!0,loading:W===pe},onConfirm:_e=>{_e==null||_e.stopPropagation(),je(ue)},onCancel:_e=>_e==null?void 0:_e.stopPropagation(),children:w.jsx(qt,{type:"text",size:"small",danger:!0,icon:w.jsx(by,{}),onClick:_e=>_e.stopPropagation()})})})]},pe||ue.name)})})})]}),w.jsxs("section",{className:"sm-editor",children:[w.jsxs("div",{className:"sm-editor-head",children:[w.jsxs("div",{children:[w.jsx("div",{className:"sm-editor-title",children:b==="edit"?"编辑任务定时器":"创建任务定时器"}),w.jsx("div",{className:"sm-editor-sub",children:"按当前智能体和场景执行定时触发"})]}),w.jsxs("div",{className:"sm-header-switch",children:[w.jsx(Ive,{type:"secondary",style:{fontSize:12},children:E?"已启用":"已停用"}),w.jsx(Ah,{size:"small",checked:E,onChange:I})]})]}),w.jsxs("div",{className:"sm-body",children:[w.jsxs("div",{className:"sm-section",children:[w.jsxs("div",{className:"sm-label",children:["任务名称",w.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"})]}),w.jsx(_n,{value:C,onChange:ue=>A(ue.target.value),placeholder:"例如:每日店铺表现分析"})]}),w.jsxs("div",{className:"sm-section",children:[w.jsxs("div",{className:"sm-label",children:["通知地址",w.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"})]}),w.jsx("div",{className:"sm-param-hint",children:"任务触发后的消息通知地址"}),w.jsx(Qn,{allowClear:!0,showSearch:!0,loading:h,disabled:h,value:T||void 0,onChange:ue=>$(ue||""),placeholder:"请选择通知 Webhook",optionFilterProp:"label",options:X}),!h&&l.length===0&&w.jsx("div",{className:"sm-inline-alert",children:"暂无可用通知地址,请先在通知配置中创建"})]}),E?w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sm-section",children:[w.jsx("div",{className:"sm-label",children:"调度频率"}),w.jsx("div",{className:"sm-param-hint",children:"设置场景自动执行的时间间隔和触发时间"}),w.jsx(MLe,{defaultValue:M,onChange:ue=>k(ue)},P)]}),(v||G)&&w.jsxs("div",{className:"sm-section",children:[w.jsx("div",{className:"sm-label",children:"执行参数"}),w.jsx("div",{className:"sm-param-hint",children:"定时执行时传给当前场景的参数"}),w.jsx("div",{className:"sm-form-panel",children:v?w.jsxs("div",{style:{padding:18,textAlign:"center"},children:[w.jsx(ju,{size:"small"}),w.jsx("span",{style:{marginLeft:8,fontSize:12,color:"#9ca3af"},children:"加载参数配置..."})]}):w.jsx("div",{className:"sm-dynamic-fields",children:u.map(ue=>w.jsxs("div",{className:"sm-field-item",children:[w.jsxs("div",{className:"sm-field-label",children:[ue.label||ue.name,ue.required&&w.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"})]}),ue.description&&w.jsx("div",{className:"sm-field-desc",children:ue.description}),Fe(ue)]},ue.name))})})]})]}):w.jsxs("div",{className:"sm-disabled-hint",children:[w.jsx(pc,{style:{fontSize:28,color:"#d1d5db"}}),w.jsx(Ive,{type:"secondary",style:{fontSize:13},children:"任务已停用,保存后不会自动触发"})]}),R&&w.jsx("div",{style:{color:"#ef4444",fontSize:12,padding:"8px 0 0",textAlign:"center"},children:R})]})]})]})]})}function DLe(e){return!!(e&&/\/api\/v1\/cognitive\/artifacts\/[^/]+\/download/.test(e))}function PWt(e,t){if(!e)return t;const n=/filename\*=(?:UTF-8'')?([^;]+)/i.exec(e);if(n)try{return decodeURIComponent(n[1].replace(/["']/g,"").trim())}catch{}const r=/filename="?([^";]+)"?/i.exec(e);return r?r[1].trim():t}function OLe(e){return e.startsWith("artifact:")?e.slice(9):null}async function pj(e,t="文件"){const n=await fetch(`${_r()}/api/v1/cognitive/artifacts/${e}/download`,{headers:AD()});if(!n.ok)throw new Error(`下载失败(HTTP ${n.status})`);const r=await n.blob(),i=PWt(n.headers.get("content-disposition"),t),o=URL.createObjectURL(r),a=document.createElement("a");a.href=o,a.download=i,a.click(),URL.revokeObjectURL(o)}async function NWt(e){const t=await fetch(`${_r()}/api/v1/cognitive/runs/${e}/report.md`,{headers:AD()});if(!t.ok)throw new Error(`报告打开失败(HTTP ${t.status})`);const n=await t.text(),r=URL.createObjectURL(new Blob([n],{type:"text/plain"}));window.open(r,"_blank","noopener,noreferrer"),setTimeout(()=>URL.revokeObjectURL(r),6e4)}const kWt=new Set(["完成","已完成","执行完成"]);function LLe(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function cP(e){return e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.length>0:typeof e=="object"?Object.keys(e).length>0:!0}function MWt(e){const{data:t}=e,n=[];return Array.isArray(t.output)?n.push(...t.output.filter(cP)):cP(t.output)&&n.push(t.output),Array.isArray(t.children)&&n.push(...t.children.filter(cP)),cP(t.content)&&n.push(LLe(t.content)&&typeof t.content.type=="string"?t.content:{type:typeof t.type=="string"?t.type:"markdown",title:t.title,content:t.content,fields_map:t.fields_map,input_params:t.input_params,streaming:t.streaming===!0}),n}function Mve(e){return(e==null?void 0:e.origin)==="live"&&e.status==="running"}function jLe(e){return[...e].filter(t=>t.type==="step"||t.type==="output").sort((t,n)=>t.sequence-n.sequence)}function qR(e,t){return e.event_id||`${e.type}-${e.sequence}-${t}`}function RWt(e){const t=jLe(e);let n=-1;for(let r=t.length-1;r>=0;r-=1)if(t[r].type==="step"){n=r;break}return n<0?{previousEventKeys:[]}:{activeStepKey:qR(t[n],n),previousEventKeys:t.slice(0,n).map((r,i)=>qR(r,i))}}function zLe(e){const t=e.content.trim();return t?/^✅\s*.*执行完成(?:\s|$)/.test(t)?!0:e.process?e.process.status==="running"&&e.stream_content_received!==!0?!0:e.process.status==="stopped"&&(e.execution_status==="stopped"||e.execution_status==="stopping"||["任务已停止","已停止","正在停止..."].includes(t)):!1:!1}function DWt(e){if(e.ui_payload)return!0;const t=e.content.trim();return!!(t&&!t.startsWith("⏳")&&!kWt.has(t)&&!zLe(e))}function Rve(e){const t=e.trim();if(!t.startsWith("[")&&!t.startsWith("{"))return e;try{return JSON.parse(t)}catch{return e}}function xC(e){if(Array.isArray(e))return e.flatMap(xC);if(typeof e=="string"){const t=Rve(e);return t!==e?xC(t):e.trim()?[{type:"markdown",content:e}]:[]}if(typeof e=="number"||typeof e=="boolean")return[{type:"text",content:e}];if(!LLe(e))return[];if(typeof e.type!="string"&&typeof e.content=="string"){const t=Rve(e.content);if(t!==e.content){const n=xC(t);if(n.length>0)return n}}return[e]}function OWt(e){return e.flatMap(t=>(t==null?void 0:t.type)==="step"&&Array.isArray(t.children)?xC(t.children).filter(n=>(n==null?void 0:n.streaming)!==!0):[])}function LWt(e,t,n){if(!Array.isArray(e))return;const r=xC(e);if(!t)return r;const i=r.filter(a=>(a==null?void 0:a.type)!=="step");if(i.length>0)return i;if(n)return;const o=OWt(r);return o.length>0?o:void 0}function jWt(e){const{data:t}=e,n=typeof t.step_name=="string"?t.step_name.trim():"",r=typeof t.title=="string"?t.title.trim():"",i=typeof t.message=="string"?t.message.trim():"";return e.type==="thinking"?i||"正在分析":e.type==="step"?n||r||i||`步骤 ${e.sequence}`:e.type==="output"?n?`${n} · 输出`:r||"步骤输出":e.type==="error"?i||"执行失败":e.type==="stopped"?i||"任务已停止":e.type==="recommend"?i||"生成推荐内容":r||i||`过程记录 ${e.sequence}`}function zWt(e,t){if(e.type==="error")return"failed";if(e.type==="stopped")return"stopped";if(e.type==="thinking")return t==="running"?"running":"done";const n=String(e.data.status||"").toLowerCase();return["failed","error"].includes(n)?"failed":["stopped","cancelled","canceled"].includes(n)?"stopped":["running","pending","executing"].includes(n)?t==="failed"?"failed":t==="stopped"?"stopped":t==="completed"?"done":"running":"done"}function BWt(e){return e==="running"?"执行中":e==="failed"?"失败":e==="stopped"?"已停止":"已完成"}function FWt(e,t,n){const r=typeof e.duration_ms=="number"&&Number.isFinite(e.duration_ms),i=r?Math.max(0,e.duration_ms):0;if(e.status!=="running"){if(r)return i;const a=e.events.map(u=>Date.parse(u.timestamp||"")).filter(Number.isFinite);if(a.length===0)return 0;const s=Date.parse(t),l=Math.min(...a),c=Number.isFinite(s)?Math.max(s,...a):Math.max(...a);return Math.max(0,c-l)}const o=Date.parse(e.started_at||t);return Number.isFinite(o)?Math.max(i,n-o):i}function VWt(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 HWt(e,t){return e.status==="running"?`思考中(已用时 ${t} 秒)`:e.status==="failed"?`思考失败(用时 ${t} 秒)`:e.status==="stopped"?`已停止(用时 ${t} 秒)`:`用时 ${t} 秒`}function WWt({process:e,messageTimestamp:t,autoCollapseOnTerminal:n=!0,hasOutputPayload:r=!1}){const i=g.useMemo(()=>jLe((e==null?void 0:e.events)||[]),[e==null?void 0:e.events]),o=g.useMemo(()=>i.map((A,E)=>qR(A,E)),[i]),a=g.useMemo(()=>RWt(i),[i]),[s,l]=g.useState(()=>Mve(e)),[c,u]=g.useState(()=>new Set(o)),[d,f]=g.useState(()=>Date.now()),p=g.useRef(""),h=g.useRef(new Set),m=e==null?void 0:e.started_at,v=e==null?void 0:e.origin,y=e?`${v||""}\0${m||""}`:"",b=Mve(e),x=g.useRef(y),S=g.useRef(e==null?void 0:e.status);if(g.useEffect(()=>{if((e==null?void 0:e.status)!=="running")return;f(Date.now());const A=window.setInterval(()=>f(Date.now()),1e3);return()=>window.clearInterval(A)},[e==null?void 0:e.status]),g.useEffect(()=>{const A=e==null?void 0:e.status,E=x.current!==y,I=S.current==="running"&&A!==void 0&&A!=="running";E?(l(b),u(new Set(o)),h.current.clear(),p.current=`${y}\0__reset__`):I?(n&&l(!1),u(new Set(o)),h.current.clear()):A!==void 0&&A!=="running"&&u(T=>{const $=new Set(T);for(const P of o)h.current.has(P)||$.add(P);return $}),x.current=y,S.current=A},[n,o,e==null?void 0:e.status,y,b]),g.useEffect(()=>{u(A=>{const E=new Set(A);let I=!1;for(const T of o)!E.has(T)&&!h.current.has(T)&&(E.add(T),I=!0);return I?E:A})},[o]),g.useEffect(()=>{if((e==null?void 0:e.status)!=="running"||v!=="live"||!a.activeStepKey)return;const A=`${y}\0${a.activeStepKey}`;p.current!==A&&(p.current=A,a.previousEventKeys.length!==0&&u(E=>{const I=new Set(E);for(const T of a.previousEventKeys)h.current.has(T)||I.add(T);return I}))},[e==null?void 0:e.status,v,y,a]),!e)return null;const _=Math.round(FWt(e,t,d)/1e3),C=i.length>0||e.status==="running";return w.jsxs("section",{className:`wandox-message-process wandox-message-process--${e.status}`,children:[w.jsxs("button",{type:"button",className:"wandox-message-process__toggle",onClick:()=>C&&l(A=>!A),"aria-expanded":C?s:void 0,disabled:!C,children:[w.jsx("span",{className:"wandox-message-process__summary-icon","aria-hidden":"true",children:e.status==="running"?w.jsx("span",{className:"wandox-message-process__spinner"}):w.jsx("svg",{viewBox:"0 0 20 20",width:"16",height:"16",fill:"none",children:e.status==="failed"?w.jsx("path",{d:"m6.5 6.5 7 7m0-7-7 7",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"}):e.status==="stopped"?w.jsx("rect",{x:"6.2",y:"6.2",width:"7.6",height:"7.6",rx:"1",fill:"currentColor"}):w.jsx("path",{d:"M5.5 10.3 8.4 13l6.1-6",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})}),w.jsx("span",{children:HWt(e,_)}),C&&w.jsx("svg",{className:`wandox-message-process__chevron${s?" wandox-message-process__chevron--expanded":""}`,viewBox:"0 0 20 20",width:"14",height:"14",fill:"none","aria-hidden":"true",children:w.jsx("path",{d:"m8 6.5 3.5 3.5L8 13.5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})]}),s&&C&&w.jsxs("div",{className:"wandox-message-process__events",children:[i.map((A,E)=>{const I=zWt(A,e.status),T=r&&A.type==="output"?[]:MWt(A),$=VWt(A.timestamp),P=qR(A,E),N=T.length>0,M=N&&h.current.has(P)&&!c.has(P),k=w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"wandox-message-process__event-title-group",children:[w.jsx("div",{className:"wandox-message-process__event-title",children:jWt(A)}),N&&w.jsx("svg",{className:`wandox-message-process__event-chevron${M?" wandox-message-process__event-chevron--expanded":""}`,viewBox:"0 0 20 20",width:"13",height:"13",fill:"none","aria-hidden":"true",children:w.jsx("path",{d:"m8 6.5 3.5 3.5L8 13.5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})}),I!=="done"&&w.jsx("span",{className:`wandox-message-process__event-status wandox-message-process__event-status--${I}`,children:BWt(I)})]}),$&&w.jsx("time",{className:"wandox-message-process__event-time",children:$})]});return w.jsxs("div",{className:`wandox-message-process__event wandox-message-process__event--${I}`,children:[w.jsx("span",{className:"wandox-message-process__event-marker","aria-hidden":"true",children:I==="running"&&w.jsx("span",{className:"wandox-message-process__event-loading-spinner"})}),w.jsxs("div",{className:"wandox-message-process__event-content",children:[N?w.jsx("button",{type:"button",className:"wandox-message-process__event-header wandox-message-process__event-header--toggle","aria-expanded":M,onClick:()=>u(O=>{const j=new Set(O);return j.has(P)?(j.delete(P),h.current.add(P)):(j.add(P),h.current.delete(P)),j}),children:k}):w.jsx("div",{className:"wandox-message-process__event-header",children:k}),M&&T.map((O,j)=>{const z=`${A.sequence}-payload-${j}`;return w.jsx("div",{className:"wandox-message-process__event-payload",children:w.jsx(Pg,{payload:O})},z)})]})]},P)}),e.truncated===!0&&w.jsxs("div",{className:"wandox-message-process__notice wandox-message-process__notice--footer",children:["过程记录较多,当前展示前 ",i.length," 条"]})]})]})}const GWt=10,UWt=48;function qWt({scrollTop:e,hasMore:t,loading:n,failed:r}){return e<=UWt&&t&&!n&&!r}const KWt={loading:"加载中...",loadMore:"加载更多",executionResult:"执行结果",executableActions:"可执行动作"};function M0(e,t){return(e==null?void 0:e[t])||KWt[t]}function i5(e){if(typeof e!="string")return;const t=e.trim();if(!(!t||t.toLowerCase()==="empty"))return t}function Dve(e){var n;const t=(n=e.meta_content)==null?void 0:n.artifacts;return Array.isArray(t)?t.filter(r=>!!r&&typeof r=="object"&&typeof r.artifact_id=="string"):[]}function YWt({messageId:e,dataIndex:t,role:n,className:r,containerRef:i,forceRender:o,children:a}){const s=g.useRef(null),[l,c]=g.useState(o);return g.useEffect(()=>{o&&c(!0)},[o]),g.useEffect(()=>{const u=s.current,d=i.current;if(!u||!d||l)return;if(!("IntersectionObserver"in window)){c(!0);return}const f=new IntersectionObserver(p=>{p.some(h=>h.isIntersecting)&&(c(!0),f.disconnect())},{root:d,rootMargin:"600px 0px"});return f.observe(u),()=>f.disconnect()},[i,l]),w.jsx("div",{ref:s,"data-message-id":e,"data-message-index":t,className:r,style:l?void 0:{minHeight:n==="user"?64:112},"aria-busy":!l,children:l?a:w.jsx("div",{className:"wandox-message-deferred-placeholder","aria-hidden":"true"})})}function xJ({messages:e,executing:t,auth:n,ssoToken:r,ssoDomain:i,ssoCompany:o,apiBaseUrl:a,ossUploadUrl:s,uploadFile:l,actionExecuteUrl:c,batchActionExecuteUrl:u,onExecuteAction:d,onExecuteBatchActions:f,getPlaybookDetail:p,labels:h,autoCollapseProcessOnTerminal:m=!0,onExecutePlaybook:v,onFillPlaybookParams:y,onRespondToProposal:b,messagesTotal:x,hasMoreMessages:S,loadMoreMessages:_,loading:C,messageToolbar:A,onOpenActionDrawer:E,emptyContent:I,initialLoadingContent:T,containerRef:$,endRef:P,className:N,conversationKey:M}){var ce;const k=s??(a!==void 0?`${a.replace(/\/$/,"")}/api/v1/oss/upload2`:void 0),O=ELe(n,{ssoToken:r,ssoDomain:i,ssoCompany:o}),j=!!(d||c||a!==void 0||O.accessToken||O.tenantId||O.domain),z=g.useRef(null),B=g.useRef(null),D=$||z,H=P||B,W=g.useRef(0),L=g.useRef(!1),R=g.useRef(null),F=g.useRef(!1),V=g.useRef(!1),U=g.useRef(0),G=g.useRef(0),q=g.useRef(null),X=g.useRef([]),Y=g.useRef(null),K=g.useRef(!1),ne=g.useRef(!1),ee=g.useRef(!1),Q=g.useRef(null),te=g.useRef(M),[ie,oe]=g.useState(!0),[fe,ye]=g.useState(!1),[$e,be]=g.useState(!1),je=!!(_&&e.length>0&&(S??(x!==void 0&&e.length<x))),Oe=e.some(ae=>ae.retrigger_status==="executing"),Fe=e.some(ae=>{var we;return((we=ae.process)==null?void 0:we.status)==="running"}),xe=!!T;te.current!==M&&(te.current=M,W.current=0,K.current=!1,L.current=!1,F.current=!1,V.current=!1,U.current=0,G.current=0,q.current=null,ne.current=!1,ee.current=!1,(ce=Q.current)==null||ce.call(Q),Q.current=null);const ue=g.useCallback(()=>{const ae=D.current;return ae?ae.scrollHeight-ae.scrollTop-ae.clientHeight<100:!0},[D]),pe=g.useCallback((ae="smooth")=>{const we=D.current;we&&(we.scrollLeft=0,ae==="auto"?we.scrollTop=we.scrollHeight:we.scrollTo({top:we.scrollHeight,behavior:ae}))},[D]),Se=g.useCallback(()=>{for(const ae of X.current)clearTimeout(ae);X.current=[]},[]),Pe=g.useCallback(()=>{Se(),Y.current&&clearTimeout(Y.current),Y.current=null,F.current=!1,V.current=!1,U.current=0,G.current=0,q.current=null},[Se]),_e=g.useCallback(()=>{const ae=D.current;if(!ae)return;const we=q.current;if(we){const He=Array.from(ae.querySelectorAll(".wandox-message")).find(Ve=>Ve.dataset.messageId===we.messageId);if(He){const Ve=He.getBoundingClientRect().top-ae.getBoundingClientRect().top;ae.scrollTop+=Ve-we.viewportOffset;return}}const Ae=ae.scrollHeight-U.current;ae.scrollTop=Math.max(0,G.current+Ae)},[D]),Te=g.useCallback(()=>{Se(),Y.current&&(clearTimeout(Y.current),Y.current=null),_e(),X.current=[100,300,600].map(ae=>setTimeout(()=>{_e(),ae===600&&Pe()},ae))},[Se,Pe,_e]),ve=g.useCallback(()=>{Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{Y.current=null,F.current&&(_e(),Pe())},800)},[Pe,_e]),he=g.useCallback(async()=>{if(!_||!je||C||F.current)return;const ae=D.current;if(ae){U.current=ae.scrollHeight,G.current=ae.scrollTop;const Ae=ae.getBoundingClientRect().top,He=Array.from(ae.querySelectorAll(".wandox-message")).find(Ke=>Ke.getBoundingClientRect().bottom>Ae),Ve=He==null?void 0:He.dataset.messageId;q.current=He&&Ve?{messageId:Ve,viewportOffset:He.getBoundingClientRect().top-Ae}:null}F.current=!0,V.current=!0,ye(!0),be(!1);let we=!1;try{await _()}catch{we=!0,be(!0)}finally{ye(!1),we?Pe():ve()}},[D,ve,je,_,C,Pe]);g.useEffect(()=>{Y.current&&(clearTimeout(Y.current),Y.current=null),Se(),ye(!1),be(!1)},[Se,M]),g.useEffect(()=>()=>{var ae;Se(),Y.current&&clearTimeout(Y.current),(ae=Q.current)==null||ae.call(Q)},[Se]),g.useLayoutEffect(()=>{const ae=e.length,we=W.current;if(ae>we){if(F.current){Te(),W.current=ae;return}const Ae=setTimeout(()=>{const He=ue();we===0?pe("auto"):He&&!L.current&&pe("smooth")},100);return W.current=ae,()=>clearTimeout(Ae)}W.current=ae},[ue,e.length,Te,pe]);const Z=(()=>{if(e.length===0)return"";const ae=e[e.length-1];try{return JSON.stringify({outputs:ae==null?void 0:ae.outputs,uiPayload:ae==null?void 0:ae.ui_payload,content:ae==null?void 0:ae.content,executionStatus:ae==null?void 0:ae.execution_status,process:ae==null?void 0:ae.process})}catch{return`${(ae==null?void 0:ae.id)||""}:${(ae==null?void 0:ae.execution_status)||""}`}})();g.useEffect(()=>{if(e.length===0||F.current||V.current)return;if(e[e.length-1].role==="assistant"&&!L.current){const we=setTimeout(()=>{const Ae=D.current;Ae&&Ae.scrollBy({top:300,behavior:"smooth"})},100);return()=>clearTimeout(we)}},[D,Z,e]),g.useEffect(()=>{if(!t||F.current||V.current||L.current)return;const ae=setTimeout(()=>{pe("smooth")},100);return()=>clearTimeout(ae)},[t,Z,pe]),g.useEffect(()=>{const ae=D.current;if(!ae)return;const we=()=>{R.current&&clearTimeout(R.current),L.current=!0,R.current=setTimeout(()=>{L.current=!1},500),qWt({scrollTop:ae.scrollTop,hasMore:je,loading:C||fe||F.current,failed:$e})&&he()};return ae.addEventListener("scroll",we),()=>{ae.removeEventListener("scroll",we),R.current&&clearTimeout(R.current)}},[D,je,$e,C,fe,he]),g.useLayoutEffect(()=>{var Ne;if(!xe)return;if(C){if(ne.current||ee.current||e.length>0)return;ne.current=!0,ee.current=!1,K.current=!1,oe(!1);return}if(!ne.current||ee.current||V.current)return;if(ee.current=!0,e.length===0){K.current=!0,oe(!0);return}(Ne=Q.current)==null||Ne.call(Q);let ae=0,we=0,Ae=0,He=-1;const Ve=D.current,Ke=typeof ResizeObserver<"u"&&Ve?new ResizeObserver(()=>{Ae=0}):null;Ke&&Ve&&Ke.observe(Ve);const at=()=>{const Ue=D.current;if(!Ue){K.current=!0,oe(!0);return}Ue.scrollLeft=0,Ue.scrollTop=Ue.scrollHeight;const Ee=Ue.scrollHeight;if(Ae=Ee===He?Ae+1:0,He=Ee,we+=1,Ae>=3||we>=30){Ue.scrollTop=Ue.scrollHeight,Ke==null||Ke.disconnect(),Q.current=null,K.current=!0,oe(!0);return}ae=requestAnimationFrame(at)};return ae=requestAnimationFrame(at),Q.current=()=>{cancelAnimationFrame(ae),Ke==null||Ke.disconnect()},()=>{var Ue;(Ue=Q.current)==null||Ue.call(Q),Q.current=null}},[D,xe,C,e.length]),g.useEffect(()=>{if(xe||e.length===0){e.length===0&&(K.current=!1);return}if(V.current||C||K.current)return;K.current=!0;const ae=requestAnimationFrame(()=>pe("auto"));return()=>cancelAnimationFrame(ae)},[xe,C,e.length,pe]);const se=!!(xe&&!fe&&(C&&e.length===0||!ie));return w.jsx(xLe.Provider,{value:{onExecutePlaybook:v,onFillPlaybookParams:y,getPlaybookDetail:p,uploadFile:l,ossUploadUrl:k,auth:O},children:w.jsxs("div",{className:`wandox-chat-messages${N?` ${N}`:""}`,ref:D,children:[e.length===0&&!se&&(C?T??I:I),se&&w.jsx("div",{className:"wandox-chat-initial-loading-overlay","aria-live":"polite",children:T}),je&&(fe||$e)&&w.jsx("div",{className:"wandox-load-more-container",children:fe?w.jsx("output",{className:"wandox-load-more-loading wandox-load-more-status","aria-live":"polite",children:M0(h,"loading")}):w.jsx("button",{type:"button",className:"wandox-load-more-btn",onClick:()=>{he()},disabled:C,children:M0(h,"loadMore")})}),e.map((ae,we)=>{var Ue;const Ae=we===e.length-1,He=`${ae.role}:${ae.id}`,Ve=ae.message_id||ae.id,Ke=zLe(ae),at=Array.isArray(ae.outputs),Ne=LWt(ae.outputs,ae.process,DWt(ae));return w.jsxs(YWt,{messageId:Ve,dataIndex:we,role:ae.role,containerRef:D,forceRender:we>=e.length-3,className:`wandox-message ${ae.role}${ae.role==="user"&&ae.proposal?" wandox-message--proposal":""}`,children:[ae.role==="user"&&ae.proposal&&ae.content&&w.jsx("div",{className:"wandox-message-content wandox-message-content--user-text",children:ae.content}),w.jsxs("div",{className:"wandox-message-content",children:[ae.role==="assistant"&&ae.retrigger_status==="executing"&&!ae.process&&w.jsxs("output",{className:"wandox-retrigger-state wandox-retrigger-state--loading","aria-live":"polite",children:[w.jsxs("span",{className:"wandox-retrigger-loader","aria-hidden":"true",children:[w.jsx("span",{}),w.jsx("span",{}),w.jsx("span",{})]}),w.jsxs("span",{className:"wandox-retrigger-state__copy",children:[w.jsx("strong",{children:"正在重新生成"}),w.jsx("span",{children:"正在重新分析并整理结果"})]})]}),ae.role==="assistant"&&ae.retrigger_status==="failed"&&!ae.process&&w.jsxs("div",{className:"wandox-retrigger-state wandox-retrigger-state--failed",role:"alert",children:[w.jsx("span",{className:"wandox-retrigger-error-icon","aria-hidden":"true"}),w.jsxs("span",{className:"wandox-retrigger-state__copy",children:[w.jsx("strong",{children:"重新生成失败"}),w.jsx("span",{children:ae.retrigger_error||"服务暂时无法完成请求,请稍后重试"})]})]}),ae.role==="user"&&ae.proposal?w.jsx(wve,{proposal:ae.proposal,disabled:!0,proposalStatus:ae.proposal_status,initialFilledParams:(Ue=ae.meta_content)==null?void 0:Ue.filled_params,onConfirm:()=>{},onReject:()=>{}}):ae.role==="user"&&w.jsxs(w.Fragment,{children:[ae.content,ae.attachments&&ae.attachments.length>0&&w.jsx("div",{className:"wandox-message-attachments",children:ae.attachments.map(Ee=>Ee.type==="image"?w.jsx("div",{className:"wandox-message-attachment-image-wrapper",children:w.jsx(gY,{src:Ee.url,alt:Ee.name||"图片",className:"wandox-message-attachment-image"})},Ee.url):w.jsxs("a",{href:Ee.url,target:"_blank",rel:"noopener noreferrer",className:"wandox-message-attachment-file",children:[w.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[w.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),w.jsx("polyline",{points:"14 2 14 8 20 8"}),w.jsx("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),w.jsx("line",{x1:"16",y1:"17",x2:"8",y2:"17"}),w.jsx("polyline",{points:"10 9 9 9 8 9"})]}),w.jsx("span",{children:Ee.name||"文件"})]},Ee.url||Ee.name))})]}),ae.role==="assistant"&&w.jsx(WWt,{process:ae.process,messageTimestamp:ae.timestamp,autoCollapseOnTerminal:m,hasOutputPayload:at}),Ne&&Ne.length>0&&w.jsx("div",{className:"wandox-outputs-container",children:Ne.map((Ee,me)=>{const de=i5(Ee.title),Ce=Ee.type==="table"&&Ae&&ae.actions&&ae.actions.length>0&&j;return w.jsxs("div",{className:"wandox-execution-result",children:[(de||Ee.step_index)&&w.jsx("div",{className:"wandox-result-title",children:de||(Ee.step_index?`Step${Ee.step_index}:${Ee.step_name||""}`:M0(h,"executionResult"))}),w.jsx("div",{className:"wandox-result-body",children:Ce?w.jsxs(w.Fragment,{children:[w.jsx(P$,{params:Ee.input_params}),w.jsx(Eve,{payload:Ee,actions:ae.actions??[],auth:O,apiBaseUrl:a,actionExecuteUrl:c,batchActionExecuteUrl:u,onExecuteAction:d,onExecuteBatchActions:f})]}):w.jsx(Pg,{payload:Ee})})]},`output-${me}-${de||Ee.step_index}`)})}),ae.ui_payload&&!at&&(()=>{var Be,Ie,We,tt,lt,ct;const Ee=ae.ui_payload,me=i5((Be=ae.ui_payload)==null?void 0:Be.title),de=i5((We=(Ie=ae.ui_payload)==null?void 0:Ie.output_data)==null?void 0:We.title),Ce=(Ee==null?void 0:Ee.type)==="table"&&Ae&&ae.actions&&ae.actions.length>0&&j;return w.jsxs("div",{className:"wandox-execution-result",children:[(me||de||((tt=ae.ui_payload)==null?void 0:tt.step_index))&&w.jsx("div",{className:"wandox-result-title",children:me||de||((lt=ae.ui_payload)!=null&<.step_index?`Step${ae.ui_payload.step_index}:${((ct=ae.ui_payload)==null?void 0:ct.step_name)||""}`:M0(h,"executionResult"))}),w.jsx("div",{className:"wandox-result-body",children:Ce?w.jsxs(w.Fragment,{children:[w.jsx(P$,{params:Ee.input_params}),w.jsx(Eve,{payload:Ee,actions:ae.actions??[],auth:O,apiBaseUrl:a,actionExecuteUrl:c,batchActionExecuteUrl:u,onExecuteAction:d,onExecuteBatchActions:f})]}):w.jsx(Pg,{payload:ae.ui_payload})})]})})(),ae.role==="assistant"&&!ae.retrigger_status&&ae.content&&(ae.content.startsWith("❌")||ae.content.startsWith("⏳")&&!Ne&&!ae.process)&&w.jsx(Pg,{payload:WR(ae.content.replace(/^❌\s*/,""))}),ae.role==="assistant"&&!ae.retrigger_status&&!Ne&&!ae.ui_payload&&!ae.proposal&&ae.content&&!Ke&&!ae.content.startsWith("❌")&&!ae.content.startsWith("⏳")&&w.jsx("div",{className:"wandox-execution-result",children:w.jsx(Pg,{payload:WR(ae.content)})}),ae.role==="assistant"&&Dve(ae).length>0&&w.jsx("div",{className:"wandox-message-artifacts",children:Dve(ae).map(Ee=>{const me=Ee.oss_url||`${(a==null?void 0:a.replace(/\/$/,""))||""}/api/v1/cognitive/artifacts/${Ee.artifact_id}/download`;return w.jsx(SLe,{href:me,onClick:Ee.oss_url?void 0:de=>{de.preventDefault(),pj(Ee.artifact_id,Ee.filename||Ee.artifact_id).catch(Ce=>{})},children:Ee.filename||Ee.artifact_id},Ee.artifact_id)})}),ae.role==="assistant"&&ae.proposal&&w.jsx(wve,{proposal:ae.proposal,disabled:t,proposalStatus:ae.proposal_status,onConfirm:(Ee,me)=>{var Ce,Be,Ie;const de=(Ce=ae.proposal)==null?void 0:Ce.options.find(We=>We.id===Ee);b==null||b({proposal_id:((Be=ae.proposal)==null?void 0:Be.proposal_id)??"",proposal_action:"confirm",selected_option_id:Ee,filled_params:me,messageId:ae.id,proposalMessage:(Ie=ae.proposal)==null?void 0:Ie.message,optionTitle:de==null?void 0:de.title})},onReject:()=>{var Ee;b==null||b({proposal_id:((Ee=ae.proposal)==null?void 0:Ee.proposal_id)??"",proposal_action:"reject",messageId:ae.id})}}),ae.role==="assistant"&&ae.actions&&ae.actions.length>0&&E&&(()=>{const Ee=ae.ui_payload;return(!!(Ne!=null&&Ne.some(de=>(de==null?void 0:de.type)==="table"))||(Ee==null?void 0:Ee.type)==="table"&&!at)&&j?null:w.jsx("div",{className:"wandox-execution-results",children:w.jsx("button",{type:"button",className:"wandox-execution-results-btn",disabled:!Ae,"aria-disabled":!Ae,title:Ae?void 0:"仅最新一条消息可执行动作",onClick:()=>{var de;Ae&&E(M0(h,"executableActions"),((de=ae.actions)==null?void 0:de.map(Ce=>({action_id:Ce.action_id,playbook_id:Ce.playbook_id,label:Ce.display_name||"执行",params:Ce.params,params_fields_map:Ce.params_fields_map,status:Ce.status,supports_batch:Ce.supports_batch,batch_max_items:Ce.batch_max_items,batch_id:Ce.batch_id,outputs:Ce.outputs})))||[])},children:w.jsxs("div",{className:"wandox-execution-results-content",children:[w.jsxs("div",{className:"wandox-execution-results-text",children:[M0(h,"executableActions")," (",ae.actions.length,")"]}),w.jsx("div",{className:"wandox-execution-results-arrow",children:w.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-label":"箭头",role:"img",children:w.jsx("polyline",{points:"9 18 15 12 9 6"})})})]})})})})(),A==null?void 0:A(ae,Ae)]})]},He)}),t&&!Oe&&!Fe&&w.jsx("div",{className:"wandox-message assistant",children:w.jsx("div",{className:"wandox-message-content",children:w.jsx("div",{className:"wandox-typing-indicator",children:w.jsx("span",{className:"wandox-typing-dot"})})})}),w.jsx("div",{ref:H})]})})}function BLe(e){const t=_r(),n=g.useCallback(async r=>{const{data:i}=await aS({playbook_id:r});return i},[]);return w.jsx(xJ,{apiBaseUrl:t,getPlaybookDetail:n,...e})}function XWt(e){var r;const t=e.outputs,n=e.ui_payload;return!!((t==null?void 0:t.type)==="table"||(n==null?void 0:n.type)==="table"||Array.isArray(e.outputs)&&e.outputs.some(i=>(i==null?void 0:i.type)==="table")||((r=e.meta_content)==null?void 0:r.output_type)==="table")}function ZWt(e,t){const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)}function wJ(e){var t;return(t=e.meta_content)!=null&&t.playbook_id?"数据报表":"对话内容"}function FLe(){return new Date().toISOString().slice(0,10)}async function QWt(e){const t=e.message_id||e.id;if(t)try{await VLe(String(t),"pdf",wJ(e));return}catch{}JWt(e)}function JWt(e){const t=`${wJ(e)}_${FLe()}`,n=document.querySelector(`[data-message-id="${e.message_id||e.id}"] .wandox-message-content`);if(!n){zt.warning("无法定位消息内容");return}const r=window.open("","_blank");if(!r){zt.warning("请允许弹出窗口");return}r.document.write(`<!DOCTYPE html><html><head><meta charset="utf-8"><title>${t}</title><style>body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:20px;color:#333}table{border-collapse:collapse;width:100%}th,td{border:1px solid #d9d9d9;padding:6px 8px;font-size:13px;text-align:left}th{background:#fafafa}img{max-width:100%}pre{white-space:pre-wrap;word-break:break-all;font-size:12px;background:#f5f5f5;padding:12px;border-radius:4px}button,.ant-btn,.ant-tooltip-open{display:none!important}</style></head><body>${n.innerHTML}</body></html>`),r.document.close(),r.onload=()=>{r.print(),r.close()}}async function eGt(e){const t=e.message_id||e.id;if(t)try{await VLe(String(t),"docx",wJ(e))}catch{zt.warning("导出 Word 失败,请稍后再试")}}async function VLe(e,t,n){const r=await st({method:"GET",url:`/api/v1/agents/messages/${encodeURIComponent(e)}/export`,params:{format:t},responseType:"blob",requestType:"json"}),i=r instanceof Blob?r:r.data;if(!i)throw new Error("empty export response");const o=t==="docx"?"docx":"pdf",a=t==="docx"?"application/msword":"application/pdf";ZWt(new Blob([i],{type:i.type||a}),`${n}_${FLe()}.${o}`)}function tGt(){if(typeof window>"u")return"";const e=window.location.origin;return e.startsWith("http://localhost")||e.startsWith("http://127.0.0.1")||(e==="https://ai.wandox.com"||e==="https://test-ai.wandox.com")?e:"https://ai.wandox.com"}function nGt(e){const t=e.message_id||e.id,n=new URLSearchParams;return n.set("message_id",String(t)),`${tGt()}/result-editor/?${n.toString()}`}function rGt(e){window.open(nGt(e),"_blank","noopener,noreferrer")}function SJ(e){return(e==null?void 0:e.trim().toLowerCase())==="maiduo"}function iGt(e){const t=encodeURIComponent(String(e));return`${typeof window>"u"?"":window.location.origin}/work-lite/?execution_id=${t}`}const oGt=["回答不准确","缺少数据依据","未解决问题","内容不完整","表达不清晰","其他"],Ove={visible:!1,messageId:"",name:"",description:"",loading:!1},KG={visible:!1,messageId:"",agentId:"",playbookId:"",playbookName:""};function _J(e){var t,n,r;return(e==null?void 0:e.playbook_id)||((t=e==null?void 0:e.meta_content)==null?void 0:t.playbook_id)||((r=(n=e==null?void 0:e.actions)==null?void 0:n[0])==null?void 0:r.playbook_id)||""}function aGt(){return w.jsx("div",{className:"wandox-chat-empty-icon",children:w.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[w.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"}),w.jsx("path",{d:"M20 2v4"}),w.jsx("path",{d:"M22 4h-4"}),w.jsx("circle",{cx:"4",cy:"20",r:"2"})]})})}function HLe(){return w.jsxs("output",{className:"wandox-chat-history-loading","aria-label":"正在加载历史记录",children:[w.jsxs("div",{className:"wandox-chat-history-loading-aura","aria-hidden":"true",children:[Array.from({length:12},(e,t)=>({angle:t*30,delay:t*.08})).map(({angle:e,delay:t})=>w.jsx("span",{className:"wandox-chat-history-ray",style:{"--ray-angle":`${e}deg`,"--ray-delay":`${t}s`}},e)),w.jsx("img",{className:"wandox-loading-brand-mark",src:oS,alt:"","aria-hidden":"true"})]}),w.jsx("div",{className:"wandox-chat-history-loading-text",children:"正在加载历史记录..."})]})}function sGt({hasPlaybooks:e}){const{t}=sS();return w.jsxs("div",{className:"wandox-chat-empty",children:[w.jsx(aGt,{}),w.jsx("div",{className:"wandox-chat-empty-title",children:t("chat.startConversation")}),w.jsx("div",{className:"wandox-chat-empty-desc",children:t("chat.startConversationDesc")}),e&&w.jsxs("div",{className:"wandox-chat-empty-hint",children:[w.jsx("span",{className:"wandox-hint-icon",children:"💡"}),w.jsx("span",{children:t("chat.quickActionHint")})]})]})}function WLe({msg:e,domain:t,onSolidifyMessage:n,showSolidify:r=!0,onOpenScheduleDialog:i,onRetrigger:o,feedbackRating:a=null,feedbackPending:s=!1,onFeedback:l,extraActions:c}){var k;const{t:u}=sS(),[d,f]=g.useState(!1),[p,h]=g.useState([]),[m,v]=g.useState(""),y=g.useRef(null);if(g.useEffect(()=>{var O;d&&((O=y.current)==null||O.scrollIntoView({behavior:"smooth",block:"center"}))},[d]),e.role!=="assistant")return null;const b=e.execution_status==="executing"||e.execution_status==="stopping",x=!!e.message_id&&!b&&e.retrigger_status!=="executing"&&e.retrigger_status!=="failed",S=String(e.execution_id??"").trim(),_=!!S&&SJ(t),C=!!e.message_id&&!b&&!!l,A=O=>{h(j=>j.includes(O)?j.filter(z=>z!==O):[...j,O])},E=()=>{f(!1),l==null||l(e,1)},I=()=>{if(a===-1){f(!1),l==null||l(e,-1);return}f(!0)},T=async()=>{await(l==null?void 0:l(e,-1,{tags:p,text:m.trim()}))&&f(!1)},$=!!e.message_id&&!XWt(e)&&e.execution_status!=="failed"&&((k=e.process)==null?void 0:k.status)!=="failed",P=[{key:"edit",icon:w.jsx(Vx,{}),label:"在线编辑"},{type:"divider"},{key:"word",icon:w.jsx(zY,{}),label:"导出 Word"},{key:"pdf",icon:w.jsx(GO,{}),label:"导出 PDF"}],N=({key:O})=>{O==="edit"?rGt(e):O==="word"?eGt(e):O==="pdf"&&QWt(e)},M=async()=>{const O=e.content??"";if(!O){zt.warning("没有可复制的内容");return}try{await navigator.clipboard.writeText(O),zt.success("已复制");return}catch{}const j=document.createElement("textarea");j.value=O,j.style.position="fixed",j.style.opacity="0",document.body.appendChild(j),j.select();const z=document.execCommand("copy");document.body.removeChild(j),z?zt.success("已复制"):zt.warning("复制失败,请手动选择内容复制")};return w.jsxs("div",{className:"wandox-message-toolbar-shell",children:[w.jsxs("div",{className:"wandox-solidify-button-container",children:[e.role==="assistant"&&w.jsx(ir,{title:"复制",children:w.jsx(qt,{type:"text",icon:w.jsx(bEe,{}),"aria-label":"复制",onClick:()=>void M()})}),C&&w.jsxs(w.Fragment,{children:[w.jsx(ir,{title:"有帮助",children:w.jsx(qt,{type:"text",className:`wandox-message-feedback-button${a===1?" wandox-message-feedback-button--active":""}`,icon:a===1?w.jsx(Xht,{}):w.jsx(Jht,{}),"aria-label":"点赞","aria-pressed":a===1,disabled:s,onClick:E})}),w.jsx(ir,{title:"需改进",children:w.jsx(qt,{type:"text",className:`wandox-message-feedback-button${a===-1?" wandox-message-feedback-button--active":""}`,icon:a===-1?w.jsx(Aht,{}):w.jsx(Tht,{}),"aria-label":"点踩","aria-pressed":a===-1,"aria-expanded":d,disabled:s,onClick:I})})]}),r&&e.message_id&&n&&w.jsx(ir,{title:u("chat.solidify"),children:w.jsx(qt,{type:"text",icon:w.jsx(umt,{}),onClick:()=>e.message_id&&n(e.message_id)})}),e.message_id&&!!_J(e)&&w.jsx(ir,{title:"定时触发配置",children:w.jsx(qt,{type:"text",icon:w.jsx(pc,{}),onClick:()=>i(e.message_id||e.id)})}),_&&w.jsx(ir,{title:"场景调整",children:w.jsx(qt,{type:"text",icon:w.jsx(Vx,{}),onClick:()=>window.open(iGt(S),"_blank","noopener,noreferrer")})}),x&&o&&w.jsx(ir,{title:"重新生成",children:w.jsx(qt,{type:"text",icon:w.jsx(pmt,{}),onClick:()=>o(e)})}),$&&w.jsx(Gw,{trigger:["click"],menu:{items:P,onClick:N},children:w.jsx(ir,{title:"导出 / 在线编辑",children:w.jsx(qt,{type:"text",icon:w.jsx(fy,{}),"aria-label":"导出消息"})})}),c]}),d&&w.jsxs("section",{ref:y,className:"wandox-message-feedback-panel","aria-label":"点踩反馈",children:[w.jsxs("div",{className:"wandox-message-feedback-panel__header",children:[w.jsx("strong",{children:"哪里需要改进?"}),w.jsx(qt,{type:"text",size:"small",icon:w.jsx(ni,{}),"aria-label":"关闭反馈",onClick:()=>f(!1)})]}),w.jsx("div",{className:"wandox-message-feedback-panel__tags",children:oGt.map(O=>{const j=p.includes(O);return w.jsx("button",{type:"button",className:`wandox-message-feedback-tag${j?" wandox-message-feedback-tag--selected":""}`,"aria-pressed":j,disabled:s,onClick:()=>A(O),children:O},O)})}),w.jsx(_n.TextArea,{className:"wandox-message-feedback-panel__input",value:m,placeholder:"请补充具体问题(可选)",autoSize:{minRows:2,maxRows:4},maxLength:500,disabled:s,onChange:O=>v(O.target.value)}),w.jsx("div",{className:"wandox-message-feedback-panel__footer",children:w.jsx(qt,{type:"primary",loading:s,onClick:T,children:"提交"})})]})]})}function lGt({state:e,onChange:t,onClose:n,onSave:r}){const{t:i}=sS();return e.visible?w.jsx("div",{className:"wandox-dialog-overlay",onClick:n,onKeyDown:o=>o.key==="Escape"&&n(),"aria-hidden":"true",children:w.jsxs("dialog",{className:"wandox-dialog-content",open:!0,onClick:o=>o.stopPropagation(),onKeyDown:o=>o.stopPropagation(),children:[w.jsxs("div",{className:"wandox-dialog-header",children:[w.jsx("h3",{className:"wandox-dialog-title",children:i("chat.solidifyTitle")}),w.jsx("button",{type:"button",className:"wandox-dialog-close",onClick:n,children:w.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[w.jsx("title",{children:i("close")}),w.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),w.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),w.jsxs("div",{className:"wandox-dialog-body",children:[w.jsxs("div",{className:"wandox-form-group",children:[w.jsxs("label",{htmlFor:"playbook-name",className:"wandox-form-label",children:[i("chat.scenarioName")," ",w.jsx("span",{className:"wandox-form-required",children:"*"})]}),w.jsx("input",{id:"playbook-name",type:"text",className:"wandox-form-input",placeholder:i("chat.scenarioNamePlaceholder"),value:e.name,onChange:o=>t({name:o.target.value}),disabled:e.loading})]}),w.jsxs("div",{className:"wandox-form-group",children:[w.jsx("label",{htmlFor:"playbook-description",className:"wandox-form-label",children:i("chat.scenarioDesc")}),w.jsx("textarea",{id:"playbook-description",className:"wandox-form-textarea",placeholder:i("chat.scenarioDescPlaceholder"),rows:4,value:e.description,onChange:o=>t({description:o.target.value}),disabled:e.loading})]})]}),w.jsxs("div",{className:"wandox-dialog-footer",children:[w.jsx("button",{type:"button",className:"wandox-dialog-button wandox-dialog-button-secondary",onClick:n,disabled:e.loading,children:i("cancel")}),w.jsx("button",{type:"button",className:"wandox-dialog-button wandox-dialog-button-primary",onClick:r,disabled:e.loading,children:e.loading?i("dashboard.saving"):i("save")})]})]})}):null}function cGt(e){if(typeof e!="string")return"对话内容";const t=e.replace(/```[\s\S]*?```/g,"代码内容").replace(/[#>*_`~\[\]()]/g," ").replace(/\s+/g," ").trim();return t||"对话内容"}function GLe({messages:e,scrollContainerRef:t,mode:n="codex"}){const r=g.useMemo(()=>e.map((x,S)=>({message:x,messageIndex:S})).filter(({message:x})=>x.role==="user").map(({message:x,messageIndex:S})=>({messageIndex:S,title:cGt(x.content),content:x.content})),[e]),[i,o]=g.useState(),[a,s]=g.useState(!1),[l,c]=g.useState(),[u,d]=g.useState(),f=g.useRef(null),p=g.useRef(null),h=g.useCallback(()=>{const x=t.current;if(!x||r.length===0)return;const S=x.scrollTop+Math.min(120,x.clientHeight*.22);let _=r[0].messageIndex;for(const C of r){const A=x.querySelector(`[data-message-index="${C.messageIndex}"]`);if(!A||A.offsetTop>S)break;_=C.messageIndex}o(C=>C===_?C:_)},[r,t]);g.useEffect(()=>{const x=t.current;if(!x||r.length===0)return;let S=0;const _=()=>{cancelAnimationFrame(S),S=requestAnimationFrame(h)};return h(),x.addEventListener("scroll",_,{passive:!0}),window.addEventListener("resize",_),()=>{cancelAnimationFrame(S),x.removeEventListener("scroll",_),window.removeEventListener("resize",_)}},[r.length,t,h]),g.useEffect(()=>{if(n!=="codex")for(const x of[f.current,p.current]){if(!x)continue;const S=x.querySelector(`[data-outline-message-index="${i}"]`);if(!S)continue;const _=S.offsetTop,C=_+S.offsetHeight;_<x.scrollTop?x.scrollTo({top:_,behavior:"smooth"}):C>x.scrollTop+x.clientHeight&&x.scrollTo({top:C-x.clientHeight,behavior:"smooth"})}},[i,a,n]),g.useEffect(()=>{if(n!=="codex")return;const x=f.current;if(!x||i===void 0)return;const S=x.querySelector(`[data-outline-message-index="${i}"]`);if(!S)return;const _=S.offsetTop,C=_+S.offsetHeight;_<x.scrollTop?x.scrollTo({top:_,behavior:"smooth"}):C>x.scrollTop+x.clientHeight&&x.scrollTo({top:C-x.clientHeight,behavior:"smooth"})},[i,n]);const m=x=>{const S=t.current,_=S==null?void 0:S.querySelector(`[data-message-index="${x}"]`);!S||!_||(S.scrollTo({top:Math.max(0,_.offsetTop-24),behavior:"smooth"}),o(x))},v=(x,S)=>{const _=S.closest(".wandox-conversation-outline"),C=_==null?void 0:_.getBoundingClientRect(),A=S.getBoundingClientRect();c(x),C&&d(A.top+A.height/2-C.top)},y=()=>{c(void 0),d(void 0)};if(r.length===0)return null;if(n==="codex"){const x=r.find(_=>_.messageIndex===l),S=u??0;return w.jsxs("aside",{className:`wandox-conversation-outline wandox-conversation-outline--left${x?" wandox-conversation-outline--hovering":""}`,style:{height:`min(${r.length*22}px, calc(100% - 48px))`},"aria-label":"对话导航(左侧)",onMouseLeave:y,onBlur:_=>{_.currentTarget.contains(_.relatedTarget)||y()},children:[w.jsx("div",{className:"wandox-conversation-outline__rail",ref:f,children:r.map(_=>{const C=i===_.messageIndex,A=l===_.messageIndex;return w.jsx("button",{type:"button","data-outline-message-index":_.messageIndex,className:`wandox-conversation-outline__rail-item${C?" wandox-conversation-outline__rail-item--active":""}${A?" wandox-conversation-outline__rail-item--hovered":""}`,onClick:()=>m(_.messageIndex),onFocus:E=>v(_.messageIndex,E.currentTarget),onMouseEnter:E=>v(_.messageIndex,E.currentTarget),"aria-label":_.title,"aria-current":C?"location":void 0,children:w.jsx("span",{className:"wandox-conversation-outline__rail-marker"})},_.messageIndex)})}),x&&w.jsx("button",{type:"button",className:"wandox-conversation-outline__codex-card",style:{top:`clamp(44px, ${S}px, calc(100% - 44px))`},onClick:()=>m(x.messageIndex),children:w.jsx("span",{className:"wandox-conversation-outline__codex-summary",children:x.content})})]})}const b=`min(${r.length*22}px, 352px, calc(100% - 120px))`;return w.jsxs("aside",{className:`wandox-conversation-outline wandox-conversation-outline--right${a?" wandox-conversation-outline--open":""}`,style:{height:b},"aria-label":"对话导航(右侧)",onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onFocus:()=>s(!0),onBlur:x=>{x.currentTarget.contains(x.relatedTarget)||s(!1)},children:[w.jsx("div",{className:"wandox-conversation-outline__rail",ref:f,children:r.map(x=>{const S=i===x.messageIndex;return w.jsx("button",{type:"button","data-outline-message-index":x.messageIndex,className:`wandox-conversation-outline__rail-item${S?" wandox-conversation-outline__rail-item--active":""}`,onClick:()=>m(x.messageIndex),"aria-label":x.title,"aria-current":S?"location":void 0,children:w.jsx("span",{className:"wandox-conversation-outline__rail-marker"})},x.messageIndex)})}),a&&w.jsx("div",{className:"wandox-conversation-outline__card",children:w.jsx("div",{className:"wandox-conversation-outline__list",ref:p,children:r.map(x=>{const S=i===x.messageIndex;return w.jsxs("button",{type:"button","data-outline-message-index":x.messageIndex,className:`wandox-conversation-outline__item${S?" wandox-conversation-outline__item--active":""}`,onClick:()=>m(x.messageIndex),title:x.title,"aria-current":S?"location":void 0,children:[w.jsx("span",{className:"wandox-conversation-outline__title",children:x.title}),w.jsx("span",{className:"wandox-conversation-outline__item-marker"})]},x.messageIndex)})})})]})}function uGt(e){const{messages:t,playbooks:n,messagesTotal:r,hasMoreMessages:i,loadMoreMessages:o,loading:a,executing:s,ssoToken:l,ssoDomain:c,ssoCompany:u,activeAgent:d,headerExtra:f,onExecutePlaybook:p,onFillPlaybookParams:h,onSolidifySuccess:m,onDashboardPreview:v,onSolidifyComplete:y,onExecuteComplete:b,onRespondToProposal:x,onRetrigger:S}=e,{t:_}=sS(),[C,A]=g.useState(!1),[E,I]=g.useState([]),[T,$]=g.useState(""),[P,N]=g.useState(Ove),[M,k]=g.useState(KG),[O,j]=g.useState({}),[z,B]=g.useState(()=>new Set),D=g.useRef(null),H=g.useMemo(()=>new Map(n.map(q=>[q.playbook_id,q.name])),[n]),W=()=>{N(Ove)},L=async q=>{var X;try{const Y=await dle({message_id:q});if(Y.success){const K=((X=Y.data)==null?void 0:X.session_id)||q;v&&v({session_id:K,type:"dashboard_intent",intents:[],data:{}});try{const ne=await Cvt({session_id:K});ne.success&&ne.data?(v&&v(ne.data),y&&y(),zt.success(_("chat.previewSuccess"))):zt.error(_("chat.previewFailed"))}catch(ne){zt.error(`预览失败:${ne instanceof Error?ne.message:"未知错误"}`)}}}catch(Y){zt.error(`保存失败:${Y instanceof Error?Y.message:"未知错误"}`)}},R=async()=>{if(!P.name.trim()){zt.warning(_("chat.pleaseInputName"));return}N(q=>({...q,loading:!0}));try{const q=await dle({message_id:P.messageId});q.success?(zt.success(_("chat.solidifySuccess")),W(),m&&m()):zt.error(`${_("chat.solidifyFailed")}: ${q.message||"Unknown error"}`)}catch(q){zt.error(`${_("chat.solidifyFailed")}: ${q instanceof Error?q.message:"Unknown error"}`)}finally{N(q=>({...q,loading:!1}))}},F=q=>{var ee,Q,te,ie;const X=t.find(oe=>oe.message_id===q||oe.id===q),Y=_J(X),K=d&&d!=="default"?d:String(((ee=X==null?void 0:X.meta_content)==null?void 0:ee.agent_id)||""),ne=((te=(Q=X==null?void 0:X.actions)==null?void 0:Q.find(oe=>oe.playbook_id===Y))==null?void 0:te.display_name)||((ie=X==null?void 0:X.meta_content)==null?void 0:ie.playbook_name)||H.get(Y)||Y;if(!K){zt.warning("缺少智能体ID,无法配置定时触发");return}if(!Y){zt.warning("缺少场景ID,无法配置定时触发");return}k({visible:!0,messageId:q,agentId:K,playbookId:Y,playbookName:ne})},V=()=>{k(KG)},U=g.useCallback(q=>{const X=q.message_id;return X&&Object.prototype.hasOwnProperty.call(O,X)?O[X]:ILe(q)},[O]),G=g.useCallback(async(q,X,Y)=>{var Q;const K=q.message_id;if(!K||z.has(K))return!1;const ne=U(q),ee=PLe(ne,X);j(te=>({...te,[K]:ee})),B(te=>new Set(te).add(K));try{const te=await zTe({domain:c},{message_id:K,rating:ee,tags:(Q=Y==null?void 0:Y.tags)!=null&&Q.length?Y.tags:void 0,text:(Y==null?void 0:Y.text)||void 0});if((te==null?void 0:te.success)===!1)throw new Error(te.message||"反馈提交失败");return!0}catch(te){return j(ie=>({...ie,[K]:ne})),zt.error(te instanceof Error?te.message:"反馈提交失败,请稍后重试"),!1}finally{B(te=>{const ie=new Set(te);return ie.delete(K),ie})}},[z,U,c]);return w.jsxs("div",{className:"wandox-chat-section",children:[w.jsxs("div",{className:"wandox-chat-section__body",children:[f&&w.jsx("div",{className:"wandox-chat-section__header-extra",children:f}),w.jsx(BLe,{messages:t,executing:s,ssoToken:l,ssoDomain:c,ssoCompany:u,onExecutePlaybook:p,onFillPlaybookParams:h,onRespondToProposal:x,messagesTotal:r,hasMoreMessages:i,loadMoreMessages:o,loading:a,containerRef:D,conversationKey:d,initialLoadingContent:w.jsx(HLe,{}),onOpenActionDrawer:(q,X)=>{$(q),I(X),A(!0)},emptyContent:w.jsx(sGt,{hasPlaybooks:n.length>0}),messageToolbar:q=>w.jsx(WLe,{msg:q,domain:c,onSolidifyMessage:L,onOpenScheduleDialog:F,onRetrigger:S,feedbackRating:U(q),feedbackPending:!!q.message_id&&z.has(q.message_id),onFeedback:G})}),w.jsx(GLe,{messages:t,scrollContainerRef:D,mode:"deepseek"})]}),l&&c&&u&&w.jsx(NLe,{open:C,title:T,actions:E,ssoToken:l,ssoDomain:c,ssoCompany:u,onClose:()=>A(!1),onExecuteComplete:b}),w.jsx(lGt,{state:P,onChange:q=>N(X=>({...X,...q})),onClose:W,onSave:R}),w.jsx(RLe,{open:M.visible,agentId:M.agentId,playbookId:M.playbookId,playbookName:M.playbookName,onClose:V})]})}function dGt({token:e,domain:t,tenantId:n,agentId:r="",limit:i=5,enabled:o=!0}){const[a,s]=g.useState(""),[l,c]=g.useState([]),[u,d]=g.useState(!1),f=g.useRef(null),p=g.useRef(null),h=g.useCallback(()=>{var v;p.current&&window.clearTimeout(p.current),(v=f.current)==null||v.abort(),s(""),c([]),d(!1)},[]),m=g.useCallback(v=>{const y=v.trim();if(!o||!e||!t||!y){h();return}p.current&&window.clearTimeout(p.current),p.current=window.setTimeout(async()=>{var x,S,_;(x=f.current)==null||x.abort();const b=new AbortController;f.current=b,d(!0);try{const C=new URLSearchParams({q:y,agent_id:r,limit:String(i)}),A=await fetch(`${_r()}/api/v1/agents/autocomplete?${C.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${e}`,"x-domain":t,...n?{"x-tenant-id":n}:{}},signal:b.signal});if(!A.ok)throw new Error(`HTTP ${A.status}`);const E=await A.json();s(((S=E==null?void 0:E.data)==null?void 0:S.rewritten_question)||""),c(Array.isArray((_=E==null?void 0:E.data)==null?void 0:_.questions)?E.data.questions:[])}catch(C){C.name!=="AbortError"&&(s(""),c([]))}finally{b.signal.aborted||d(!1)}},250)},[r,h,t,o,i,n,e]);return g.useEffect(()=>h,[h]),{rewrittenQuestion:a,questions:l,loading:u,search:m,clear:h}}const fGt={},Lve=e=>{let t;const n=new Set,r=(u,d)=>{const f=typeof u=="function"?u(t):u;if(!Object.is(f,t)){const p=t;t=d??(typeof f!="object"||f===null)?f:Object.assign({},t,f),n.forEach(h=>h(t,p))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{n.clear()}},c=t=e(r,i,l);return l},pGt=e=>e?Lve(e):Lve;var ULe={exports:{}},qLe={},KLe={exports:{}},YLe={};/**
|
|
753
|
+
`);h=U.pop()||"";for(const G of U)if(W(G)==="stop"){f.cancel();return}}!b&&x?a==null||a("流式响应异常结束"):!b&&v&&o?o(v,y,[],void 0,S,_):!b&&!v&&(a==null||a("流式响应异常结束"))}catch(R){if((R==null?void 0:R.name)==="AbortError")return;a==null||a(R.message||"流处理出错")}finally{try{f.releaseLock()}catch{}}}function TLe(e){const{ssoToken:t,ssoDomain:n,ssoCompany:r,onProgress:i,onContent:o,onOutput:a,onComplete:s,onError:l}=e,[c,u]=g.useState(!1),d=g.useRef(null),f=g.useCallback(()=>!t||!n||!r?(zt.warning("请先登录 SSO"),!1):!0,[t,n,r]),p=g.useCallback(async m=>{if(f()&&!c){u(!0);try{const v={action_id:m.action_id,action_params:m.action_params,stream:!0},y=new AbortController;d.current=y;const b=await fetch(`${_r()}/api/v1/agents/actions/execute`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`,"X-Tenant-ID":r,"X-Domain":n},body:JSON.stringify(v),signal:y.signal});if(!b.ok)throw new Error(`HTTP ${b.status}`);await M$(b,{assistantMsgId:`action_${Date.now()}`,onProgress:i,onContent:o,onOutput:a,onComplete:(x,S,_)=>{s==null||s(x,S,_)},onError:l})}catch(v){if(v instanceof DOMException&&v.name==="AbortError"||v instanceof Error&&v.name==="AbortError")return;const y=v instanceof Error?v.message:"未知错误";l==null||l(`执行出错: ${y}`)}finally{d.current=null,u(!1)}}},[s,o,l,a,i,r,n,t,f]),h=g.useCallback(()=>{d.current&&!d.current.signal.aborted&&d.current.abort()},[]);return{executing:c,executeAction:p,abort:h}}const hWt=e=>{const t=e.action_params?JSON.stringify(e.action_params):"";return`${e.action_id}:${t}`};function mWt({open:e,ssoToken:t,ssoDomain:n,ssoCompany:r,onClose:i,onExecuteAction:o,onExecuteComplete:a}){var T,$;const[s,l]=g.useState("操作执行"),[c,u]=g.useState([]),[d,f]=g.useState(""),[p,h]=g.useState(void 0),[m,v]=g.useState([]),[y,b]=g.useState(void 0),[x,S]=g.useState(!1),_=g.useRef(new Map),C=g.useRef(null),{executeAction:A,abort:E}=TLe({ssoToken:t,ssoDomain:n,ssoCompany:r,onProgress:P=>{b(void 0),u(N=>[...N,P])},onContent:P=>{b(void 0),f(P)},onOutput:P=>{b(void 0),v(N=>[...N,P])},onComplete:(P,N)=>{b(void 0);const M=P||"执行完成";f(M),h(N),C.current&&_.current.set(C.current,{title:s,progress:[...c,"执行完成"],content:M,payload:N,outputs:m,error:void 0,timestamp:Date.now()}),a&&a()},onError:P=>{b(P),C.current&&_.current.set(C.current,{title:s,progress:[...c],content:d,payload:p,outputs:m,error:P,timestamp:Date.now()})}});g.useEffect(()=>(e||E(),()=>{E()}),[e,E]),g.useEffect(()=>{o&&o(async P=>{if(P.executed_outputs){l(P.action_id||"操作执行"),u(["已执行完成"]),f(""),h(P.executed_outputs),v([]),b(void 0),S(!0);return}const N=hWt(P),M=_.current.get(N);if(M){l(M.title),u(M.progress),f(M.content),h(M.payload),v(M.outputs||[]),b(M.error),S(!0);return}C.current=N,l(P.action_id||"操作执行"),u([]),f(""),h(void 0),v([]),b(void 0),S(!1),await A(P)})},[o]);const I=()=>{E(),u([]),f(""),h(void 0),v([]),b(void 0),i()};return e?w.jsxs("div",{className:"wandox-root",children:[w.jsx("div",{className:"wandox-drawer-mask",onClick:I,onKeyDown:P=>P.key==="Escape"&&I(),role:"button",tabIndex:0,"aria-label":"关闭抽屉"}),w.jsxs("div",{className:"wandox-drawer wandox-drawer--right",children:[w.jsxs("div",{className:"wandox-drawer-header",children:[w.jsxs("span",{className:"wandox-drawer-title",children:[s,x&&w.jsx("span",{className:"wandox-tag wandox-tag-blue",children:"缓存数据"})]}),w.jsx("button",{type:"button",className:"wandox-drawer-close",onClick:I,"aria-label":"关闭",children:"✕"})]}),w.jsx("div",{className:"wandox-drawer-body",children:w.jsxs("div",{className:"wandox-drawer-content",children:[m.length>0&&(()=>{const P=m.filter(N=>{if(!N||typeof N!="object")return!1;const M=N;return M.content||M.type||Object.keys(M).length>1});return P.length===0?null:w.jsxs("div",{className:"wandox-result-section",children:[w.jsxs("div",{className:"wandox-section-title",children:[w.jsx("span",{className:"wandox-section-icon",children:"✨"}),w.jsx("span",{children:"执行结果"})]}),w.jsx("div",{className:"wandox-results-container",children:P.map((N,M)=>{const k=N,O=k.title?`output-${k.title}-${M}`:`output-${Date.now()}-${M}`;return w.jsxs("div",{className:"wandox-result-card",children:[N&&typeof N=="object"&&k.title&&w.jsx("div",{className:"wandox-result-card-title",children:String(k.title)}),w.jsx("div",{className:"wandox-result-card-body",children:w.jsx(Yv,{payload:N})})]},O)})})]})})(),(p||d)&&w.jsx("div",{className:"wandox-result-section",children:p&&typeof p=="object"&&p.type!==void 0?w.jsxs("div",{className:"wandox-result-card",children:[(p.title||((T=p.output_data)==null?void 0:T.title)||p.step_index)&&w.jsx("div",{className:"wandox-result-card-title",children:p.title||(($=p.output_data)==null?void 0:$.title)||(p.step_index?`Step${p.step_index}:${p.step_name||""}`:"执行结果")}),w.jsx("div",{className:"wandox-result-card-body",children:w.jsx(Yv,{payload:p})})]}):w.jsx("div",{className:"wandox-result-card",children:w.jsx("div",{className:"wandox-result-card-body",children:d&&typeof d=="string"&&d.trim()?w.jsx(Hp,{remarkPlugins:[Wp],children:d}):w.jsx("div",{className:"wandox-empty-content",children:"暂无内容"})})})}),y&&w.jsxs("div",{className:"wandox-error-section",children:[w.jsx("div",{className:"wandox-error-icon",children:"⚠️"}),w.jsxs("div",{className:"wandox-error-content",children:[w.jsx("div",{className:"wandox-error-title",children:"执行失败"}),w.jsx("div",{className:"wandox-error-message",children:y})]})]})]})})]})]}):null}function gWt(e){return e===1||e===-1?e:null}function ILe(e){var i,o;const t=e.feedback,n=(i=e.meta_content)==null?void 0:i.feedback,r=[e.feedback_rating,typeof t=="object"&&t!==null?t.rating:t,(o=e.meta_content)==null?void 0:o.feedback_rating,typeof n=="object"&&n!==null?n.rating:n];for(const a of r){const s=gWt(a);if(s!==null)return s}return null}function PLe(e,t){return e===t?null:t}const Mm=e=>e.action_id||e.label,vWt=e=>{var n;const t={};for(const r of e.params_fields_map||[])t[r.name]=((n=e.params)==null?void 0:n[r.name])??r.display_value??"";return{...t,...e.params||{}}},Tve=e=>e==null||e===""?"-":String(e);function NLe(e){const{open:t,actions:n,ssoToken:r,ssoDomain:i,ssoCompany:o,onClose:a,onExecuteComplete:s}=e;e.title;const[l,c]=g.useState(null),[u,d]=g.useState({}),[f,p]=g.useState(null),h=g.useRef(null),[m,v]=g.useState(new Set),[y,b]=g.useState({}),[x,S]=g.useState({}),[_,C]=g.useState([]),[A,E]=g.useState(""),[I,T]=g.useState(void 0),[$,P]=g.useState([]),[N,M]=g.useState(void 0),[k,O]=g.useState(""),[j,z]=g.useState(""),[B,D]=g.useState(""),[H,W]=g.useState(!1),[L,R]=g.useState("card"),[F,V]=g.useState(new Set),[U,G]=g.useState([]),[q,X]=g.useState(!1),[Y,K]=g.useState(null),[ne,ee]=g.useState(0),[Q,te]=g.useState(0),[ie,oe]=g.useState([]),fe=g.useRef(null),ye=g.useRef(!1),$e=g.useRef(!1),be=g.useRef(""),[je,Oe]=g.useState(null),[Fe,xe]=g.useState("asc"),{executeAction:ue,abort:pe}=TLe({ssoToken:r,ssoDomain:i,ssoCompany:o,onProgress:Me=>{C(Re=>[...Re,Me])},onContent:Me=>{E(Me)},onOutput:Me=>{P(Re=>{const Ze=Me;if(typeof Ze.step_index=="number"){const Qe=Re.findIndex(ot=>typeof ot.step_index=="number"&&ot.step_index===Ze.step_index);if(Qe!==-1){const ot=[...Re];return ot[Qe]=Ze,ot}}return[...Re,Me]})},onComplete:(Me,Re)=>{Me&&E(Me),Re&&(T(Re),P(Qe=>[...Qe,Re]));const Ze=h.current;Ze&&S(Qe=>({...Qe,[Ze]:{content:Me,payload:Re}})),M(void 0),p(null),h.current=null,s==null||s()},onError:Me=>{M(Me)}}),Se=(Me,Re)=>{var Ge,nt,De;const Ze=Mm(Me),Qe=y[Ze];if(Qe&&Object.prototype.hasOwnProperty.call(Qe,Re))return Qe[Re];const ot=(Ge=Me.params)==null?void 0:Ge[Re];return ot!==void 0?ot:((De=(nt=Me.params_fields_map)==null?void 0:nt.find(et=>et.name===Re))==null?void 0:De.display_value)??""},Pe=Me=>{const Re={...Me.params||{}};for(const Ze of Me.params_fields_map||[])Re[Ze.name]=Se(Me,Ze.name);return Re},_e=(Me,Re,Ze)=>{const Qe=Mm(Me);b(ot=>({...ot,[Qe]:{...ot[Qe],[Re]:Ze}})),Me.params={...Me.params||{},[Re]:Ze}};g.useEffect(()=>{var Me;if(!t)be.current="",c(null),d({}),p(null),C([]),E(""),T(void 0),P([]),M(void 0),O(""),z(""),D(""),W(!1),b({}),S({}),V(new Set),G([]),X(!1),K(null),ee(0),te(0),oe([]),pe(),(Me=fe.current)==null||Me.abort(),fe.current=null,ye.current=!1,$e.current=!0,ka.destroy("pool-notification"),Oe(null),xe("asc");else{const Re=n.map(Mm).join("|");be.current!==Re&&(be.current=Re,V(new Set));const Ze={};for(const Qe of n){const ot=Mm(Qe);Ze[ot]=vWt(Qe)}b(Ze)}},[t,n,pe]),g.useEffect(()=>{if(t){const Me=se();Me.length>0&&!j&&z(Me[0].value)}},[t,j]);const Te=Me=>{Me.params={...u},c(null),d({})},ve=()=>{c(null),d({})},he=async Me=>{const Re=Me.action_id;if(Me.action_id){if(W(!0),(Me.status==="executed"||m.has(Re||""))&&Me.outputs){C(["已执行完成"]),E(""),P([Me.outputs]),M(void 0),O(Me.label||"");return}p(Re||null),h.current=Re||null,C([`正在执行: ${Me.label||""}`]),E(""),T(void 0),P([]),M(void 0),O(Me.label||""),await ue({action_id:Me.action_id,action_params:Pe(Me)}),Re&&v(Ze=>new Set(Ze).add(Re))}},Z=Me=>{const Re=Me.action_id||Me.label;W(!0),O(Me.label),M(void 0),C([]),P([]);const Ze=x[Re];if(Ze){const Qe=Ze.content||"执行成功,暂无输出结果";E(Qe),Ze.payload&&T(Ze.payload)}else Me.outputs?P([Me.outputs]):E("执行成功,暂无输出结果")},se=()=>{const Me=new Set;for(const Re of n)if(Re.params_fields_map)for(const Ze of Re.params_fields_map)Me.add(Ze.label);return Array.from(Me).map(Re=>({label:Re,value:Re}))};g.useEffect(()=>{if(!j){const Me=se();Me.length>0&&z(Me[0].value)}},[j,n]);const ce=()=>!j||!B?n:n.filter(Me=>{if(!Me.params_fields_map)return!1;const Re=Me.params_fields_map.find(ot=>ot.label===j);if(!Re)return!1;const Ze=String(Se(Me,Re.name)||"").toLowerCase(),Qe=B.toLowerCase();return Ze.includes(Qe)}),ae=Me=>{V(Re=>{const Ze=new Set(Re);if(Ze.has(Me))Ze.delete(Me);else{const Qe=n.find(nt=>Mm(nt)===Me),ot=n.filter(nt=>Re.has(Mm(nt))),Ge=ot.find(nt=>nt.supports_batch===!0);if((Qe==null?void 0:Qe.supports_batch)===!0){const nt=ot.some(et=>et.supports_batch!==!0||et.playbook_id!==Qe.playbook_id),De=Math.min(Qe.batch_max_items??Number.MAX_SAFE_INTEGER,...ot.map(et=>et.batch_max_items??Number.MAX_SAFE_INTEGER));if(nt)return zt.warning("批量执行只能选择同一场景且支持批量的动作"),Re;if(Ze.size+1>De)return zt.warning(`本次最多批量执行 ${De} 条`),Re}else if(Ge)return zt.warning("当前选择只能继续勾选同一场景且支持批量的动作"),Re;Ze.add(Me)}return Ze})},we=g.useCallback(()=>{const Me=Ce(),Re=new Set([...U.map(ot=>ot.action_id||ot.label),...Y?[Y.action_id||Y.label]:[]]),Ze=Me.map(ot=>ot.action_id||ot.label).filter(ot=>!Re.has(ot)&&!m.has(ot)&&ot!==f),Qe=Ze.length>0&&Ze.every(ot=>F.has(ot));V(Qe?new Set:new Set(Ze))},[F,n,j,B,je,Fe,U,Y,m]),Ae=g.useCallback(async(Me,Re)=>{var Ze;if(!Me.action_id)return"error";try{const Qe={action_id:Me.action_id,action_params:Pe(Me),stream:!0},ot=await fetch(`${_r()}/api/v1/agents/actions/execute`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`,"X-Tenant-ID":o,"X-Domain":i},body:JSON.stringify(Qe),signal:Re});if(!ot.ok)throw new Error(`HTTP ${ot.status}`);const Ge=(Ze=ot.body)==null?void 0:Ze.getReader();if(Ge)try{for(;;){const{done:nt}=await Ge.read();if(nt)break}}catch(nt){if(Re.aborted)return"cancelled";throw nt}return"done"}catch{return Re.aborted?"cancelled":"error"}},[r,i,o,y]),He=g.useCallback((Me,Re,Ze)=>{ka.open({key:"pool-notification",message:"执行池运行中",description:w.jsxs("div",{className:"wandox-pool-notification",children:[w.jsxs("div",{className:"wandox-pool-notification-task",children:["当前:"," ",w.jsx("span",{className:"wandox-pool-notification-label",children:Me.label})]}),w.jsx("div",{className:"wandox-pool-notification-progress",children:w.jsx(LO,{percent:Ze>0?Math.round(Re/Ze*100):0,size:"small",strokeColor:{from:"#513aeb",to:"#4f46e5"},format:()=>`${Re}/${Ze}`})}),w.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[w.jsx("div",{className:"wandox-pool-notification-hint",children:"⚠️ 请勿关闭或离开当前界面"}),w.jsx("button",{type:"button",className:"wandox-pool-notification-skip-btn",onClick:()=>{var Qe;ye.current=!0,(Qe=fe.current)==null||Qe.abort()},children:"跳过当前"})]})]}),placement:"bottomRight",duration:1e3,closable:!1})},[]),Ve=g.useCallback((Me,Re)=>{const Ze=Re.length>0,Qe=Me-Re.length;ka.open({key:"pool-notification",message:Ze?"执行完成(部分异常)":"全部执行完成",description:w.jsxs("div",{className:"wandox-pool-notification",children:[w.jsxs("div",{className:"wandox-pool-notification-result",children:[w.jsxs("span",{className:"wandox-pool-notification-result-success",children:["✓ 成功 ",Qe," 个"]}),Ze&&w.jsxs("span",{className:"wandox-pool-notification-result-fail",children:["✗ 异常 ",Re.length," 个"]})]}),Ze&&w.jsx("div",{className:"wandox-pool-notification-errors",children:Re.map((ot,Ge)=>w.jsx("div",{className:"wandox-pool-notification-error-item",children:ot},Ge))}),w.jsx("button",{type:"button",className:"wandox-pool-notification-done-btn",onClick:()=>ka.destroy("pool-notification"),children:"我知道了"})]}),placement:"bottomRight",duration:0,closable:!1})},[]),Ke=g.useRef([]);g.useEffect(()=>{Ke.current=U},[U]);const at=g.useCallback(async Me=>{if(Me.length===0)return;X(!0),ee(Me.length),te(0),oe([]),$e.current=!1,Ke.current=Me;let Re=0;const Ze=[],Qe=()=>{const Ge=Ke.current;if(Ge.length===0)return;const nt=Ge[0],De=Ge.slice(1);return Ke.current=De,G(De),nt};let ot=Qe();for(;ot&&!$e.current;){const Ge=ot.action_id||ot.label;K(ot),p(Ge),h.current=Ge;const nt=new AbortController;fe.current=nt,ye.current=!1,He(ot,Re,Re+1+Ke.current.length);const De=await Ae(ot,nt.signal);if($e.current)break;if(Re++,te(Re),De==="done")v(et=>new Set(et).add(Ge));else if(De==="cancelled"){const et=`${ot.label}: 已跳过`;Ze.push(et),oe(rt=>[...rt,et])}else{const et=`${ot.label}: 执行失败`;Ze.push(et),oe(rt=>[...rt,et])}p(null),h.current=null,ot=Qe()}X(!1),K(null),G([]),Ke.current=[],fe.current=null,$e.current?ka.destroy("pool-notification"):Ve(Re,Ze),s==null||s()},[Ae,He,Ve,s]),Ne=g.useCallback(async Me=>{const Re=new Set(Me.map(ot=>ot.playbook_id).filter(Boolean)),Ze=Math.min(...Me.map(ot=>ot.batch_max_items??Number.MAX_SAFE_INTEGER));if(Re.size!==1){zt.warning("批量执行只能选择同一场景的动作");return}if(Me.length>Ze){zt.warning(`本次最多批量执行 ${Ze} 条`);return}const Qe=Me.map(ot=>Mm(ot));X(!0),G(Me),ee(Me.length),te(0),oe([]),ka.open({key:"pool-notification",message:"批量执行中",description:`正在一次执行 ${Me.length} 个动作`,placement:"bottomRight",duration:0,closable:!1});try{const ot=await fetch(`${_r()}/api/v1/agents/actions/batch-execute`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`,"X-Tenant-ID":o,"X-Domain":i},body:JSON.stringify({items:Me.map(nt=>({action_id:nt.action_id,params:Pe(nt)})),submit_token:crypto.randomUUID(),stream:!0})});if(!ot.ok)throw new Error(`HTTP ${ot.status}`);const Ge=await ot.text();if(/event:\s*error|"event_type"\s*:\s*"error"|"success"\s*:\s*false/.test(Ge))throw new Error("批量执行失败");v(nt=>new Set([...nt,...Qe])),te(Me.length),Ve(Me.length,[]),s==null||s()}catch(ot){const Ge=ot instanceof Error?ot.message:"批量执行失败";oe([Ge]),Ve(Me.length,[Ge])}finally{X(!1),G([]),K(null)}},[r,i,o,y,Ve,s]),Ue=g.useCallback(()=>{const Me=Ce(),Re=new Set([...Ke.current.map(Qe=>Qe.action_id||Qe.label),...Y?[Y.action_id||Y.label]:[]]),Ze=Me.filter(Qe=>{const ot=Qe.action_id||Qe.label;return F.has(ot)&&!m.has(ot)&&(!Qe.status||Qe.status==="pending")&&!Re.has(ot)});if(Ze.length===0){zt.warning("请选择未执行的动作");return}if(V(new Set),Ze.every(Qe=>Qe.supports_batch===!0)){Ne(Ze);return}if(q){const Qe=[...Ke.current,...Ze];Ke.current=Qe,G(Qe),ee(ot=>ot+Ze.length),zt.info(`已追加 ${Ze.length} 个动作到执行池`)}else G(Ze),at(Ze)},[F,n,m,q,Y,at,Ne]),Ee=()=>{const Me=new Map;for(const Re of n)if(Re.params_fields_map)for(const Ze of Re.params_fields_map)Me.has(Ze.name)||Me.set(Ze.name,{name:Ze.name,label:Ze.label,type:Ze.type});return Array.from(Me.values())},me=Me=>{for(const Re of n)if(Re.params_fields_map){const Ze=Re.params_fields_map.find(Qe=>Qe.name===Me);if(Ze&&(Ze.type==="number"||Ze.display_value!==void 0&&typeof Ze.display_value=="number"||Ze.display_value!==void 0&&!isNaN(Number(Ze.display_value))))return!0}return!1},de=Me=>{je===Me?xe(Re=>Re==="asc"?"desc":"asc"):(Oe(Me),xe("asc"))},Ce=()=>{let Me=ce();return je&&(Me=[...Me].sort((Re,Ze)=>{var De,et;const Qe=(De=Re.params_fields_map)==null?void 0:De.find(rt=>rt.name===je),ot=(et=Ze.params_fields_map)==null?void 0:et.find(rt=>rt.name===je),Ge=Number(Qe?Se(Re,Qe.name):0),nt=Number(ot?Se(Ze,ot.name):0);return Fe==="asc"?Ge-nt:nt-Ge})),Me},Be=Me=>{const Re=Me.params_fields_map,Ze=Me.action_id||Me.label,Qe=Me.status==="executed"||m.has(Ze);return!Re||Re.length===0?w.jsx("div",{className:"wandox-action-card-empty",children:"暂无默认参数"}):w.jsx("div",{className:"wandox-action-card-params",children:Re.map(ot=>w.jsxs("div",{className:"wandox-action-card-param-item",children:[w.jsxs("span",{className:"wandox-action-card-param-key",children:[ot.label,":"]}),ot.editable===!1||Qe?w.jsx("span",{className:"wandox-action-card-param-value",children:Tve(Se(Me,ot.name))}):ot.input_type==="select"&&ot.options?w.jsx(Qn,{value:String(Se(Me,ot.name)??""),onChange:Ge=>_e(Me,ot.name,Ge),options:ot.options,style:{flex:1,minWidth:120},size:"small"}):w.jsx(_n,{value:String(Se(Me,ot.name)??""),onChange:Ge=>_e(Me,ot.name,Ge.target.value),placeholder:`请输入 ${ot.label}`,style:{flex:1},size:"small"})]},ot.name))})},Ie=Me=>{const Re=Me.params||{},Ze=Me.params_fields_map,Qe=ot=>{const Ge=Ze==null?void 0:Ze.find(nt=>nt.name===ot);return(Ge==null?void 0:Ge.label)||ot};return w.jsxs("div",{className:"wandox-action-card-edit-form",children:[Object.entries(Re).map(([ot])=>w.jsxs("div",{className:"wandox-action-card-form-item",children:[w.jsx("span",{className:"wandox-action-card-form-label",children:Qe(ot)}),w.jsx("input",{type:"text",className:"wandox-input",value:typeof u[ot]=="object"?JSON.stringify(u[ot]):String(u[ot]??""),onChange:Ge=>{let nt=Ge.target.value;try{(Ge.target.value.startsWith("{")||Ge.target.value.startsWith("["))&&(nt=JSON.parse(Ge.target.value))}catch{}d(De=>({...De,[ot]:nt}))},placeholder:`请输入 ${Qe(ot)}`})]},ot)),Object.keys(Re).length===0&&w.jsx("div",{className:"wandox-action-card-empty",children:"暂无可编辑参数"})]})},We=Me=>{const Re=Me.action_id||Me.label,Ze=l===Re,Qe=f===Re,ot=Me.status==="executed"||m.has(Re);return w.jsxs("div",{className:`wandox-action-card-v2${ot?" wandox-action-card-v2--executed":""}${Qe?" wandox-action-card-v2--executing":""}`,children:[w.jsxs("div",{className:"wandox-action-card-v2-content",children:[w.jsx("div",{className:"wandox-action-card-v2-title",children:w.jsx("span",{className:"wandox-action-card-v2-title-text",children:Me.label})}),Ze?Ie(Me):w.jsx("div",{className:"wandox-action-card-v2-params",children:Be(Me)})]}),w.jsx("div",{className:"wandox-action-card-v2-footer",children:Ze?w.jsxs(w.Fragment,{children:[w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--primary",onClick:()=>Te(Me),children:"保存"}),w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--ghost",onClick:ve,children:"取消"})]}):ot?w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--success",onClick:()=>Z(Me),children:"查看"}):w.jsx(w.Fragment,{children:w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--primary",id:Me.action_id,"data-sensors-track":"true","data-sensors-name":"执行动作","data-sensors-module":"可执行动作",onClick:()=>{Qe||he(Me)},disabled:Qe,children:Qe?"执行中...":"执行"})})})]})},tt=g.useCallback(Me=>Y&&(Y.action_id||Y.label)===Me?!0:U.some(Re=>(Re.action_id||Re.label)===Me),[Y,U]),lt=(Me,Re,Ze)=>{if(!Re)return w.jsx("span",{className:"wandox-action-list-cell-placeholder",children:"-"});const Qe=Se(Me,Re.name),ot=Tve(Qe);return Re.editable===!1||Ze.isExecuted||Ze.isExecuting||Ze.inPool?w.jsx("span",{className:"wandox-action-list-cell-text",title:ot,children:ot}):Re.input_type==="select"&&Re.options&&Re.options.length>0?w.jsx(Qn,{className:"wandox-action-list-cell-editor",size:"small",value:String(Qe??""),options:Re.options,onChange:nt=>_e(Me,Re.name,nt)}):w.jsx(_n,{className:"wandox-action-list-cell-editor",size:"small",value:String(Qe??""),placeholder:`请输入 ${Re.label}`,onChange:nt=>_e(Me,Re.name,nt.target.value)})},ct=()=>{const Me=Ee(),Re=Ce(),Ze=new Set([...U.map(Ge=>Ge.action_id||Ge.label),...Y?[Y.action_id||Y.label]:[]]),Qe=Re.filter(Ge=>!Ge.status||Ge.status==="pending").map(Ge=>Ge.action_id||Ge.label).filter(Ge=>!m.has(Ge)&&!Ze.has(Ge)&&Ge!==f),ot=Qe.length>0&&Qe.every(Ge=>F.has(Ge));return w.jsxs("div",{className:"wandox-action-list-view",children:[w.jsxs("div",{className:"wandox-batch-action-bar",children:[w.jsxs("span",{className:"wandox-batch-action-count",children:["已选 ",F.size," 项"]}),w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--primary",onClick:Ue,disabled:F.size===0,children:q?"追加到执行池":"批量执行"}),w.jsx("button",{type:"button",className:"wandox-action-btn-v2 wandox-action-btn-v2--ghost",onClick:()=>V(new Set),disabled:F.size===0,children:"取消选择"})]}),ie.length>0&&!q&&w.jsxs("div",{className:"wandox-batch-errors",children:[w.jsxs("div",{className:"wandox-batch-errors-title",children:["执行异常(",ie.length,")"]}),ie.map((Ge,nt)=>w.jsx("div",{className:"wandox-batch-error-item",children:Ge},nt))]}),w.jsx("div",{className:"wandox-action-list-table-wrapper",children:w.jsxs("table",{className:"wandox-action-list-table",children:[w.jsx("thead",{children:w.jsxs("tr",{children:[w.jsx("th",{className:"wandox-action-list-th wandox-action-list-th--checkbox",children:w.jsx("input",{type:"checkbox",checked:ot,onChange:we})}),w.jsx("th",{className:"wandox-action-list-th",children:"名称"}),Me.map(Ge=>w.jsxs("th",{className:`wandox-action-list-th ${me(Ge.name)?"wandox-action-list-th--sortable":""}`,onClick:()=>me(Ge.name)&&de(Ge.name),children:[w.jsx("span",{children:Ge.label}),me(Ge.name)&&w.jsx("span",{className:"wandox-action-list-sort-icon",children:je===Ge.name?Fe==="asc"?" ↑":" ↓":" ↕"})]},Ge.name)),w.jsx("th",{className:"wandox-action-list-th wandox-action-list-th--status",children:"状态"}),w.jsx("th",{className:"wandox-action-list-th wandox-action-list-th--action",children:"操作"})]})}),w.jsxs("tbody",{children:[Re.map(Ge=>{const nt=Ge.action_id||Ge.label,De=Ge.status==="executed"||m.has(nt),et=f===nt,rt=tt(nt),dt=U.some(bn=>(bn.action_id||bn.label)===nt),Nt=F.has(nt),kt=(!Ge.status||Ge.status==="pending")&&!De&&!rt&&!et;return w.jsxs("tr",{className:`wandox-action-list-row ${Nt?"wandox-action-list-row--selected":""} ${De?"wandox-action-list-row--executed":""} ${rt?"wandox-action-list-row--in-pool":""}`,children:[w.jsx("td",{className:"wandox-action-list-td wandox-action-list-td--checkbox",children:w.jsx("input",{type:"checkbox",checked:Nt,onChange:()=>kt&&ae(nt),disabled:!kt})}),w.jsx("td",{className:"wandox-action-list-td wandox-action-list-td--name",title:Ge.label,children:Ge.label}),Me.map(bn=>{var Kn;const ur=(Kn=Ge.params_fields_map)==null?void 0:Kn.find(kn=>kn.name===bn.name);return w.jsx("td",{className:`wandox-action-list-td ${ur&&ur.editable!==!1&&!De&&!et&&!rt?"wandox-action-list-td--editable":""}`,children:lt(Ge,ur,{isExecuted:De,isExecuting:et,inPool:rt})},bn.name)}),w.jsx("td",{className:"wandox-action-list-td wandox-action-list-td--status",children:et?w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--executing",children:"执行中"}):dt?w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--queued",children:"排队中"}):De?w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--done",children:"已执行"}):w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--pending",children:"待执行"})}),w.jsx("td",{className:"wandox-action-list-td wandox-action-list-td--action",children:De?w.jsx("button",{type:"button",className:"wandox-action-list-btn wandox-action-list-btn--view",onClick:()=>Z(Ge),children:"查看"}):rt?w.jsx("span",{className:"wandox-action-list-badge wandox-action-list-badge--queued",style:{fontSize:11},children:et?"执行中":"等待中"}):w.jsx("button",{type:"button",className:"wandox-action-list-btn wandox-action-list-btn--exec",onClick:()=>!et&&!rt&&he(Ge),disabled:et||rt,children:"执行"})})]},nt)}),Re.length===0&&w.jsx("tr",{children:w.jsx("td",{colSpan:Me.length+4,className:"wandox-action-list-empty",children:"没有找到匹配的动作"})})]})]})})]})},Ht=()=>{if(_.length===0&&$.length===0&&!N&&!A)return w.jsxs("div",{className:"wandox-execution-empty",children:[w.jsx("div",{className:"wandox-execution-empty-icon",children:"📋"}),w.jsx("div",{className:"wandox-execution-empty-text",children:"点击上方按钮执行动作"})]});const Me=_.length===0&&(A||$.length>0);return w.jsxs("div",{className:"wandox-execution-process",children:[!Me&&_.length>0&&w.jsxs("div",{className:"wandox-progress-section",children:[w.jsx("div",{className:"wandox-progress-title",children:"执行进度"}),w.jsx("div",{className:"wandox-progress-timeline",children:_.map((Re,Ze)=>w.jsxs("div",{className:"wandox-progress-item",children:[w.jsx("span",{className:"wandox-progress-dot",children:w.jsx("span",{className:"wandox-progress-check",children:"✓"})}),w.jsx("span",{className:"wandox-progress-text",children:Re})]},`${Re}-${Ze}`))})]}),A&&w.jsx("div",{className:"wandox-content-section",children:w.jsx(Yv,{payload:{type:"markdown",content:A}})}),!A&&$.length===0&&_.length===0&&!N&&w.jsx("div",{className:"wandox-execution-empty",children:w.jsx("div",{className:"wandox-execution-empty-text",children:"暂无执行结果"})}),N&&w.jsxs("div",{className:"wandox-error-section",children:[w.jsx("div",{className:"wandox-error-icon",children:"✗"}),w.jsxs("div",{className:"wandox-error-content",children:[w.jsx("div",{className:"wandox-error-title",children:"执行失败"}),w.jsx("div",{className:"wandox-error-message",children:N})]})]})]})};return t?w.jsxs("div",{className:"wandox-root",children:[w.jsx("div",{className:"wandox-drawer-mask",onClick:a,onKeyDown:Me=>Me.key==="Escape"&&a(),role:"button",tabIndex:0,"aria-label":"关闭抽屉"}),w.jsxs("div",{className:`wandox-drawer wandox-drawer--right wandox-action-detail-drawer ${L==="list"?"wandox-drawer--wide":""}`,children:[w.jsxs("div",{className:"wandox-drawer-header",children:[w.jsxs("span",{className:"wandox-drawer-title",children:["可执行动作(",n.length,")"]}),w.jsxs("div",{className:"wandox-drawer-header-actions",children:[w.jsxs("div",{className:"wandox-view-mode-toggle",children:[w.jsx("button",{type:"button",className:`wandox-view-mode-btn ${L==="card"?"wandox-view-mode-btn--active":""}`,onClick:()=>R("card"),title:"卡片模式",children:w.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",children:[w.jsx("rect",{x:"1",y:"1",width:"6",height:"6",rx:"1"}),w.jsx("rect",{x:"9",y:"1",width:"6",height:"6",rx:"1"}),w.jsx("rect",{x:"1",y:"9",width:"6",height:"6",rx:"1"}),w.jsx("rect",{x:"9",y:"9",width:"6",height:"6",rx:"1"})]})}),w.jsx("button",{type:"button",className:`wandox-view-mode-btn ${L==="list"?"wandox-view-mode-btn--active":""}`,onClick:()=>R("list"),title:"列表模式",children:w.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",children:[w.jsx("rect",{x:"1",y:"2",width:"14",height:"2.5",rx:"0.5"}),w.jsx("rect",{x:"1",y:"6.75",width:"14",height:"2.5",rx:"0.5"}),w.jsx("rect",{x:"1",y:"11.5",width:"14",height:"2.5",rx:"0.5"})]})})]}),w.jsx("button",{type:"button",className:"wandox-drawer-close",onClick:a,children:"✕"})]})]}),w.jsx("div",{className:"wandox-drawer-body",children:w.jsxs("div",{className:"wandox-action-detail-content",children:[se().length>0&&w.jsx("div",{className:"wandox-action-filter-section",children:w.jsxs(Tl.Compact,{style:{width:"100%"},children:[w.jsx(Qn,{value:j,onChange:Me=>{z(Me),D("")},placeholder:"选择字段",style:{width:150},options:[...se()]}),w.jsx(_n,{value:B,onChange:Me=>D(Me.target.value),placeholder:"输入过滤值",disabled:!j,style:{flex:1},allowClear:!0})]})}),w.jsx("div",{className:"wandox-action-cards-section",children:L==="card"?w.jsxs("div",{className:"wandox-action-cards-grid",children:[ce().map(Me=>w.jsx("div",{className:"wandox-action-card-wrapper",children:We(Me)},Me.action_id||Me.label)),ce().length===0&&(j||B)&&w.jsxs("div",{className:"wandox-action-empty-filter",children:[w.jsx("div",{className:"wandox-action-empty-icon",children:"🔍"}),w.jsx("div",{className:"wandox-action-empty-text",children:"没有找到匹配的动作"})]})]}):ct()}),H&&w.jsxs("div",{className:"wandox-execution-section wandox-execution-panel-slide",onClick:Me=>Me.stopPropagation(),children:[w.jsxs("div",{className:"wandox-execution-panel-header",children:[w.jsx("span",{className:"wandox-execution-panel-title",children:"执行结果"}),w.jsx("button",{type:"button",className:"wandox-execution-panel-close",onClick:()=>W(!1),"aria-label":"关闭",children:"✕"})]}),Ht()]})]})})]})]}):null}function kLe(e){const t={unit:"day",interval:1,hour:9,minute:0,weekDays:[1],monthDay:1,yearMonth:1,yearDay:1,customCron:""};if(!e)return t;const n=e.trim().split(/\s+/);if(n.length<5)return t;const r=Number.parseInt(n[0],10)||0,i=n[1].includes("/")?0:Number.parseInt(n[1],10)||0;if(n[1].startsWith("*/"))return{...t,unit:"hour",interval:Number.parseInt(n[1].slice(2),10)||1,hour:0,minute:r};if(n[3]!=="*"&&!n[3].startsWith("*/"))return{...t,unit:"year",hour:i,minute:r,yearMonth:Number.parseInt(n[3],10)||1,yearDay:Number.parseInt(n[2],10)||1};if(n[3].startsWith("*/"))return{...t,unit:"month",interval:Number.parseInt(n[3].slice(2),10)||1,hour:i,minute:r,monthDay:Number.parseInt(n[2],10)||1};if(n[4]!=="*"){const o=n[4].split(",").map(a=>Number.parseInt(a,10)).filter(a=>!Number.isNaN(a));return{...t,unit:"week",hour:i,minute:r,weekDays:o.length>0?o:[1]}}return n[2].startsWith("*/")?{...t,unit:"day",interval:Number.parseInt(n[2].slice(2),10)||1,hour:i,minute:r}:n[2]!=="*"?{...t,unit:"month",interval:1,hour:i,minute:r,monthDay:Number.parseInt(n[2],10)||1}:{...t,unit:"day",interval:1,hour:i,minute:r}}const yWt=["周日","周一","周二","周三","周四","周五","周六"],bWt=[{value:"hour",label:"小时",hint:"高频轮询"},{value:"day",label:"每天",hint:"日常任务"},{value:"week",label:"每周",hint:"固定周几"},{value:"month",label:"每月",hint:"月度复盘"},{value:"year",label:"每年",hint:"年度节点"},{value:"custom",label:"Cron",hint:"高级规则"}],xWt=[{v:1,l:"周一"},{v:2,l:"周二"},{v:3,l:"周三"},{v:4,l:"周四"},{v:5,l:"周五"},{v:6,l:"周六"},{v:0,l:"周日"}];function wWt(e,t,n,r,i,o,a,s,l){switch(e){case"hour":return`${r} */${t} * * *`;case"day":return t===1?`${r} ${n} * * *`:`${r} ${n} */${t} * *`;case"week":return`${r} ${n} * * ${i.length>0?i.join(","):"1"}`;case"month":return t===1?`${r} ${n} ${o} * *`:`${r} ${n} ${o} */${t} *`;case"year":return`${r} ${n} ${s} ${a} *`;case"custom":return l.trim()||`${r} ${n} * * *`;default:return`${r} ${n} * * *`}}function SWt(e,t,n,r,i,o,a,s,l){const c=`${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`;switch(e){case"hour":return`每 ${t} 小时执行一次(每小时第 ${r} 分)`;case"day":return t===1?`每天 ${c} 执行`:`每 ${t} 天 ${c} 执行`;case"week":return`每周 ${i.length>0?i.map(d=>yWt[d]).join("、"):"周一"} ${c} 执行`;case"month":return t===1?`每月第 ${o} 天 ${c} 执行`:`每 ${t} 个月第 ${o} 天 ${c} 执行`;case"year":return`每年 ${a} 月 ${s} 日 ${c} 执行`;case"custom":return l.trim()?`自定义:${l.trim()}`:"请输入 Cron 表达式";default:return`每天 ${c} 执行`}}function MLe({defaultValue:e,onChange:t}){const n=kLe(e),[r,i]=g.useState(n.unit),[o,a]=g.useState(n.interval),[s,l]=g.useState(n.hour),[c,u]=g.useState(n.minute),[d,f]=g.useState(n.weekDays),[p,h]=g.useState(n.monthDay),[m,v]=g.useState(n.yearMonth),[y,b]=g.useState(n.yearDay),[x,S]=g.useState(n.customCron),_=g.useMemo(()=>wWt(r,o,s,c,d,p,m,y,x),[r,o,s,c,d,p,m,y,x]),C=g.useMemo(()=>SWt(r,o,s,c,d,p,m,y,x),[r,o,s,c,d,p,m,y,x]),A=g.useRef(t);A.current=t,g.useEffect(()=>{var $;($=A.current)==null||$.call(A,_,C)},[_,C]);const E=Array.from({length:24},($,P)=>({value:P,label:String(P).padStart(2,"0")})),I=Array.from({length:60},($,P)=>({value:P,label:String(P).padStart(2,"0")})),T=Array.from({length:12},($,P)=>({value:P+1,label:`${P+1} 月`}));return w.jsxs("div",{className:"sfp-root",children:[w.jsx(lY,{block:!0,size:"small",className:"sfp-freq-segmented",value:r,"aria-label":"调度频率",options:bWt.map(({value:$,label:P,hint:N})=>({value:$,label:w.jsxs("span",{className:"sfp-freq-option",children:[w.jsx("span",{className:"sfp-freq-option__label",children:P}),w.jsx("span",{className:"sfp-freq-option__hint",children:N})]})})),onChange:$=>{i($),a(1)}}),w.jsxs("div",{className:"sfp-config",children:[w.jsxs("div",{className:"sfp-config-title",children:[w.jsx(o$e,{}),w.jsx("span",{children:"执行规则"})]}),r==="hour"&&w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-text",children:"每"}),w.jsx(Sl,{min:1,max:24,value:o,onChange:$=>a($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"小时,在第"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I}),w.jsx("span",{className:"sfp-text",children:"分钟执行"})]}),r==="day"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-text",children:"每"}),w.jsx(Sl,{min:1,max:365,value:o,onChange:$=>a($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"天执行一次"})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsxs("span",{className:"sfp-label",children:[w.jsx(pc,{})," 执行时间"]}),w.jsx(Qn,{value:s,onChange:$=>l($),className:"sfp-select sfp-select--compact",size:"middle",options:E}),w.jsx("span",{className:"sfp-sep",children:":"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I})]})]}),r==="week"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sfp-row sfp-row-wrap",children:[w.jsx("span",{className:"sfp-label",children:"执行日期"}),w.jsx("div",{className:"sfp-weekday-tags",children:xWt.map(({v:$,l:P})=>w.jsx(Fo.CheckableTag,{checked:d.includes($),onChange:N=>{N?f(M=>[...M,$].sort((k,O)=>k-O)):d.length>1&&f(M=>M.filter(k=>k!==$))},children:P},$))})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsxs("span",{className:"sfp-label",children:[w.jsx(pc,{})," 执行时间"]}),w.jsx(Qn,{value:s,onChange:$=>l($),className:"sfp-select sfp-select--compact",size:"middle",options:E}),w.jsx("span",{className:"sfp-sep",children:":"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I})]})]}),r==="month"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-text",children:"每"}),w.jsx(Sl,{min:1,max:12,value:o,onChange:$=>a($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"个月执行一次"})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-label",children:"执行日期"}),w.jsx("span",{className:"sfp-text",children:"第"}),w.jsx(Sl,{min:1,max:31,value:p,onChange:$=>h($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"天"})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsxs("span",{className:"sfp-label",children:[w.jsx(pc,{})," 执行时间"]}),w.jsx(Qn,{value:s,onChange:$=>l($),className:"sfp-select sfp-select--compact",size:"middle",options:E}),w.jsx("span",{className:"sfp-sep",children:":"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I})]})]}),r==="year"&&w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-label",children:"执行月份"}),w.jsx(Qn,{value:m,onChange:$=>v($),className:"sfp-select sfp-select--month",size:"middle",options:T})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-label",children:"执行日期"}),w.jsx("span",{className:"sfp-text",children:"第"}),w.jsx(Sl,{min:1,max:31,value:y,onChange:$=>b($??1),className:"sfp-number",size:"middle"}),w.jsx("span",{className:"sfp-text",children:"天"})]}),w.jsxs("div",{className:"sfp-row",children:[w.jsxs("span",{className:"sfp-label",children:[w.jsx(pc,{})," 执行时间"]}),w.jsx(Qn,{value:s,onChange:$=>l($),className:"sfp-select sfp-select--compact",size:"middle",options:E}),w.jsx("span",{className:"sfp-sep",children:":"}),w.jsx(Qn,{value:c,onChange:$=>u($),className:"sfp-select sfp-select--compact",size:"middle",options:I})]})]}),r==="custom"&&w.jsxs("div",{className:"sfp-row",children:[w.jsx("span",{className:"sfp-label",children:"Cron 表达式"}),w.jsx(_n,{value:x,onChange:$=>S($.target.value),placeholder:"例如:0 9 * * 1-5",size:"middle",className:"sfp-cron-input"})]})]}),w.jsxs("div",{className:"sfp-preview",children:[w.jsx(IEe,{className:"sfp-preview-icon"}),w.jsx("span",{children:C})]})]})}const{Text:Ive}=If,FN="0 9 * * *";function ls(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function O1(e,t){return ls(e)&&typeof e.message=="string"?e.message:t}function UR(e){return ls(e)?e.data??e.result??e.results??e:e}function k0(e){return e?String(e.schedule_id??e.id??""):""}function Pve(e){return(e==null?void 0:e.name)||(e==null?void 0:e.schedule_name)||(e==null?void 0:e.title)||"未命名任务"}function _Wt(e){return(e==null?void 0:e.cron_expression)||(e==null?void 0:e.schedule_cron)||FN}function CWt(e){return(e==null?void 0:e.playbook_params)??(e==null?void 0:e.schedule_params)??(e==null?void 0:e.params)??{}}function Nve(e){return e?typeof e.is_active=="boolean"?e.is_active:typeof e.is_enabled=="boolean"?e.is_enabled:typeof e.enabled=="boolean"?e.enabled:!0:!0}function AWt(e){const t=UR(e),n=ls(t)?t.items??t.records??t.rows??t.schedules??t.list??t.data:t;return Array.isArray(n)?n.filter(ls).map(r=>r):[]}function $Wt(e){const t=UR(e),n=ls(t)?t.items??t.records??t.rows??t.webhooks??t.list??t.data:t;return Array.isArray(n)?n.filter(ls).map(r=>{const i=r.webhook_id??r.id,o=typeof r.name=="string"&&r.name.trim()?r.name:i?String(i):"未命名通知地址";return{webhook_id:i?String(i):"",name:o,platform:typeof r.platform=="string"?r.platform:void 0,is_active:typeof r.is_active=="boolean"?r.is_active:void 0,is_default:typeof r.is_default=="boolean"?r.is_default:void 0}}).filter(r=>r.webhook_id):[]}function EWt(e){return(Array.isArray(e)?e:ls(e)?Object.values(e):[]).filter(ls).map(n=>{const r=typeof n.name=="string"?n.name:"",i=Array.isArray(n.enum)?n.enum.filter(o=>typeof o=="string"):Array.isArray(n.options)?n.options.map(o=>typeof o=="string"?o:ls(o)&&typeof o.value=="string"?o.value:"").filter(Boolean):void 0;return{name:r,label:typeof n.label=="string"?n.label:typeof n.display_name=="string"?n.display_name:r,type:typeof n.type=="string"?n.type:"string",required:!!n.required,default:n.default,mock:n.mock,enum:i,file_type:typeof n.file_type=="string"?n.file_type:void 0,description:typeof n.description=="string"?n.description:void 0}}).filter(n=>n.name)}function TWt(e){if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function IWt(e){switch(e){case"dingtalk":return"钉钉";case"feishu":case"lark":return"飞书";case"wecom":case"wechat_work":return"企微";default:return e||""}}function kve(e){const t=IWt(e.platform);return t?`${e.name} (${t})`:e.name}function RLe({open:e,agentId:t,playbookId:n,playbookName:r,onClose:i,onSuccess:o}){const[a,s]=g.useState([]),[l,c]=g.useState([]),[u,d]=g.useState([]),[f,p]=g.useState(!1),[h,m]=g.useState(!1),[v,y]=g.useState(!1),[b,x]=g.useState("create"),[S,_]=g.useState(""),[C,A]=g.useState(""),[E,I]=g.useState(!0),[T,$]=g.useState(""),[P,N]=g.useState(0),[M,k]=g.useState(FN),[O,j]=g.useState({}),[z,B]=g.useState({}),[D,H]=g.useState(!1),[W,L]=g.useState(""),[R,F]=g.useState(""),[V,U]=g.useState(""),G=u.length>0,q=g.useMemo(()=>{const ue=l.map(pe=>[pe.webhook_id,kve(pe)]);return new Map(ue)},[l]),X=g.useMemo(()=>{const ue=new Set,pe=l.map(Se=>(ue.add(Se.webhook_id),{value:Se.webhook_id,label:`${kve(Se)}${Se.is_default?" · 默认":""}`,disabled:Se.is_active===!1}));return T&&!ue.has(T)&&pe.unshift({value:T,label:`当前通知地址 (${T})`,disabled:!1}),pe},[l,T]);function Y(ue=l){var pe;return((pe=ue.find(Se=>Se.is_default&&Se.is_active!==!1))==null?void 0:pe.webhook_id)||""}function K(ue={},pe=u){const Se={};for(const Pe of pe)ue[Pe.name]!==void 0&&ue[Pe.name]!==""?Se[Pe.name]=ue[Pe.name]:Pe.default!==void 0&&Pe.default!==""?Se[Pe.name]=Pe.default:Pe.type==="boolean"?Se[Pe.name]=!1:Pe.type==="number"||Pe.type==="integer"||Pe.type==="float"?Se[Pe.name]=void 0:Se[Pe.name]="";return Se}function ne(ue=u,pe=l,Se=V||r){const Pe=Se||"";x("create"),_(""),A(Pe?`${Pe} 定时任务`:"定时任务"),I(!0),$(Y(pe)),k(FN),N(_e=>_e+1),j(K({},ue)),F("")}function ee(ue,pe=u){x("edit"),_(k0(ue)),A(Pve(ue)),I(Nve(ue)),$(ue.webhook_id||""),k(_Wt(ue)),N(Se=>Se+1),j(K(CWt(ue),pe)),F("")}async function Q(){if(!n)return d([]),{fields:[],name:""};y(!0);try{const ue=await aS({playbook_id:n}),pe=UR(ue),Se=ls(pe)?pe:{},_e=(typeof Se.name=="string"&&Se.name.trim()?Se.name.trim():ls(Se.meta)&&typeof Se.meta.name=="string"?Se.meta.name.trim():"")||r||"";U(_e);const Te=ls(Se.content)?Se.content.yaml_content:Se.yaml_content,ve=typeof Te=="string"&&Te?kE.parse(Te):null,he=EWt(ls(ve)?ve.params:[]);return d(he),{fields:he,name:_e}}catch{return d([]),{fields:[],name:""}}finally{y(!1)}}async function te(){m(!0);try{const ue=await VTe({}),pe=$Wt(ue);return c(pe),pe}catch(ue){return c([]),zt.error(O1(ue,"获取通知地址失败")),[]}finally{m(!1)}}async function ie(ue,pe=u,Se=l,Pe=V||r){if(!t||!n)return[];p(!0);try{const _e=await WTe({agent_id:t,playbook_id:n}),Te=AWt(_e);s(Te);const ve=ue?Te.find(se=>k0(se)===ue):null,he=S?Te.find(se=>k0(se)===S):null,Z=ve||he||Te[0];return Z?ee(Z,pe):ne(pe,Se,Pe),Te}catch(_e){return s([]),ne(pe,Se,Pe),zt.error(O1(_e,"获取定时任务失败")),[]}finally{p(!1)}}g.useEffect(()=>{!e||!t||!n||(F(""),B({}),L(""),U(""),(async()=>{const[{fields:ue,name:pe},Se]=await Promise.all([Q(),te()]);await ie(void 0,ue,Se,pe)})())},[e,t,n]);const oe=(ue,pe)=>{j(Se=>({...Se,[ue]:pe}))},fe=ue=>async({file:pe,onSuccess:Se,onError:Pe})=>{var _e;B(Te=>({...Te,[ue]:!0}));try{const Te=await cX(pe),ve=(_e=Te==null?void 0:Te.data)==null?void 0:_e.url;if(!ve)throw new Error("上传失败");oe(ue,ve),Se==null||Se(Te),zt.success("文件上传成功")}catch(Te){Pe==null||Pe(Te instanceof Error?Te:new Error("文件上传失败")),zt.error(O1(Te,"文件上传失败"))}finally{B(Te=>({...Te,[ue]:!1}))}},ye=()=>{if(!t)return zt.warning("缺少智能体ID"),!1;if(!n)return zt.warning("缺少场景ID"),!1;if(!C.trim())return zt.warning("请输入任务名称"),!1;if(!T)return zt.warning("请选择通知地址"),!1;if(E&&!M.trim())return zt.warning("请设置调度频率"),!1;for(const ue of u){const pe=O[ue.name];if(ue.required&&pe!==0&&pe!==!1&&(pe==null||pe===""))return zt.warning(`请填写「${ue.label||ue.name}」`),!1}return!0},$e=()=>{const ue=M||FN,pe=G?{...O}:void 0;return{name:C.trim(),agent_id:t,playbook_id:n,webhook_id:T,is_active:E,schedule_type:"custom",cron_expression:ue,playbook_params:pe}},be=async()=>{if(ye()){F(""),H(!0);try{if(b==="edit"&&S)await GTe(S,{},$e()),zt.success("定时任务已更新"),await ie(S);else{const ue=await HTe({},$e()),pe=UR(ue),Se=ls(pe)?k0(pe):"";zt.success("定时任务已创建"),await ie(Se||void 0)}o==null||o()}catch(ue){F(O1(ue,"保存失败"))}finally{H(!1)}}},je=async ue=>{const pe=k0(ue);if(pe){L(pe);try{await UTe(pe,{}),zt.success("定时任务已删除"),S===pe&&_(""),await ie(),o==null||o()}catch(Se){zt.error(O1(Se,"删除失败"))}finally{L("")}}},Oe=ue=>{const pe=ue.cron_expression||ue.schedule_cron||"未设置频率",Se=TWt(ue.next_run_at),Pe=ue.webhook_id?ue.webhook_name||q.get(ue.webhook_id)||ue.webhook_id:"",_e=Se?`${pe} · 下次 ${Se}`:pe;return Pe?`${_e} · 通知 ${Pe}`:_e},Fe=ue=>{const pe=O[ue.name];switch(ue.type){case"file":{const Se=ue.file_type||void 0,Pe=pe?String(pe).split("/").pop():"";return Pe?w.jsxs("div",{className:"sm-file-value",children:[w.jsx("span",{className:"sm-file-name",children:Pe}),w.jsx(qt,{size:"small",type:"text",danger:!0,onClick:()=>oe(ue.name,""),children:"删除"})]}):w.jsxs(_v.Dragger,{accept:Se,showUploadList:!1,customRequest:fe(ue.name),disabled:!!z[ue.name],className:"sm-upload",children:[w.jsx("p",{style:{marginBottom:4},children:w.jsx(TE,{style:{fontSize:24,color:"#8b5cf6"}})}),w.jsx("p",{style:{fontSize:12,margin:0,color:"#6b7280"},children:z[ue.name]?"上传中...":"点击或拖拽文件上传"})]})}case"boolean":return w.jsx(Ah,{checked:!!pe,onChange:Se=>oe(ue.name,Se),size:"small"});case"number":case"integer":case"float":{const Se=typeof pe=="number"?pe:typeof pe=="string"&&pe.trim()!==""?Number(pe):void 0;return w.jsx(Sl,{style:{width:"100%"},value:Number.isNaN(Se)?void 0:Se,onChange:Pe=>oe(ue.name,Pe),placeholder:`请输入${ue.label}`,size:"middle"})}case"array":case"object":return w.jsx(_n.TextArea,{value:typeof pe=="string"?pe:pe!=null?JSON.stringify(pe):"",onChange:Se=>oe(ue.name,Se.target.value),autoSize:{minRows:1,maxRows:4},placeholder:ue.description||"JSON 格式"});default:return ue.enum&&ue.enum.length>0?w.jsx(Qn,{style:{width:"100%"},value:typeof pe=="string"?pe:void 0,onChange:Se=>oe(ue.name,Se),placeholder:`请选择${ue.label}`,options:ue.enum.map(Se=>({value:Se,label:Se})),size:"middle"}):w.jsx(_n,{value:typeof pe=="string"||typeof pe=="number"?String(pe):"",onChange:Se=>oe(ue.name,Se.target.value),placeholder:`请输入${ue.label}`,size:"middle"})}},xe=()=>w.jsxs("div",{className:"sm-footer",children:[w.jsx(qt,{onClick:i,children:"关闭"}),w.jsx(qt,{type:"primary",loading:D,onClick:be,children:b==="edit"?"保存修改":"创建任务"})]});return w.jsxs(ri,{title:null,open:e,onCancel:i,width:920,centered:!0,footer:xe(),className:"schedule-modal",closable:!1,zIndex:1e4,styles:{container:{padding:0}},children:[w.jsxs("div",{className:"sm-header",children:[w.jsx(pc,{className:"sm-header-icon"}),w.jsxs("div",{children:[w.jsx("div",{className:"sm-header-title",children:"定时触发配置"}),w.jsx("div",{className:"sm-header-sub",children:V||r||n||"当前场景"})]}),w.jsx(qt,{type:"primary",icon:w.jsx(yy,{}),onClick:()=>ne(),children:"创建任务"})]}),w.jsxs("div",{className:"sm-layout",children:[w.jsxs("aside",{className:"sm-task-panel",children:[w.jsx("div",{className:"sm-task-panel-head",children:w.jsxs("div",{children:[w.jsx("div",{className:"sm-task-panel-title",children:"已创建任务"}),w.jsxs("div",{className:"sm-task-panel-count",children:[a.length," 个定时任务"]})]})}),w.jsx(ju,{spinning:f,children:a.length===0?w.jsx("div",{className:"sm-task-empty",children:w.jsx(os,{image:os.PRESENTED_IMAGE_SIMPLE,description:"暂无定时任务"})}):w.jsx("div",{className:"sm-task-list",children:a.map(ue=>{const pe=k0(ue),Se=b==="edit"&&S===pe,Pe=Nve(ue);return w.jsxs("div",{className:`sm-task-item${Se?" sm-task-item--active":""}`,children:[w.jsxs("button",{type:"button",className:"sm-task-select",onClick:()=>ee(ue),children:[w.jsxs("div",{className:"sm-task-item-main",children:[w.jsxs("div",{className:"sm-task-item-title",children:[w.jsx("span",{children:Pve(ue)}),w.jsx(Fo,{color:Pe?"green":"default",children:Pe?"启用":"停用"})]}),w.jsx("div",{className:"sm-task-item-meta",children:Oe(ue)})]}),w.jsx(Vx,{className:"sm-task-edit"})]}),w.jsx("div",{className:"sm-task-actions",children:w.jsx(xY,{title:"删除定时任务",description:"删除后不可恢复,确认删除?",okText:"删除",cancelText:"取消",okButtonProps:{danger:!0,loading:W===pe},onConfirm:_e=>{_e==null||_e.stopPropagation(),je(ue)},onCancel:_e=>_e==null?void 0:_e.stopPropagation(),children:w.jsx(qt,{type:"text",size:"small",danger:!0,icon:w.jsx(by,{}),onClick:_e=>_e.stopPropagation()})})})]},pe||ue.name)})})})]}),w.jsxs("section",{className:"sm-editor",children:[w.jsxs("div",{className:"sm-editor-head",children:[w.jsxs("div",{children:[w.jsx("div",{className:"sm-editor-title",children:b==="edit"?"编辑任务定时器":"创建任务定时器"}),w.jsx("div",{className:"sm-editor-sub",children:"按当前智能体和场景执行定时触发"})]}),w.jsxs("div",{className:"sm-header-switch",children:[w.jsx(Ive,{type:"secondary",style:{fontSize:12},children:E?"已启用":"已停用"}),w.jsx(Ah,{size:"small",checked:E,onChange:I})]})]}),w.jsxs("div",{className:"sm-body",children:[w.jsxs("div",{className:"sm-section",children:[w.jsxs("div",{className:"sm-label",children:["任务名称",w.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"})]}),w.jsx(_n,{value:C,onChange:ue=>A(ue.target.value),placeholder:"例如:每日店铺表现分析"})]}),w.jsxs("div",{className:"sm-section",children:[w.jsxs("div",{className:"sm-label",children:["通知地址",w.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"})]}),w.jsx("div",{className:"sm-param-hint",children:"任务触发后的消息通知地址"}),w.jsx(Qn,{allowClear:!0,showSearch:!0,loading:h,disabled:h,value:T||void 0,onChange:ue=>$(ue||""),placeholder:"请选择通知 Webhook",optionFilterProp:"label",options:X}),!h&&l.length===0&&w.jsx("div",{className:"sm-inline-alert",children:"暂无可用通知地址,请先在通知配置中创建"})]}),E?w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"sm-section",children:[w.jsx("div",{className:"sm-label",children:"调度频率"}),w.jsx("div",{className:"sm-param-hint",children:"设置场景自动执行的时间间隔和触发时间"}),w.jsx(MLe,{defaultValue:M,onChange:ue=>k(ue)},P)]}),(v||G)&&w.jsxs("div",{className:"sm-section",children:[w.jsx("div",{className:"sm-label",children:"执行参数"}),w.jsx("div",{className:"sm-param-hint",children:"定时执行时传给当前场景的参数"}),w.jsx("div",{className:"sm-form-panel",children:v?w.jsxs("div",{style:{padding:18,textAlign:"center"},children:[w.jsx(ju,{size:"small"}),w.jsx("span",{style:{marginLeft:8,fontSize:12,color:"#9ca3af"},children:"加载参数配置..."})]}):w.jsx("div",{className:"sm-dynamic-fields",children:u.map(ue=>w.jsxs("div",{className:"sm-field-item",children:[w.jsxs("div",{className:"sm-field-label",children:[ue.label||ue.name,ue.required&&w.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"})]}),ue.description&&w.jsx("div",{className:"sm-field-desc",children:ue.description}),Fe(ue)]},ue.name))})})]})]}):w.jsxs("div",{className:"sm-disabled-hint",children:[w.jsx(pc,{style:{fontSize:28,color:"#d1d5db"}}),w.jsx(Ive,{type:"secondary",style:{fontSize:13},children:"任务已停用,保存后不会自动触发"})]}),R&&w.jsx("div",{style:{color:"#ef4444",fontSize:12,padding:"8px 0 0",textAlign:"center"},children:R})]})]})]})]})}function DLe(e){return!!(e&&/\/api\/v1\/cognitive\/artifacts\/[^/]+\/download/.test(e))}function PWt(e,t){if(!e)return t;const n=/filename\*=(?:UTF-8'')?([^;]+)/i.exec(e);if(n)try{return decodeURIComponent(n[1].replace(/["']/g,"").trim())}catch{}const r=/filename="?([^";]+)"?/i.exec(e);return r?r[1].trim():t}function OLe(e){return e.startsWith("artifact:")?e.slice(9):null}async function pj(e,t="文件"){const n=await fetch(`${_r()}/api/v1/cognitive/artifacts/${e}/download`,{headers:AD()});if(!n.ok)throw new Error(`下载失败(HTTP ${n.status})`);const r=await n.blob(),i=PWt(n.headers.get("content-disposition"),t),o=URL.createObjectURL(r),a=document.createElement("a");a.href=o,a.download=i,a.click(),URL.revokeObjectURL(o)}async function NWt(e){const t=await fetch(`${_r()}/api/v1/cognitive/runs/${e}/report.md`,{headers:AD()});if(!t.ok)throw new Error(`报告打开失败(HTTP ${t.status})`);const n=await t.text(),r=URL.createObjectURL(new Blob([n],{type:"text/plain"}));window.open(r,"_blank","noopener,noreferrer"),setTimeout(()=>URL.revokeObjectURL(r),6e4)}const kWt=new Set(["完成","已完成","执行完成"]);function LLe(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function cP(e){return e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.length>0:typeof e=="object"?Object.keys(e).length>0:!0}function MWt(e){const{data:t}=e,n=[];return Array.isArray(t.output)?n.push(...t.output.filter(cP)):cP(t.output)&&n.push(t.output),Array.isArray(t.children)&&n.push(...t.children.filter(cP)),cP(t.content)&&n.push(LLe(t.content)&&typeof t.content.type=="string"?t.content:{type:typeof t.type=="string"?t.type:"markdown",title:t.title,content:t.content,fields_map:t.fields_map,input_params:t.input_params,streaming:t.streaming===!0}),n}function Mve(e){return(e==null?void 0:e.origin)==="live"&&e.status==="running"}function jLe(e){return[...e].filter(t=>t.type==="step"||t.type==="output").sort((t,n)=>t.sequence-n.sequence)}function qR(e,t){return e.event_id||`${e.type}-${e.sequence}-${t}`}function RWt(e){const t=jLe(e);let n=-1;for(let r=t.length-1;r>=0;r-=1)if(t[r].type==="step"){n=r;break}return n<0?{previousEventKeys:[]}:{activeStepKey:qR(t[n],n),previousEventKeys:t.slice(0,n).map((r,i)=>qR(r,i))}}function zLe(e){const t=e.content.trim();return t?/^✅\s*.*执行完成(?:\s|$)/.test(t)?!0:e.process?e.process.status==="running"&&e.stream_content_received!==!0?!0:e.process.status==="stopped"&&(e.execution_status==="stopped"||e.execution_status==="stopping"||["任务已停止","已停止","正在停止..."].includes(t)):!1:!1}function DWt(e){if(e.ui_payload)return!0;const t=e.content.trim();return!!(t&&!t.startsWith("⏳")&&!kWt.has(t)&&!zLe(e))}function Rve(e){const t=e.trim();if(!t.startsWith("[")&&!t.startsWith("{"))return e;try{return JSON.parse(t)}catch{return e}}function xC(e){if(Array.isArray(e))return e.flatMap(xC);if(typeof e=="string"){const t=Rve(e);return t!==e?xC(t):e.trim()?[{type:"markdown",content:e}]:[]}if(typeof e=="number"||typeof e=="boolean")return[{type:"text",content:e}];if(!LLe(e))return[];if(typeof e.type!="string"&&typeof e.content=="string"){const t=Rve(e.content);if(t!==e.content){const n=xC(t);if(n.length>0)return n}}return[e]}function OWt(e){return e.flatMap(t=>(t==null?void 0:t.type)==="step"&&Array.isArray(t.children)?xC(t.children).filter(n=>(n==null?void 0:n.streaming)!==!0):[])}function LWt(e,t,n){if(!Array.isArray(e))return;const r=xC(e);if(!t)return r;const i=r.filter(a=>(a==null?void 0:a.type)!=="step");if(i.length>0)return i;if(n)return;const o=OWt(r);return o.length>0?o:void 0}function jWt(e){const{data:t}=e,n=typeof t.step_name=="string"?t.step_name.trim():"",r=typeof t.title=="string"?t.title.trim():"",i=typeof t.message=="string"?t.message.trim():"";return e.type==="thinking"?i||"正在分析":e.type==="step"?n||r||i||`步骤 ${e.sequence}`:e.type==="output"?n?`${n} · 输出`:r||"步骤输出":e.type==="error"?i||"执行失败":e.type==="stopped"?i||"任务已停止":e.type==="recommend"?i||"生成推荐内容":r||i||`过程记录 ${e.sequence}`}function zWt(e,t){if(e.type==="error")return"failed";if(e.type==="stopped")return"stopped";if(e.type==="thinking")return t==="running"?"running":"done";const n=String(e.data.status||"").toLowerCase();return["failed","error"].includes(n)?"failed":["stopped","cancelled","canceled"].includes(n)?"stopped":["running","pending","executing"].includes(n)?t==="failed"?"failed":t==="stopped"?"stopped":t==="completed"?"done":"running":"done"}function BWt(e){return e==="running"?"执行中":e==="failed"?"失败":e==="stopped"?"已停止":"已完成"}function FWt(e,t,n){const r=typeof e.duration_ms=="number"&&Number.isFinite(e.duration_ms),i=r?Math.max(0,e.duration_ms):0;if(e.status!=="running"){if(r)return i;const a=e.events.map(u=>Date.parse(u.timestamp||"")).filter(Number.isFinite);if(a.length===0)return 0;const s=Date.parse(t),l=Math.min(...a),c=Number.isFinite(s)?Math.max(s,...a):Math.max(...a);return Math.max(0,c-l)}const o=Date.parse(e.started_at||t);return Number.isFinite(o)?Math.max(i,n-o):i}function VWt(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 HWt(e,t){return e.status==="running"?`思考中(已用时 ${t} 秒)`:e.status==="failed"?`思考失败(用时 ${t} 秒)`:e.status==="stopped"?`已停止(用时 ${t} 秒)`:`用时 ${t} 秒`}function WWt({process:e,messageTimestamp:t,autoCollapseOnTerminal:n=!0,hasOutputPayload:r=!1}){const i=g.useMemo(()=>jLe((e==null?void 0:e.events)||[]),[e==null?void 0:e.events]),o=g.useMemo(()=>i.map((A,E)=>qR(A,E)),[i]),a=g.useMemo(()=>RWt(i),[i]),[s,l]=g.useState(()=>Mve(e)),[c,u]=g.useState(()=>new Set(o)),[d,f]=g.useState(()=>Date.now()),p=g.useRef(""),h=g.useRef(new Set),m=e==null?void 0:e.started_at,v=e==null?void 0:e.origin,y=e?`${v||""}\0${m||""}`:"",b=Mve(e),x=g.useRef(y),S=g.useRef(e==null?void 0:e.status);if(g.useEffect(()=>{if((e==null?void 0:e.status)!=="running")return;f(Date.now());const A=window.setInterval(()=>f(Date.now()),1e3);return()=>window.clearInterval(A)},[e==null?void 0:e.status]),g.useEffect(()=>{const A=e==null?void 0:e.status,E=x.current!==y,I=S.current==="running"&&A!==void 0&&A!=="running";E?(l(b),u(new Set(o)),h.current.clear(),p.current=`${y}\0__reset__`):I?(n&&l(!1),u(new Set(o)),h.current.clear()):A!==void 0&&A!=="running"&&u(T=>{const $=new Set(T);for(const P of o)h.current.has(P)||$.add(P);return $}),x.current=y,S.current=A},[n,o,e==null?void 0:e.status,y,b]),g.useEffect(()=>{u(A=>{const E=new Set(A);let I=!1;for(const T of o)!E.has(T)&&!h.current.has(T)&&(E.add(T),I=!0);return I?E:A})},[o]),g.useEffect(()=>{if((e==null?void 0:e.status)!=="running"||v!=="live"||!a.activeStepKey)return;const A=`${y}\0${a.activeStepKey}`;p.current!==A&&(p.current=A,a.previousEventKeys.length!==0&&u(E=>{const I=new Set(E);for(const T of a.previousEventKeys)h.current.has(T)||I.add(T);return I}))},[e==null?void 0:e.status,v,y,a]),!e)return null;const _=Math.round(FWt(e,t,d)/1e3),C=i.length>0||e.status==="running";return w.jsxs("section",{className:`wandox-message-process wandox-message-process--${e.status}`,children:[w.jsxs("button",{type:"button",className:"wandox-message-process__toggle",onClick:()=>C&&l(A=>!A),"aria-expanded":C?s:void 0,disabled:!C,children:[w.jsx("span",{className:"wandox-message-process__summary-icon","aria-hidden":"true",children:e.status==="running"?w.jsx("span",{className:"wandox-message-process__spinner"}):w.jsx("svg",{viewBox:"0 0 20 20",width:"16",height:"16",fill:"none",children:e.status==="failed"?w.jsx("path",{d:"m6.5 6.5 7 7m0-7-7 7",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"}):e.status==="stopped"?w.jsx("rect",{x:"6.2",y:"6.2",width:"7.6",height:"7.6",rx:"1",fill:"currentColor"}):w.jsx("path",{d:"M5.5 10.3 8.4 13l6.1-6",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})}),w.jsx("span",{children:HWt(e,_)}),C&&w.jsx("svg",{className:`wandox-message-process__chevron${s?" wandox-message-process__chevron--expanded":""}`,viewBox:"0 0 20 20",width:"14",height:"14",fill:"none","aria-hidden":"true",children:w.jsx("path",{d:"m8 6.5 3.5 3.5L8 13.5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})]}),s&&C&&w.jsxs("div",{className:"wandox-message-process__events",children:[i.map((A,E)=>{const I=zWt(A,e.status),T=r&&A.type==="output"?[]:MWt(A),$=VWt(A.timestamp),P=qR(A,E),N=T.length>0,M=N&&h.current.has(P)&&!c.has(P),k=w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"wandox-message-process__event-title-group",children:[w.jsx("div",{className:"wandox-message-process__event-title",children:jWt(A)}),N&&w.jsx("svg",{className:`wandox-message-process__event-chevron${M?" wandox-message-process__event-chevron--expanded":""}`,viewBox:"0 0 20 20",width:"13",height:"13",fill:"none","aria-hidden":"true",children:w.jsx("path",{d:"m8 6.5 3.5 3.5L8 13.5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})}),I!=="done"&&w.jsx("span",{className:`wandox-message-process__event-status wandox-message-process__event-status--${I}`,children:BWt(I)})]}),$&&w.jsx("time",{className:"wandox-message-process__event-time",children:$})]});return w.jsxs("div",{className:`wandox-message-process__event wandox-message-process__event--${I}`,children:[w.jsx("span",{className:"wandox-message-process__event-marker","aria-hidden":"true",children:I==="running"&&w.jsx("span",{className:"wandox-message-process__event-loading-spinner"})}),w.jsxs("div",{className:"wandox-message-process__event-content",children:[N?w.jsx("button",{type:"button",className:"wandox-message-process__event-header wandox-message-process__event-header--toggle","aria-expanded":M,onClick:()=>u(O=>{const j=new Set(O);return j.has(P)?(j.delete(P),h.current.add(P)):(j.add(P),h.current.delete(P)),j}),children:k}):w.jsx("div",{className:"wandox-message-process__event-header",children:k}),M&&T.map((O,j)=>{const z=`${A.sequence}-payload-${j}`;return w.jsx("div",{className:"wandox-message-process__event-payload",children:w.jsx(Pg,{payload:O})},z)})]})]},P)}),e.truncated===!0&&w.jsxs("div",{className:"wandox-message-process__notice wandox-message-process__notice--footer",children:["过程记录较多,当前展示前 ",i.length," 条"]})]})]})}const GWt=10,UWt=48;function qWt({scrollTop:e,hasMore:t,loading:n,failed:r}){return e<=UWt&&t&&!n&&!r}const KWt={loading:"加载中...",loadMore:"加载更多",executionResult:"执行结果",executableActions:"可执行动作"};function M0(e,t){return(e==null?void 0:e[t])||KWt[t]}function i5(e){if(typeof e!="string")return;const t=e.trim();if(!(!t||t.toLowerCase()==="empty"))return t}function Dve(e){var n;const t=(n=e.meta_content)==null?void 0:n.artifacts;return Array.isArray(t)?t.filter(r=>!!r&&typeof r=="object"&&typeof r.artifact_id=="string"):[]}function YWt({messageId:e,dataIndex:t,role:n,className:r,containerRef:i,forceRender:o,children:a}){const s=g.useRef(null),[l,c]=g.useState(o);return g.useEffect(()=>{o&&c(!0)},[o]),g.useEffect(()=>{const u=s.current,d=i.current;if(!u||!d||l)return;if(!("IntersectionObserver"in window)){c(!0);return}const f=new IntersectionObserver(p=>{p.some(h=>h.isIntersecting)&&(c(!0),f.disconnect())},{root:d,rootMargin:"600px 0px"});return f.observe(u),()=>f.disconnect()},[i,l]),w.jsx("div",{ref:s,"data-message-id":e,"data-message-index":t,className:r,style:l?void 0:{minHeight:n==="user"?64:112},"aria-busy":!l,children:l?a:w.jsx("div",{className:"wandox-message-deferred-placeholder","aria-hidden":"true"})})}function xJ({messages:e,executing:t,auth:n,ssoToken:r,ssoDomain:i,ssoCompany:o,apiBaseUrl:a,ossUploadUrl:s,uploadFile:l,actionExecuteUrl:c,batchActionExecuteUrl:u,onExecuteAction:d,onExecuteBatchActions:f,getPlaybookDetail:p,labels:h,autoCollapseProcessOnTerminal:m=!0,onExecutePlaybook:v,onFillPlaybookParams:y,onRespondToProposal:b,messagesTotal:x,hasMoreMessages:S,loadMoreMessages:_,loading:C,messageToolbar:A,onOpenActionDrawer:E,emptyContent:I,initialLoadingContent:T,containerRef:$,endRef:P,className:N,conversationKey:M}){var ce;const k=s??(a!==void 0?`${a.replace(/\/$/,"")}/api/v1/oss/upload2`:void 0),O=ELe(n,{ssoToken:r,ssoDomain:i,ssoCompany:o}),j=!!(d||c||a!==void 0||O.accessToken||O.tenantId||O.domain),z=g.useRef(null),B=g.useRef(null),D=$||z,H=P||B,W=g.useRef(0),L=g.useRef(!1),R=g.useRef(null),F=g.useRef(!1),V=g.useRef(!1),U=g.useRef(0),G=g.useRef(0),q=g.useRef(null),X=g.useRef([]),Y=g.useRef(null),K=g.useRef(!1),ne=g.useRef(!1),ee=g.useRef(!1),Q=g.useRef(null),te=g.useRef(M),[ie,oe]=g.useState(!0),[fe,ye]=g.useState(!1),[$e,be]=g.useState(!1),je=!!(_&&e.length>0&&(S??(x!==void 0&&e.length<x))),Oe=e.some(ae=>ae.retrigger_status==="executing"),Fe=e.some(ae=>{var we;return((we=ae.process)==null?void 0:we.status)==="running"}),xe=!!T;te.current!==M&&(te.current=M,W.current=0,K.current=!1,L.current=!1,F.current=!1,V.current=!1,U.current=0,G.current=0,q.current=null,ne.current=!1,ee.current=!1,(ce=Q.current)==null||ce.call(Q),Q.current=null);const ue=g.useCallback(()=>{const ae=D.current;return ae?ae.scrollHeight-ae.scrollTop-ae.clientHeight<100:!0},[D]),pe=g.useCallback((ae="smooth")=>{const we=D.current;we&&(we.scrollLeft=0,ae==="auto"?we.scrollTop=we.scrollHeight:we.scrollTo({top:we.scrollHeight,behavior:ae}))},[D]),Se=g.useCallback(()=>{for(const ae of X.current)clearTimeout(ae);X.current=[]},[]),Pe=g.useCallback(()=>{Se(),Y.current&&clearTimeout(Y.current),Y.current=null,F.current=!1,V.current=!1,U.current=0,G.current=0,q.current=null},[Se]),_e=g.useCallback(()=>{const ae=D.current;if(!ae)return;const we=q.current;if(we){const He=Array.from(ae.querySelectorAll(".wandox-message")).find(Ve=>Ve.dataset.messageId===we.messageId);if(He){const Ve=He.getBoundingClientRect().top-ae.getBoundingClientRect().top;ae.scrollTop+=Ve-we.viewportOffset;return}}const Ae=ae.scrollHeight-U.current;ae.scrollTop=Math.max(0,G.current+Ae)},[D]),Te=g.useCallback(()=>{Se(),Y.current&&(clearTimeout(Y.current),Y.current=null),_e(),X.current=[100,300,600].map(ae=>setTimeout(()=>{_e(),ae===600&&Pe()},ae))},[Se,Pe,_e]),ve=g.useCallback(()=>{Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{Y.current=null,F.current&&(_e(),Pe())},800)},[Pe,_e]),he=g.useCallback(async()=>{if(!_||!je||C||F.current)return;const ae=D.current;if(ae){U.current=ae.scrollHeight,G.current=ae.scrollTop;const Ae=ae.getBoundingClientRect().top,He=Array.from(ae.querySelectorAll(".wandox-message")).find(Ke=>Ke.getBoundingClientRect().bottom>Ae),Ve=He==null?void 0:He.dataset.messageId;q.current=He&&Ve?{messageId:Ve,viewportOffset:He.getBoundingClientRect().top-Ae}:null}F.current=!0,V.current=!0,ye(!0),be(!1);let we=!1;try{await _()}catch{we=!0,be(!0)}finally{ye(!1),we?Pe():ve()}},[D,ve,je,_,C,Pe]);g.useEffect(()=>{Y.current&&(clearTimeout(Y.current),Y.current=null),Se(),ye(!1),be(!1)},[Se,M]),g.useEffect(()=>()=>{var ae;Se(),Y.current&&clearTimeout(Y.current),(ae=Q.current)==null||ae.call(Q)},[Se]),g.useLayoutEffect(()=>{const ae=e.length,we=W.current;if(ae>we){if(F.current){Te(),W.current=ae;return}const Ae=setTimeout(()=>{const He=ue();we===0?pe("auto"):He&&!L.current&&pe("smooth")},100);return W.current=ae,()=>clearTimeout(Ae)}W.current=ae},[ue,e.length,Te,pe]);const Z=(()=>{if(e.length===0)return"";const ae=e[e.length-1];try{return JSON.stringify({outputs:ae==null?void 0:ae.outputs,uiPayload:ae==null?void 0:ae.ui_payload,content:ae==null?void 0:ae.content,executionStatus:ae==null?void 0:ae.execution_status,process:ae==null?void 0:ae.process})}catch{return`${(ae==null?void 0:ae.id)||""}:${(ae==null?void 0:ae.execution_status)||""}`}})();g.useEffect(()=>{if(e.length===0||F.current||V.current)return;if(e[e.length-1].role==="assistant"&&!L.current){const we=setTimeout(()=>{const Ae=D.current;Ae&&Ae.scrollBy({top:300,behavior:"smooth"})},100);return()=>clearTimeout(we)}},[D,Z,e]),g.useEffect(()=>{if(!t||F.current||V.current||L.current)return;const ae=setTimeout(()=>{pe("smooth")},100);return()=>clearTimeout(ae)},[t,Z,pe]),g.useEffect(()=>{const ae=D.current;if(!ae)return;const we=()=>{R.current&&clearTimeout(R.current),L.current=!0,R.current=setTimeout(()=>{L.current=!1},500),qWt({scrollTop:ae.scrollTop,hasMore:je,loading:C||fe||F.current,failed:$e})&&he()};return ae.addEventListener("scroll",we),()=>{ae.removeEventListener("scroll",we),R.current&&clearTimeout(R.current)}},[D,je,$e,C,fe,he]),g.useLayoutEffect(()=>{var Ne;if(!xe)return;if(C){if(ne.current||ee.current||e.length>0)return;ne.current=!0,ee.current=!1,K.current=!1,oe(!1);return}if(!ne.current||ee.current||V.current)return;if(ee.current=!0,e.length===0){K.current=!0,oe(!0);return}(Ne=Q.current)==null||Ne.call(Q);let ae=0,we=0,Ae=0,He=-1;const Ve=D.current,Ke=typeof ResizeObserver<"u"&&Ve?new ResizeObserver(()=>{Ae=0}):null;Ke&&Ve&&Ke.observe(Ve);const at=()=>{const Ue=D.current;if(!Ue){K.current=!0,oe(!0);return}Ue.scrollLeft=0,Ue.scrollTop=Ue.scrollHeight;const Ee=Ue.scrollHeight;if(Ae=Ee===He?Ae+1:0,He=Ee,we+=1,Ae>=3||we>=30){Ue.scrollTop=Ue.scrollHeight,Ke==null||Ke.disconnect(),Q.current=null,K.current=!0,oe(!0);return}ae=requestAnimationFrame(at)};return ae=requestAnimationFrame(at),Q.current=()=>{cancelAnimationFrame(ae),Ke==null||Ke.disconnect()},()=>{var Ue;(Ue=Q.current)==null||Ue.call(Q),Q.current=null}},[D,xe,C,e.length]),g.useEffect(()=>{if(xe||e.length===0){e.length===0&&(K.current=!1);return}if(V.current||C||K.current)return;K.current=!0;const ae=requestAnimationFrame(()=>pe("auto"));return()=>cancelAnimationFrame(ae)},[xe,C,e.length,pe]);const se=!!(xe&&!fe&&(C&&e.length===0||!ie));return w.jsx(xLe.Provider,{value:{onExecutePlaybook:v,onFillPlaybookParams:y,getPlaybookDetail:p,uploadFile:l,ossUploadUrl:k,auth:O},children:w.jsxs("div",{className:`wandox-chat-messages${N?` ${N}`:""}`,ref:D,children:[e.length===0&&!se&&(C?T??I:I),se&&w.jsx("div",{className:"wandox-chat-initial-loading-overlay","aria-live":"polite",children:T}),je&&(fe||$e)&&w.jsx("div",{className:"wandox-load-more-container",children:fe?w.jsx("output",{className:"wandox-load-more-loading wandox-load-more-status","aria-live":"polite",children:M0(h,"loading")}):w.jsx("button",{type:"button",className:"wandox-load-more-btn",onClick:()=>{he()},disabled:C,children:M0(h,"loadMore")})}),e.map((ae,we)=>{var Ue;const Ae=we===e.length-1,He=`${ae.role}:${ae.id}`,Ve=ae.message_id||ae.id,Ke=zLe(ae),at=Array.isArray(ae.outputs),Ne=LWt(ae.outputs,ae.process,DWt(ae));return w.jsxs(YWt,{messageId:Ve,dataIndex:we,role:ae.role,containerRef:D,forceRender:we>=e.length-3,className:`wandox-message ${ae.role}${ae.role==="user"&&ae.proposal?" wandox-message--proposal":""}`,children:[ae.role==="user"&&ae.proposal&&ae.content&&w.jsx("div",{className:"wandox-message-content wandox-message-content--user-text",children:ae.content}),w.jsxs("div",{className:"wandox-message-content",children:[ae.role==="assistant"&&ae.retrigger_status==="executing"&&!ae.process&&w.jsxs("output",{className:"wandox-retrigger-state wandox-retrigger-state--loading","aria-live":"polite",children:[w.jsxs("span",{className:"wandox-retrigger-loader","aria-hidden":"true",children:[w.jsx("span",{}),w.jsx("span",{}),w.jsx("span",{})]}),w.jsxs("span",{className:"wandox-retrigger-state__copy",children:[w.jsx("strong",{children:"正在重新生成"}),w.jsx("span",{children:"正在重新分析并整理结果"})]})]}),ae.role==="assistant"&&ae.retrigger_status==="failed"&&!ae.process&&w.jsxs("div",{className:"wandox-retrigger-state wandox-retrigger-state--failed",role:"alert",children:[w.jsx("span",{className:"wandox-retrigger-error-icon","aria-hidden":"true"}),w.jsxs("span",{className:"wandox-retrigger-state__copy",children:[w.jsx("strong",{children:"重新生成失败"}),w.jsx("span",{children:ae.retrigger_error||"服务暂时无法完成请求,请稍后重试"})]})]}),ae.role==="user"&&ae.proposal?w.jsx(wve,{proposal:ae.proposal,disabled:!0,proposalStatus:ae.proposal_status,initialFilledParams:(Ue=ae.meta_content)==null?void 0:Ue.filled_params,onConfirm:()=>{},onReject:()=>{}}):ae.role==="user"&&w.jsxs(w.Fragment,{children:[ae.content,ae.attachments&&ae.attachments.length>0&&w.jsx("div",{className:"wandox-message-attachments",children:ae.attachments.map(Ee=>Ee.type==="image"?w.jsx("div",{className:"wandox-message-attachment-image-wrapper",children:w.jsx(gY,{src:Ee.url,alt:Ee.name||"图片",className:"wandox-message-attachment-image"})},Ee.url):w.jsxs("a",{href:Ee.url,target:"_blank",rel:"noopener noreferrer",className:"wandox-message-attachment-file",children:[w.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[w.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),w.jsx("polyline",{points:"14 2 14 8 20 8"}),w.jsx("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),w.jsx("line",{x1:"16",y1:"17",x2:"8",y2:"17"}),w.jsx("polyline",{points:"10 9 9 9 8 9"})]}),w.jsx("span",{children:Ee.name||"文件"})]},Ee.url||Ee.name))})]}),ae.role==="assistant"&&w.jsx(WWt,{process:ae.process,messageTimestamp:ae.timestamp,autoCollapseOnTerminal:m,hasOutputPayload:at}),Ne&&Ne.length>0&&w.jsx("div",{className:"wandox-outputs-container",children:Ne.map((Ee,me)=>{const de=i5(Ee.title),Ce=Ee.type==="table"&&Ae&&ae.actions&&ae.actions.length>0&&j;return w.jsxs("div",{className:"wandox-execution-result",children:[(de||Ee.step_index)&&w.jsx("div",{className:"wandox-result-title",children:de||(Ee.step_index?`Step${Ee.step_index}:${Ee.step_name||""}`:M0(h,"executionResult"))}),w.jsx("div",{className:"wandox-result-body",children:Ce?w.jsxs(w.Fragment,{children:[w.jsx(P$,{params:Ee.input_params}),w.jsx(Eve,{payload:Ee,actions:ae.actions??[],auth:O,apiBaseUrl:a,actionExecuteUrl:c,batchActionExecuteUrl:u,onExecuteAction:d,onExecuteBatchActions:f})]}):w.jsx(Pg,{payload:Ee})})]},`output-${me}-${de||Ee.step_index}`)})}),ae.ui_payload&&!at&&(()=>{var Be,Ie,We,tt,lt,ct;const Ee=ae.ui_payload,me=i5((Be=ae.ui_payload)==null?void 0:Be.title),de=i5((We=(Ie=ae.ui_payload)==null?void 0:Ie.output_data)==null?void 0:We.title),Ce=(Ee==null?void 0:Ee.type)==="table"&&Ae&&ae.actions&&ae.actions.length>0&&j;return w.jsxs("div",{className:"wandox-execution-result",children:[(me||de||((tt=ae.ui_payload)==null?void 0:tt.step_index))&&w.jsx("div",{className:"wandox-result-title",children:me||de||((lt=ae.ui_payload)!=null&<.step_index?`Step${ae.ui_payload.step_index}:${((ct=ae.ui_payload)==null?void 0:ct.step_name)||""}`:M0(h,"executionResult"))}),w.jsx("div",{className:"wandox-result-body",children:Ce?w.jsxs(w.Fragment,{children:[w.jsx(P$,{params:Ee.input_params}),w.jsx(Eve,{payload:Ee,actions:ae.actions??[],auth:O,apiBaseUrl:a,actionExecuteUrl:c,batchActionExecuteUrl:u,onExecuteAction:d,onExecuteBatchActions:f})]}):w.jsx(Pg,{payload:ae.ui_payload})})]})})(),ae.role==="assistant"&&!ae.retrigger_status&&ae.content&&(ae.content.startsWith("❌")||ae.content.startsWith("⏳")&&!Ne&&!ae.process)&&w.jsx(Pg,{payload:WR(ae.content.replace(/^❌\s*/,""))}),ae.role==="assistant"&&!ae.retrigger_status&&!Ne&&!ae.ui_payload&&!ae.proposal&&ae.content&&!Ke&&!ae.content.startsWith("❌")&&!ae.content.startsWith("⏳")&&w.jsx("div",{className:"wandox-execution-result",children:w.jsx(Pg,{payload:WR(ae.content)})}),ae.role==="assistant"&&Dve(ae).length>0&&w.jsx("div",{className:"wandox-message-artifacts",children:Dve(ae).map(Ee=>{const me=Ee.oss_url||`${(a==null?void 0:a.replace(/\/$/,""))||""}/api/v1/cognitive/artifacts/${Ee.artifact_id}/download`;return w.jsx(SLe,{href:me,onClick:Ee.oss_url?void 0:de=>{de.preventDefault(),pj(Ee.artifact_id,Ee.filename||Ee.artifact_id).catch(Ce=>{})},children:Ee.filename||Ee.artifact_id},Ee.artifact_id)})}),ae.role==="assistant"&&ae.proposal&&w.jsx(wve,{proposal:ae.proposal,disabled:t,proposalStatus:ae.proposal_status,onConfirm:(Ee,me)=>{var Ce,Be,Ie;const de=(Ce=ae.proposal)==null?void 0:Ce.options.find(We=>We.id===Ee);b==null||b({proposal_id:((Be=ae.proposal)==null?void 0:Be.proposal_id)??"",proposal_action:"confirm",selected_option_id:Ee,filled_params:me,messageId:ae.id,proposalMessage:(Ie=ae.proposal)==null?void 0:Ie.message,optionTitle:de==null?void 0:de.title})},onReject:()=>{var Ee;b==null||b({proposal_id:((Ee=ae.proposal)==null?void 0:Ee.proposal_id)??"",proposal_action:"reject",messageId:ae.id})}}),ae.role==="assistant"&&ae.actions&&ae.actions.length>0&&E&&(()=>{const Ee=ae.ui_payload;return(!!(Ne!=null&&Ne.some(de=>(de==null?void 0:de.type)==="table"))||(Ee==null?void 0:Ee.type)==="table"&&!at)&&j?null:w.jsx("div",{className:"wandox-execution-results",children:w.jsx("button",{type:"button",className:"wandox-execution-results-btn",disabled:!Ae,"aria-disabled":!Ae,title:Ae?void 0:"仅最新一条消息可执行动作",onClick:()=>{var de;Ae&&E(M0(h,"executableActions"),((de=ae.actions)==null?void 0:de.map(Ce=>({action_id:Ce.action_id,playbook_id:Ce.playbook_id,label:Ce.display_name||"执行",params:Ce.params,params_fields_map:Ce.params_fields_map,status:Ce.status,supports_batch:Ce.supports_batch,batch_max_items:Ce.batch_max_items,batch_id:Ce.batch_id,outputs:Ce.outputs})))||[])},children:w.jsxs("div",{className:"wandox-execution-results-content",children:[w.jsxs("div",{className:"wandox-execution-results-text",children:[M0(h,"executableActions")," (",ae.actions.length,")"]}),w.jsx("div",{className:"wandox-execution-results-arrow",children:w.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-label":"箭头",role:"img",children:w.jsx("polyline",{points:"9 18 15 12 9 6"})})})]})})})})(),A==null?void 0:A(ae,Ae)]})]},He)}),t&&!Oe&&!Fe&&w.jsx("div",{className:"wandox-message assistant",children:w.jsx("div",{className:"wandox-message-content",children:w.jsx("div",{className:"wandox-typing-indicator",children:w.jsx("span",{className:"wandox-typing-dot"})})})}),w.jsx("div",{ref:H})]})})}function BLe(e){const t=_r(),n=g.useCallback(async r=>{const{data:i}=await aS({playbook_id:r});return i},[]);return w.jsx(xJ,{apiBaseUrl:t,getPlaybookDetail:n,...e})}function XWt(e){var r;const t=e.outputs,n=e.ui_payload;return!!((t==null?void 0:t.type)==="table"||(n==null?void 0:n.type)==="table"||Array.isArray(e.outputs)&&e.outputs.some(i=>(i==null?void 0:i.type)==="table")||((r=e.meta_content)==null?void 0:r.output_type)==="table")}function ZWt(e,t){const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)}function wJ(e){var t;return(t=e.meta_content)!=null&&t.playbook_id?"数据报表":"对话内容"}function FLe(){return new Date().toISOString().slice(0,10)}async function QWt(e){const t=e.message_id||e.id;if(t)try{await VLe(String(t),"pdf",wJ(e));return}catch{}JWt(e)}function JWt(e){const t=`${wJ(e)}_${FLe()}`,n=document.querySelector(`[data-message-id="${e.message_id||e.id}"] .wandox-message-content`);if(!n){zt.warning("无法定位消息内容");return}const r=window.open("","_blank");if(!r){zt.warning("请允许弹出窗口");return}r.document.write(`<!DOCTYPE html><html><head><meta charset="utf-8"><title>${t}</title><style>body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:20px;color:#333}table{border-collapse:collapse;width:100%}th,td{border:1px solid #d9d9d9;padding:6px 8px;font-size:13px;text-align:left}th{background:#fafafa}img{max-width:100%}pre{white-space:pre-wrap;word-break:break-all;font-size:12px;background:#f5f5f5;padding:12px;border-radius:4px}button,.ant-btn,.ant-tooltip-open{display:none!important}</style></head><body>${n.innerHTML}</body></html>`),r.document.close(),r.onload=()=>{r.print(),r.close()}}async function eGt(e){const t=e.message_id||e.id;if(t)try{await VLe(String(t),"docx",wJ(e))}catch{zt.warning("导出 Word 失败,请稍后再试")}}async function VLe(e,t,n){const r=await st({method:"GET",url:`/api/v1/agents/messages/${encodeURIComponent(e)}/export`,params:{format:t},responseType:"blob",requestType:"json"}),i=r instanceof Blob?r:r.data;if(!i)throw new Error("empty export response");const o=t==="docx"?"docx":"pdf",a=t==="docx"?"application/msword":"application/pdf";ZWt(new Blob([i],{type:i.type||a}),`${n}_${FLe()}.${o}`)}function tGt(){if(typeof window>"u")return"";const e=window.location.origin;return e.startsWith("http://localhost")||e.startsWith("http://127.0.0.1")?e:"https://ai.wandox.com"}function nGt(e){const t=e.message_id||e.id,n=new URLSearchParams;n.set("message_id",String(t));const r=localStorage.getItem("sso_token");r&&n.set("token",r);const i=localStorage.getItem("sso_domain");i&&n.set("domain",i);const o=localStorage.getItem("sso_company");return o&&n.set("company",o),`${tGt()}/result-editor/?${n.toString()}`}function rGt(e){window.open(nGt(e),"_blank","noopener,noreferrer")}function SJ(e){return(e==null?void 0:e.trim().toLowerCase())==="maiduo"}function iGt(e){const t=encodeURIComponent(String(e));return`${typeof window>"u"?"":window.location.origin}/work-lite/?execution_id=${t}`}const oGt=["回答不准确","缺少数据依据","未解决问题","内容不完整","表达不清晰","其他"],Ove={visible:!1,messageId:"",name:"",description:"",loading:!1},KG={visible:!1,messageId:"",agentId:"",playbookId:"",playbookName:""};function _J(e){var t,n,r;return(e==null?void 0:e.playbook_id)||((t=e==null?void 0:e.meta_content)==null?void 0:t.playbook_id)||((r=(n=e==null?void 0:e.actions)==null?void 0:n[0])==null?void 0:r.playbook_id)||""}function aGt(){return w.jsx("div",{className:"wandox-chat-empty-icon",children:w.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[w.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"}),w.jsx("path",{d:"M20 2v4"}),w.jsx("path",{d:"M22 4h-4"}),w.jsx("circle",{cx:"4",cy:"20",r:"2"})]})})}function HLe(){return w.jsxs("output",{className:"wandox-chat-history-loading","aria-label":"正在加载历史记录",children:[w.jsxs("div",{className:"wandox-chat-history-loading-aura","aria-hidden":"true",children:[Array.from({length:12},(e,t)=>({angle:t*30,delay:t*.08})).map(({angle:e,delay:t})=>w.jsx("span",{className:"wandox-chat-history-ray",style:{"--ray-angle":`${e}deg`,"--ray-delay":`${t}s`}},e)),w.jsx("img",{className:"wandox-loading-brand-mark",src:oS,alt:"","aria-hidden":"true"})]}),w.jsx("div",{className:"wandox-chat-history-loading-text",children:"正在加载历史记录..."})]})}function sGt({hasPlaybooks:e}){const{t}=sS();return w.jsxs("div",{className:"wandox-chat-empty",children:[w.jsx(aGt,{}),w.jsx("div",{className:"wandox-chat-empty-title",children:t("chat.startConversation")}),w.jsx("div",{className:"wandox-chat-empty-desc",children:t("chat.startConversationDesc")}),e&&w.jsxs("div",{className:"wandox-chat-empty-hint",children:[w.jsx("span",{className:"wandox-hint-icon",children:"💡"}),w.jsx("span",{children:t("chat.quickActionHint")})]})]})}function WLe({msg:e,domain:t,onSolidifyMessage:n,showSolidify:r=!0,onOpenScheduleDialog:i,onRetrigger:o,feedbackRating:a=null,feedbackPending:s=!1,onFeedback:l,extraActions:c}){var k;const{t:u}=sS(),[d,f]=g.useState(!1),[p,h]=g.useState([]),[m,v]=g.useState(""),y=g.useRef(null);if(g.useEffect(()=>{var O;d&&((O=y.current)==null||O.scrollIntoView({behavior:"smooth",block:"center"}))},[d]),e.role!=="assistant")return null;const b=e.execution_status==="executing"||e.execution_status==="stopping",x=!!e.message_id&&!b&&e.retrigger_status!=="executing"&&e.retrigger_status!=="failed",S=String(e.execution_id??"").trim(),_=!!S&&SJ(t),C=!!e.message_id&&!b&&!!l,A=O=>{h(j=>j.includes(O)?j.filter(z=>z!==O):[...j,O])},E=()=>{f(!1),l==null||l(e,1)},I=()=>{if(a===-1){f(!1),l==null||l(e,-1);return}f(!0)},T=async()=>{await(l==null?void 0:l(e,-1,{tags:p,text:m.trim()}))&&f(!1)},$=!!e.message_id&&!XWt(e)&&e.execution_status!=="failed"&&((k=e.process)==null?void 0:k.status)!=="failed",P=[{key:"edit",icon:w.jsx(Vx,{}),label:"在线编辑"},{type:"divider"},{key:"word",icon:w.jsx(zY,{}),label:"导出 Word"},{key:"pdf",icon:w.jsx(GO,{}),label:"导出 PDF"}],N=({key:O})=>{O==="edit"?rGt(e):O==="word"?eGt(e):O==="pdf"&&QWt(e)},M=async()=>{const O=e.content??"";if(!O){zt.warning("没有可复制的内容");return}try{await navigator.clipboard.writeText(O),zt.success("已复制");return}catch{}const j=document.createElement("textarea");j.value=O,j.style.position="fixed",j.style.opacity="0",document.body.appendChild(j),j.select();const z=document.execCommand("copy");document.body.removeChild(j),z?zt.success("已复制"):zt.warning("复制失败,请手动选择内容复制")};return w.jsxs("div",{className:"wandox-message-toolbar-shell",children:[w.jsxs("div",{className:"wandox-solidify-button-container",children:[e.role==="assistant"&&w.jsx(ir,{title:"复制",children:w.jsx(qt,{type:"text",icon:w.jsx(bEe,{}),"aria-label":"复制",onClick:()=>void M()})}),C&&w.jsxs(w.Fragment,{children:[w.jsx(ir,{title:"有帮助",children:w.jsx(qt,{type:"text",className:`wandox-message-feedback-button${a===1?" wandox-message-feedback-button--active":""}`,icon:a===1?w.jsx(Xht,{}):w.jsx(Jht,{}),"aria-label":"点赞","aria-pressed":a===1,disabled:s,onClick:E})}),w.jsx(ir,{title:"需改进",children:w.jsx(qt,{type:"text",className:`wandox-message-feedback-button${a===-1?" wandox-message-feedback-button--active":""}`,icon:a===-1?w.jsx(Aht,{}):w.jsx(Tht,{}),"aria-label":"点踩","aria-pressed":a===-1,"aria-expanded":d,disabled:s,onClick:I})})]}),r&&e.message_id&&n&&w.jsx(ir,{title:u("chat.solidify"),children:w.jsx(qt,{type:"text",icon:w.jsx(umt,{}),onClick:()=>e.message_id&&n(e.message_id)})}),e.message_id&&!!_J(e)&&w.jsx(ir,{title:"定时触发配置",children:w.jsx(qt,{type:"text",icon:w.jsx(pc,{}),onClick:()=>i(e.message_id||e.id)})}),_&&w.jsx(ir,{title:"场景调整",children:w.jsx(qt,{type:"text",icon:w.jsx(Vx,{}),onClick:()=>window.open(iGt(S),"_blank","noopener,noreferrer")})}),x&&o&&w.jsx(ir,{title:"重新生成",children:w.jsx(qt,{type:"text",icon:w.jsx(pmt,{}),onClick:()=>o(e)})}),$&&w.jsx(Gw,{trigger:["click"],menu:{items:P,onClick:N},children:w.jsx(ir,{title:"导出 / 在线编辑",children:w.jsx(qt,{type:"text",icon:w.jsx(fy,{}),"aria-label":"导出消息"})})}),c]}),d&&w.jsxs("section",{ref:y,className:"wandox-message-feedback-panel","aria-label":"点踩反馈",children:[w.jsxs("div",{className:"wandox-message-feedback-panel__header",children:[w.jsx("strong",{children:"哪里需要改进?"}),w.jsx(qt,{type:"text",size:"small",icon:w.jsx(ni,{}),"aria-label":"关闭反馈",onClick:()=>f(!1)})]}),w.jsx("div",{className:"wandox-message-feedback-panel__tags",children:oGt.map(O=>{const j=p.includes(O);return w.jsx("button",{type:"button",className:`wandox-message-feedback-tag${j?" wandox-message-feedback-tag--selected":""}`,"aria-pressed":j,disabled:s,onClick:()=>A(O),children:O},O)})}),w.jsx(_n.TextArea,{className:"wandox-message-feedback-panel__input",value:m,placeholder:"请补充具体问题(可选)",autoSize:{minRows:2,maxRows:4},maxLength:500,disabled:s,onChange:O=>v(O.target.value)}),w.jsx("div",{className:"wandox-message-feedback-panel__footer",children:w.jsx(qt,{type:"primary",loading:s,onClick:T,children:"提交"})})]})]})}function lGt({state:e,onChange:t,onClose:n,onSave:r}){const{t:i}=sS();return e.visible?w.jsx("div",{className:"wandox-dialog-overlay",onClick:n,onKeyDown:o=>o.key==="Escape"&&n(),"aria-hidden":"true",children:w.jsxs("dialog",{className:"wandox-dialog-content",open:!0,onClick:o=>o.stopPropagation(),onKeyDown:o=>o.stopPropagation(),children:[w.jsxs("div",{className:"wandox-dialog-header",children:[w.jsx("h3",{className:"wandox-dialog-title",children:i("chat.solidifyTitle")}),w.jsx("button",{type:"button",className:"wandox-dialog-close",onClick:n,children:w.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[w.jsx("title",{children:i("close")}),w.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),w.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),w.jsxs("div",{className:"wandox-dialog-body",children:[w.jsxs("div",{className:"wandox-form-group",children:[w.jsxs("label",{htmlFor:"playbook-name",className:"wandox-form-label",children:[i("chat.scenarioName")," ",w.jsx("span",{className:"wandox-form-required",children:"*"})]}),w.jsx("input",{id:"playbook-name",type:"text",className:"wandox-form-input",placeholder:i("chat.scenarioNamePlaceholder"),value:e.name,onChange:o=>t({name:o.target.value}),disabled:e.loading})]}),w.jsxs("div",{className:"wandox-form-group",children:[w.jsx("label",{htmlFor:"playbook-description",className:"wandox-form-label",children:i("chat.scenarioDesc")}),w.jsx("textarea",{id:"playbook-description",className:"wandox-form-textarea",placeholder:i("chat.scenarioDescPlaceholder"),rows:4,value:e.description,onChange:o=>t({description:o.target.value}),disabled:e.loading})]})]}),w.jsxs("div",{className:"wandox-dialog-footer",children:[w.jsx("button",{type:"button",className:"wandox-dialog-button wandox-dialog-button-secondary",onClick:n,disabled:e.loading,children:i("cancel")}),w.jsx("button",{type:"button",className:"wandox-dialog-button wandox-dialog-button-primary",onClick:r,disabled:e.loading,children:e.loading?i("dashboard.saving"):i("save")})]})]})}):null}function cGt(e){if(typeof e!="string")return"对话内容";const t=e.replace(/```[\s\S]*?```/g,"代码内容").replace(/[#>*_`~\[\]()]/g," ").replace(/\s+/g," ").trim();return t||"对话内容"}function GLe({messages:e,scrollContainerRef:t,mode:n="codex"}){const r=g.useMemo(()=>e.map((x,S)=>({message:x,messageIndex:S})).filter(({message:x})=>x.role==="user").map(({message:x,messageIndex:S})=>({messageIndex:S,title:cGt(x.content),content:x.content})),[e]),[i,o]=g.useState(),[a,s]=g.useState(!1),[l,c]=g.useState(),[u,d]=g.useState(),f=g.useRef(null),p=g.useRef(null),h=g.useCallback(()=>{const x=t.current;if(!x||r.length===0)return;const S=x.scrollTop+Math.min(120,x.clientHeight*.22);let _=r[0].messageIndex;for(const C of r){const A=x.querySelector(`[data-message-index="${C.messageIndex}"]`);if(!A||A.offsetTop>S)break;_=C.messageIndex}o(C=>C===_?C:_)},[r,t]);g.useEffect(()=>{const x=t.current;if(!x||r.length===0)return;let S=0;const _=()=>{cancelAnimationFrame(S),S=requestAnimationFrame(h)};return h(),x.addEventListener("scroll",_,{passive:!0}),window.addEventListener("resize",_),()=>{cancelAnimationFrame(S),x.removeEventListener("scroll",_),window.removeEventListener("resize",_)}},[r.length,t,h]),g.useEffect(()=>{if(n!=="codex")for(const x of[f.current,p.current]){if(!x)continue;const S=x.querySelector(`[data-outline-message-index="${i}"]`);if(!S)continue;const _=S.offsetTop,C=_+S.offsetHeight;_<x.scrollTop?x.scrollTo({top:_,behavior:"smooth"}):C>x.scrollTop+x.clientHeight&&x.scrollTo({top:C-x.clientHeight,behavior:"smooth"})}},[i,a,n]),g.useEffect(()=>{if(n!=="codex")return;const x=f.current;if(!x||i===void 0)return;const S=x.querySelector(`[data-outline-message-index="${i}"]`);if(!S)return;const _=S.offsetTop,C=_+S.offsetHeight;_<x.scrollTop?x.scrollTo({top:_,behavior:"smooth"}):C>x.scrollTop+x.clientHeight&&x.scrollTo({top:C-x.clientHeight,behavior:"smooth"})},[i,n]);const m=x=>{const S=t.current,_=S==null?void 0:S.querySelector(`[data-message-index="${x}"]`);!S||!_||(S.scrollTo({top:Math.max(0,_.offsetTop-24),behavior:"smooth"}),o(x))},v=(x,S)=>{const _=S.closest(".wandox-conversation-outline"),C=_==null?void 0:_.getBoundingClientRect(),A=S.getBoundingClientRect();c(x),C&&d(A.top+A.height/2-C.top)},y=()=>{c(void 0),d(void 0)};if(r.length===0)return null;if(n==="codex"){const x=r.find(_=>_.messageIndex===l),S=u??0;return w.jsxs("aside",{className:`wandox-conversation-outline wandox-conversation-outline--left${x?" wandox-conversation-outline--hovering":""}`,style:{height:`min(${r.length*22}px, calc(100% - 48px))`},"aria-label":"对话导航(左侧)",onMouseLeave:y,onBlur:_=>{_.currentTarget.contains(_.relatedTarget)||y()},children:[w.jsx("div",{className:"wandox-conversation-outline__rail",ref:f,children:r.map(_=>{const C=i===_.messageIndex,A=l===_.messageIndex;return w.jsx("button",{type:"button","data-outline-message-index":_.messageIndex,className:`wandox-conversation-outline__rail-item${C?" wandox-conversation-outline__rail-item--active":""}${A?" wandox-conversation-outline__rail-item--hovered":""}`,onClick:()=>m(_.messageIndex),onFocus:E=>v(_.messageIndex,E.currentTarget),onMouseEnter:E=>v(_.messageIndex,E.currentTarget),"aria-label":_.title,"aria-current":C?"location":void 0,children:w.jsx("span",{className:"wandox-conversation-outline__rail-marker"})},_.messageIndex)})}),x&&w.jsx("button",{type:"button",className:"wandox-conversation-outline__codex-card",style:{top:`clamp(44px, ${S}px, calc(100% - 44px))`},onClick:()=>m(x.messageIndex),children:w.jsx("span",{className:"wandox-conversation-outline__codex-summary",children:x.content})})]})}const b=`min(${r.length*22}px, 352px, calc(100% - 120px))`;return w.jsxs("aside",{className:`wandox-conversation-outline wandox-conversation-outline--right${a?" wandox-conversation-outline--open":""}`,style:{height:b},"aria-label":"对话导航(右侧)",onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onFocus:()=>s(!0),onBlur:x=>{x.currentTarget.contains(x.relatedTarget)||s(!1)},children:[w.jsx("div",{className:"wandox-conversation-outline__rail",ref:f,children:r.map(x=>{const S=i===x.messageIndex;return w.jsx("button",{type:"button","data-outline-message-index":x.messageIndex,className:`wandox-conversation-outline__rail-item${S?" wandox-conversation-outline__rail-item--active":""}`,onClick:()=>m(x.messageIndex),"aria-label":x.title,"aria-current":S?"location":void 0,children:w.jsx("span",{className:"wandox-conversation-outline__rail-marker"})},x.messageIndex)})}),a&&w.jsx("div",{className:"wandox-conversation-outline__card",children:w.jsx("div",{className:"wandox-conversation-outline__list",ref:p,children:r.map(x=>{const S=i===x.messageIndex;return w.jsxs("button",{type:"button","data-outline-message-index":x.messageIndex,className:`wandox-conversation-outline__item${S?" wandox-conversation-outline__item--active":""}`,onClick:()=>m(x.messageIndex),title:x.title,"aria-current":S?"location":void 0,children:[w.jsx("span",{className:"wandox-conversation-outline__title",children:x.title}),w.jsx("span",{className:"wandox-conversation-outline__item-marker"})]},x.messageIndex)})})})]})}function uGt(e){const{messages:t,playbooks:n,messagesTotal:r,hasMoreMessages:i,loadMoreMessages:o,loading:a,executing:s,ssoToken:l,ssoDomain:c,ssoCompany:u,activeAgent:d,headerExtra:f,onExecutePlaybook:p,onFillPlaybookParams:h,onSolidifySuccess:m,onDashboardPreview:v,onSolidifyComplete:y,onExecuteComplete:b,onRespondToProposal:x,onRetrigger:S}=e,{t:_}=sS(),[C,A]=g.useState(!1),[E,I]=g.useState([]),[T,$]=g.useState(""),[P,N]=g.useState(Ove),[M,k]=g.useState(KG),[O,j]=g.useState({}),[z,B]=g.useState(()=>new Set),D=g.useRef(null),H=g.useMemo(()=>new Map(n.map(q=>[q.playbook_id,q.name])),[n]),W=()=>{N(Ove)},L=async q=>{var X;try{const Y=await dle({message_id:q});if(Y.success){const K=((X=Y.data)==null?void 0:X.session_id)||q;v&&v({session_id:K,type:"dashboard_intent",intents:[],data:{}});try{const ne=await Cvt({session_id:K});ne.success&&ne.data?(v&&v(ne.data),y&&y(),zt.success(_("chat.previewSuccess"))):zt.error(_("chat.previewFailed"))}catch(ne){zt.error(`预览失败:${ne instanceof Error?ne.message:"未知错误"}`)}}}catch(Y){zt.error(`保存失败:${Y instanceof Error?Y.message:"未知错误"}`)}},R=async()=>{if(!P.name.trim()){zt.warning(_("chat.pleaseInputName"));return}N(q=>({...q,loading:!0}));try{const q=await dle({message_id:P.messageId});q.success?(zt.success(_("chat.solidifySuccess")),W(),m&&m()):zt.error(`${_("chat.solidifyFailed")}: ${q.message||"Unknown error"}`)}catch(q){zt.error(`${_("chat.solidifyFailed")}: ${q instanceof Error?q.message:"Unknown error"}`)}finally{N(q=>({...q,loading:!1}))}},F=q=>{var ee,Q,te,ie;const X=t.find(oe=>oe.message_id===q||oe.id===q),Y=_J(X),K=d&&d!=="default"?d:String(((ee=X==null?void 0:X.meta_content)==null?void 0:ee.agent_id)||""),ne=((te=(Q=X==null?void 0:X.actions)==null?void 0:Q.find(oe=>oe.playbook_id===Y))==null?void 0:te.display_name)||((ie=X==null?void 0:X.meta_content)==null?void 0:ie.playbook_name)||H.get(Y)||Y;if(!K){zt.warning("缺少智能体ID,无法配置定时触发");return}if(!Y){zt.warning("缺少场景ID,无法配置定时触发");return}k({visible:!0,messageId:q,agentId:K,playbookId:Y,playbookName:ne})},V=()=>{k(KG)},U=g.useCallback(q=>{const X=q.message_id;return X&&Object.prototype.hasOwnProperty.call(O,X)?O[X]:ILe(q)},[O]),G=g.useCallback(async(q,X,Y)=>{var Q;const K=q.message_id;if(!K||z.has(K))return!1;const ne=U(q),ee=PLe(ne,X);j(te=>({...te,[K]:ee})),B(te=>new Set(te).add(K));try{const te=await zTe({domain:c},{message_id:K,rating:ee,tags:(Q=Y==null?void 0:Y.tags)!=null&&Q.length?Y.tags:void 0,text:(Y==null?void 0:Y.text)||void 0});if((te==null?void 0:te.success)===!1)throw new Error(te.message||"反馈提交失败");return!0}catch(te){return j(ie=>({...ie,[K]:ne})),zt.error(te instanceof Error?te.message:"反馈提交失败,请稍后重试"),!1}finally{B(te=>{const ie=new Set(te);return ie.delete(K),ie})}},[z,U,c]);return w.jsxs("div",{className:"wandox-chat-section",children:[w.jsxs("div",{className:"wandox-chat-section__body",children:[f&&w.jsx("div",{className:"wandox-chat-section__header-extra",children:f}),w.jsx(BLe,{messages:t,executing:s,ssoToken:l,ssoDomain:c,ssoCompany:u,onExecutePlaybook:p,onFillPlaybookParams:h,onRespondToProposal:x,messagesTotal:r,hasMoreMessages:i,loadMoreMessages:o,loading:a,containerRef:D,conversationKey:d,initialLoadingContent:w.jsx(HLe,{}),onOpenActionDrawer:(q,X)=>{$(q),I(X),A(!0)},emptyContent:w.jsx(sGt,{hasPlaybooks:n.length>0}),messageToolbar:q=>w.jsx(WLe,{msg:q,domain:c,onSolidifyMessage:L,onOpenScheduleDialog:F,onRetrigger:S,feedbackRating:U(q),feedbackPending:!!q.message_id&&z.has(q.message_id),onFeedback:G})}),w.jsx(GLe,{messages:t,scrollContainerRef:D,mode:"deepseek"})]}),l&&c&&u&&w.jsx(NLe,{open:C,title:T,actions:E,ssoToken:l,ssoDomain:c,ssoCompany:u,onClose:()=>A(!1),onExecuteComplete:b}),w.jsx(lGt,{state:P,onChange:q=>N(X=>({...X,...q})),onClose:W,onSave:R}),w.jsx(RLe,{open:M.visible,agentId:M.agentId,playbookId:M.playbookId,playbookName:M.playbookName,onClose:V})]})}function dGt({token:e,domain:t,tenantId:n,agentId:r="",limit:i=5,enabled:o=!0}){const[a,s]=g.useState(""),[l,c]=g.useState([]),[u,d]=g.useState(!1),f=g.useRef(null),p=g.useRef(null),h=g.useCallback(()=>{var v;p.current&&window.clearTimeout(p.current),(v=f.current)==null||v.abort(),s(""),c([]),d(!1)},[]),m=g.useCallback(v=>{const y=v.trim();if(!o||!e||!t||!y){h();return}p.current&&window.clearTimeout(p.current),p.current=window.setTimeout(async()=>{var x,S,_;(x=f.current)==null||x.abort();const b=new AbortController;f.current=b,d(!0);try{const C=new URLSearchParams({q:y,agent_id:r,limit:String(i)}),A=await fetch(`${_r()}/api/v1/agents/autocomplete?${C.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${e}`,"x-domain":t,...n?{"x-tenant-id":n}:{}},signal:b.signal});if(!A.ok)throw new Error(`HTTP ${A.status}`);const E=await A.json();s(((S=E==null?void 0:E.data)==null?void 0:S.rewritten_question)||""),c(Array.isArray((_=E==null?void 0:E.data)==null?void 0:_.questions)?E.data.questions:[])}catch(C){C.name!=="AbortError"&&(s(""),c([]))}finally{b.signal.aborted||d(!1)}},250)},[r,h,t,o,i,n,e]);return g.useEffect(()=>h,[h]),{rewrittenQuestion:a,questions:l,loading:u,search:m,clear:h}}const fGt={},Lve=e=>{let t;const n=new Set,r=(u,d)=>{const f=typeof u=="function"?u(t):u;if(!Object.is(f,t)){const p=t;t=d??(typeof f!="object"||f===null)?f:Object.assign({},t,f),n.forEach(h=>h(t,p))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{n.clear()}},c=t=e(r,i,l);return l},pGt=e=>e?Lve(e):Lve;var ULe={exports:{}},qLe={},KLe={exports:{}},YLe={};/**
|
|
754
754
|
* @license React
|
|
755
755
|
* use-sync-external-store-shim.production.js
|
|
756
756
|
*
|
|
@@ -766,11 +766,11 @@ $3`).replace(/(\*\*[^*\n]+:\*\*)-/g,`$1
|
|
|
766
766
|
*
|
|
767
767
|
* This source code is licensed under the MIT license found in the
|
|
768
768
|
* LICENSE file in the root directory of this source tree.
|
|
769
|
-
*/var hj=g,CGt=_Gt;function AGt(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var $Gt=typeof Object.is=="function"?Object.is:AGt,EGt=CGt.useSyncExternalStore,TGt=hj.useRef,IGt=hj.useEffect,PGt=hj.useMemo,NGt=hj.useDebugValue;qLe.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=TGt(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=PGt(function(){function l(p){if(!c){if(c=!0,u=p,p=r(p),i!==void 0&&a.hasValue){var h=a.value;if(i(h,p))return d=h}return d=p}if(h=d,$Gt(u,p))return h;var m=r(p);return i!==void 0&&i(h,m)?(u=p,h):(u=p,d=m)}var c=!1,u,d,f=n===void 0?null:n;return[function(){return l(t())},f===null?void 0:function(){return l(f())}]},[t,n,r,i]);var s=EGt(e,o[0],o[1]);return IGt(function(){a.hasValue=!0,a.value=s},[s]),NGt(s),s};ULe.exports=qLe;var kGt=ULe.exports;const MGt=Go(kGt),XLe={},{useDebugValue:RGt}=ge,{useSyncExternalStoreWithSelector:DGt}=MGt;let jve=!1;const OGt=e=>e;function LGt(e,t=OGt,n){(XLe?"production":void 0)!=="production"&&n&&!jve&&(jve=!0);const r=DGt(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return RGt(r),r}const zve=e=>{const t=typeof e=="function"?pGt(e):e,n=(r,i)=>LGt(t,r,i);return Object.assign(n,t),n},ZLe=e=>e?zve(e):zve,QLe=ZLe((e,t)=>({allQuestions:[],currentQuestion:"",setAllQuestions:n=>e({allQuestions:n}),setCurrentQuestion:n=>e({currentQuestion:n}),getRandomQuestion:()=>{const{allQuestions:n}=t();if(n.length===0)return"";const r=Math.floor(Math.random()*n.length),i=n[r];return e({currentQuestion:i}),i}}));function CJ({playbook:e,onClose:t}){const[n,r]=g.useState(""),[i,o]=g.useState(!1);return g.useEffect(()=>{if(!e){r(""),o(!1);return}let a=!0;const s=e.video_url||"";return r(""),o(!0),_vt({playbook_id:e.playbook_id}).then(l=>{var c;a&&r(((c=l.data)==null?void 0:c.video_url)||s)}).catch(()=>{a&&(r(s),s||zt.error("视频加载失败"))}).finally(()=>{a&&o(!1)}),()=>{a=!1}},[e]),e?w.jsx(ri,{open:!0,onCancel:t,footer:null,centered:!0,width:800,title:w.jsxs("span",{children:[w.jsx(Qw,{style:{marginRight:8,color:"#7c3aed"}}),e.name," · 演示视频",e.video_duration&&w.jsxs("span",{className:"wandox-playbook-video-meta",children:["时长 ",Math.floor(e.video_duration/60),":",String(e.video_duration%60).padStart(2,"0")]}),e.view_count!==void 0&&w.jsxs("span",{className:"wandox-playbook-video-meta",children:[e.view_count," 次播放"]})]}),styles:{body:{padding:"12px 0 0"}},zIndex:10001,children:i?w.jsx("div",{className:"wandox-playbook-video-loading",children:w.jsx(Ju.Node,{active:!0,style:{width:200,height:200}})}):n?w.jsx("video",{src:n,controls:!0,autoPlay:!0,className:"wandox-playbook-video-player",children:w.jsx("track",{kind:"captions"})}):w.jsx("div",{className:"wandox-playbook-video-empty",children:w.jsx(os,{description:"视频地址不可用"})})}):null}function JLe(){return w.jsx("output",{className:"wandox-heartbeat-loader","aria-label":"加载中",children:w.jsx("svg",{width:"48",height:"24",viewBox:"0 0 48 24",fill:"none",children:w.jsx("path",{d:"M0 12 L8 12 L10 8 L12 16 L14 4 L16 12 L20 12 L22 10 L24 14 L26 10 L28 12 L48 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})})})}function Wl(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function AJ(e){return Wl(e)?Wl(e.data)?e.data:e:{}}function a5(e){if(Wl(e))return e;if(!(typeof e!="string"||!e.trim()))try{const t=JSON.parse(e);return Wl(t)?t:void 0}catch{return}}function jGt(e){if(!Array.isArray(e))return{};const t={};for(const n of e){if(!Wl(n))continue;const r=String(n.name||n.key||"").trim();if(!r)continue;const i=[n.value,n.current_value,n.last_value,n.filled_value,n.default].find(o=>o!=null);i!==void 0&&(t[r]=i)}return t}const zGt=["input_data","playbook_params","params","input","inputData","inputValues","input_values","playbookParams","last_input_data","last_params","latest_input_data","execution_params"],Bve=["data","execution","job","playbook","latest_execution","last_execution","recent_execution","latest_job","last_job","record","result","payload","body"];function BGt(e){const t=(i,o,a)=>{if(o>4||a.has(i))return{};a.add(i);const s=a5(i);if(!s)return{};for(const l of zGt){const c=a5(s[l]);if(c&&Object.keys(c).length>0)return c}for(const l of Bve){const c=t(s[l],o+1,a);if(Object.keys(c).length>0)return c}return{}},n=(i,o,a)=>{if(o>4||a.has(i))return{};a.add(i);const s=a5(i);if(!s)return{};for(const l of["input_fields","input_params","fields"]){const c=jGt(s[l]);if(Object.keys(c).length>0)return c}if(Wl(s.default_params))return s.default_params;for(const l of Bve){const c=n(s[l],o+1,a);if(Object.keys(c).length>0)return c}return{}},r=t(e,0,new Set);return Object.keys(r).length>0?r:n(e,0,new Set)}function Fve(e){return(Array.isArray(e)?e.map(n=>[void 0,n]):Wl(e)?Object.entries(e):[]).flatMap(([n,r])=>{if(!Wl(r))return[];const i=String(r.name||n||"").trim();return i?[{...r,name:i,label:String(r.label||i),type:String(r.type||"string")}]:[]})}function eje(e){const t=AJ(e),r=(Wl(t.content)?t.content:{}).yaml_content;if(!(typeof r!="string"||!r.trim()))try{const i=kE.parse(r);return Wl(i)?i:void 0}catch{return}}function Vve(e){return e==null?void 0:String(e).trim()||void 0}function FGt(e){const t=eje(e),n=Array.isArray(t==null?void 0:t.steps)?t.steps:[],r=n.map((o,a)=>{const s=Wl(o)?o:{},l=Vve(s.step_id??s.id),c=Array.from(new Set([s.step_name,s.name,s.skill_name,s.skill,s.title].map(Vve).filter(u=>!!u)));return{yamlIndex:a,stepNumber:a+1,...l?{stepId:l}:{},stepNames:c,finalResultEnabled:s.final_result_enabled===!0}}),i=r.filter(o=>o.finalResultEnabled);return{totalSteps:n.length,allSteps:r,steps:i}}function VGt(e,t){const n=new Map(t.filter(r=>r.default!==void 0&&r.default!=="").map(r=>[r.name,r.default]));return n.size===0?e:e.map(r=>r.default!==void 0&&r.default!==""||!n.has(r.name)?r:{...r,default:n.get(r.name)})}function tje(e){const t=AJ(e),n=Wl(t.content)?t.content:{},r=[t.input_fields,n.input_fields].map(Fve).find(a=>a.length>0)??[],i=eje(t),o=Fve(i==null?void 0:i.params);return o.length>0?VGt(o,r):r}function $J(e,t){const n=AJ(t),r=tje(n);return{...e,...n,playbook_id:String(n.playbook_id||e.playbook_id),name:String(n.name||e.name),input_fields:r}}function HGt({open:e,rewrittenQuestion:t,questions:n,loading:r,onSelectQuestion:i,onSelectRewrite:o,placement:a="bottom"}){return!e||!r&&!t&&n.length===0?null:w.jsxs("div",{className:`wandox-question-autocomplete wandox-question-autocomplete--${a}`,children:[t&&w.jsxs("button",{type:"button",className:"wandox-question-autocomplete-rewrite",onMouseDown:s=>s.preventDefault(),onClick:()=>o==null?void 0:o(t),children:[w.jsx("span",{children:"补全问题"}),w.jsx("strong",{children:t})]}),n.length>0&&w.jsx("div",{className:"wandox-question-autocomplete-list",children:n.map(s=>w.jsxs("button",{type:"button",className:"wandox-question-autocomplete-item",onMouseDown:l=>l.preventDefault(),onClick:()=>i(s),children:[w.jsx("span",{children:s.title}),typeof s.score=="number"&&w.jsxs("em",{children:[Math.round(s.score*100),"%"]})]},s.qa_id||s.title))}),r&&n.length===0&&!t&&w.jsx("div",{className:"wandox-question-autocomplete-loading",children:"正在补全..."})]})}const{TextArea:WGt}=_n,Hve=[];function EJ(e){const{t}=sS(),{currentQuestion:n}=QLe(),{executing:r,stopping:i=!1,onStop:o,onSend:a,placeholder:s,playbooks:l=Hve,recommendations:c=Hve,value:u,onValueChange:d,selectedPlaybook:f,onSelectedPlaybookChange:p,onRequestPlaybookParams:h,ssoToken:m,ssoDomain:v,ssoCompany:y,leadingActions:b,hideUploadButton:x=!1,uploadButtonAsLeading:S=!1,uploadButtonLabel:_,mentionTriggerChar:C="@",mentionListRequest:A,onMentionListRequestHandled:E,autoFocusInput:I=!0}=e,[T,$]=g.useState(""),P=u!==void 0?u:T,N=g.useRef(P);N.current=P;const M=g.useCallback(De=>{d?d(De):$(De),De.trim()||(p?p(null):he(null))},[d,p]),k=g.useRef(null),O=g.useRef(null),[j,z]=g.useState(!1),[B,D]=g.useState(!0),[H,W]=g.useState([]),[L,R]=g.useState(!1),F=g.useRef(null),V=g.useRef(0),U=()=>{var De;n&&(M(n),D(!1),(De=k.current)==null||De.focus())},G=De=>{(De.key==="Enter"||De.key===" ")&&(De.preventDefault(),U())};g.useEffect(()=>{D(!P.trim()&&H.length===0)},[P,H.length]);const[q,X]=g.useState(!1),[Y,K]=g.useState(""),[ne,ee]=g.useState(-1),[Q,te]=g.useState([]),[ie,oe]=g.useState(0),[fe,ye]=g.useState(""),[$e,be]=g.useState(null),[je,Oe]=g.useState(!1),[Fe,xe]=g.useState(!1),[ue,pe]=g.useState(null),Se=g.useRef(""),Pe=g.useRef(0),_e=fe!=="",Te=`wandox-mention-list${C==="/"?" wandox-mention-list--slash":""}`,[ve,he]=g.useState(null),Z=f!==void 0?f:ve,se=De=>{p?p(De):he(De)},ce=g.useMemo(()=>{const De=new Map;for(const et of[...c,...l])De.set(et.playbook_id||et.code||et.name,et);return Array.from(De.values())},[l,c]),ae=$e??ce,we=g.useMemo(()=>JSON.stringify(ae),[ae]),Ae=g.useMemo(()=>JSON.stringify([P,we,y,v,m]),[P,we,y,v,m]),He=g.useRef(Ae),Ve=g.useRef("");He.current=Ae;const Ke=dGt({token:m,domain:v,tenantId:y,limit:5,enabled:!q&&!Z});g.useEffect(()=>{if(!I)return;const De=setTimeout(()=>{var et;(et=k.current)==null||et.focus()},100);return()=>clearTimeout(De)},[I]),g.useEffect(()=>{if(!r){if(!I)return;const De=setTimeout(()=>{var et;(et=k.current)==null||et.focus()},100);return()=>clearTimeout(De)}},[r,I]),g.useEffect(()=>{if(!q)return;const De=Y.toLowerCase(),et=ae.filter(rt=>{var dt;return rt.name.toLowerCase().includes(De)||((dt=rt.code)==null?void 0:dt.toLowerCase().includes(De))});te(et),oe(0)},[Y,ae,q]),g.useEffect(()=>{var De;A!=null&&A.requestId&&(be(A.playbooks),xe(!!A.loading),Oe(!0),ee(N.current.length),K(""),oe(0),X(!0),(De=k.current)==null||De.focus(),E==null||E(A.requestId))},[A,E]),g.useEffect(()=>{if(!j||r||_e||q||H.length>0||Z){Ke.clear();return}Ke.search(P)},[j,Ke.search,Ke.clear,r,P,H.length,_e,Z,q]),g.useEffect(()=>{const De=et=>{var dt,Nt;const rt=(Nt=(dt=k.current)==null?void 0:dt.resizableTextArea)==null?void 0:Nt.textArea;O.current&&!O.current.contains(et.target)&&rt&&!rt.contains(et.target)&&X(!1)};return document.addEventListener("mousedown",De),()=>document.removeEventListener("mousedown",De)},[]),g.useEffect(()=>{!Se.current||Ve.current===Ae||(Pe.current+=1,Se.current="",Ve.current="",ye(""))},[Ae]),g.useEffect(()=>()=>{Pe.current+=1,Se.current="",Ve.current=""},[]);const at=S,Ne=g.useMemo(()=>["image/png","image/jpeg","image/jpg","image/gif","image/webp","image/bmp"],[]),Ue=g.useMemo(()=>at?"image/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.csv,.zip":"image/png,image/jpeg,image/jpg,image/gif,image/webp,image/bmp",[at]),Ee=10*1024*1024,me=g.useCallback(De=>De.size>Ee?`文件过大: ${(De.size/1024/1024).toFixed(1)}MB,最大支持 10MB`:!at&&!Ne.includes(De.type)?`不支持的文件类型: ${De.type}`:null,[Ne,at]),de=g.useCallback(De=>{if(!De)return;const et=[];for(const rt of Array.from(De)){const dt=me(rt);if(dt){Promise.resolve().then(()=>require("./index-C01lBhHB.cjs")).then(({message:Nt})=>Nt.error(dt));continue}et.push({id:`file_${Date.now()}_${Math.random().toString(36).slice(2)}`,file:rt,previewUrl:rt.type.startsWith("image/")?URL.createObjectURL(rt):"",uploading:!1})}et.length>0&&W(rt=>[...rt,...et].slice(0,5))},[me]),Ce=De=>{W(et=>{const rt=et.find(dt=>dt.id===De);return rt&&URL.revokeObjectURL(rt.previewUrl),et.filter(dt=>dt.id!==De)})},Be=async()=>{var et;if(H.length===0)return[];if(!m||!v||!y)return Promise.resolve().then(()=>require("./index-C01lBhHB.cjs")).then(({message:rt})=>rt.warning("请先登录后再上传图片")),[];const De=[];for(const rt of H)try{const dt=new FormData;dt.append("file",rt.file);const kt=await(await fetch(`${_r()}/api/v1/oss/upload2`,{method:"POST",headers:{Authorization:`Bearer ${m}`,"x-domain":v,"x-tenant-id":y},body:dt})).json();if(kt.success&&((et=kt.data)!=null&&et.url))De.push({type:rt.file.type.startsWith("image/")?"image":"file",url:kt.data.url,name:kt.data.name||rt.file.name,mime_type:rt.file.type});else throw new Error(kt.message||"上传失败")}catch{Promise.resolve().then(()=>require("./index-C01lBhHB.cjs")).then(({message:Nt})=>Nt.error(`图片上传失败: ${rt.file.name}`))}return De},Ie=g.useCallback(De=>{De.preventDefault(),De.stopPropagation(),V.current+=1,De.dataTransfer.types.includes("Files")&&R(!0)},[]),We=g.useCallback(De=>{De.preventDefault(),De.stopPropagation(),V.current-=1,V.current===0&&R(!1)},[]),tt=g.useCallback(De=>{De.preventDefault(),De.stopPropagation()},[]),lt=g.useCallback(De=>{De.preventDefault(),De.stopPropagation(),V.current=0,R(!1),de(De.dataTransfer.files)},[de]),ct=g.useCallback(De=>{var dt;const et=(dt=De.clipboardData)==null?void 0:dt.items;if(!et)return;const rt=[];for(const Nt of Array.from(et))if(Nt.type.startsWith("image/")){const kt=Nt.getAsFile();kt&&rt.push(kt)}if(rt.length>0){De.preventDefault();const Nt=new DataTransfer;for(const kt of rt)Nt.items.add(kt);de(Nt.files)}},[de]),Ht=()=>{var De;(De=F.current)==null||De.click()},Me=De=>{de(De.target.files),De.target.value=""},Re=De=>{const et=De.target.value,rt=De.target.selectionStart||0;M(et),be(null),xe(!1),Oe(!1);const dt=et.slice(0,rt),Nt=dt.lastIndexOf(`
|
|
769
|
+
*/var hj=g,CGt=_Gt;function AGt(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var $Gt=typeof Object.is=="function"?Object.is:AGt,EGt=CGt.useSyncExternalStore,TGt=hj.useRef,IGt=hj.useEffect,PGt=hj.useMemo,NGt=hj.useDebugValue;qLe.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=TGt(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=PGt(function(){function l(p){if(!c){if(c=!0,u=p,p=r(p),i!==void 0&&a.hasValue){var h=a.value;if(i(h,p))return d=h}return d=p}if(h=d,$Gt(u,p))return h;var m=r(p);return i!==void 0&&i(h,m)?(u=p,h):(u=p,d=m)}var c=!1,u,d,f=n===void 0?null:n;return[function(){return l(t())},f===null?void 0:function(){return l(f())}]},[t,n,r,i]);var s=EGt(e,o[0],o[1]);return IGt(function(){a.hasValue=!0,a.value=s},[s]),NGt(s),s};ULe.exports=qLe;var kGt=ULe.exports;const MGt=Go(kGt),XLe={},{useDebugValue:RGt}=ge,{useSyncExternalStoreWithSelector:DGt}=MGt;let jve=!1;const OGt=e=>e;function LGt(e,t=OGt,n){(XLe?"production":void 0)!=="production"&&n&&!jve&&(jve=!0);const r=DGt(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return RGt(r),r}const zve=e=>{const t=typeof e=="function"?pGt(e):e,n=(r,i)=>LGt(t,r,i);return Object.assign(n,t),n},ZLe=e=>e?zve(e):zve,QLe=ZLe((e,t)=>({allQuestions:[],currentQuestion:"",setAllQuestions:n=>e({allQuestions:n}),setCurrentQuestion:n=>e({currentQuestion:n}),getRandomQuestion:()=>{const{allQuestions:n}=t();if(n.length===0)return"";const r=Math.floor(Math.random()*n.length),i=n[r];return e({currentQuestion:i}),i}}));function CJ({playbook:e,onClose:t}){const[n,r]=g.useState(""),[i,o]=g.useState(!1);return g.useEffect(()=>{if(!e){r(""),o(!1);return}let a=!0;const s=e.video_url||"";return r(""),o(!0),_vt({playbook_id:e.playbook_id}).then(l=>{var c;a&&r(((c=l.data)==null?void 0:c.video_url)||s)}).catch(()=>{a&&(r(s),s||zt.error("视频加载失败"))}).finally(()=>{a&&o(!1)}),()=>{a=!1}},[e]),e?w.jsx(ri,{open:!0,onCancel:t,footer:null,centered:!0,width:800,title:w.jsxs("span",{children:[w.jsx(Qw,{style:{marginRight:8,color:"#7c3aed"}}),e.name," · 演示视频",e.video_duration&&w.jsxs("span",{className:"wandox-playbook-video-meta",children:["时长 ",Math.floor(e.video_duration/60),":",String(e.video_duration%60).padStart(2,"0")]}),e.view_count!==void 0&&w.jsxs("span",{className:"wandox-playbook-video-meta",children:[e.view_count," 次播放"]})]}),styles:{body:{padding:"12px 0 0"}},zIndex:10001,children:i?w.jsx("div",{className:"wandox-playbook-video-loading",children:w.jsx(Ju.Node,{active:!0,style:{width:200,height:200}})}):n?w.jsx("video",{src:n,controls:!0,autoPlay:!0,className:"wandox-playbook-video-player",children:w.jsx("track",{kind:"captions"})}):w.jsx("div",{className:"wandox-playbook-video-empty",children:w.jsx(os,{description:"视频地址不可用"})})}):null}function JLe(){return w.jsx("output",{className:"wandox-heartbeat-loader","aria-label":"加载中",children:w.jsx("svg",{width:"48",height:"24",viewBox:"0 0 48 24",fill:"none",children:w.jsx("path",{d:"M0 12 L8 12 L10 8 L12 16 L14 4 L16 12 L20 12 L22 10 L24 14 L26 10 L28 12 L48 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})})})}function Wl(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function AJ(e){return Wl(e)?Wl(e.data)?e.data:e:{}}function a5(e){if(Wl(e))return e;if(!(typeof e!="string"||!e.trim()))try{const t=JSON.parse(e);return Wl(t)?t:void 0}catch{return}}function jGt(e){if(!Array.isArray(e))return{};const t={};for(const n of e){if(!Wl(n))continue;const r=String(n.name||n.key||"").trim();if(!r)continue;const i=[n.value,n.current_value,n.last_value,n.filled_value,n.default].find(o=>o!=null);i!==void 0&&(t[r]=i)}return t}const zGt=["input_data","playbook_params","params","input","inputData","inputValues","input_values","playbookParams","last_input_data","last_params","latest_input_data","execution_params"],Bve=["data","execution","job","playbook","latest_execution","last_execution","recent_execution","latest_job","last_job","record","result","payload","body"];function BGt(e){const t=(i,o,a)=>{if(o>4||a.has(i))return{};a.add(i);const s=a5(i);if(!s)return{};for(const l of zGt){const c=a5(s[l]);if(c&&Object.keys(c).length>0)return c}for(const l of Bve){const c=t(s[l],o+1,a);if(Object.keys(c).length>0)return c}return{}},n=(i,o,a)=>{if(o>4||a.has(i))return{};a.add(i);const s=a5(i);if(!s)return{};for(const l of["input_fields","input_params","fields"]){const c=jGt(s[l]);if(Object.keys(c).length>0)return c}if(Wl(s.default_params))return s.default_params;for(const l of Bve){const c=n(s[l],o+1,a);if(Object.keys(c).length>0)return c}return{}},r=t(e,0,new Set);return Object.keys(r).length>0?r:n(e,0,new Set)}function Fve(e){return(Array.isArray(e)?e.map(n=>[void 0,n]):Wl(e)?Object.entries(e):[]).flatMap(([n,r])=>{if(!Wl(r))return[];const i=String(r.name||n||"").trim();return i?[{...r,name:i,label:String(r.label||i),type:String(r.type||"string")}]:[]})}function eje(e){const t=AJ(e),r=(Wl(t.content)?t.content:{}).yaml_content;if(!(typeof r!="string"||!r.trim()))try{const i=kE.parse(r);return Wl(i)?i:void 0}catch{return}}function Vve(e){return e==null?void 0:String(e).trim()||void 0}function FGt(e){const t=eje(e),n=Array.isArray(t==null?void 0:t.steps)?t.steps:[],r=n.map((o,a)=>{const s=Wl(o)?o:{},l=Vve(s.step_id??s.id),c=Array.from(new Set([s.step_name,s.name,s.skill_name,s.skill,s.title].map(Vve).filter(u=>!!u)));return{yamlIndex:a,stepNumber:a+1,...l?{stepId:l}:{},stepNames:c,finalResultEnabled:s.final_result_enabled===!0}}),i=r.filter(o=>o.finalResultEnabled);return{totalSteps:n.length,allSteps:r,steps:i}}function VGt(e,t){const n=new Map(t.filter(r=>r.default!==void 0&&r.default!=="").map(r=>[r.name,r.default]));return n.size===0?e:e.map(r=>r.default!==void 0&&r.default!==""||!n.has(r.name)?r:{...r,default:n.get(r.name)})}function tje(e){const t=AJ(e),n=Wl(t.content)?t.content:{},r=[t.input_fields,n.input_fields].map(Fve).find(a=>a.length>0)??[],i=eje(t),o=Fve(i==null?void 0:i.params);return o.length>0?VGt(o,r):r}function $J(e,t){const n=AJ(t),r=tje(n);return{...e,...n,playbook_id:String(n.playbook_id||e.playbook_id),name:String(n.name||e.name),input_fields:r}}function HGt({open:e,rewrittenQuestion:t,questions:n,loading:r,onSelectQuestion:i,onSelectRewrite:o,placement:a="bottom"}){return!e||!r&&!t&&n.length===0?null:w.jsxs("div",{className:`wandox-question-autocomplete wandox-question-autocomplete--${a}`,children:[t&&w.jsxs("button",{type:"button",className:"wandox-question-autocomplete-rewrite",onMouseDown:s=>s.preventDefault(),onClick:()=>o==null?void 0:o(t),children:[w.jsx("span",{children:"补全问题"}),w.jsx("strong",{children:t})]}),n.length>0&&w.jsx("div",{className:"wandox-question-autocomplete-list",children:n.map(s=>w.jsxs("button",{type:"button",className:"wandox-question-autocomplete-item",onMouseDown:l=>l.preventDefault(),onClick:()=>i(s),children:[w.jsx("span",{children:s.title}),typeof s.score=="number"&&w.jsxs("em",{children:[Math.round(s.score*100),"%"]})]},s.qa_id||s.title))}),r&&n.length===0&&!t&&w.jsx("div",{className:"wandox-question-autocomplete-loading",children:"正在补全..."})]})}const{TextArea:WGt}=_n,Hve=[];function EJ(e){const{t}=sS(),{currentQuestion:n}=QLe(),{executing:r,stopping:i=!1,onStop:o,onSend:a,placeholder:s,playbooks:l=Hve,recommendations:c=Hve,value:u,onValueChange:d,selectedPlaybook:f,onSelectedPlaybookChange:p,onRequestPlaybookParams:h,ssoToken:m,ssoDomain:v,ssoCompany:y,leadingActions:b,hideUploadButton:x=!1,uploadButtonAsLeading:S=!1,uploadButtonLabel:_,mentionTriggerChar:C="@",mentionListRequest:A,onMentionListRequestHandled:E,autoFocusInput:I=!0}=e,[T,$]=g.useState(""),P=u!==void 0?u:T,N=g.useRef(P);N.current=P;const M=g.useCallback(De=>{d?d(De):$(De),De.trim()||(p?p(null):he(null))},[d,p]),k=g.useRef(null),O=g.useRef(null),[j,z]=g.useState(!1),[B,D]=g.useState(!0),[H,W]=g.useState([]),[L,R]=g.useState(!1),F=g.useRef(null),V=g.useRef(0),U=()=>{var De;n&&(M(n),D(!1),(De=k.current)==null||De.focus())},G=De=>{(De.key==="Enter"||De.key===" ")&&(De.preventDefault(),U())};g.useEffect(()=>{D(!P.trim()&&H.length===0)},[P,H.length]);const[q,X]=g.useState(!1),[Y,K]=g.useState(""),[ne,ee]=g.useState(-1),[Q,te]=g.useState([]),[ie,oe]=g.useState(0),[fe,ye]=g.useState(""),[$e,be]=g.useState(null),[je,Oe]=g.useState(!1),[Fe,xe]=g.useState(!1),[ue,pe]=g.useState(null),Se=g.useRef(""),Pe=g.useRef(0),_e=fe!=="",Te=`wandox-mention-list${C==="/"?" wandox-mention-list--slash":""}`,[ve,he]=g.useState(null),Z=f!==void 0?f:ve,se=De=>{p?p(De):he(De)},ce=g.useMemo(()=>{const De=new Map;for(const et of[...c,...l])De.set(et.playbook_id||et.code||et.name,et);return Array.from(De.values())},[l,c]),ae=$e??ce,we=g.useMemo(()=>JSON.stringify(ae),[ae]),Ae=g.useMemo(()=>JSON.stringify([P,we,y,v,m]),[P,we,y,v,m]),He=g.useRef(Ae),Ve=g.useRef("");He.current=Ae;const Ke=dGt({token:m,domain:v,tenantId:y,limit:5,enabled:!q&&!Z});g.useEffect(()=>{if(!I)return;const De=setTimeout(()=>{var et;(et=k.current)==null||et.focus()},100);return()=>clearTimeout(De)},[I]),g.useEffect(()=>{if(!r){if(!I)return;const De=setTimeout(()=>{var et;(et=k.current)==null||et.focus()},100);return()=>clearTimeout(De)}},[r,I]),g.useEffect(()=>{if(!q)return;const De=Y.toLowerCase(),et=ae.filter(rt=>{var dt;return rt.name.toLowerCase().includes(De)||((dt=rt.code)==null?void 0:dt.toLowerCase().includes(De))});te(et),oe(0)},[Y,ae,q]),g.useEffect(()=>{var De;A!=null&&A.requestId&&(be(A.playbooks),xe(!!A.loading),Oe(!0),ee(N.current.length),K(""),oe(0),X(!0),(De=k.current)==null||De.focus(),E==null||E(A.requestId))},[A,E]),g.useEffect(()=>{if(!j||r||_e||q||H.length>0||Z){Ke.clear();return}Ke.search(P)},[j,Ke.search,Ke.clear,r,P,H.length,_e,Z,q]),g.useEffect(()=>{const De=et=>{var dt,Nt;const rt=(Nt=(dt=k.current)==null?void 0:dt.resizableTextArea)==null?void 0:Nt.textArea;O.current&&!O.current.contains(et.target)&&rt&&!rt.contains(et.target)&&X(!1)};return document.addEventListener("mousedown",De),()=>document.removeEventListener("mousedown",De)},[]),g.useEffect(()=>{!Se.current||Ve.current===Ae||(Pe.current+=1,Se.current="",Ve.current="",ye(""))},[Ae]),g.useEffect(()=>()=>{Pe.current+=1,Se.current="",Ve.current=""},[]);const at=S,Ne=g.useMemo(()=>["image/png","image/jpeg","image/jpg","image/gif","image/webp","image/bmp"],[]),Ue=g.useMemo(()=>at?"image/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.csv,.zip":"image/png,image/jpeg,image/jpg,image/gif,image/webp,image/bmp",[at]),Ee=10*1024*1024,me=g.useCallback(De=>De.size>Ee?`文件过大: ${(De.size/1024/1024).toFixed(1)}MB,最大支持 10MB`:!at&&!Ne.includes(De.type)?`不支持的文件类型: ${De.type}`:null,[Ne,at]),de=g.useCallback(De=>{if(!De)return;const et=[];for(const rt of Array.from(De)){const dt=me(rt);if(dt){Promise.resolve().then(()=>require("./index-CPpPf-ol.cjs")).then(({message:Nt})=>Nt.error(dt));continue}et.push({id:`file_${Date.now()}_${Math.random().toString(36).slice(2)}`,file:rt,previewUrl:rt.type.startsWith("image/")?URL.createObjectURL(rt):"",uploading:!1})}et.length>0&&W(rt=>[...rt,...et].slice(0,5))},[me]),Ce=De=>{W(et=>{const rt=et.find(dt=>dt.id===De);return rt&&URL.revokeObjectURL(rt.previewUrl),et.filter(dt=>dt.id!==De)})},Be=async()=>{var et;if(H.length===0)return[];if(!m||!v||!y)return Promise.resolve().then(()=>require("./index-CPpPf-ol.cjs")).then(({message:rt})=>rt.warning("请先登录后再上传图片")),[];const De=[];for(const rt of H)try{const dt=new FormData;dt.append("file",rt.file);const kt=await(await fetch(`${_r()}/api/v1/oss/upload2`,{method:"POST",headers:{Authorization:`Bearer ${m}`,"x-domain":v,"x-tenant-id":y},body:dt})).json();if(kt.success&&((et=kt.data)!=null&&et.url))De.push({type:rt.file.type.startsWith("image/")?"image":"file",url:kt.data.url,name:kt.data.name||rt.file.name,mime_type:rt.file.type});else throw new Error(kt.message||"上传失败")}catch{Promise.resolve().then(()=>require("./index-CPpPf-ol.cjs")).then(({message:Nt})=>Nt.error(`图片上传失败: ${rt.file.name}`))}return De},Ie=g.useCallback(De=>{De.preventDefault(),De.stopPropagation(),V.current+=1,De.dataTransfer.types.includes("Files")&&R(!0)},[]),We=g.useCallback(De=>{De.preventDefault(),De.stopPropagation(),V.current-=1,V.current===0&&R(!1)},[]),tt=g.useCallback(De=>{De.preventDefault(),De.stopPropagation()},[]),lt=g.useCallback(De=>{De.preventDefault(),De.stopPropagation(),V.current=0,R(!1),de(De.dataTransfer.files)},[de]),ct=g.useCallback(De=>{var dt;const et=(dt=De.clipboardData)==null?void 0:dt.items;if(!et)return;const rt=[];for(const Nt of Array.from(et))if(Nt.type.startsWith("image/")){const kt=Nt.getAsFile();kt&&rt.push(kt)}if(rt.length>0){De.preventDefault();const Nt=new DataTransfer;for(const kt of rt)Nt.items.add(kt);de(Nt.files)}},[de]),Ht=()=>{var De;(De=F.current)==null||De.click()},Me=De=>{de(De.target.files),De.target.value=""},Re=De=>{const et=De.target.value,rt=De.target.selectionStart||0;M(et),be(null),xe(!1),Oe(!1);const dt=et.slice(0,rt),Nt=dt.lastIndexOf(`
|
|
770
770
|
`),kt=dt.slice(Nt+1),bn=kt.lastIndexOf(C);if(bn!==-1&&((bn>0?kt[bn-1]:" ")===" "||bn===0)){const Kn=kt.slice(bn+1);if(!Kn.includes(" ")&&!Kn.includes(`
|
|
771
|
-
`)){ee(Nt+1+bn),K(Kn),X(!0);return}}X(!1)},Ze=De=>{if(q&&Q.length>0){if(De.key==="ArrowDown"){De.preventDefault(),oe(et=>et<Q.length-1?et+1:0);return}if(De.key==="ArrowUp"){De.preventDefault(),oe(et=>et>0?et-1:Q.length-1);return}if(De.key==="Enter"||De.key==="Tab"){De.preventDefault(),Qe(Q[ie]);return}if(De.key==="Escape"){De.preventDefault(),X(!1);return}}if(De.key==="Enter"&&!De.shiftKey&&!r){if(!P.trim()&&B&&n&&H.length===0){De.preventDefault(),U();return}(P.trim()||H.length>0)&&(De.preventDefault(),nt())}if(De.key===" "&&!r&&!P.trim()&&B&&n&&H.length===0){De.preventDefault(),U();return}},Qe=async De=>{var Kn;const et=String(De.playbook_id||"").trim();if(!et){X(!1),Promise.resolve().then(()=>require("./index-
|
|
771
|
+
`)){ee(Nt+1+bn),K(Kn),X(!0);return}}X(!1)},Ze=De=>{if(q&&Q.length>0){if(De.key==="ArrowDown"){De.preventDefault(),oe(et=>et<Q.length-1?et+1:0);return}if(De.key==="ArrowUp"){De.preventDefault(),oe(et=>et>0?et-1:Q.length-1);return}if(De.key==="Enter"||De.key==="Tab"){De.preventDefault(),Qe(Q[ie]);return}if(De.key==="Escape"){De.preventDefault(),X(!1);return}}if(De.key==="Enter"&&!De.shiftKey&&!r){if(!P.trim()&&B&&n&&H.length===0){De.preventDefault(),U();return}(P.trim()||H.length>0)&&(De.preventDefault(),nt())}if(De.key===" "&&!r&&!P.trim()&&B&&n&&H.length===0){De.preventDefault(),U();return}},Qe=async De=>{var Kn;const et=String(De.playbook_id||"").trim();if(!et){X(!1),Promise.resolve().then(()=>require("./index-CPpPf-ol.cjs")).then(({message:kn})=>kn.error("场景参数加载失败,请稍后重试"));return}if(Se.current)return;const rt=++Pe.current,dt=He.current,Nt=P,kt=ne,bn=Y,ur=je;Se.current=et,Ve.current=dt,ye(et),X(!1);try{const{data:kn}=await aS({playbook_id:et});if(rt!==Pe.current||dt!==He.current)return;if(!kn||typeof kn!="object"||Array.isArray(kn))throw new Error("场景详情为空");const Tr=$J(De,kn);if(!((Kn=Tr.input_fields)!=null&&Kn.length)){M(""),se(null),D(!0),a(Tr.name,Tr.playbook_id);return}const Zi=ur?0:C.length+bn.length,gi=Nt.slice(0,kt),qo=Nt.slice(kt+Zi);if(h){M(`${gi}${qo}`),h(Tr);return}se(Tr);const To=Tr.input_fields.map(wt=>`${wt.label}: `).join(`
|
|
772
772
|
`),Ko=`${gi}${Tr.name},请提供以下参数:
|
|
773
|
-
${To}${qo}`,Ut=Ko.indexOf(": ")+2;M(Ko),setTimeout(()=>{var wt;if(k.current){k.current.focus();const Tn=(wt=k.current.resizableTextArea)==null?void 0:wt.textArea;Tn==null||Tn.setSelectionRange(Ut,Ut)}},0)}catch{if(rt!==Pe.current||dt!==He.current)return;X(!0),Promise.resolve().then(()=>require("./index-C01lBhHB.cjs")).then(({message:Tr})=>Tr.error("场景参数加载失败,请稍后重试"))}finally{rt===Pe.current&&Ve.current===dt&&(Ve.current="",Se.current="",ye(""))}},ot=(De,et)=>{De.stopPropagation(),X(!1),pe(et)},Ge=()=>{se(null),M("")},nt=async()=>{if(!P.trim()&&H.length===0||r||Se.current)return;let De=[];if(H.length>0){De=await Be();for(const dt of H)URL.revokeObjectURL(dt.previewUrl);W([])}const et=P.trim(),rt=Z==null?void 0:Z.playbook_id;M(""),se(null),Ke.clear(),D(!0),a(et,rt,De.length>0?De:void 0)};return w.jsxs("div",{className:"wandox-chat-input",style:{position:"relative"},onDragEnter:Ie,onDragLeave:We,onDragOver:tt,onDrop:lt,children:[L&&w.jsx("div",{className:"wandox-chat-input-drag-overlay",children:w.jsxs("div",{className:"wandox-chat-input-drag-content",children:[w.jsx(omt,{style:{fontSize:32,marginBottom:8}}),w.jsx("div",{children:at?"释放以添加文件":"释放以发送图片"})]})}),w.jsx("input",{ref:F,type:"file",accept:Ue,multiple:!0,style:{display:"none"},onChange:Me}),q&&Fe&&w.jsx("div",{className:Te,ref:O,children:w.jsxs("div",{className:"wandox-mention-loading",children:[w.jsx(JLe,{}),w.jsx("span",{children:"正在加载场景..."})]})}),q&&!Fe&&Q.length>0&&w.jsx("div",{className:Te,ref:O,children:w.jsx("div",{className:"wandox-mention-items",children:Q.map((De,et)=>w.jsxs("div",{className:`wandox-mention-item ${et===ie?"wandox-mention-item--active":""}`,onMouseEnter:()=>oe(et),children:[De.video_url?w.jsx("button",{type:"button",className:"wandox-mention-item-icon wandox-mention-item-icon--video",title:"播放示例视频","aria-label":`播放${De.name}示例视频`,onClick:rt=>ot(rt,De),children:w.jsx(Qw,{})}):null,w.jsxs("button",{type:"button",className:"wandox-mention-item-main",onClick:()=>Qe(De),children:[!De.video_url&&w.jsx("span",{className:"wandox-mention-item-icon","aria-hidden":"true",children:w.jsx(oht,{})}),w.jsxs("div",{className:"wandox-mention-item-content",children:[w.jsxs("div",{className:"wandox-mention-item-name",children:[De.name,De.input_fields&&De.input_fields.length>0&&w.jsx("span",{className:"wandox-mention-item-tag",children:t("recommendation.params")})]}),De.description&&w.jsx("div",{className:"wandox-mention-item-desc",children:De.description})]})]})]},De.playbook_id))})}),q&&!Fe&&Q.length===0&&ae.length>0&&w.jsx("div",{className:Te,ref:O,children:w.jsx("div",{className:"wandox-mention-empty",children:t("chatInput.noMatchingScenarios")})}),q&&!Fe&&ae.length===0&&w.jsx("div",{className:Te,ref:O,children:w.jsx("div",{className:"wandox-mention-empty",children:t("chatInput.noAvailableScenarios")})}),w.jsx(HGt,{open:j&&!q&&!r&&!_e,rewrittenQuestion:Ke.rewrittenQuestion,questions:Ke.questions,loading:Ke.loading,placement:"top",onSelectRewrite:De=>{var et;M(De),Ke.clear(),(et=k.current)==null||et.focus()},onSelectQuestion:De=>{M(""),se(null),D(!0),Ke.clear(),a(De.title)}}),_e&&w.jsx("output",{className:"wandox-chat-input-tag","aria-live":"polite",children:w.jsxs(Fo,{color:"blue",children:[w.jsx(xr,{spin:!0})," 正在读取场景参数"]})}),Z&&w.jsx("div",{className:"wandox-chat-input-tag",children:w.jsx(Fo,{color:"blue",closable:!0,onClose:Ge,closeIcon:w.jsx(ni,{}),children:Z.name})}),B&&n&&!r&&!_e&&w.jsx("button",{className:"wandox-search-suggestion",onClick:U,onKeyDown:G,type:"button",style:{position:"absolute",top:"30px",left:"38px",color:"#999",cursor:"pointer",fontSize:"14px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"calc(100% - 80px)",zIndex:1,transition:"color 0.2s ease",background:"none",border:"none",padding:0,textAlign:"left"},onMouseEnter:De=>{De.currentTarget.style.color="#1890ff"},onMouseLeave:De=>{De.currentTarget.style.color="#999"},children:n}),H.length>0&&w.jsx("div",{className:"wandox-chat-input-previews",children:H.map(De=>De.file.type.startsWith("image/")?w.jsxs("div",{className:"wandox-chat-input-preview-item",children:[w.jsx("img",{src:De.previewUrl,alt:De.file.name,className:"wandox-chat-input-preview-img"}),w.jsx("button",{type:"button",className:"wandox-chat-input-preview-remove",onClick:()=>Ce(De.id),title:"删除",children:w.jsx(ni,{})})]},De.id):w.jsxs("div",{className:"wandox-chat-input-preview-file",children:[w.jsx(OY,{className:"wandox-chat-input-preview-file-icon"}),w.jsx("span",{className:"wandox-chat-input-preview-file-name",children:De.file.name}),w.jsx("button",{type:"button",className:"wandox-chat-input-preview-remove",onClick:()=>Ce(De.id),title:"删除",children:w.jsx(ni,{})})]},De.id))}),w.jsx(WGt,{ref:k,placeholder:B&&n&&!r?"":s||t("chat.input.placeholder"),value:P,disabled:r||_e,onChange:Re,onKeyDown:Ze,onPaste:ct,onFocus:()=>z(!0),onBlur:()=>window.setTimeout(()=>z(!1),120),autoSize:{minRows:1,maxRows:6},className:"wandox-chat-textarea",style:{position:"relative",zIndex:2,background:"transparent"}}),w.jsxs("div",{className:"wandox-chat-input-actions",children:[S&&w.jsxs("button",{type:"button",className:"wandox-chat-input-upload-leading",title:"添加文件",disabled:r||_e,onClick:Ht,children:[w.jsx(yy,{}),!b&&w.jsx("span",{children:_||"添加文件"})]}),S&&b&&w.jsx("span",{className:"wandox-console-chat__scene-separator","aria-hidden":!0,children:"|"}),b,!x&&!S&&w.jsx("button",{type:"button",className:"wandox-chat-input-icon-btn",title:"上传图片",disabled:r||_e,onClick:Ht,children:w.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[w.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2",stroke:"currentColor",strokeWidth:"2"}),w.jsx("circle",{cx:"8.5",cy:"8.5",r:"1.5",fill:"currentColor"}),w.jsx("polyline",{points:"21 15 16 10 5 21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}),w.jsx("button",{type:"button",className:`wandox-chat-input-icon-btn wandox-chat-input-send-btn${r?" wandox-chat-input-stop-btn":""}`,disabled:_e||(r?i||!o:!P.trim()&&H.length===0),onClick:r?o:nt,title:r?i?"正在停止":"停止":t("chat.send"),children:r?w.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[w.jsx("circle",{cx:"12",cy:"12",r:"8",stroke:"currentColor",strokeWidth:"2"}),w.jsx("rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",fill:"currentColor"})]}):w.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:w.jsx("path",{d:"M12 19V5M12 5L5 12M12 5L19 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),w.jsx(CJ,{playbook:ue,onClose:()=>pe(null)})]})}const GGt="wandox_use_map_tree_goals_v2",UGt=/^\?+$/;function qGt(e){return`${GGt}:${e||"all"}`}function Wve(e){const t=e,n=Array.isArray(t==null?void 0:t.roles)?t:t==null?void 0:t.data;return Array.isArray(n==null?void 0:n.roles)?n.roles.map(r=>{const i=(r.goals||[]).filter(o=>o.playbook!==null).map(o=>({...o,icon:Gve(o.icon),items:(o.items||[]).filter(a=>a.playbook_id)})).filter(o=>{var a;return(o.items||[]).length>0||!!(o.playbook_id||(a=o.playbook)!=null&&a.playbook_id)});return{...r,icon:Gve(r.icon),goals:i,goal_count:i.length}}).filter(r=>(r.goals||[]).length>0):[]}function Gve(e){const t=String(e||"").trim();if(!(!t||UGt.test(t)))return t}function KGt({agentId:e,onPlaybookClick:t,onSelectPlaybook:n,expanded:r,onExpandedChange:i}){const[o,a]=g.useState(!1),[s,l]=g.useState(!1),[c,u]=g.useState(!1),[d,f]=g.useState([]),[p,h]=g.useState(""),[m,v]=g.useState(""),y=g.useMemo(()=>e==null?"":String(e).trim(),[e]),b=r??o,x=g.useMemo(()=>d.find(C=>C.role_code===p)||d[0],[d,p]);g.useEffect(()=>{u(!1),f([]),h(""),v("")},[y]),g.useEffect(()=>{if(!b||c)return;let C=!1;const A=qGt(y);return(async()=>{l(!0),v("");try{const I=window.localStorage.getItem(A);if(I)try{const P=Wve(JSON.parse(I));P.length>0&&(f(P),h(P[0].role_code))}catch{window.localStorage.removeItem(A)}const T=await qTe({agent_id:y,role_id:null});if(C)return;const $=Wve(T.data);f($),h(P=>{var N;return P||((N=$[0])==null?void 0:N.role_code)||""}),window.localStorage.setItem(A,JSON.stringify(T.data||{roles:[]}))}catch{C||v("使用地图加载失败")}finally{C||(u(!0),l(!1))}})(),()=>{C=!0}},[b,c,y]);const S=C=>{var T,$;const A=C.playbook_id||((T=C.playbook)==null?void 0:T.playbook_id),E=(($=C.playbook)==null?void 0:$.name)||C.title||C.name||"执行";if(!A)return;if(a(!1),i==null||i(!1),YG(C).length>0&&n){n(ZGt(C),E);return}t({message:E,playbook_id:A})},_=()=>{const C=!b;a(C),i==null||i(C)};return w.jsxs("div",{className:`wandox-use-map${b?" wandox-use-map--expanded":""}`,children:[w.jsx("div",{className:"wandox-use-map-toolbar",children:w.jsxs("button",{type:"button",className:"wandox-use-map-toggle",onClick:_,"aria-expanded":b,children:[w.jsx("span",{className:"wandox-scene-tab-mark wandox-scene-tab-mark--use-map","aria-hidden":"true",children:w.jsx(SEe,{})}),w.jsx("span",{className:"wandox-use-map-toggle-text",children:"使用地图"}),w.jsx("span",{className:"wandox-use-map-toggle-arrow","aria-hidden":"true",children:"⌄"})]})}),b&&w.jsx("div",{className:`wandox-use-map-panel${d.length===0?" wandox-use-map-panel--compact":""}`,children:(!c||s)&&d.length===0?w.jsxs("div",{className:"wandox-use-map-loading",children:[w.jsx("span",{className:"wandox-heartbeat-loader","aria-hidden":"true",children:w.jsx("svg",{width:"48",height:"24",viewBox:"0 0 48 24",fill:"none",children:w.jsx("path",{d:"M0 12 L8 12 L10 8 L12 16 L14 4 L16 12 L20 12 L22 10 L24 14 L26 10 L28 12 L48 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),w.jsx("span",{children:"正在加载使用地图"})]}):m?w.jsxs("div",{className:"wandox-use-map-empty",children:[w.jsx("div",{className:"wandox-use-map-empty-title",children:m}),w.jsx("button",{type:"button",className:"wandox-use-map-retry",onClick:()=>u(!1),children:"重新加载"})]}):d.length===0?w.jsxs("div",{className:"wandox-use-map-empty",children:[w.jsx("div",{className:"wandox-use-map-empty-title",children:"暂无使用地图"}),w.jsx("div",{className:"wandox-use-map-empty-desc",children:"当前智能体还没有配置岗位目标场景"})]}):w.jsxs(w.Fragment,{children:[w.jsx("div",{className:"wandox-use-map-roles",role:"tablist","aria-label":"岗位",children:d.map(C=>{var A;return w.jsxs("button",{type:"button",role:"tab","aria-selected":(x==null?void 0:x.role_code)===C.role_code,className:`wandox-use-map-role${(x==null?void 0:x.role_code)===C.role_code?" active":""}`,onClick:()=>h(C.role_code),children:[w.jsx("span",{className:"wandox-use-map-role-icon",children:C.icon||"◎"}),w.jsx("span",{className:"wandox-use-map-role-name",children:C.name}),w.jsx("span",{className:"wandox-use-map-role-count",children:C.goal_count||((A=C.goals)==null?void 0:A.length)||0})]},C.id)})}),w.jsx("div",{className:"wandox-use-map-goals",children:((x==null?void 0:x.goals)||[]).map(C=>{var A;return w.jsxs("section",{className:"wandox-use-map-goal-group",children:[w.jsxs("div",{className:"wandox-use-map-goal-group-head",children:[w.jsx("span",{className:"wandox-use-map-goal-group-icon",children:C.icon||"◇"}),w.jsx("span",{className:"wandox-use-map-goal-group-name",children:C.name}),w.jsxs("span",{className:"wandox-use-map-goal-group-count",children:[((A=C.items)==null?void 0:A.length)||0," 个场景"]}),(C.description||C.subtitle)&&w.jsxs("span",{className:"wandox-use-map-goal-group-desc",children:["· ",C.description||C.subtitle]})]}),w.jsx("div",{className:"wandox-use-map-goal-items",children:(C.items||[]).map(E=>{var $,P,N;const I=YG(E).length>0,T=YGt(E.tags);return w.jsxs("button",{type:"button",className:`wandox-use-map-playbook-card${E.is_featured?" wandox-use-map-playbook-card--featured":""}`,onClick:()=>S(E),children:[w.jsx("div",{className:"wandox-use-map-playbook-title",children:w.jsx("span",{className:"wandox-use-map-playbook-name",children:E.title||E.name||(($=E.playbook)==null?void 0:$.name)||"未命名场景"})}),(E.is_featured||I)&&w.jsxs("div",{className:"wandox-use-map-playbook-badges",children:[E.is_featured&&w.jsx(Fo,{color:"gold",className:"wandox-use-map-tag wandox-use-map-featured-tag",children:"精品"}),I&&w.jsx("span",{className:"wandox-use-map-param-badge",children:"参数"})]}),(E.subtitle||E.description||((P=E.playbook)==null?void 0:P.description))&&w.jsx("div",{className:"wandox-use-map-playbook-desc",children:E.subtitle||E.description||((N=E.playbook)==null?void 0:N.description)}),T.length>0&&w.jsx("div",{className:"wandox-use-map-playbook-tags",children:T.map((M,k)=>w.jsx(Fo,{color:M.variant==="soft"?void 0:M.color,className:"wandox-use-map-tag",style:XGt(M),children:M.name},`${M.name}-${k}`))})]},`${C.id}-${E.id||E.playbook_id}`)})})]},C.id)})})]})})]})}function YG(e){var t;return e.input_fields||((t=e.playbook)==null?void 0:t.input_fields)||[]}function YGt(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=typeof(n==null?void 0:n.name)=="string"?n.name.trim():"";return r&&t.push({...n,name:r}),t},[]):[]}function XGt(e){if(!(e.variant!=="soft"||!e.color))return{color:e.color,borderColor:Uve(e.color,.28),backgroundColor:Uve(e.color,.08)}}function Uve(e,t){const n=e.trim().replace("#","");if(!/^[0-9a-fA-F]{6}$/.test(n))return e;const r=Number.parseInt(n.slice(0,2),16),i=Number.parseInt(n.slice(2,4),16),o=Number.parseInt(n.slice(4,6),16);return`rgba(${r}, ${i}, ${o}, ${t})`}function ZGt(e){var n;const t=e.playbook||e;return{category:e.category??null,category_name:e.category_name,description:e.description||e.subtitle||t.description,domain:e.domain||"",id:Number(e.id||0),name:((n=e.playbook)==null?void 0:n.name)||e.title||e.name||"未命名场景",playbook_id:e.playbook_id||t.playbook_id||"",scope:"",status:e.status||t.status||"",sub_category:null,tags:null,type:e.type||"",version:"",input_fields:YG(e),video_url:e.video_url||t.video_url||void 0,video_duration:e.video_duration||t.video_duration,view_count:e.view_count,badge:e.badge||t.badge||null}}const Rm=e=>String(e.playbook_id||e.code||e.name);function QGt({label:e}){return w.jsxs("output",{className:"wandox-scene-list-loading","aria-label":e,children:[w.jsx("span",{className:"wandox-heartbeat-loader","aria-hidden":"true",children:w.jsx("svg",{width:"48",height:"24",viewBox:"0 0 48 24",fill:"none",children:w.jsx("path",{d:"M0 12 L8 12 L10 8 L12 16 L14 4 L16 12 L20 12 L22 10 L24 14 L26 10 L28 12 L48 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),w.jsx("span",{children:e})]})}function JGt({playbooks:e,playbookLoading:t,onPlaybookClick:n,onSelectPlaybook:r,recommendations:i=[],userPlaybooks:o=[],userPlaybooksLoading:a=!1,onLoadUserPlaybooks:s,agentId:l,recentRefreshKey:c=0,domain:u}){const[d,f]=g.useState("playbooks"),[p,h]=g.useState(!1),m=SJ(u),[v,y]=g.useState(!1),[b,x]=g.useState("全部"),[S,_]=g.useState(""),[C,A]=g.useState(null),[E,I]=g.useState([]),[T,$]=g.useState(!1),[P,N]=g.useState(""),M=g.useRef(!1),k=g.useRef(new Map),O=g.useMemo(()=>d==="recommendations"?t&&i.length===0:d==="user"?a:T||t&&e.length===0,[t,T,d,e.length,i.length,a]),j=g.useMemo(()=>l==null?"":String(l).trim(),[l]);g.useEffect(()=>{if(!j){I([]),$(!1);return}let K=!1;return(async()=>{$(!0);try{const Q=await BTe({limit:8,agent_id:j});K||I(Q.data||[])}catch{K||I([])}finally{K||$(!1)}})(),()=>{K=!0}},[j,c]);const z=g.useRef(null),[B,D]=g.useState(5),H=g.useCallback(()=>{if(!z.current)return;const K=z.current.offsetWidth;if(K===0)return;const Q=Math.floor(K/(200+12));D(Math.max(2,Q))},[]);g.useEffect(()=>{const K=setTimeout(H,100);return()=>clearTimeout(K)},[H,d,p]),g.useEffect(()=>{d==="recommendations"&&i.length===0&&f("playbooks")},[i.length,d]),g.useEffect(()=>{d!=="user"||!j||s==null||s()},[d,j,s]),g.useEffect(()=>{!m&&d==="user"&&f("playbooks")},[m,d]),g.useEffect(()=>{if(!z.current)return;const K=new ResizeObserver(()=>{H()});return K.observe(z.current),()=>K.disconnect()},[H]);const W=g.useMemo(()=>new Set(E.map(Rm)),[E]),L=g.useMemo(()=>new Set(o.map(Rm)),[o]),R=g.useMemo(()=>{const K=new Map;for(const ne of E.filter(ee=>!L.has(Rm(ee))))K.set(Rm(ne),ne);for(const ne of e){const ee=Rm(ne);K.has(ee)||K.set(ee,ne)}return Array.from(K.values())},[e,E,L]),F=d==="playbooks"?R:d==="recommendations"?i:o,V=d==="playbooks"?e:F,U=F.length>(B??5)&&V.length>0,G=g.useMemo(()=>{const K=new Map;K.set("全部",V.length);for(const ne of V){const ee=ne.category_name||"未分类";K.set(ee,(K.get(ee)||0)+1)}return Array.from(K.entries()).map(([ne,ee])=>({name:ne,count:ee}))},[V]),q=g.useMemo(()=>{let K=V;if(b!=="全部"&&(K=K.filter(ne=>(ne.category_name||"未分类")===b)),S.trim()){const ne=S.trim().toLowerCase();K=K.filter(ee=>{var Q;return ee.name.toLowerCase().includes(ne)||((Q=ee.description)==null?void 0:Q.toLowerCase().includes(ne))})}return K},[V,b,S]),X=g.useCallback(K=>{const ne=String(K.playbook_id||"").trim();if(!ne)return Promise.reject(new Error("缺少 playbook_id"));const ee=k.current.get(ne);if(ee)return ee;const Q=aS({playbook_id:ne}).then(({data:te})=>$J(K,te)).finally(()=>{k.current.delete(ne)});return k.current.set(ne,Q),Q},[]),Y=g.useCallback(async(K,ne=!1)=>{var ee;if(!M.current){M.current=!0,N(K.playbook_id);try{const Q=await X(K);if(ne&&(y(!1),x("全部"),_("")),(ee=Q.input_fields)!=null&&ee.length&&r){r(Q,Q.name);return}n({message:Q.name,playbook_id:Q.playbook_id})}catch{zt.error("场景参数加载失败,请稍后重试")}finally{M.current=!1,N("")}}},[X,n,r]);return w.jsxs("div",{className:"wandox-pro-scenes-panel",children:[w.jsxs("div",{className:"wandox-hub-section-header",children:[w.jsxs("div",{className:"wandox-scene-tabs",children:[w.jsxs("button",{type:"button",className:`wandox-scene-tab${!p&&d==="playbooks"?" active":""}`,onClick:()=>{f("playbooks"),h(!1)},children:[w.jsx("span",{className:"wandox-scene-tab-mark wandox-scene-tab-mark--playbooks","aria-hidden":"true",children:w.jsx(LY,{})}),w.jsx("span",{children:"默认场景"})]}),i.length>0&&w.jsxs("button",{type:"button",className:`wandox-scene-tab${!p&&d==="recommendations"?" active":""}`,onClick:()=>{f("recommendations"),h(!1)},children:[w.jsx("span",{className:"wandox-scene-tab-mark wandox-scene-tab-mark--recommendations","aria-hidden":"true",children:w.jsx(uht,{})}),w.jsx("span",{children:"推荐场景"})]}),m&&w.jsxs("button",{type:"button",className:`wandox-scene-tab${!p&&d==="user"?" active":""}`,onClick:()=>{f("user"),h(!1)},children:[w.jsx("span",{className:"wandox-scene-tab-mark wandox-scene-tab-mark--user","aria-hidden":"true",children:w.jsx(Amt,{})}),w.jsx("span",{children:"我的场景"})]}),w.jsx(KGt,{agentId:j,onPlaybookClick:n,onSelectPlaybook:r,expanded:p,onExpandedChange:K=>{h(K),K&&f("playbooks")}})]}),U&&!p&&w.jsxs("button",{type:"button",className:"wandox-scene-view-all",onClick:()=>y(!0),children:["查看全部 ",V.length," 个"]})]}),w.jsx("div",{className:"wandox-tab-content",children:!p&&w.jsx("div",{className:"wandox-hub-section",children:O?w.jsx(QGt,{label:d==="user"?"正在加载我的场景":d==="recommendations"?"正在匹配推荐场景":"正在加载场景"}):F.length>0?w.jsxs("div",{className:"wandox-scroll-row",ref:z,children:[F.slice(0,B??5).map(K=>{const ne=P===K.playbook_id,ee=()=>void Y(K),Q=d==="playbooks"&&W.has(Rm(K)),te=d==="user"?"用户":Q?"近期":K.badge==="new"?"New":K.badge==="recommend"?"推荐":K.badge==="featured"?"精选":K.category_name||K.type||"推荐",ie=K.video_duration?`${Math.floor(K.video_duration/60)}:${String(K.video_duration%60).padStart(2,"0")}`:"",oe=be=>{be.stopPropagation(),A(K)},fe={daily:"每日",weekly:"每周",monthly:"每月"},ye=K.is_subscribed?`🔔订阅${K.execution_frequency&&K.execution_frequency!=="none"?`·${fe[K.execution_frequency]}自动跑`:""}`:"",$e=[K.description,ye].filter(Boolean).join(" ");return w.jsxs("div",{className:"wandox-card",children:[w.jsxs("div",{className:"wandox-card-corner",children:[w.jsx("span",{className:"wandox-card-tag",children:te}),K.video_url&&w.jsxs("button",{type:"button",className:"wandox-card-video",onClick:oe,children:["▶ ",ie?` ${ie}`:"0:00"," 演示"]})]}),w.jsxs("button",{type:"button",className:"wandox-card-main",onClick:ee,disabled:ne,"aria-busy":ne,children:[w.jsx("div",{className:"wandox-card-title",children:K.name}),w.jsx("div",{className:"wandox-card-desc",children:ne?"正在加载参数...":$e})]})]},Rm(K))}),U&&w.jsxs("button",{type:"button",className:"wandox-card wandox-card-more",onClick:()=>y(!0),children:[w.jsxs("div",{className:"wandox-card-more-title",children:["查看全部 ",V.length," 个"]}),w.jsx("div",{className:"wandox-card-more-desc",children:"按场景浏览"})]})]}):w.jsx("div",{className:"wandox-empty-slot",children:w.jsxs("div",{className:"wandox-empty",children:[w.jsx("div",{className:"wandox-empty-text",children:d==="playbooks"?"暂无默认场景":d==="recommendations"?"暂无推荐场景":"暂无我的场景"}),w.jsx("div",{className:"wandox-empty-desc",children:d==="playbooks"?"请联系管理员添加场景场景":d==="recommendations"?"系统会根据情况推荐相关场景":"我创建的场景会显示在这里"})]})})})}),w.jsx(ri,{open:v,onCancel:()=>{y(!1),x("全部"),_("")},footer:null,width:900,closable:!1,centered:!0,styles:{container:{padding:0,overflow:"hidden"},body:{height:"90vh"}},zIndex:1e4,children:w.jsxs("div",{className:"wandox-playbook-browser",children:[w.jsxs("div",{className:"wandox-playbook-sidebar",children:[w.jsx("div",{className:"wandox-playbook-sidebar-title",children:"场景分类"}),w.jsx("div",{className:"wandox-playbook-categories",children:G.map(K=>w.jsxs("button",{type:"button",className:`wandox-playbook-category-item${b===K.name?" active":""}`,onClick:()=>x(K.name),children:[w.jsx("span",{className:"wandox-playbook-category-name",children:K.name}),w.jsx("span",{className:"wandox-playbook-category-count",children:K.count})]},K.name))})]}),w.jsxs("div",{className:"wandox-playbook-main",children:[w.jsx("div",{className:"wandox-playbook-search",children:w.jsx(_n,{placeholder:"搜索场景名称或描述...",prefix:w.jsx(Ef,{style:{color:"#9ca3af"}}),value:S,onChange:K=>_(K.target.value),allowClear:!0})}),w.jsx("div",{className:"wandox-playbook-list",children:q.length===0?w.jsx(os,{description:"暂无场景",style:{marginTop:80}}):q.map(K=>{const ne=K.input_fields&&K.input_fields.length>0,ee=P===K.playbook_id,Q=!!K.video_url,te=()=>void Y(K,!0),ie=K.video_duration?`${Math.floor(K.video_duration/60)}:${String(K.video_duration%60).padStart(2,"0")}`:"",oe=()=>{A(K)};return w.jsx("div",{className:"wandox-playbook-list-item",children:w.jsxs("div",{className:"wandox-playbook-list-item-content",children:[w.jsx("div",{className:"wandox-playbook-list-item-icon",children:Q?w.jsx("button",{className:"wandox-playbook-video-icon",title:"包含演示视频",onClick:oe,type:"button",children:w.jsx(Qw,{})}):w.jsx("div",{className:"wandox-playbook-no-video-icon",children:w.jsx(AE,{})})}),w.jsxs("div",{className:"wandox-playbook-list-item-body",children:[w.jsx("div",{className:"wandox-playbook-list-item-header",children:w.jsxs("div",{className:"wandox-playbook-list-item-title",children:[K.name,K.badge&&w.jsx("span",{className:`wandox-scene-badge wandox-scene-badge--${K.badge}`,children:K.badge==="new"?"New":K.badge==="recommend"?"推荐":"精选"})]})}),K.description&&w.jsx("div",{className:"wandox-playbook-list-item-desc",children:K.description}),K.last_execution_remark&&w.jsxs("div",{className:"wandox-playbook-list-item-remark",children:[w.jsx("span",{className:"wandox-playbook-list-item-remark-icon",children:"💡"}),w.jsxs("span",{children:["上次:",K.last_execution_remark]})]})]}),w.jsxs("div",{className:"wandox-playbook-list-item-actions",children:[w.jsx("button",{type:"button",className:"wandox-playbook-list-item-btn",onClick:te,disabled:ee,"aria-busy":ee,children:ee?"加载中":ne?"参数":"运行"}),Q&&w.jsxs("button",{type:"button",className:"wandox-playbook-demo-link",onClick:oe,children:["看演示",ie?` ${ie}`:""]})]})]})},K.playbook_id)})})]})]})}),w.jsx(CJ,{playbook:C,onClose:()=>A(null)})]})}var nje={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(gs,function(){var n="month",r="quarter";return function(i,o){var a=o.prototype;a.quarter=function(c){return this.$utils().u(c)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(c-1))};var s=a.add;a.add=function(c,u){return c=Number(c),this.$utils().p(u)===r?this.add(3*c,n):s.bind(this)(c,u)};var l=a.startOf;a.startOf=function(c,u){var d=this.$utils(),f=!!d.u(u)||u;if(d.p(c)===r){var p=this.quarter()-1;return f?this.month(3*p).startOf(n).startOf("day"):this.month(3*p+2).endOf(n).endOf("day")}return l.bind(this)(c,u)}}})})(nje);var eUt=nje.exports;const tUt=Go(eUt);Nn.extend(HK);Nn.extend(tUt);Nn.extend(MCe);const nUt={date:"YYYY-MM-DD",daterange:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss",datetimerange:"YYYY-MM-DD HH:mm:ss",time:"HH:mm:ss",timerange:"HH:mm:ss"};function oT(e){const t=String(e||"").trim().toLowerCase().replace(/[_-]/g,"");return t==="date"?"date":t==="daterange"?"daterange":t==="datetime"?"datetime":t==="datetimerange"?"datetimerange":t==="time"?"time":t==="timerange"?"timerange":null}function lu(e){var n;const t=oT(e.type);if(t)return(n=e.format)!=null&&n.trim()?e.format.trim():mj(e)==="time"?"HH:mm:ss":TJ(e)?"YYYY-MM-DD HH:mm:ss":e.picker==="year"?"YYYY":e.picker==="month"?"YYYY-MM":e.picker==="week"?"YYYY-wo":e.picker==="quarter"?"YYYY-[Q]Q":nUt[t]}function mj(e){const t=oT(e.type);return t?t==="time"||t==="timerange"?"time":"date":null}function vw(e){const t=oT(e.type);return e.range??(t==="daterange"||t==="datetimerange"||t==="timerange")}function TJ(e){const t=oT(e.type);return e.show_time??(t==="datetime"||t==="datetimerange")}function yw(e,t){return["date","week","month","quarter","year"].includes(t||"")?t:e==="YYYY"?"year":e==="YYYY-MM"?"month":"date"}function ov(e){return e!=null&&e.includes("ss")?"HH:mm:ss":"HH:mm"}function av(e,t,n){if(e==null||e===""||typeof e!="string"&&typeof e!="number"&&!(e instanceof Date)&&!Nn.isDayjs(e))return null;let r;if(typeof e=="string"&&/^\d{1,2}:\d{2}(?::\d{2})?$/.test(e))r=Nn(`2000-01-01 ${e}`);else if(typeof e=="string"&&n==="quarter"){const i=e.match(/^(\d{4}).*?Q([1-4])/i);r=i?Nn(`${i[1]}-01-01`).quarter(Number(i[2])):Nn(e)}else if(typeof e=="string"&&n==="week"){const i=e.match(/^(\d{4})\D+(\d{1,2})/);r=i?Nn(`${i[1]}-01-01`).week(Number(i[2])):Nn(e)}else typeof e=="string"&&t?(r=Nn(e,t,!0),r.isValid()||(r=Nn(e))):r=Nn(e);return r.isValid()?r:null}function wC(e,t,n){return!Array.isArray(e)||e.length!==2?null:[av(e[0],t,n),av(e[1],t,n)]}function rje({field:e,value:t,size:n,disabled:r=!1,readOnly:i=!1,status:o,onChange:a}){const s=mj(e),l=lu(e),c=vw(e),u={size:n,style:{width:"100%"},format:l,disabled:r,allowClear:!i,inputReadOnly:i,open:i?!1:void 0,status:o};if(s==="date"){const d=TJ(e),f=yw(l,e.picker),p=d?"日期时间":"日期",h={...u,picker:f,showTime:d?{format:ov(l)}:!1};return c?w.jsx(Zr.RangePicker,{...h,value:wC(t,l,f),placeholder:[`请选择开始${p}`,`请选择结束${p}`],onChange:(m,v)=>a(v)}):w.jsx(Zr,{...h,value:av(t,l,f),placeholder:e.placeholder||`请选择${p}`,onChange:(m,v)=>a(v)})}return s==="time"?c?w.jsx(da.RangePicker,{...u,value:wC(t,l),placeholder:["请选择开始时间","请选择结束时间"],onChange:(d,f)=>a(f)}):w.jsx(da,{...u,value:av(t,l),placeholder:e.placeholder||"请选择时间",onChange:(d,f)=>a(f)}):null}const ije=[{name:"country",label:"国家/地区"},{name:"state",label:"州/省"},{name:"province",label:"省"},{name:"city",label:"城市"},{name:"postal_code",label:"邮政编码"},{name:"address_line1",label:"地址"}],rUt=Object.fromEntries(ije.map(e=>[e.name,e.label]));function R$(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function R0(e){return typeof e=="string"?e.trim():String(e??"").trim()}function iUt(e,t){return!R$(e)||!Array.isArray(e[t])?[]:e[t].map(String).filter(Boolean)}function oUt(e,t){if(!R$(e)||!R$(e.postal_code_patterns))return;const n=e.postal_code_patterns[t];return typeof n=="string"?n:void 0}function aUt(e){const t=String(e.type||"").toLowerCase(),n=String(e.widget||"").toLowerCase();return t==="address"||n==="address"}function sUt(){return[...ije]}function lUt(e,t){if(!R$(e))return"请输入有效地址";const n=iUt(t,"required_fields"),r=n.length>0?n:["country","city","postal_code","address_line1"];for(const l of r)if(!R0(e[l]))return`请填写${rUt[l]||`地址字段 ${l}`}`;if(n.length===0&&!R0(e.state)&&!R0(e.province))return"请填写州/省";const i=R0(e.country).toUpperCase(),o=R0(e.postal_code),a=oUt(t,i);if(o&&a)try{if(!new RegExp(a).test(o))return"邮政编码格式不正确"}catch{return"地址邮编规则配置无效"}const s=R$(t)&&typeof t.max_length=="number"?t.max_length:200;return R0(e.address_line1).length>s?`地址行不能超过 ${s} 个字符`:""}const oje=/\$\{\s*\{?\s*params\.([a-zA-Z0-9_.-]+)\s*\}?\s*\}/g,cUt=/^\$\{\s*\{?\s*params\.([a-zA-Z0-9_.-]+)\s*\}?\s*\}$/;function sv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function XG(e,t){return t.split(".").reduce((n,r)=>{if(sv(n))return n[r]},e)}function uUt(e){return e==null||e===""}function dUt(e){const t=new Set,n=r=>{if(typeof r=="string"){for(const i of r.matchAll(oje))i[1]&&t.add(i[1]);return}if(Array.isArray(r)){r.forEach(n);return}sv(r)&&Object.values(r).forEach(n)};return n(e),Array.from(t)}function fUt(e,t){const n=e.split(".")[0],r=t.find(i=>i.name===e||i.name===n);return r?!!r.required:!0}function ZG(e,t){if(typeof e=="string"){const n=e.match(cUt);return n!=null&&n[1]?XG(t,n[1]):e.replace(oje,(r,i)=>{const o=XG(t,i);return o==null?"":String(o)})}return Array.isArray(e)?e.map(n=>ZG(n,t)):sv(e)?Object.fromEntries(Object.entries(e).map(([n,r])=>[n,ZG(r,t)])):e}function pUt(e){const t=sv(e)&&"data"in e?e.data:e,n=[t];sv(t)&&(n.push(t.output_data,t.options,t.items,t.data,t.result,t.results,t.list),sv(t.output)&&n.push(t.output.output_data,t.output.options,t.output.items,t.output.data));for(const r of n)if(Array.isArray(r))return r;return[]}function hUt(e){let t;return{options:pUt(e).map(r=>{if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")return{value:String(r),label:String(r)};if(!sv(r))return null;const i=r.value??r.key??r.code??r.id??r.name??r.label;if(i==null)return null;const o=r.label??r.name??r.title??r.text??r.value??i;if(String(i)===""){const a=String(o||"");return a&&!t&&(t=a),null}return{value:String(i),label:String(o)}}).filter(r=>!!r),placeholder:t}}function mUt(e){return(e.enum||[]).map(t=>({value:t,label:t}))}function aje(e,t,n){const[r,i]=g.useState({}),o=g.useRef({}),a=g.useRef({}),[s,l]=g.useState({}),[c,u]=g.useState({});g.useEffect(()=>{const h=window.setTimeout(()=>u(s),300);return()=>window.clearTimeout(h)},[s]);const d=g.useCallback((h,m)=>{l(v=>v[h]===m?v:{...v,[h]:m})},[]),f=g.useCallback(h=>s[h]||"",[s]),p=g.useMemo(()=>e.filter(h=>!!h.options_from_skill),[e]);return g.useEffect(()=>{const h=new Set(p.map(m=>m.name));for(const m of Object.keys(o.current))h.has(m)||(delete o.current[m],delete a.current[m]);for(const m of p)delete o.current[m.name],a.current[m.name]=(a.current[m.name]||0)+1;i(m=>{const v=Object.fromEntries(Object.entries(m).filter(([y])=>h.has(y)));return Object.keys(v).length===Object.keys(m).length?m:v})},[p]),g.useEffect(()=>{for(const h of p){if(!h.options_from_skill)continue;const v=dUt(h.options_params).filter(_=>fUt(_,e)&&uUt(XG(t,_))),y=ZG(h.options_params||{},t);h.search_param&&(y[h.search_param]=c[h.name]||"");const b=JSON.stringify({skill_id:h.options_from_skill,params:y,missing:v});if(o.current[h.name]===b)continue;const x=o.current[h.name]!==void 0||v.length>0;o.current[h.name]=b,a.current[h.name]=(a.current[h.name]||0)+1;const S=a.current[h.name];if(x&&n(_=>_[h.name]===void 0||_[h.name]===""?_:{..._,[h.name]:void 0}),v.length>0){i(_=>({..._,[h.name]:{options:[],loading:!1,waitingForDependencies:!0}}));continue}i(_=>{var C,A;return{..._,[h.name]:{options:((C=_[h.name])==null?void 0:C.options)||[],loading:!0,placeholder:(A=_[h.name])==null?void 0:A.placeholder,waitingForDependencies:!1}}}),FTe({},{skill_id:h.options_from_skill,params:y}).then(_=>{if(a.current[h.name]!==S)return;const C=hUt(_);i(A=>({...A,[h.name]:{options:C.options,loading:!1,placeholder:C.placeholder,waitingForDependencies:!1}}))}).catch(_=>{if(a.current[h.name]!==S)return;const C=_ instanceof Error?_.message:"动态选项加载失败";i(A=>({...A,[h.name]:{options:[],loading:!1,error:C,waitingForDependencies:!1}}))})}},[p,e,t,n,c]),{setFieldSearch:d,getFieldSearch:f,getFieldState(h){return h.options_from_skill?r[h.name]||{options:[],loading:!1,waitingForDependencies:!1}:{options:mUt(h),loading:!1,waitingForDependencies:!1}}}}function bw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ng(e,t=""){return typeof e=="string"?e:e==null?t:String(e)}function Ql(e){return typeof e=="string"?e:void 0}const gUt=["date","week","month","quarter","year"];function vUt(e){return typeof e=="string"&&gUt.includes(e)}function qve(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()){const t=Number(e);return Number.isFinite(t)?t:void 0}}function yUt(e){if(!Array.isArray(e))return;const t=e.map(n=>{if(!bw(n))return null;const r=Ng(n.path);return r?{name:Ng(n.name,r.split("/").pop()||r),path:r}:null}).filter(n=>!!n);return t.length>0?t:void 0}function bUt(e){if(!Array.isArray(e))return;const t=e.map(n=>{if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return{value:String(n),label:String(n)};if(!bw(n))return null;const r=n.value??n.key??n.code??n.id??n.name??n.label;return r==null||r===""?null:{value:String(r),label:Ng(n.label??n.title??n.text??n.name??r,String(r))}}).filter(n=>!!n);return t.length>0?t:void 0}function s5(e){const t=bw(e)?e:{};return{name:Ng(t.name),label:Ng(t.label,Ng(t.name)),type:Ng(t.type,"string"),required:typeof t.required=="boolean"?t.required:!0,default:t.default,mock:t.mock,format:Ql(t.format),picker:vUt(t.picker)?t.picker:void 0,show_time:typeof t.show_time=="boolean"?t.show_time:void 0,range:typeof t.range=="boolean"?t.range:void 0,enum:Array.isArray(t.enum)?t.enum.map(n=>String(n)):void 0,options:bUt(t.options),placeholder:Ql(t.placeholder),options_from_skill:Ql(t.options_from_skill),options_params:bw(t.options_params)?t.options_params:void 0,file_type:Ql(t.file_type),max_files:qve(t.max_files),description:Ql(t.description),hint:Ql(t.hint??t.label_hint??t.helper_text),file_templates:yUt(t.file_templates),group:Ql(t.group??t.group_key??t.form_group),group_label:Ql(t.group_label??t.group_title),group_description:Ql(t.group_description??t.group_subtitle),ui_component:Ql(t.ui_component??t.component??t.render_as),widget:Ql(t.widget),address_validation:t.address_validation??t.addressValidation,span:qve(t.span??t.col_span??t.column_span),visible_when:t.visible_when??t.visibleWhen}}function sje(e){return Array.isArray(e)?e.map(s5).filter(t=>!!t.name):bw(e)?Object.entries(e).map(([t,n])=>bw(n)?s5({...n,name:n.name??t}):s5({name:t,label:t,type:"string",default:n})).filter(t=>!!t.name):[]}const xUt=["智能体对话","非 ASIN 查询场景","巡检机器人定时任务"];function SC(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function qd(e){return e==null?!1:typeof e=="string"?e.trim().length>0:!0}function Kve(e){if(Array.isArray(e)){if(e.length===0)return null;const t=e.find(n=>SC(n)?Object.keys(n).length>0:qd(n));return SC(t)?t:qd(t)?{value:t}:null}return SC(e)?Object.keys(e).length>0?e:null:qd(e)?{value:e}:null}function ks(e,t,n=0){if(e){for(const r of t){const i=e[r];if(qd(i))return i}if(!(n>=2))for(const r of Object.values(e)){if(SC(r)){const i=ks(r,t,n+1);if(qd(i))return i}if(Array.isArray(r))for(const i of r){if(!SC(i))continue;const o=ks(i,t,n+1);if(qd(o))return o}}}}function yh(e){if(qd(e))return String(e).trim()}function wUt(e){return Array.from(e).slice(0,4).join("")}function D0(e){const t=yh(e);if(!t)return;const n=t.match(/^(\d{4}-\d{2}-\d{2})/);return(n==null?void 0:n[1])||t}function SUt(e){return Array.isArray(e)?e.map(t=>yh(t)).filter(t=>!!t):[]}function _Ut(e){const t=yh(e);if(!(!t||!/^#[\da-f]{3}([\da-f]{3})?$/i.test(t)))return t}function CUt(e){const t=e.slice(1),n=t.length===3?t.split("").map(s=>`${s}${s}`).join(""):t,r=Number.parseInt(n.slice(0,2),16),i=Number.parseInt(n.slice(2,4),16),o=Number.parseInt(n.slice(4,6),16);return(r*299+i*587+o*114)/1e3>=160?"#1f1f1f":"#ffffff"}function QG(e){if(!qd(e))return;if(typeof e=="number"&&Number.isFinite(e))return new Intl.NumberFormat("en-US").format(e);const t=String(e).trim(),n=t.replace(/,/g,""),r=Number(n);return n&&Number.isFinite(r)?new Intl.NumberFormat("en-US").format(r):t}function Yve(e,t){if(!qd(e))return t;const n=String(e).trim();return["infinite","unlimited","∞"].includes(n.toLowerCase())?"∞ 无限":QG(e)||t}function AUt(e){const t=yh(e==null?void 0:e.package_name);if(!(!t||t==="无限算力年卡"))return t}function $Ut(e){const t=yh(ks(e,["asin_usage","asin_usage_text","asin_used_display","usage_text"]));if(t)return t;const n=QG(ks(e,["used_asin","asin_used","used_asin_count","asin_used_count","asin_used_num","asin_num_by_use","used_count","used_num","used","consumed_asin","query_used_count"])),r=QG(ks(e,["total_asin","asin_total","total_asin_count","asin_total_count","asin_limit","asin_quota","asin_num","total_count","total_num","limit","quota","total"]));if(!(!n&&!r))return`${n||"-"} / ${r||"-"}`}function EUt(e){const t=ks(e,["used_asin","asin_used","used_asin_count","asin_used_count","asin_used_num","asin_num_by_use","used_count","used_num","used","consumed_asin","query_used_count"]),n=ks(e,["total_asin","asin_total","total_asin_count","asin_total_count","asin_limit","asin_quota","asin_num","total_count","total_num","limit","quota","total"]),r=Number(String(t??"").replace(/,/g,"")),i=Number(String(n??"").replace(/,/g,""));if(!(!Number.isFinite(r)||!Number.isFinite(i)||i<=0))return Math.min(Math.round(r/i*100),100)}function lje(e){var o,a,s;if(!e)return null;const t=Kve(e.competitive_asin_info);if(t)return{kind:"competitiveAsin",badgeText:"包年权益",badgeColor:"#9444f5",badgeTextColor:"#ffffff",packageName:yh(ks(t,["package_name","packageName","plan_name","benefit_name","name","title","package_type"]))||AUt(e.package_info)||"竞品智能体包年权益",subtitle:"竞品智能体专属权益",remainingLabel:"剩余算力(非ASIN查询):",remainingValue:Yve(ks(t,["token_num","tokenNum","remaining_token","token_remaining","remaining_power","power_remaining"])??((o=e.package_info)==null?void 0:o.token_num),"∞ 无限"),asinUsage:$Ut(t),asinUsagePercent:EUt(t),endTime:D0(ks(t,["end_time","endTime","expire_time","expired_at","expires_at","end_date","package_end_time"]))||D0((a=e.package_info)==null?void 0:a.end_time)||"-",startTime:D0(ks(t,["start_time","startTime","open_time","opened_at","started_at","start_date","package_start_time"]))||D0((s=e.package_info)==null?void 0:s.start_time)||"-",coverageTitle:"无限算力覆盖范围",coverageItems:xUt};const n=Kve(e.package_info);if(!n)return null;const r=yh(ks(n,["package_name","packageName"]))||"套餐权益",i=_Ut(ks(n,["package_color","packageColor"]))||"#9444f5";return{kind:"free",badgeText:wUt(r),badgeColor:i,badgeTextColor:CUt(i),packageName:r,remainingLabel:"剩余算力:",remainingValue:Yve(n.token_num,"-"),endTime:D0(n.end_time)||"-",startTime:D0(n.start_time)||"-",coverageTitle:yh(n.detail_title)||"套餐权益",coverageItems:SUt(n.detail_ul)}}const{RangePicker:Osn}=Zr;function TUt({title:e="正在进入指定智能体",description:t="正在加载智能体与场景信息..."}){return w.jsxs("output",{className:"wandox-initial-route-loading","aria-label":e,children:[w.jsxs("div",{className:"wandox-initial-route-loading-aura","aria-hidden":"true",children:[Array.from({length:12},(n,r)=>({angle:r*30,delay:r*.08})).map(({angle:n,delay:r})=>w.jsx("span",{className:"wandox-chat-history-ray",style:{"--ray-angle":`${n}deg`,"--ray-delay":`${r}s`}},n)),w.jsx("img",{className:"wandox-loading-brand-mark",src:oS,alt:"","aria-hidden":"true"})]}),w.jsx("div",{className:"wandox-initial-route-loading-title",children:e}),w.jsx("div",{className:"wandox-initial-route-loading-text",children:t})]})}function IJ(e){if(Array.isArray(e))return e;if(e&&typeof e=="object"){const t=e.items;if(Array.isArray(t))return t}return[]}const uP=[0,1500,4e3];function IUt(e){return e.oss_url?e.oss_url:`${_r()}/api/v1/cognitive/artifacts/${e.artifact_id}/download`}function PUt(e){var n;const t=[e.content||""];(n=e.ui_payload)!=null&&n.content&&t.push(String(e.ui_payload.content));for(const r of e.outputs||[])r!=null&&r.content&&t.push(String(r.content));return t.join(`
|
|
773
|
+
${To}${qo}`,Ut=Ko.indexOf(": ")+2;M(Ko),setTimeout(()=>{var wt;if(k.current){k.current.focus();const Tn=(wt=k.current.resizableTextArea)==null?void 0:wt.textArea;Tn==null||Tn.setSelectionRange(Ut,Ut)}},0)}catch{if(rt!==Pe.current||dt!==He.current)return;X(!0),Promise.resolve().then(()=>require("./index-CPpPf-ol.cjs")).then(({message:Tr})=>Tr.error("场景参数加载失败,请稍后重试"))}finally{rt===Pe.current&&Ve.current===dt&&(Ve.current="",Se.current="",ye(""))}},ot=(De,et)=>{De.stopPropagation(),X(!1),pe(et)},Ge=()=>{se(null),M("")},nt=async()=>{if(!P.trim()&&H.length===0||r||Se.current)return;let De=[];if(H.length>0){De=await Be();for(const dt of H)URL.revokeObjectURL(dt.previewUrl);W([])}const et=P.trim(),rt=Z==null?void 0:Z.playbook_id;M(""),se(null),Ke.clear(),D(!0),a(et,rt,De.length>0?De:void 0)};return w.jsxs("div",{className:"wandox-chat-input",style:{position:"relative"},onDragEnter:Ie,onDragLeave:We,onDragOver:tt,onDrop:lt,children:[L&&w.jsx("div",{className:"wandox-chat-input-drag-overlay",children:w.jsxs("div",{className:"wandox-chat-input-drag-content",children:[w.jsx(omt,{style:{fontSize:32,marginBottom:8}}),w.jsx("div",{children:at?"释放以添加文件":"释放以发送图片"})]})}),w.jsx("input",{ref:F,type:"file",accept:Ue,multiple:!0,style:{display:"none"},onChange:Me}),q&&Fe&&w.jsx("div",{className:Te,ref:O,children:w.jsxs("div",{className:"wandox-mention-loading",children:[w.jsx(JLe,{}),w.jsx("span",{children:"正在加载场景..."})]})}),q&&!Fe&&Q.length>0&&w.jsx("div",{className:Te,ref:O,children:w.jsx("div",{className:"wandox-mention-items",children:Q.map((De,et)=>w.jsxs("div",{className:`wandox-mention-item ${et===ie?"wandox-mention-item--active":""}`,onMouseEnter:()=>oe(et),children:[De.video_url?w.jsx("button",{type:"button",className:"wandox-mention-item-icon wandox-mention-item-icon--video",title:"播放示例视频","aria-label":`播放${De.name}示例视频`,onClick:rt=>ot(rt,De),children:w.jsx(Qw,{})}):null,w.jsxs("button",{type:"button",className:"wandox-mention-item-main",onClick:()=>Qe(De),children:[!De.video_url&&w.jsx("span",{className:"wandox-mention-item-icon","aria-hidden":"true",children:w.jsx(oht,{})}),w.jsxs("div",{className:"wandox-mention-item-content",children:[w.jsxs("div",{className:"wandox-mention-item-name",children:[De.name,De.input_fields&&De.input_fields.length>0&&w.jsx("span",{className:"wandox-mention-item-tag",children:t("recommendation.params")})]}),De.description&&w.jsx("div",{className:"wandox-mention-item-desc",children:De.description})]})]})]},De.playbook_id))})}),q&&!Fe&&Q.length===0&&ae.length>0&&w.jsx("div",{className:Te,ref:O,children:w.jsx("div",{className:"wandox-mention-empty",children:t("chatInput.noMatchingScenarios")})}),q&&!Fe&&ae.length===0&&w.jsx("div",{className:Te,ref:O,children:w.jsx("div",{className:"wandox-mention-empty",children:t("chatInput.noAvailableScenarios")})}),w.jsx(HGt,{open:j&&!q&&!r&&!_e,rewrittenQuestion:Ke.rewrittenQuestion,questions:Ke.questions,loading:Ke.loading,placement:"top",onSelectRewrite:De=>{var et;M(De),Ke.clear(),(et=k.current)==null||et.focus()},onSelectQuestion:De=>{M(""),se(null),D(!0),Ke.clear(),a(De.title)}}),_e&&w.jsx("output",{className:"wandox-chat-input-tag","aria-live":"polite",children:w.jsxs(Fo,{color:"blue",children:[w.jsx(xr,{spin:!0})," 正在读取场景参数"]})}),Z&&w.jsx("div",{className:"wandox-chat-input-tag",children:w.jsx(Fo,{color:"blue",closable:!0,onClose:Ge,closeIcon:w.jsx(ni,{}),children:Z.name})}),B&&n&&!r&&!_e&&w.jsx("button",{className:"wandox-search-suggestion",onClick:U,onKeyDown:G,type:"button",style:{position:"absolute",top:"30px",left:"38px",color:"#999",cursor:"pointer",fontSize:"14px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"calc(100% - 80px)",zIndex:1,transition:"color 0.2s ease",background:"none",border:"none",padding:0,textAlign:"left"},onMouseEnter:De=>{De.currentTarget.style.color="#1890ff"},onMouseLeave:De=>{De.currentTarget.style.color="#999"},children:n}),H.length>0&&w.jsx("div",{className:"wandox-chat-input-previews",children:H.map(De=>De.file.type.startsWith("image/")?w.jsxs("div",{className:"wandox-chat-input-preview-item",children:[w.jsx("img",{src:De.previewUrl,alt:De.file.name,className:"wandox-chat-input-preview-img"}),w.jsx("button",{type:"button",className:"wandox-chat-input-preview-remove",onClick:()=>Ce(De.id),title:"删除",children:w.jsx(ni,{})})]},De.id):w.jsxs("div",{className:"wandox-chat-input-preview-file",children:[w.jsx(OY,{className:"wandox-chat-input-preview-file-icon"}),w.jsx("span",{className:"wandox-chat-input-preview-file-name",children:De.file.name}),w.jsx("button",{type:"button",className:"wandox-chat-input-preview-remove",onClick:()=>Ce(De.id),title:"删除",children:w.jsx(ni,{})})]},De.id))}),w.jsx(WGt,{ref:k,placeholder:B&&n&&!r?"":s||t("chat.input.placeholder"),value:P,disabled:r||_e,onChange:Re,onKeyDown:Ze,onPaste:ct,onFocus:()=>z(!0),onBlur:()=>window.setTimeout(()=>z(!1),120),autoSize:{minRows:1,maxRows:6},className:"wandox-chat-textarea",style:{position:"relative",zIndex:2,background:"transparent"}}),w.jsxs("div",{className:"wandox-chat-input-actions",children:[S&&w.jsxs("button",{type:"button",className:"wandox-chat-input-upload-leading",title:"添加文件",disabled:r||_e,onClick:Ht,children:[w.jsx(yy,{}),!b&&w.jsx("span",{children:_||"添加文件"})]}),S&&b&&w.jsx("span",{className:"wandox-console-chat__scene-separator","aria-hidden":!0,children:"|"}),b,!x&&!S&&w.jsx("button",{type:"button",className:"wandox-chat-input-icon-btn",title:"上传图片",disabled:r||_e,onClick:Ht,children:w.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[w.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2",stroke:"currentColor",strokeWidth:"2"}),w.jsx("circle",{cx:"8.5",cy:"8.5",r:"1.5",fill:"currentColor"}),w.jsx("polyline",{points:"21 15 16 10 5 21",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}),w.jsx("button",{type:"button",className:`wandox-chat-input-icon-btn wandox-chat-input-send-btn${r?" wandox-chat-input-stop-btn":""}`,disabled:_e||(r?i||!o:!P.trim()&&H.length===0),onClick:r?o:nt,title:r?i?"正在停止":"停止":t("chat.send"),children:r?w.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[w.jsx("circle",{cx:"12",cy:"12",r:"8",stroke:"currentColor",strokeWidth:"2"}),w.jsx("rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",fill:"currentColor"})]}):w.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:w.jsx("path",{d:"M12 19V5M12 5L5 12M12 5L19 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),w.jsx(CJ,{playbook:ue,onClose:()=>pe(null)})]})}const GGt="wandox_use_map_tree_goals_v2",UGt=/^\?+$/;function qGt(e){return`${GGt}:${e||"all"}`}function Wve(e){const t=e,n=Array.isArray(t==null?void 0:t.roles)?t:t==null?void 0:t.data;return Array.isArray(n==null?void 0:n.roles)?n.roles.map(r=>{const i=(r.goals||[]).filter(o=>o.playbook!==null).map(o=>({...o,icon:Gve(o.icon),items:(o.items||[]).filter(a=>a.playbook_id)})).filter(o=>{var a;return(o.items||[]).length>0||!!(o.playbook_id||(a=o.playbook)!=null&&a.playbook_id)});return{...r,icon:Gve(r.icon),goals:i,goal_count:i.length}}).filter(r=>(r.goals||[]).length>0):[]}function Gve(e){const t=String(e||"").trim();if(!(!t||UGt.test(t)))return t}function KGt({agentId:e,onPlaybookClick:t,onSelectPlaybook:n,expanded:r,onExpandedChange:i}){const[o,a]=g.useState(!1),[s,l]=g.useState(!1),[c,u]=g.useState(!1),[d,f]=g.useState([]),[p,h]=g.useState(""),[m,v]=g.useState(""),y=g.useMemo(()=>e==null?"":String(e).trim(),[e]),b=r??o,x=g.useMemo(()=>d.find(C=>C.role_code===p)||d[0],[d,p]);g.useEffect(()=>{u(!1),f([]),h(""),v("")},[y]),g.useEffect(()=>{if(!b||c)return;let C=!1;const A=qGt(y);return(async()=>{l(!0),v("");try{const I=window.localStorage.getItem(A);if(I)try{const P=Wve(JSON.parse(I));P.length>0&&(f(P),h(P[0].role_code))}catch{window.localStorage.removeItem(A)}const T=await qTe({agent_id:y,role_id:null});if(C)return;const $=Wve(T.data);f($),h(P=>{var N;return P||((N=$[0])==null?void 0:N.role_code)||""}),window.localStorage.setItem(A,JSON.stringify(T.data||{roles:[]}))}catch{C||v("使用地图加载失败")}finally{C||(u(!0),l(!1))}})(),()=>{C=!0}},[b,c,y]);const S=C=>{var T,$;const A=C.playbook_id||((T=C.playbook)==null?void 0:T.playbook_id),E=(($=C.playbook)==null?void 0:$.name)||C.title||C.name||"执行";if(!A)return;if(a(!1),i==null||i(!1),YG(C).length>0&&n){n(ZGt(C),E);return}t({message:E,playbook_id:A})},_=()=>{const C=!b;a(C),i==null||i(C)};return w.jsxs("div",{className:`wandox-use-map${b?" wandox-use-map--expanded":""}`,children:[w.jsx("div",{className:"wandox-use-map-toolbar",children:w.jsxs("button",{type:"button",className:"wandox-use-map-toggle",onClick:_,"aria-expanded":b,children:[w.jsx("span",{className:"wandox-scene-tab-mark wandox-scene-tab-mark--use-map","aria-hidden":"true",children:w.jsx(SEe,{})}),w.jsx("span",{className:"wandox-use-map-toggle-text",children:"使用地图"}),w.jsx("span",{className:"wandox-use-map-toggle-arrow","aria-hidden":"true",children:"⌄"})]})}),b&&w.jsx("div",{className:`wandox-use-map-panel${d.length===0?" wandox-use-map-panel--compact":""}`,children:(!c||s)&&d.length===0?w.jsxs("div",{className:"wandox-use-map-loading",children:[w.jsx("span",{className:"wandox-heartbeat-loader","aria-hidden":"true",children:w.jsx("svg",{width:"48",height:"24",viewBox:"0 0 48 24",fill:"none",children:w.jsx("path",{d:"M0 12 L8 12 L10 8 L12 16 L14 4 L16 12 L20 12 L22 10 L24 14 L26 10 L28 12 L48 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),w.jsx("span",{children:"正在加载使用地图"})]}):m?w.jsxs("div",{className:"wandox-use-map-empty",children:[w.jsx("div",{className:"wandox-use-map-empty-title",children:m}),w.jsx("button",{type:"button",className:"wandox-use-map-retry",onClick:()=>u(!1),children:"重新加载"})]}):d.length===0?w.jsxs("div",{className:"wandox-use-map-empty",children:[w.jsx("div",{className:"wandox-use-map-empty-title",children:"暂无使用地图"}),w.jsx("div",{className:"wandox-use-map-empty-desc",children:"当前智能体还没有配置岗位目标场景"})]}):w.jsxs(w.Fragment,{children:[w.jsx("div",{className:"wandox-use-map-roles",role:"tablist","aria-label":"岗位",children:d.map(C=>{var A;return w.jsxs("button",{type:"button",role:"tab","aria-selected":(x==null?void 0:x.role_code)===C.role_code,className:`wandox-use-map-role${(x==null?void 0:x.role_code)===C.role_code?" active":""}`,onClick:()=>h(C.role_code),children:[w.jsx("span",{className:"wandox-use-map-role-icon",children:C.icon||"◎"}),w.jsx("span",{className:"wandox-use-map-role-name",children:C.name}),w.jsx("span",{className:"wandox-use-map-role-count",children:C.goal_count||((A=C.goals)==null?void 0:A.length)||0})]},C.id)})}),w.jsx("div",{className:"wandox-use-map-goals",children:((x==null?void 0:x.goals)||[]).map(C=>{var A;return w.jsxs("section",{className:"wandox-use-map-goal-group",children:[w.jsxs("div",{className:"wandox-use-map-goal-group-head",children:[w.jsx("span",{className:"wandox-use-map-goal-group-icon",children:C.icon||"◇"}),w.jsx("span",{className:"wandox-use-map-goal-group-name",children:C.name}),w.jsxs("span",{className:"wandox-use-map-goal-group-count",children:[((A=C.items)==null?void 0:A.length)||0," 个场景"]}),(C.description||C.subtitle)&&w.jsxs("span",{className:"wandox-use-map-goal-group-desc",children:["· ",C.description||C.subtitle]})]}),w.jsx("div",{className:"wandox-use-map-goal-items",children:(C.items||[]).map(E=>{var $,P,N;const I=YG(E).length>0,T=YGt(E.tags);return w.jsxs("button",{type:"button",className:`wandox-use-map-playbook-card${E.is_featured?" wandox-use-map-playbook-card--featured":""}`,onClick:()=>S(E),children:[w.jsx("div",{className:"wandox-use-map-playbook-title",children:w.jsx("span",{className:"wandox-use-map-playbook-name",children:E.title||E.name||(($=E.playbook)==null?void 0:$.name)||"未命名场景"})}),(E.is_featured||I)&&w.jsxs("div",{className:"wandox-use-map-playbook-badges",children:[E.is_featured&&w.jsx(Fo,{color:"gold",className:"wandox-use-map-tag wandox-use-map-featured-tag",children:"精品"}),I&&w.jsx("span",{className:"wandox-use-map-param-badge",children:"参数"})]}),(E.subtitle||E.description||((P=E.playbook)==null?void 0:P.description))&&w.jsx("div",{className:"wandox-use-map-playbook-desc",children:E.subtitle||E.description||((N=E.playbook)==null?void 0:N.description)}),T.length>0&&w.jsx("div",{className:"wandox-use-map-playbook-tags",children:T.map((M,k)=>w.jsx(Fo,{color:M.variant==="soft"?void 0:M.color,className:"wandox-use-map-tag",style:XGt(M),children:M.name},`${M.name}-${k}`))})]},`${C.id}-${E.id||E.playbook_id}`)})})]},C.id)})})]})})]})}function YG(e){var t;return e.input_fields||((t=e.playbook)==null?void 0:t.input_fields)||[]}function YGt(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=typeof(n==null?void 0:n.name)=="string"?n.name.trim():"";return r&&t.push({...n,name:r}),t},[]):[]}function XGt(e){if(!(e.variant!=="soft"||!e.color))return{color:e.color,borderColor:Uve(e.color,.28),backgroundColor:Uve(e.color,.08)}}function Uve(e,t){const n=e.trim().replace("#","");if(!/^[0-9a-fA-F]{6}$/.test(n))return e;const r=Number.parseInt(n.slice(0,2),16),i=Number.parseInt(n.slice(2,4),16),o=Number.parseInt(n.slice(4,6),16);return`rgba(${r}, ${i}, ${o}, ${t})`}function ZGt(e){var n;const t=e.playbook||e;return{category:e.category??null,category_name:e.category_name,description:e.description||e.subtitle||t.description,domain:e.domain||"",id:Number(e.id||0),name:((n=e.playbook)==null?void 0:n.name)||e.title||e.name||"未命名场景",playbook_id:e.playbook_id||t.playbook_id||"",scope:"",status:e.status||t.status||"",sub_category:null,tags:null,type:e.type||"",version:"",input_fields:YG(e),video_url:e.video_url||t.video_url||void 0,video_duration:e.video_duration||t.video_duration,view_count:e.view_count,badge:e.badge||t.badge||null}}const Rm=e=>String(e.playbook_id||e.code||e.name);function QGt({label:e}){return w.jsxs("output",{className:"wandox-scene-list-loading","aria-label":e,children:[w.jsx("span",{className:"wandox-heartbeat-loader","aria-hidden":"true",children:w.jsx("svg",{width:"48",height:"24",viewBox:"0 0 48 24",fill:"none",children:w.jsx("path",{d:"M0 12 L8 12 L10 8 L12 16 L14 4 L16 12 L20 12 L22 10 L24 14 L26 10 L28 12 L48 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),w.jsx("span",{children:e})]})}function JGt({playbooks:e,playbookLoading:t,onPlaybookClick:n,onSelectPlaybook:r,recommendations:i=[],userPlaybooks:o=[],userPlaybooksLoading:a=!1,onLoadUserPlaybooks:s,agentId:l,recentRefreshKey:c=0,domain:u}){const[d,f]=g.useState("playbooks"),[p,h]=g.useState(!1),m=SJ(u),[v,y]=g.useState(!1),[b,x]=g.useState("全部"),[S,_]=g.useState(""),[C,A]=g.useState(null),[E,I]=g.useState([]),[T,$]=g.useState(!1),[P,N]=g.useState(""),M=g.useRef(!1),k=g.useRef(new Map),O=g.useMemo(()=>d==="recommendations"?t&&i.length===0:d==="user"?a:T||t&&e.length===0,[t,T,d,e.length,i.length,a]),j=g.useMemo(()=>l==null?"":String(l).trim(),[l]);g.useEffect(()=>{if(!j){I([]),$(!1);return}let K=!1;return(async()=>{$(!0);try{const Q=await BTe({limit:8,agent_id:j});K||I(Q.data||[])}catch{K||I([])}finally{K||$(!1)}})(),()=>{K=!0}},[j,c]);const z=g.useRef(null),[B,D]=g.useState(5),H=g.useCallback(()=>{if(!z.current)return;const K=z.current.offsetWidth;if(K===0)return;const Q=Math.floor(K/(200+12));D(Math.max(2,Q))},[]);g.useEffect(()=>{const K=setTimeout(H,100);return()=>clearTimeout(K)},[H,d,p]),g.useEffect(()=>{d==="recommendations"&&i.length===0&&f("playbooks")},[i.length,d]),g.useEffect(()=>{d!=="user"||!j||s==null||s()},[d,j,s]),g.useEffect(()=>{!m&&d==="user"&&f("playbooks")},[m,d]),g.useEffect(()=>{if(!z.current)return;const K=new ResizeObserver(()=>{H()});return K.observe(z.current),()=>K.disconnect()},[H]);const W=g.useMemo(()=>new Set(E.map(Rm)),[E]),L=g.useMemo(()=>new Set(o.map(Rm)),[o]),R=g.useMemo(()=>{const K=new Map;for(const ne of E.filter(ee=>!L.has(Rm(ee))))K.set(Rm(ne),ne);for(const ne of e){const ee=Rm(ne);K.has(ee)||K.set(ee,ne)}return Array.from(K.values())},[e,E,L]),F=d==="playbooks"?R:d==="recommendations"?i:o,V=d==="playbooks"?e:F,U=F.length>(B??5)&&V.length>0,G=g.useMemo(()=>{const K=new Map;K.set("全部",V.length);for(const ne of V){const ee=ne.category_name||"未分类";K.set(ee,(K.get(ee)||0)+1)}return Array.from(K.entries()).map(([ne,ee])=>({name:ne,count:ee}))},[V]),q=g.useMemo(()=>{let K=V;if(b!=="全部"&&(K=K.filter(ne=>(ne.category_name||"未分类")===b)),S.trim()){const ne=S.trim().toLowerCase();K=K.filter(ee=>{var Q;return ee.name.toLowerCase().includes(ne)||((Q=ee.description)==null?void 0:Q.toLowerCase().includes(ne))})}return K},[V,b,S]),X=g.useCallback(K=>{const ne=String(K.playbook_id||"").trim();if(!ne)return Promise.reject(new Error("缺少 playbook_id"));const ee=k.current.get(ne);if(ee)return ee;const Q=aS({playbook_id:ne}).then(({data:te})=>$J(K,te)).finally(()=>{k.current.delete(ne)});return k.current.set(ne,Q),Q},[]),Y=g.useCallback(async(K,ne=!1)=>{var ee;if(!M.current){M.current=!0,N(K.playbook_id);try{const Q=await X(K);if(ne&&(y(!1),x("全部"),_("")),(ee=Q.input_fields)!=null&&ee.length&&r){r(Q,Q.name);return}n({message:Q.name,playbook_id:Q.playbook_id})}catch{zt.error("场景参数加载失败,请稍后重试")}finally{M.current=!1,N("")}}},[X,n,r]);return w.jsxs("div",{className:"wandox-pro-scenes-panel",children:[w.jsxs("div",{className:"wandox-hub-section-header",children:[w.jsxs("div",{className:"wandox-scene-tabs",children:[w.jsxs("button",{type:"button",className:`wandox-scene-tab${!p&&d==="playbooks"?" active":""}`,onClick:()=>{f("playbooks"),h(!1)},children:[w.jsx("span",{className:"wandox-scene-tab-mark wandox-scene-tab-mark--playbooks","aria-hidden":"true",children:w.jsx(LY,{})}),w.jsx("span",{children:"默认场景"})]}),i.length>0&&w.jsxs("button",{type:"button",className:`wandox-scene-tab${!p&&d==="recommendations"?" active":""}`,onClick:()=>{f("recommendations"),h(!1)},children:[w.jsx("span",{className:"wandox-scene-tab-mark wandox-scene-tab-mark--recommendations","aria-hidden":"true",children:w.jsx(uht,{})}),w.jsx("span",{children:"推荐场景"})]}),m&&w.jsxs("button",{type:"button",className:`wandox-scene-tab${!p&&d==="user"?" active":""}`,onClick:()=>{f("user"),h(!1)},children:[w.jsx("span",{className:"wandox-scene-tab-mark wandox-scene-tab-mark--user","aria-hidden":"true",children:w.jsx(Amt,{})}),w.jsx("span",{children:"我的场景"})]}),w.jsx(KGt,{agentId:j,onPlaybookClick:n,onSelectPlaybook:r,expanded:p,onExpandedChange:K=>{h(K),K&&f("playbooks")}})]}),U&&!p&&w.jsxs("button",{type:"button",className:"wandox-scene-view-all",onClick:()=>y(!0),children:["查看全部 ",V.length," 个"]})]}),w.jsx("div",{className:"wandox-tab-content",children:!p&&w.jsx("div",{className:"wandox-hub-section",children:O?w.jsx(QGt,{label:d==="user"?"正在加载我的场景":d==="recommendations"?"正在匹配推荐场景":"正在加载场景"}):F.length>0?w.jsxs("div",{className:"wandox-scroll-row",ref:z,children:[F.slice(0,B??5).map(K=>{const ne=P===K.playbook_id,ee=()=>void Y(K),Q=d==="playbooks"&&W.has(Rm(K)),te=d==="user"?"用户":Q?"近期":K.badge==="new"?"New":K.badge==="recommend"?"推荐":K.badge==="featured"?"精选":K.category_name||K.type||"推荐",ie=K.video_duration?`${Math.floor(K.video_duration/60)}:${String(K.video_duration%60).padStart(2,"0")}`:"",oe=be=>{be.stopPropagation(),A(K)},fe={daily:"每日",weekly:"每周",monthly:"每月"},ye=K.is_subscribed?`🔔订阅${K.execution_frequency&&K.execution_frequency!=="none"?`·${fe[K.execution_frequency]}自动跑`:""}`:"",$e=[K.description,ye].filter(Boolean).join(" ");return w.jsxs("div",{className:"wandox-card",children:[w.jsxs("div",{className:"wandox-card-corner",children:[w.jsx("span",{className:"wandox-card-tag",children:te}),K.video_url&&w.jsxs("button",{type:"button",className:"wandox-card-video",onClick:oe,children:["▶ ",ie?` ${ie}`:"0:00"," 演示"]})]}),w.jsxs("button",{type:"button",className:"wandox-card-main",onClick:ee,disabled:ne,"aria-busy":ne,children:[w.jsx("div",{className:"wandox-card-title",children:K.name}),w.jsx("div",{className:"wandox-card-desc",children:ne?"正在加载参数...":$e})]})]},Rm(K))}),U&&w.jsxs("button",{type:"button",className:"wandox-card wandox-card-more",onClick:()=>y(!0),children:[w.jsxs("div",{className:"wandox-card-more-title",children:["查看全部 ",V.length," 个"]}),w.jsx("div",{className:"wandox-card-more-desc",children:"按场景浏览"})]})]}):w.jsx("div",{className:"wandox-empty-slot",children:w.jsxs("div",{className:"wandox-empty",children:[w.jsx("div",{className:"wandox-empty-text",children:d==="playbooks"?"暂无默认场景":d==="recommendations"?"暂无推荐场景":"暂无我的场景"}),w.jsx("div",{className:"wandox-empty-desc",children:d==="playbooks"?"请联系管理员添加场景场景":d==="recommendations"?"系统会根据情况推荐相关场景":"我创建的场景会显示在这里"})]})})})}),w.jsx(ri,{open:v,onCancel:()=>{y(!1),x("全部"),_("")},footer:null,width:900,closable:!1,centered:!0,styles:{container:{padding:0,overflow:"hidden"},body:{height:"90vh"}},zIndex:1e4,children:w.jsxs("div",{className:"wandox-playbook-browser",children:[w.jsxs("div",{className:"wandox-playbook-sidebar",children:[w.jsx("div",{className:"wandox-playbook-sidebar-title",children:"场景分类"}),w.jsx("div",{className:"wandox-playbook-categories",children:G.map(K=>w.jsxs("button",{type:"button",className:`wandox-playbook-category-item${b===K.name?" active":""}`,onClick:()=>x(K.name),children:[w.jsx("span",{className:"wandox-playbook-category-name",children:K.name}),w.jsx("span",{className:"wandox-playbook-category-count",children:K.count})]},K.name))})]}),w.jsxs("div",{className:"wandox-playbook-main",children:[w.jsx("div",{className:"wandox-playbook-search",children:w.jsx(_n,{placeholder:"搜索场景名称或描述...",prefix:w.jsx(Ef,{style:{color:"#9ca3af"}}),value:S,onChange:K=>_(K.target.value),allowClear:!0})}),w.jsx("div",{className:"wandox-playbook-list",children:q.length===0?w.jsx(os,{description:"暂无场景",style:{marginTop:80}}):q.map(K=>{const ne=K.input_fields&&K.input_fields.length>0,ee=P===K.playbook_id,Q=!!K.video_url,te=()=>void Y(K,!0),ie=K.video_duration?`${Math.floor(K.video_duration/60)}:${String(K.video_duration%60).padStart(2,"0")}`:"",oe=()=>{A(K)};return w.jsx("div",{className:"wandox-playbook-list-item",children:w.jsxs("div",{className:"wandox-playbook-list-item-content",children:[w.jsx("div",{className:"wandox-playbook-list-item-icon",children:Q?w.jsx("button",{className:"wandox-playbook-video-icon",title:"包含演示视频",onClick:oe,type:"button",children:w.jsx(Qw,{})}):w.jsx("div",{className:"wandox-playbook-no-video-icon",children:w.jsx(AE,{})})}),w.jsxs("div",{className:"wandox-playbook-list-item-body",children:[w.jsx("div",{className:"wandox-playbook-list-item-header",children:w.jsxs("div",{className:"wandox-playbook-list-item-title",children:[K.name,K.badge&&w.jsx("span",{className:`wandox-scene-badge wandox-scene-badge--${K.badge}`,children:K.badge==="new"?"New":K.badge==="recommend"?"推荐":"精选"})]})}),K.description&&w.jsx("div",{className:"wandox-playbook-list-item-desc",children:K.description}),K.last_execution_remark&&w.jsxs("div",{className:"wandox-playbook-list-item-remark",children:[w.jsx("span",{className:"wandox-playbook-list-item-remark-icon",children:"💡"}),w.jsxs("span",{children:["上次:",K.last_execution_remark]})]})]}),w.jsxs("div",{className:"wandox-playbook-list-item-actions",children:[w.jsx("button",{type:"button",className:"wandox-playbook-list-item-btn",onClick:te,disabled:ee,"aria-busy":ee,children:ee?"加载中":ne?"参数":"运行"}),Q&&w.jsxs("button",{type:"button",className:"wandox-playbook-demo-link",onClick:oe,children:["看演示",ie?` ${ie}`:""]})]})]})},K.playbook_id)})})]})]})}),w.jsx(CJ,{playbook:C,onClose:()=>A(null)})]})}var nje={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(gs,function(){var n="month",r="quarter";return function(i,o){var a=o.prototype;a.quarter=function(c){return this.$utils().u(c)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(c-1))};var s=a.add;a.add=function(c,u){return c=Number(c),this.$utils().p(u)===r?this.add(3*c,n):s.bind(this)(c,u)};var l=a.startOf;a.startOf=function(c,u){var d=this.$utils(),f=!!d.u(u)||u;if(d.p(c)===r){var p=this.quarter()-1;return f?this.month(3*p).startOf(n).startOf("day"):this.month(3*p+2).endOf(n).endOf("day")}return l.bind(this)(c,u)}}})})(nje);var eUt=nje.exports;const tUt=Go(eUt);Nn.extend(HK);Nn.extend(tUt);Nn.extend(MCe);const nUt={date:"YYYY-MM-DD",daterange:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss",datetimerange:"YYYY-MM-DD HH:mm:ss",time:"HH:mm:ss",timerange:"HH:mm:ss"};function oT(e){const t=String(e||"").trim().toLowerCase().replace(/[_-]/g,"");return t==="date"?"date":t==="daterange"?"daterange":t==="datetime"?"datetime":t==="datetimerange"?"datetimerange":t==="time"?"time":t==="timerange"?"timerange":null}function lu(e){var n;const t=oT(e.type);if(t)return(n=e.format)!=null&&n.trim()?e.format.trim():mj(e)==="time"?"HH:mm:ss":TJ(e)?"YYYY-MM-DD HH:mm:ss":e.picker==="year"?"YYYY":e.picker==="month"?"YYYY-MM":e.picker==="week"?"YYYY-wo":e.picker==="quarter"?"YYYY-[Q]Q":nUt[t]}function mj(e){const t=oT(e.type);return t?t==="time"||t==="timerange"?"time":"date":null}function vw(e){const t=oT(e.type);return e.range??(t==="daterange"||t==="datetimerange"||t==="timerange")}function TJ(e){const t=oT(e.type);return e.show_time??(t==="datetime"||t==="datetimerange")}function yw(e,t){return["date","week","month","quarter","year"].includes(t||"")?t:e==="YYYY"?"year":e==="YYYY-MM"?"month":"date"}function ov(e){return e!=null&&e.includes("ss")?"HH:mm:ss":"HH:mm"}function av(e,t,n){if(e==null||e===""||typeof e!="string"&&typeof e!="number"&&!(e instanceof Date)&&!Nn.isDayjs(e))return null;let r;if(typeof e=="string"&&/^\d{1,2}:\d{2}(?::\d{2})?$/.test(e))r=Nn(`2000-01-01 ${e}`);else if(typeof e=="string"&&n==="quarter"){const i=e.match(/^(\d{4}).*?Q([1-4])/i);r=i?Nn(`${i[1]}-01-01`).quarter(Number(i[2])):Nn(e)}else if(typeof e=="string"&&n==="week"){const i=e.match(/^(\d{4})\D+(\d{1,2})/);r=i?Nn(`${i[1]}-01-01`).week(Number(i[2])):Nn(e)}else typeof e=="string"&&t?(r=Nn(e,t,!0),r.isValid()||(r=Nn(e))):r=Nn(e);return r.isValid()?r:null}function wC(e,t,n){return!Array.isArray(e)||e.length!==2?null:[av(e[0],t,n),av(e[1],t,n)]}function rje({field:e,value:t,size:n,disabled:r=!1,readOnly:i=!1,status:o,onChange:a}){const s=mj(e),l=lu(e),c=vw(e),u={size:n,style:{width:"100%"},format:l,disabled:r,allowClear:!i,inputReadOnly:i,open:i?!1:void 0,status:o};if(s==="date"){const d=TJ(e),f=yw(l,e.picker),p=d?"日期时间":"日期",h={...u,picker:f,showTime:d?{format:ov(l)}:!1};return c?w.jsx(Zr.RangePicker,{...h,value:wC(t,l,f),placeholder:[`请选择开始${p}`,`请选择结束${p}`],onChange:(m,v)=>a(v)}):w.jsx(Zr,{...h,value:av(t,l,f),placeholder:e.placeholder||`请选择${p}`,onChange:(m,v)=>a(v)})}return s==="time"?c?w.jsx(da.RangePicker,{...u,value:wC(t,l),placeholder:["请选择开始时间","请选择结束时间"],onChange:(d,f)=>a(f)}):w.jsx(da,{...u,value:av(t,l),placeholder:e.placeholder||"请选择时间",onChange:(d,f)=>a(f)}):null}const ije=[{name:"country",label:"国家/地区"},{name:"state",label:"州/省"},{name:"province",label:"省"},{name:"city",label:"城市"},{name:"postal_code",label:"邮政编码"},{name:"address_line1",label:"地址"}],rUt=Object.fromEntries(ije.map(e=>[e.name,e.label]));function R$(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function R0(e){return typeof e=="string"?e.trim():String(e??"").trim()}function iUt(e,t){return!R$(e)||!Array.isArray(e[t])?[]:e[t].map(String).filter(Boolean)}function oUt(e,t){if(!R$(e)||!R$(e.postal_code_patterns))return;const n=e.postal_code_patterns[t];return typeof n=="string"?n:void 0}function aUt(e){const t=String(e.type||"").toLowerCase(),n=String(e.widget||"").toLowerCase();return t==="address"||n==="address"}function sUt(){return[...ije]}function lUt(e,t){if(!R$(e))return"请输入有效地址";const n=iUt(t,"required_fields"),r=n.length>0?n:["country","city","postal_code","address_line1"];for(const l of r)if(!R0(e[l]))return`请填写${rUt[l]||`地址字段 ${l}`}`;if(n.length===0&&!R0(e.state)&&!R0(e.province))return"请填写州/省";const i=R0(e.country).toUpperCase(),o=R0(e.postal_code),a=oUt(t,i);if(o&&a)try{if(!new RegExp(a).test(o))return"邮政编码格式不正确"}catch{return"地址邮编规则配置无效"}const s=R$(t)&&typeof t.max_length=="number"?t.max_length:200;return R0(e.address_line1).length>s?`地址行不能超过 ${s} 个字符`:""}const oje=/\$\{\s*\{?\s*params\.([a-zA-Z0-9_.-]+)\s*\}?\s*\}/g,cUt=/^\$\{\s*\{?\s*params\.([a-zA-Z0-9_.-]+)\s*\}?\s*\}$/;function sv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function XG(e,t){return t.split(".").reduce((n,r)=>{if(sv(n))return n[r]},e)}function uUt(e){return e==null||e===""}function dUt(e){const t=new Set,n=r=>{if(typeof r=="string"){for(const i of r.matchAll(oje))i[1]&&t.add(i[1]);return}if(Array.isArray(r)){r.forEach(n);return}sv(r)&&Object.values(r).forEach(n)};return n(e),Array.from(t)}function fUt(e,t){const n=e.split(".")[0],r=t.find(i=>i.name===e||i.name===n);return r?!!r.required:!0}function ZG(e,t){if(typeof e=="string"){const n=e.match(cUt);return n!=null&&n[1]?XG(t,n[1]):e.replace(oje,(r,i)=>{const o=XG(t,i);return o==null?"":String(o)})}return Array.isArray(e)?e.map(n=>ZG(n,t)):sv(e)?Object.fromEntries(Object.entries(e).map(([n,r])=>[n,ZG(r,t)])):e}function pUt(e){const t=sv(e)&&"data"in e?e.data:e,n=[t];sv(t)&&(n.push(t.output_data,t.options,t.items,t.data,t.result,t.results,t.list),sv(t.output)&&n.push(t.output.output_data,t.output.options,t.output.items,t.output.data));for(const r of n)if(Array.isArray(r))return r;return[]}function hUt(e){let t;return{options:pUt(e).map(r=>{if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")return{value:String(r),label:String(r)};if(!sv(r))return null;const i=r.value??r.key??r.code??r.id??r.name??r.label;if(i==null)return null;const o=r.label??r.name??r.title??r.text??r.value??i;if(String(i)===""){const a=String(o||"");return a&&!t&&(t=a),null}return{value:String(i),label:String(o)}}).filter(r=>!!r),placeholder:t}}function mUt(e){return(e.enum||[]).map(t=>({value:t,label:t}))}function aje(e,t,n){const[r,i]=g.useState({}),o=g.useRef({}),a=g.useRef({}),[s,l]=g.useState({}),[c,u]=g.useState({});g.useEffect(()=>{const h=window.setTimeout(()=>u(s),300);return()=>window.clearTimeout(h)},[s]);const d=g.useCallback((h,m)=>{l(v=>v[h]===m?v:{...v,[h]:m})},[]),f=g.useCallback(h=>s[h]||"",[s]),p=g.useMemo(()=>e.filter(h=>!!h.options_from_skill),[e]);return g.useEffect(()=>{const h=new Set(p.map(m=>m.name));for(const m of Object.keys(o.current))h.has(m)||(delete o.current[m],delete a.current[m]);for(const m of p)delete o.current[m.name],a.current[m.name]=(a.current[m.name]||0)+1;i(m=>{const v=Object.fromEntries(Object.entries(m).filter(([y])=>h.has(y)));return Object.keys(v).length===Object.keys(m).length?m:v})},[p]),g.useEffect(()=>{for(const h of p){if(!h.options_from_skill)continue;const v=dUt(h.options_params).filter(_=>fUt(_,e)&&uUt(XG(t,_))),y=ZG(h.options_params||{},t);h.search_param&&(y[h.search_param]=c[h.name]||"");const b=JSON.stringify({skill_id:h.options_from_skill,params:y,missing:v});if(o.current[h.name]===b)continue;const x=o.current[h.name]!==void 0||v.length>0;o.current[h.name]=b,a.current[h.name]=(a.current[h.name]||0)+1;const S=a.current[h.name];if(x&&n(_=>_[h.name]===void 0||_[h.name]===""?_:{..._,[h.name]:void 0}),v.length>0){i(_=>({..._,[h.name]:{options:[],loading:!1,waitingForDependencies:!0}}));continue}i(_=>{var C,A;return{..._,[h.name]:{options:((C=_[h.name])==null?void 0:C.options)||[],loading:!0,placeholder:(A=_[h.name])==null?void 0:A.placeholder,waitingForDependencies:!1}}}),FTe({},{skill_id:h.options_from_skill,params:y}).then(_=>{if(a.current[h.name]!==S)return;const C=hUt(_);i(A=>({...A,[h.name]:{options:C.options,loading:!1,placeholder:C.placeholder,waitingForDependencies:!1}}))}).catch(_=>{if(a.current[h.name]!==S)return;const C=_ instanceof Error?_.message:"动态选项加载失败";i(A=>({...A,[h.name]:{options:[],loading:!1,error:C,waitingForDependencies:!1}}))})}},[p,e,t,n,c]),{setFieldSearch:d,getFieldSearch:f,getFieldState(h){return h.options_from_skill?r[h.name]||{options:[],loading:!1,waitingForDependencies:!1}:{options:mUt(h),loading:!1,waitingForDependencies:!1}}}}function bw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ng(e,t=""){return typeof e=="string"?e:e==null?t:String(e)}function Ql(e){return typeof e=="string"?e:void 0}const gUt=["date","week","month","quarter","year"];function vUt(e){return typeof e=="string"&&gUt.includes(e)}function qve(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()){const t=Number(e);return Number.isFinite(t)?t:void 0}}function yUt(e){if(!Array.isArray(e))return;const t=e.map(n=>{if(!bw(n))return null;const r=Ng(n.path);return r?{name:Ng(n.name,r.split("/").pop()||r),path:r}:null}).filter(n=>!!n);return t.length>0?t:void 0}function bUt(e){if(!Array.isArray(e))return;const t=e.map(n=>{if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return{value:String(n),label:String(n)};if(!bw(n))return null;const r=n.value??n.key??n.code??n.id??n.name??n.label;return r==null||r===""?null:{value:String(r),label:Ng(n.label??n.title??n.text??n.name??r,String(r))}}).filter(n=>!!n);return t.length>0?t:void 0}function s5(e){const t=bw(e)?e:{};return{name:Ng(t.name),label:Ng(t.label,Ng(t.name)),type:Ng(t.type,"string"),required:typeof t.required=="boolean"?t.required:!0,default:t.default,mock:t.mock,format:Ql(t.format),picker:vUt(t.picker)?t.picker:void 0,show_time:typeof t.show_time=="boolean"?t.show_time:void 0,range:typeof t.range=="boolean"?t.range:void 0,enum:Array.isArray(t.enum)?t.enum.map(n=>String(n)):void 0,options:bUt(t.options),placeholder:Ql(t.placeholder),options_from_skill:Ql(t.options_from_skill),options_params:bw(t.options_params)?t.options_params:void 0,file_type:Ql(t.file_type),max_files:qve(t.max_files),description:Ql(t.description),hint:Ql(t.hint??t.label_hint??t.helper_text),file_templates:yUt(t.file_templates),group:Ql(t.group??t.group_key??t.form_group),group_label:Ql(t.group_label??t.group_title),group_description:Ql(t.group_description??t.group_subtitle),ui_component:Ql(t.ui_component??t.component??t.render_as),widget:Ql(t.widget),address_validation:t.address_validation??t.addressValidation,span:qve(t.span??t.col_span??t.column_span),visible_when:t.visible_when??t.visibleWhen}}function sje(e){return Array.isArray(e)?e.map(s5).filter(t=>!!t.name):bw(e)?Object.entries(e).map(([t,n])=>bw(n)?s5({...n,name:n.name??t}):s5({name:t,label:t,type:"string",default:n})).filter(t=>!!t.name):[]}const xUt=["智能体对话","非 ASIN 查询场景","巡检机器人定时任务"];function SC(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function qd(e){return e==null?!1:typeof e=="string"?e.trim().length>0:!0}function Kve(e){if(Array.isArray(e)){if(e.length===0)return null;const t=e.find(n=>SC(n)?Object.keys(n).length>0:qd(n));return SC(t)?t:qd(t)?{value:t}:null}return SC(e)?Object.keys(e).length>0?e:null:qd(e)?{value:e}:null}function ks(e,t,n=0){if(e){for(const r of t){const i=e[r];if(qd(i))return i}if(!(n>=2))for(const r of Object.values(e)){if(SC(r)){const i=ks(r,t,n+1);if(qd(i))return i}if(Array.isArray(r))for(const i of r){if(!SC(i))continue;const o=ks(i,t,n+1);if(qd(o))return o}}}}function yh(e){if(qd(e))return String(e).trim()}function wUt(e){return Array.from(e).slice(0,4).join("")}function D0(e){const t=yh(e);if(!t)return;const n=t.match(/^(\d{4}-\d{2}-\d{2})/);return(n==null?void 0:n[1])||t}function SUt(e){return Array.isArray(e)?e.map(t=>yh(t)).filter(t=>!!t):[]}function _Ut(e){const t=yh(e);if(!(!t||!/^#[\da-f]{3}([\da-f]{3})?$/i.test(t)))return t}function CUt(e){const t=e.slice(1),n=t.length===3?t.split("").map(s=>`${s}${s}`).join(""):t,r=Number.parseInt(n.slice(0,2),16),i=Number.parseInt(n.slice(2,4),16),o=Number.parseInt(n.slice(4,6),16);return(r*299+i*587+o*114)/1e3>=160?"#1f1f1f":"#ffffff"}function QG(e){if(!qd(e))return;if(typeof e=="number"&&Number.isFinite(e))return new Intl.NumberFormat("en-US").format(e);const t=String(e).trim(),n=t.replace(/,/g,""),r=Number(n);return n&&Number.isFinite(r)?new Intl.NumberFormat("en-US").format(r):t}function Yve(e,t){if(!qd(e))return t;const n=String(e).trim();return["infinite","unlimited","∞"].includes(n.toLowerCase())?"∞ 无限":QG(e)||t}function AUt(e){const t=yh(e==null?void 0:e.package_name);if(!(!t||t==="无限算力年卡"))return t}function $Ut(e){const t=yh(ks(e,["asin_usage","asin_usage_text","asin_used_display","usage_text"]));if(t)return t;const n=QG(ks(e,["used_asin","asin_used","used_asin_count","asin_used_count","asin_used_num","asin_num_by_use","used_count","used_num","used","consumed_asin","query_used_count"])),r=QG(ks(e,["total_asin","asin_total","total_asin_count","asin_total_count","asin_limit","asin_quota","asin_num","total_count","total_num","limit","quota","total"]));if(!(!n&&!r))return`${n||"-"} / ${r||"-"}`}function EUt(e){const t=ks(e,["used_asin","asin_used","used_asin_count","asin_used_count","asin_used_num","asin_num_by_use","used_count","used_num","used","consumed_asin","query_used_count"]),n=ks(e,["total_asin","asin_total","total_asin_count","asin_total_count","asin_limit","asin_quota","asin_num","total_count","total_num","limit","quota","total"]),r=Number(String(t??"").replace(/,/g,"")),i=Number(String(n??"").replace(/,/g,""));if(!(!Number.isFinite(r)||!Number.isFinite(i)||i<=0))return Math.min(Math.round(r/i*100),100)}function lje(e){var o,a,s;if(!e)return null;const t=Kve(e.competitive_asin_info);if(t)return{kind:"competitiveAsin",badgeText:"包年权益",badgeColor:"#9444f5",badgeTextColor:"#ffffff",packageName:yh(ks(t,["package_name","packageName","plan_name","benefit_name","name","title","package_type"]))||AUt(e.package_info)||"竞品智能体包年权益",subtitle:"竞品智能体专属权益",remainingLabel:"剩余算力(非ASIN查询):",remainingValue:Yve(ks(t,["token_num","tokenNum","remaining_token","token_remaining","remaining_power","power_remaining"])??((o=e.package_info)==null?void 0:o.token_num),"∞ 无限"),asinUsage:$Ut(t),asinUsagePercent:EUt(t),endTime:D0(ks(t,["end_time","endTime","expire_time","expired_at","expires_at","end_date","package_end_time"]))||D0((a=e.package_info)==null?void 0:a.end_time)||"-",startTime:D0(ks(t,["start_time","startTime","open_time","opened_at","started_at","start_date","package_start_time"]))||D0((s=e.package_info)==null?void 0:s.start_time)||"-",coverageTitle:"无限算力覆盖范围",coverageItems:xUt};const n=Kve(e.package_info);if(!n)return null;const r=yh(ks(n,["package_name","packageName"]))||"套餐权益",i=_Ut(ks(n,["package_color","packageColor"]))||"#9444f5";return{kind:"free",badgeText:wUt(r),badgeColor:i,badgeTextColor:CUt(i),packageName:r,remainingLabel:"剩余算力:",remainingValue:Yve(n.token_num,"-"),endTime:D0(n.end_time)||"-",startTime:D0(n.start_time)||"-",coverageTitle:yh(n.detail_title)||"套餐权益",coverageItems:SUt(n.detail_ul)}}const{RangePicker:Osn}=Zr;function TUt({title:e="正在进入指定智能体",description:t="正在加载智能体与场景信息..."}){return w.jsxs("output",{className:"wandox-initial-route-loading","aria-label":e,children:[w.jsxs("div",{className:"wandox-initial-route-loading-aura","aria-hidden":"true",children:[Array.from({length:12},(n,r)=>({angle:r*30,delay:r*.08})).map(({angle:n,delay:r})=>w.jsx("span",{className:"wandox-chat-history-ray",style:{"--ray-angle":`${n}deg`,"--ray-delay":`${r}s`}},n)),w.jsx("img",{className:"wandox-loading-brand-mark",src:oS,alt:"","aria-hidden":"true"})]}),w.jsx("div",{className:"wandox-initial-route-loading-title",children:e}),w.jsx("div",{className:"wandox-initial-route-loading-text",children:t})]})}function IJ(e){if(Array.isArray(e))return e;if(e&&typeof e=="object"){const t=e.items;if(Array.isArray(t))return t}return[]}const uP=[0,1500,4e3];function IUt(e){return e.oss_url?e.oss_url:`${_r()}/api/v1/cognitive/artifacts/${e.artifact_id}/download`}function PUt(e){var n;const t=[e.content||""];(n=e.ui_payload)!=null&&n.content&&t.push(String(e.ui_payload.content));for(const r of e.outputs||[])r!=null&&r.content&&t.push(String(r.content));return t.join(`
|
|
774
774
|
`)}async function Xve(e){const{data:t}=await KTe(e);return IJ(t).filter(n=>n==null?void 0:n.artifact_id)}function NUt(e,t){const{assistantMsgId:n,matches:r,onMessagesUpdate:i}=e,o=r||(s=>s.id===n);let a=!1;return i(s=>s.map(l=>{var p;if(!o(l)||l.role!=="assistant")return l;const c=Array.isArray((p=l.meta_content)==null?void 0:p.artifacts)?l.meta_content.artifacts:[],u=new Set(c.map(h=>h.artifact_id)),d=PUt(l),f=t.filter(h=>{if(u.has(h.artifact_id))return!1;const m=IUt(h);return!!m&&!d.includes(m)});return f.length===0?l:(a=!0,{...l,meta_content:{...l.meta_content,artifacts:[...c,...f]}})})),a}function Zve(e){const{conversationId:t,executionId:n,isStale:r}=e,i=n!=null?String(n):void 0;if(!t&&!i)return;let o=0,a=!1;const s=async()=>{if(!(a||r!=null&&r())){try{const l=i?await Xve({run_id:i}):await Xve({conversation_id:t});if(a||r!=null&&r())return;if(l.length>0&&NUt(e,l),l.some(u=>u.kind==="data")||o>=uP.length-1){a=!0;return}}catch{if(o>=uP.length-1){a=!0;return}}o+=1,setTimeout(s,uP[o])}};setTimeout(s,uP[0])}function PJ(e,t){return e.role!==t.role?!1:t.message_id&&e.message_id?e.message_id===t.message_id:e.id===t.id}function JG(e){const t=[];for(let n=e.length-1;n>=0;n-=1){const r=e[n];t.some(i=>PJ(i,r))||t.unshift(r)}return t}function kUt(e,t){const n=JG(e);return[...JG(t).filter(i=>!n.some(o=>PJ(o,i))),...n]}function Dm(e,t){return e.role==="assistant"&&PJ(e,t)}function Qve(e){return e.role!=="user"?!1:!!(e.outputs||e.ui_payload||e.actions&&e.actions.length>0)&&/^\s*⏳\s*Step\d+/i.test(e.content||"")}const cje=new Set(["completed","failed","stopped"]),MUt=new Set(["thinking","recommend"]),dP={running:0,completed:1,failed:2,stopped:3},RUt=["step_index","step_name","step_id","total_steps","task_id","status","title","content","children","output","output_type","output_data","fields_map","output_fields_map","input_params","is_final","streaming","message","content_truncated","data_count"];function NJ(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function eU(e){const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)&&t>=0?t:void 0}function DUt(e){const t=String(e||"").toLowerCase();return t==="running"||t==="failed"||t==="stopped"?t:"completed"}function OUt(e){const t=NJ(e.data)?e.data:{};return{...RUt.reduce((r,i)=>(e[i]!==void 0&&(r[i]=e[i]),r),{}),...t}}function uje(e,t){if(!NJ(e))return;const n=typeof e.type=="string"&&e.type.trim()?e.type.trim():void 0;if(!n)return;const r=eU(e.sequence),i=OUt(e);return{...typeof e.event_id=="string"&&e.event_id?{event_id:e.event_id}:{},type:n,sequence:r===void 0?t:r,...typeof e.timestamp=="string"&&e.timestamp?{timestamp:e.timestamp}:{},...typeof e.execution_id=="string"&&e.execution_id?{execution_id:e.execution_id}:{},...typeof e.execution_type=="string"&&e.execution_type?{execution_type:e.execution_type}:{},...typeof e.source=="string"&&e.source?{source:e.source}:{},data:i}}function O0(e){return e==null?"":String(e).trim()}function LUt(e,t){const n=O0(e.data.task_id),r=O0(t.data.task_id);if(n&&r)return n===r;const i=O0(e.data.step_index),o=O0(t.data.step_index);if(i&&o)return i===o;const a=O0(e.data.step_name||e.data.title),s=O0(t.data.step_name||t.data.title);return!!(a&&s&&a===s)}function dje(e,t){const n=t.data.content===null&&t.data.is_final===!0,r=e.data.content!==void 0&&e.data.content!==null&&(typeof e.data.content!="string"||e.data.content.trim().length>0);return{...e,...t,event_id:e.event_id||t.event_id,type:"step",sequence:e.sequence,data:{...e.data,...t.data,...n&&r?{type:e.data.type||"markdown",content:e.data.content,streaming:!1}:{}}}}function jUt(e,t,n){let r=-1,i=Number.POSITIVE_INFINITY,o=!1;return e.forEach((a,s)=>{if(a.type!=="step"||!LUt(t,a))return;const l=Math.abs(a.sequence-t.sequence),c=s<n;(l<i||l===i&&c&&!o)&&(r=s,i=l,o=c)}),r}function fje(e){const t=new Map,n=new Map;return e.forEach((r,i)=>{if(r.type!=="output")return;const o=jUt(e,r,i);if(o<0)return;t.set(i,o);const a=n.get(o)||[];a.push(r),n.set(o,a)}),e.reduce((r,i,o)=>{if(i.type==="output"&&t.has(o))return r;if(i.type!=="step")return r.push(i),r;const s=(n.get(o)||[]).reduce(dje,i);return r.push(s),r},[])}function kJ(e){if(!NJ(e))return;const t=fje((Array.isArray(e.events)?e.events:[]).map((a,s)=>uje(a,s+1)).filter(a=>!!a).sort((a,s)=>a.sequence-s.sequence)),n=DUt(e.status),r=e.duration_ms===null?null:eU(e.duration_ms),i=typeof e.started_at=="string"&&e.started_at.trim().length>0;if(t.length===0&&n!=="running"&&r==null&&!i)return;const o=eU(e.total);return{status:n,...e.origin==="live"||e.origin==="history"?{origin:e.origin}:{},duration_ms:r,total:o===void 0?t.length:o,truncated:e.truncated===!0,events:t,...i?{started_at:e.started_at}:{}}}function KR(e=new Date().toISOString()){return{status:"running",origin:"live",duration_ms:0,total:0,truncated:!1,events:[],started_at:e}}function MJ(e,t,n=Date.now()){const r=kJ(e.process)??KR(e.timestamp||new Date(n).toISOString());if(cje.has(r.status))return e;const i=r.events.reduce((u,d)=>Math.max(u,d.sequence),0)+1,o=uje({...t,sequence:t.sequence??i,timestamp:t.timestamp||new Date(n).toISOString()},i);if(!o)return e;let a=[...r.events];const s=o.event_id?a.findIndex(u=>u.event_id===o.event_id):-1;if(s>=0){const u=a[s];a[s]=u.type==="step"&&o.type==="output"?dje(u,o):{...u,...o,sequence:u.sequence}}else a.push(o),a.sort((u,d)=>u.sequence-d.sequence);a=fje(a);const l=Date.parse(r.started_at||e.timestamp),c=Number.isFinite(l)?Math.max(r.duration_ms||0,n-l):r.duration_ms;return{...e,process:{...r,status:"running",duration_ms:c,total:a.length,events:a}}}function bh(e,t,n=Date.now()){const r=kJ(e.process);if(!r||cje.has(r.status)&&dP[r.status]>=dP[t])return e;const i=r.events.filter(c=>!MUt.has(c.type)),o=Date.parse(r.started_at||e.timestamp),a=Number.isFinite(o)?Math.max(0,n-o):void 0,s=r.duration_ms==null?a:a===void 0?r.duration_ms:Math.max(r.duration_ms,a),l=dP[r.status]>dP[t]?r.status:t;return{...e,process:{...r,status:l,duration_ms:s,total:i.length,events:i}}}function pje(e){return e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.some(pje):typeof e=="object"?Object.keys(e).length>0:!0}function zUt(e,t){return{...e,content:"",ui_payload:{type:"markdown",content:t,streaming:!0},stream_content_received:!0}}function BUt(e,t){return!!(t.task_id&&String(e.data.task_id??"")===String(t.task_id)||t.step_index!==void 0&&String(e.data.step_index??"")===String(t.step_index)||t.step_name&&String(e.data.step_name??e.data.title??"")===t.step_name)}function FUt(e,t){return t?t.is_step_content===!0?!0:!e.process||!(t.task_id!==void 0||t.step_index!==void 0||t.step_name!==void 0)?!1:e.process.events.some(r=>r.type==="step"&&BUt(r,t)):!1}function VUt(e,t,n){return FUt(e,n)?e:zUt(e,t)}function tU(e,t){var s;const n=Array.isArray(t.payload)?t.payload:void 0,r=pje(t.payload),i=!n&&r?t.payload:void 0,o=r&&e.stream_final_outputs_received===!0,a={message_id:t.messageId||e.message_id,execution_id:t.executionId??e.execution_id,conversation_id:t.conversationId??e.conversation_id,actions:(s=t.actions)!=null&&s.length?t.actions:void 0,execution_status:"completed",outputs:n&&r?n:o?void 0:e.outputs,stream_final_outputs_received:r?void 0:e.stream_final_outputs_received};return e.stream_content_received?{...e,...a,content:"",ui_payload:r?i:e.ui_payload?{...e.ui_payload,streaming:!1}:e.ui_payload}:{...e,...a,content:r?"":t.content||"执行完成",ui_payload:i}}const HUt=new Set(["content","output","step","thinking"]);function Jve(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function yp(e){return e==null?!1:typeof e=="string"?e.trim().length>0:Array.isArray(e)?e.length>0:typeof e=="object"?Object.keys(e).length>0:!0}function VN(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Gp(e){return e==null?void 0:String(e).trim()||void 0}function WUt(e){const t=typeof e=="number"?e:Number(e);return Number.isInteger(t)&&t>=0?t:void 0}function hje(e,t){var r;const n=(r=Gp(e))==null?void 0:r.toLowerCase();return n&&!HUt.has(n)?n:typeof t=="string"?"markdown":"card"}function YR(e,t){const n=(e==null?void 0:e.fields_map)??(e==null?void 0:e.output_fields_map)??t.fields_map??t.output_fields_map;return Array.isArray(n)?n:void 0}function nU(e,t,n){if(yp(e))return{type:hje((n==null?void 0:n.type)??(n==null?void 0:n.output_type)??t.output_type??t.type,e),...Gp((n==null?void 0:n.title)??t.title)?{title:String((n==null?void 0:n.title)??t.title)}:{},content:e,...YR(n,t)?{fields_map:YR(n,t)}:{}}}function eye(e,t){if(!(typeof e.type=="string"||typeof e.output_type=="string"||VN(e,"content")||VN(e,"fields_map")||VN(e,"output_fields_map"))){const i=[e.data,e.result].find(yp);return[nU(i??e,t,e)].filter(o=>!!o)}const r=[e.content,e.data,e.result,e.output_data].find(yp);return!yp(r)&&!yp(e.message)?[]:[{...e,type:hje(e.type??e.output_type??t.output_type??t.type,r??e.message),...yp(r)?{content:r}:{},...YR(e,t)?{fields_map:YR(e,t)}:{}}]}function GUt(e,t){if(!yp(e))return[];if(Array.isArray(e)){if(e.every(o=>Jve(o)&&(typeof o.type=="string"||VN(o,"content"))))return e.flatMap(o=>eye(o,t));const i=nU(e,t);return i?[i]:[]}if(Jve(e))return eye(e,t);const n=nU(e,t);return n?[n]:[]}function mje(e){if(e.type!=="output")return[];const t=e.data,n=[t.output_data,t.output,t.content,t.result,t.data].find(yp);return GUt(n,t)}function gje(e){const t=String(e.data.status??"").toLowerCase();return e.data.is_final===!0||e.data.streaming===!1||["completed","done","failed","stopped"].includes(t)}function tye(e,t,n){var f;const r=`playbook-step-${n.yamlIndex}`,i=gje(t),o=Array.isArray(e.outputs)?e.outputs:[],a=o.findIndex(p=>p._final_result_source===r),s=mje(t);if(s.length===0)return!i||a<0?e:{...e,outputs:o.map(p=>p._final_result_source===r?{...p,streaming:!1}:p)};const l=((f=t.event_id)==null?void 0:f.startsWith("content:"))===!0,c=s.map(p=>({...p,...l?{title:void 0}:{},step_id:Gp(t.data.step_id)??n.stepId,step_index:void 0,step_name:void 0,task_id:Gp(t.data.task_id),streaming:i?!1:t.data.streaming===!0,_final_result_source:r,_final_result_order:n.yamlIndex})),u=o.filter(p=>p._final_result_source!==r),d=a>=0?Math.min(a,u.length):u.findIndex(p=>p._final_result_order!==void 0&&p._final_result_order>n.yamlIndex);return d<0?u.push(...c):u.splice(d,0,...c),{...e,content:"",outputs:u,stream_final_outputs_received:!0}}function UUt(e){const t=(e==null?void 0:e.allSteps)??(e==null?void 0:e.steps)??[],n=(e==null?void 0:e.steps)??[],r=new Map,i=new Map;let o;const a=c=>c.length===1?c[0]:void 0,s=c=>{var _;if(n.length===0)return;const u=c.data,d=Gp(u.task_id),f=d?r.get(d):void 0;if(f)return f;const p=Gp(u.step_id),h=(_=Gp(u.step_name??u.title))==null?void 0:_.toLowerCase(),m=p?a(t.filter(C=>C.stepId===p)):void 0,v=h?a(t.filter(C=>C.stepNames.some(A=>A.toLowerCase()===h))):void 0;if(m&&v&&m.yamlIndex!==v.yamlIndex)return;const y=m??v,b=WUt(u.step_index);o===void 0&&b!==void 0&&(b===0?o=0:e&&b===e.totalSteps?o=1:y&&(b===y.yamlIndex?o=0:b===y.stepNumber&&(o=1)));let x;if(b!==void 0){const C=o===0?b:b-1;x=t[C]}if(y&&b!==void 0&&(x==null?void 0:x.yamlIndex)!==y.yamlIndex)return;const S=y??x;return S&&d&&r.set(d,S),S},l=(c,u)=>{if(mje(u).length>0){i.set(c,u);return}if(!gje(u))return;const d=i.get(c);d&&i.set(c,{...d,data:{...d.data,status:u.data.status??d.data.status,is_final:u.data.is_final??d.data.is_final,streaming:!1}})};return{merge(c,u){var m;const d=["completed","failed","stopped"];if(d.includes(String(c.execution_status||""))||d.includes(String(((m=c.process)==null?void 0:m.status)||"")))return c;const f=Gp(u.data.task_id),p=s(u);let h=c;if(p&&f){const v=i.get(f);i.delete(f),v&&p.finalResultEnabled&&(h=tye(h,v,p))}return u.type!=="output"?h:p?p.finalResultEnabled?tye(h,u,p):h:(f&&l(f,u),h)}}}function qUt(e){return e.type==="output"&&e.data.streaming===!0&&typeof e.event_id=="string"&&e.event_id.startsWith("content:")}function KUt(e){return e.task_id||(e.step_index!==void 0?`step-${e.step_index}`:"main")}function rU({onMessagesUpdate:e,matchesMessage:t,finalResultConfig:n,delay:r=50}){const i=UUt(n),o=(d,f)=>i.merge(MJ(d,f),f),a=new Map,s=new Map;let l;const c=()=>{if(l!==void 0&&(clearTimeout(l),l=void 0),a.size===0&&s.size===0)return;const d=[...a.values()],f=[...s.values()];a.clear(),s.clear(),e(p=>p.map(h=>{if(!t(h))return h;let m=h;for(const v of d)m=o(m,v);for(const{content:v,event:y}of f)m=VUt(m,v,y);return m}))},u=()=>{l===void 0&&(l=setTimeout(c,r))};return{processEvent(d){if(!qUt(d)){c(),e(f=>f.map(p=>t(p)?o(p,d):p));return}a.set(d.event_id,d),u()},content(d,f){f.is_step_content!==!0&&(s.set(KUt(f),{content:d,event:f}),u())},flush:c,dispose(){l!==void 0&&clearTimeout(l),l=void 0,a.clear(),s.clear()}}}function YUt(e){const t=String(e??"").trim().toLowerCase();return!t||["pending","running","executing","stopping","pending_async","awaiting_async"].includes(t)}function _C(e){if(Array.isArray(e))return e.map(_C);if(!e||typeof e!="object")return e;const t=e,n={...t};return Array.isArray(t.children)&&(n.children=t.children.map(_C)),t._final_result_source&&t.streaming===!0&&(n.streaming=!1),(t.type==="step"||t.status!==void 0)&&YUt(t.status)&&(n.status="stopped",t.message||(n.message="任务已停止")),n}function L1(e,t,n){var a;const r=t==="stopped"?"stopped":"error",o=((a=e.process)==null?void 0:a.events.some(s=>s.type===r&&s.data.message===n))?e:MJ(e,{type:r,data:{message:n,status:t}});return bh(o,t)}const fP={totalSteps:0,allSteps:[],steps:[]},XUt=5e3;function ZUt(e,t){return new Promise((n,r)=>{let i=!1;const o=()=>{clearTimeout(l),t==null||t.removeEventListener("abort",s)},a=c=>{i||(i=!0,o(),c())},s=()=>a(()=>r(new DOMException("Aborted","AbortError"))),l=setTimeout(()=>a(()=>r(new Error("获取场景详情超时"))),XUt);if(t!=null&&t.aborted){s();return}t==null||t.addEventListener("abort",s,{once:!0}),e.then(c=>a(()=>n(c)),c=>a(()=>r(c)))})}async function nye(e,t){const n=String(e||"").trim();if(!n)return fP;try{if(t!=null&&t.aborted)return fP;const{data:r}=await ZUt(aS({playbook_id:n}),t);return FGt(r)}catch{return t!=null&&t.aborted,fP}}function RJ(e){const{activeAgent:t,ssoToken:n,ssoDomain:r,ssoCompany:i,defaultParams:o,onMessagesUpdate:a,onRecommendationsUpdate:s}=e,[l,c]=g.useState(!1),[u,d]=g.useState(!1),[f,p]=g.useState(null),[h,m]=g.useState(),v=g.useRef(void 0),y=g.useRef(!1),b=g.useRef(null),x=g.useRef(null),S=g.useRef(null),_=g.useRef(null),C=g.useCallback(k=>{!k||v.current===k||(v.current=k,m(k))},[]);g.useEffect(()=>{v.current=void 0,m(void 0)},[t]);const A=g.useCallback(()=>!n||!r||!i?(zt.warning("请先登录 SSO"),!1):!0,[n,r,i]),E=g.useCallback((k,O)=>({id:`msg_${Date.now()}_${Math.random()}`,role:k,content:O,timestamp:new Date().toISOString()}),[]),I=g.useCallback(async k=>{if(!A())return;if(y.current){b.current=k;return}y.current=!0;const{userMsg:O,assistantMsgId:j,assistantMsg:z}=(()=>{var U;const W=Date.now(),L=(k.message||"").trim()||"场景执行",R={id:`msg_${W}`,role:"user",content:L,timestamp:new Date().toISOString(),...(U=k.attachments)!=null&&U.length?{attachments:k.attachments}:{}},F=`msg_${W+1}`,V={id:F,role:"assistant",content:"⏳ 正在思考...",timestamp:new Date().toISOString(),playbook_id:k.playbook_id,execution_status:"executing",process:KR()};return{userMsg:R,assistantMsgId:F,assistantMsg:V}})(),B=k._hideUserMessage===!0;a(W=>B?[...W,z]:[...W,O,z]),c(!0),_.current={assistantMsgId:j};const D=new AbortController;S.current=D;const H=()=>{var W;return S.current===D&&((W=_.current)==null?void 0:W.assistantMsgId)===j};try{const W=await nye(k.playbook_id,D.signal);if(!H())return;const L={...k,agent_id:t,stream:!0,playbook_params:{...k.playbook_params||{}},message:k.message||"",...o||{}},{_hideUserMessage:R,...F}=L,V=await fetch(`${_r()}/api/v1/agents/chat`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`,"X-Tenant-ID":i,"X-Domain":r},body:JSON.stringify(F),signal:D.signal});if(!V.ok)throw new Error(`HTTP ${V.status}`);const U=rU({onMessagesUpdate:a,matchesMessage:G=>G.id===j,finalResultConfig:W});try{await M$(V,{assistantMsgId:j,onMessageId:G=>{if(!H())return;const q=_.current;q&&(q.anchorMessageId=G)},onQueue:G=>{H()&&(U.flush(),p(G),G.status==="waiting"?a(q=>q.map(X=>X.id===j?{...X,content:`⏳ ${G.message}`}:X)):G.status==="ready"&&(p(null),a(q=>q.map(X=>X.id===j?{...X,content:`⏳ ${G.message}`}:X))))},onProgress:G=>{H()&&(U.flush(),p(null),a(q=>q.map(X=>X.id===j?{...X,content:`⏳ ${G}`}:X)))},onProcessEvent:G=>{H()&&U.processEvent(G)},onContent:(G,q)=>{H()&&U.content(G,q)},onComplete:(G,q,X,Y,K,ne)=>{H()&&(U.flush(),C(ne),a(ee=>ee.map(Q=>{var te,ie;return Q.id!==j||((te=Q.process)==null?void 0:te.status)==="failed"||((ie=Q.process)==null?void 0:ie.status)==="stopped"?Q:bh(tU(Q,{content:G,payload:q,actions:X,messageId:Y,executionId:K,conversationId:ne}),"completed")})),Zve({conversationId:ne||v.current,executionId:K,assistantMsgId:j,onMessagesUpdate:a,isStale:()=>!H()}))},onError:(G,q)=>{H()&&(U.flush(),a(X=>{const Y=(q==null?void 0:q.cancelled)===!0,K=Y?"任务已停止":`❌ ${G}`;return X.map(ne=>ne.id===j?L1({...ne,content:ne.content.startsWith("❌")?ne.content:K,execution_status:Y?"stopped":"failed",outputs:Y&&ne.outputs?_C(ne.outputs):ne.outputs},Y?"stopped":"failed",Y?"任务已停止":G):ne)}))},onRecommend:G=>{H()&&s(G)},onProposal:G=>{if(!H())return;U.flush();const q={proposal_id:G.proposal_id,scene:G.scene,message:G.message,options:G.options||[],params:G.params,actions:G.actions};a(X=>X.map(Y=>Y.id===j?bh({...Y,content:"",proposal:q,execution_status:"completed"},"completed"):Y))}})}finally{U.flush(),U.dispose()}}catch(W){(W==null?void 0:W.name)!=="AbortError"&&H()&&a(L=>L.map(R=>R.id===j?L1({...R,content:`❌ 执行出错: ${W.message||"未知错误"}`,execution_status:"failed"},"failed",W.message||"未知错误"):R))}finally{if(S.current===D&&(S.current=null,_.current=null,y.current=!1,c(!1),d(!1),b.current)){const W=b.current;b.current=null,setTimeout(()=>{var L;return(L=x.current)==null?void 0:L.call(x,W)},0)}}},[t,n,r,i,o,A,E,a,s]);x.current=I;const T=g.useCallback(()=>{b.current=null,p(null);const k=S.current;S.current=null,_.current=null,y.current=!1,c(!1),d(!1),k&&!k.signal.aborted&&k.abort()},[]),$=g.useCallback(async()=>{const k=S.current,O=_.current;if(!k||!O)return;const j=O.assistantMsgId,z=O.anchorMessageId,B=()=>{var D;return S.current===k&&((D=_.current)==null?void 0:D.assistantMsgId)===j};if(!z){zt.warning("任务编号尚未就绪,请稍后再试");return}if(B()){d(!0),a(D=>D.map(H=>H.id===j?{...H,execution_status:"stopping",content:"正在停止..."}:H));try{const D=await fetch(`${_r()}/api/v1/agents/chat/stop`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`,"X-Tenant-ID":i,"X-Domain":r},body:JSON.stringify({message_id:z})});if(!B())return;if(!D.ok)throw new Error(`HTTP ${D.status}`);const H=await D.json().catch(()=>null);if(!B())return;if(H&&H.success===!1)throw new Error(H.message||"停止失败");if(a(W=>W.map(L=>{var R;return L.id===j?L1({...L,message_id:(H==null?void 0:H.stopped_message_id)||((R=H==null?void 0:H.data)==null?void 0:R.stopped_message_id)||L.message_id,execution_status:"stopped",content:"任务已停止",outputs:L.outputs?_C(L.outputs):L.outputs},"stopped","任务已停止"):L})),!B())return;T()}catch(D){if(!B())return;d(!1),a(H=>H.map(W=>W.id===j?{...W,execution_status:"executing"}:W)),zt.error(`停止失败:${D instanceof Error?D.message:"未知错误"}`)}}},[T,a,i,r,n]),P=g.useCallback(async k=>{var D;const O=k.message_id;if(!O||y.current)return;y.current=!0,c(!0);const j=new Date().toISOString();_.current={assistantMsgId:k.id,anchorMessageId:O};const z=new AbortController;S.current=z;const B=()=>{var H;return S.current===z&&((H=_.current)==null?void 0:H.assistantMsgId)===k.id};a(H=>H.map(W=>Dm(W,k)?{...W,content:"",outputs:void 0,ui_payload:void 0,actions:void 0,execution_status:"executing",retrigger_status:"executing",retrigger_error:void 0,stream_content_received:void 0,stream_final_outputs_received:void 0,process:KR(j)}:W));try{const H=await nye(k.playbook_id||((D=k.meta_content)==null?void 0:D.playbook_id),z.signal);if(!B())return;const W=await fetch(`${_r()}/api/v1/agents/chat/retrigger`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`,"X-Tenant-ID":i,"X-Domain":r},body:JSON.stringify({message_id:O,stream:!0}),signal:z.signal});if(!W.ok){const R=await W.json().catch(()=>null),F=[R==null?void 0:R.message,R==null?void 0:R.detail,R==null?void 0:R.error].find(V=>typeof V=="string"&&V.trim());throw W.status===409?new Error(F||"任务仍在执行,请先停止"):W.status>=500?new Error(F||"服务暂时无法完成请求,请稍后重试"):new Error(F||`请求失败(HTTP ${W.status})`)}const L=rU({onMessagesUpdate:a,matchesMessage:R=>Dm(R,k),finalResultConfig:H});try{await M$(W,{assistantMsgId:k.id,onMessageId:R=>{if(!B())return;const F=_.current;F&&(F.anchorMessageId=R)},onProgress:R=>{B()&&(L.flush(),a(F=>F.map(V=>Dm(V,k)?{...V,content:R}:V)))},onProcessEvent:R=>{B()&&L.processEvent(R)},onContent:(R,F)=>{B()&&L.content(R,F)},onComplete:(R,F,V,U,G,q)=>{B()&&(L.flush(),C(q),a(X=>X.map(Y=>{var K,ne;return!Dm(Y,k)||((K=Y.process)==null?void 0:K.status)==="failed"||((ne=Y.process)==null?void 0:ne.status)==="stopped"?Y:bh({...tU(Y,{content:R,payload:F,actions:V,messageId:U,executionId:G,conversationId:q}),retrigger_status:void 0,retrigger_error:void 0},"completed")})),Zve({conversationId:q||v.current,executionId:G,assistantMsgId:k.id,matches:X=>Dm(X,k),onMessagesUpdate:a,isStale:()=>!B()}))},onError:(R,F)=>{B()&&(L.flush(),a(V=>V.map(U=>{if(!Dm(U,k))return U;const G=(F==null?void 0:F.cancelled)===!0;return L1({...U,content:G?"任务已停止":"",execution_status:G?"stopped":"failed",retrigger_status:G?void 0:"failed",retrigger_error:G?void 0:R,outputs:G&&U.outputs?_C(U.outputs):U.outputs},G?"stopped":"failed",G?"任务已停止":R)})))},onRecommend:R=>{B()&&s(R)}})}finally{L.flush(),L.dispose()}}catch(H){if(B()&&!(H instanceof DOMException&&H.name==="AbortError")){const W=H instanceof Error?H.message:"未知错误";a(L=>L.map(R=>Dm(R,k)?{...L1(R,"failed",W),content:"",execution_status:"failed",retrigger_status:"failed",retrigger_error:W}:R))}}finally{S.current===z&&(S.current=null,_.current=null,y.current=!1,c(!1),d(!1))}},[a,s,i,r,n]),N=g.useCallback(async(k,O,j)=>{if(!k.trim()&&(!j||j.length===0)){zt.error("请输入消息");return}await I({message:k||"",playbook_id:O,...j!=null&&j.length?{attachments:j}:{}})},[I]),M=g.useCallback(async k=>{const{proposal_id:O,proposal_action:j,selected_option_id:z,filled_params:B,messageId:D,proposalMessage:H,optionTitle:W}=k;a(F=>F.map(V=>V.id===D?{...V,proposal_status:j==="confirm"?"confirmed":"rejected"}:V));let L="";if(j==="confirm"){const F=[];if(H&&F.push(H),W&&F.push(`${W}确认执行`),B&&Object.keys(B).length>0){const V=Object.entries(B).map(([U,G])=>`${U}: ${Array.isArray(G)?G.join(","):G}`).join(", ");F.push(`参数{${V}}`)}L=F.join(",")}const R={message:L,agent_id:t,stream:!0,proposal_id:O,proposal_action:j,_hideUserMessage:!0,...o||{}};j==="confirm"&&(R.selected_option_id=z,R.filled_params=B||{}),await I(R)},[t,o,I,a]);return{executing:l,stopping:u,executingRef:y,queueStatus:f,conversationId:h,hydrateConversationId:C,sendMessage:N,executePlaybook:I,respondToProposal:M,stopCurrent:$,retrigger:P,abort:T}}function rye(e){return typeof e!="string"?void 0:e.trim()||void 0}function iye(e){var p,h;const t=rye(e.message_id),n=rye(e.id)||t;if(!n)return null;const r=e.role==="assistant"?kJ(e.process):void 0,i={...e,id:n,message_id:t,process:r?{...r,origin:"history"}:void 0},o=e.role==="assistant"?QUt(i):i.outputs,a=o?{...i,outputs:o}:i,s=a.execution_id??((p=a.meta_content)==null?void 0:p.execution_id),l=a.conversation_id??(typeof((h=a.meta_content)==null?void 0:h.conversation_id)=="string"?a.meta_content.conversation_id:void 0),c=l===void 0&&s===void 0?a:{...a,...s!==void 0?{execution_id:s}:{},...l!==void 0?{conversation_id:l}:{}},u=a.meta_content;if(!u||u.response_type!=="proposal")return c;const d={proposal_id:u.proposal_id||"",scene:u.scene||"playbook_select",message:"",options:(u.options||[]).map(m=>({id:m.id,playbook_code:m.playbook_code,title:m.title,description:m.description||"",selected:m.id===u.selected_option_id,params:m.params||[]})),params:u.params||[],actions:{confirm:{label:"确认执行",style:"primary"},reject:{label:"都不需要",style:"secondary"}}},f=u.proposal_status==="confirmed"?"confirmed":u.proposal_status==="rejected"?"rejected":void 0;return{...c,execution_id:s,proposal:d,proposal_status:f}}function il(e,t){return e.activeAgent===t.activeAgent&&e.webhookId===t.webhookId&&e.ssoToken===t.ssoToken&&e.ssoDomain===t.ssoDomain&&e.ssoCompany===t.ssoCompany}function QUt(e){const t=e.outputs;if(Array.isArray(t))return t;if(t!=null)return[t];const n=e.meta_content;if(Array.isArray(n==null?void 0:n.outputs_array))return n.outputs_array;if(Array.isArray(n==null?void 0:n.outputs))return n.outputs;if(n!=null&&n.outputs)return[n.outputs];const r=n==null?void 0:n.output_data;if(r!=null)return[{type:typeof(n==null?void 0:n.output_type)=="string"?n.output_type:"card",content:r,fields_map:Array.isArray(n==null?void 0:n.output_fields_map)?n.output_fields_map:void 0}]}function oye(e){const t=`${e.ssoDomain}\0${e.ssoCompany}\0${e.ssoToken}`;let n=2166136261;for(let r=0;r<t.length;r+=1)n^=t.charCodeAt(r),n=Math.imul(n,16777619);return(n>>>0).toString(36)}function vje(e){const{activeAgent:t,pageSize:n=GWt,webhookId:r,executePlaybook:i,isExecutingRef:o,ssoToken:a="",ssoDomain:s="",ssoCompany:l=""}=e,[c,u]=g.useState([]),[d,f]=g.useState(0),[p,h]=g.useState(1),[m,v]=g.useState(!1),[y,b]=g.useState(!1),x=g.useRef(t),S=g.useRef({activeAgent:t,webhookId:r||"",ssoToken:a,ssoDomain:s,ssoCompany:l});g.useEffect(()=>{x.current=t,S.current={activeAgent:t,webhookId:r||"",ssoToken:a,ssoDomain:s,ssoCompany:l},u([]),f(0),h(1),v(!1),b(!1)},[t,r,a,s,l]);const _=g.useCallback(()=>{const P=new Date;return`${P.getFullYear()}-${String(P.getMonth()+1).padStart(2,"0")}-${String(P.getDate()).padStart(2,"0")}`},[]),C=g.useCallback(P=>{const N=_(),k=`wandox_daily_report_${oye({ssoToken:a,ssoDomain:s,ssoCompany:l})}_${N}`,O=localStorage.getItem(k);if(!O)return!1;try{return JSON.parse(O).includes(P)}catch{return!1}},[_,a,s,l]),A=g.useCallback(P=>{const N=_(),k=`wandox_daily_report_${oye({ssoToken:a,ssoDomain:s,ssoCompany:l})}_${N}`,O=localStorage.getItem(k);let j=[];if(O)try{j=JSON.parse(O)}catch{j=[]}j.includes(P)||(j.push(P),localStorage.setItem(k,JSON.stringify(j)))},[_,a,s,l]),E=g.useCallback(async()=>{const P=t,N={activeAgent:t,webhookId:r||"",ssoToken:a,ssoDomain:s,ssoCompany:l};if(il(S.current,N)&&!(o!=null&&o.current)){u([]),b(!0);try{const{data:M}=await ule({agent_id:t,page:1,page_size:n,webhook_id:r,include_process:!0});if(o!=null&&o.current||x.current!==P||!il(S.current,N))return;const k=Array.isArray(M==null?void 0:M.items)?M.items.slice(0,n):[],O=[...k].reverse().map(iye).filter(z=>z!==null&&!Qve(z));u(JG(O)),h(1);const j=(M==null?void 0:M.total)||0;f(j),v(k.length<n||k.length>=j)}catch{}finally{il(S.current,N)&&b(!1)}}},[t,n,r,o,a,s,l]),I=g.useCallback(async()=>{if(m||d===0)return;const P={activeAgent:t,webhookId:r||"",ssoToken:a,ssoDomain:s,ssoCompany:l};if(!il(S.current,P))return;const N=p+1;b(!0);try{const{data:M}=await ule({agent_id:t,page:N,page_size:n,webhook_id:r,include_process:!0});if(!il(S.current,P))return;const k=Array.isArray(M==null?void 0:M.items)?M.items.slice(0,n):[];if(k.length>0){const j=[...k].reverse().map(iye).filter(z=>z!==null&&!Qve(z));u(z=>kUt(z,j))}const O=(M==null?void 0:M.total)||0;h(N),f(O),v(k.length<n||N*n>=O)}catch(M){throw M}finally{il(S.current,P)&&b(!1)}},[t,n,r,m,d,p,a,s,l]),T=g.useCallback(async()=>{var M,k,O;if(!t||t==="default")return!1;const P=t,N={activeAgent:t,webhookId:r||"",ssoToken:a,ssoDomain:s,ssoCompany:l};if(!il(S.current,N))return!1;try{const j=await yvt({agent_id:t});if(o!=null&&o.current||x.current!==P||!il(S.current,N))return!1;if(j!=null&&j.data){const z=j.data;if(z.outputs){let B=null;z.outputs.type==="card"&&((k=(M=z.outputs.content)==null?void 0:M.data)!=null&&k.content)?B=z.outputs.content.data.content:(O=z.outputs.content)!=null&&O.content?B=z.outputs.content.content:z.outputs.content?B=z.outputs.content:B=z.outputs;const D={id:z.playbook_id||"daily-report",role:"assistant",content:"",timestamp:new Date().toISOString(),ui_payload:B};return u(H=>{const W=H.filter(L=>L.id!=="daily-report");return[D,...W]}),!0}z.playbook_id&&z.playbook_name&&(i==null||i({message:z.playbook_name,playbook_id:z.playbook_id}))}return!1}catch{return!1}},[t,r,i,o,a,s,l]),$=g.useCallback(async()=>{const P={activeAgent:t,webhookId:r||"",ssoToken:a,ssoDomain:s,ssoCompany:l};if(il(S.current,P)&&t){if(b(!0),t==="default"){try{await E()}finally{il(S.current,P)&&b(!1)}return}try{if(C(t)){await E();return}await T()?il(S.current,P)&&A(t):await E()}catch{await E()}finally{il(S.current,P)&&b(!1)}}},[t,r,E,T,C,A,a,s,l]);return{messages:c,setMessages:u,messagesTotal:d,hasMoreMessages:d>0&&!m,messagesPage:p,loading:y,setLoading:b,loadMessages:E,loadMoreMessages:I,loadDailyReport:T,loadMessagesAndDailyReport:$}}function Jt(e){return e==null?"":String(e).trim()}function iU(e,t){const n=Jt(e),r=Jt(t);return!!(n&&n===r)}function w_(e,t){const n=Jt(t);return n?iU(e.agent_id,n)||iU(e.agent_code,n):!1}function JUt(e,t){return e.find(n=>w_(n,t))}function S_(e){return Jt(e==null?void 0:e.agent_id)||Jt(e==null?void 0:e.agent_code)}function eqt(e,t){return iU(e.playbook_id,t)}function yje(e){const t=[],n=new Set,r=i=>{if(Array.isArray(i))for(const o of i){const a=Jt(o==null?void 0:o.playbook_id);!a||n.has(a)||(n.add(a),t.push(o))}};if(r(e==null?void 0:e.playbooks),Array.isArray(e==null?void 0:e.playbook_groups))for(const i of e.playbook_groups)r(i.playbooks);return t}function tqt({open:e,onClose:t,ssoToken:n,ssoDomain:r,ssoCompany:i,initialAgentId:o,initialPlaybookId:a,initialPlaybookParams:s,initialMessage:l,triggerOnce:c=!1,enableCustomerService:u=!1,customerServiceUrl:d,onReady:f}){const[p,h]=g.useState(""),[m,v]=g.useState([]),[y,b]=g.useState([]),[x,S]=g.useState([]),[_,C]=g.useState(!1),[A,E]=g.useState(!1),[I,T]=g.useState(null),[$,P]=g.useState("1x"),[N,M]=g.useState(!1),[k,O]=g.useState(""),[j,z]=g.useState(""),[B,D]=g.useState(null),H=g.useRef(""),W=g.useMemo(()=>p&&m.find(Fe=>w_(Fe,p))||null,[p,m]),L=g.useMemo(()=>lje(W),[W]),R=g.useCallback(Fe=>{T(()=>Fe)},[]),{executing:F,executingRef:V,sendMessage:U,executePlaybook:G,respondToProposal:q,abort:X}=RJ({activeAgent:p,ssoToken:n,ssoDomain:r,ssoCompany:i,defaultParams:s,onMessagesUpdate:Fe=>K(Fe),onRecommendationsUpdate:S}),{messages:Y,setMessages:K,messagesTotal:ne,loading:ee,loadMessages:Q,loadMoreMessages:te}=vje({activeAgent:p,isExecutingRef:V,ssoToken:n,ssoDomain:r,ssoCompany:i}),ie=g.useCallback(()=>{X(),K([]),S([]),z(""),D(null)},[X,K]),oe=g.useMemo(()=>JSON.stringify({agentId:Jt(o),playbookId:Jt(a),playbookParams:s??null,message:l??null}),[o,a,s,l]),fe=g.useRef(""),ye=g.useCallback(()=>{X(),E(!1),t()},[X,t]),$e=g.useCallback(()=>{const xe=`${d||"https://ecsapi.ecgtool.com/login/sso-login"}?token=${encodeURIComponent(n)}&menuName=AI智能体`;window.open(xe,"_blank","noopener,noreferrer")},[n,d]);g.useEffect(()=>{e&&je()},[e]),g.useEffect(()=>{e||(X(),E(!1))},[e,X]),g.useEffect(()=>{e&&(fe.current&&fe.current!==oe&&X(),fe.current=oe)},[e,oe,X]),g.useEffect(()=>{if(!e||!o||m.length===0)return;const Fe=JUt(m,o);if(!Fe){const ue=Jt(o);H.current!==ue&&(zt.error("指定的智能体不存在,已切换到默认智能体"),H.current=ue);const pe=S_(m[0]);pe&&Jt(p)!==pe&&(ie(),h(pe));return}if(H.current="",w_(Fe,p))return;const xe=S_(Fe);xe&&(ie(),h(xe))},[e,o,m,p,ie]),g.useEffect(()=>{p&&(O(""),Oe())},[p]),g.useEffect(()=>{!e||!p||Q()},[e,p,Q]),g.useEffect(()=>{M(!1)},[e,o,a,s,l]),g.useEffect(()=>{!e||!p||a||l&&(N||(U(l),M(!0)))},[e,p,l,a,c,N,U]);const be=g.useMemo(()=>!!s&&Object.keys(s).length>0,[s]);g.useEffect(()=>{var xe;if(!e||!p||!a||N||o&&!m.some(pe=>w_(pe,p)&&w_(pe,o))||!k||k!==p)return;const Fe=y.find(ue=>eqt(ue,a));if(!Fe){zt.error("指定的场景不存在,已切换到智能体界面"),M(!0);return}if((((xe=Fe.input_fields)==null?void 0:xe.length)??0)>0&&!be){D(Fe);const ue=(Fe.input_fields??[]).map(pe=>`${pe.label}: `).join(`
|
|
775
775
|
`);z(`${Fe.name},请提供以下参数:
|
|
776
776
|
${ue}`)}else G({message:l||Fe.name||"",playbook_id:a,...s?{playbook_params:s}:{}});M(!0)},[e,p,k,y,o,m,a,s,be,l,N,G]),g.useEffect(()=>{f&&f({clearMessages:()=>K([]),getMessages:()=>Y,abort:X,showInspectionResults:Fe=>{}})},[f,Y,X,K]);const je=async()=>{C(!0);try{const{data:Fe}=await sL({page:1,page_size:99}),xe=Fe||[];if(v(xe),!o){const ue=S_(xe[0]);ue&&h(ue)}}catch{}C(!1)},Oe=async()=>{const Fe=p;C(!0);try{const{data:xe}=await lX({agent_id:Fe});b(yje(xe))}catch{}finally{C(!1),O(Fe)}};return e?w.jsxs(w.Fragment,{children:[w.jsx("div",{className:"wandox-floating-drawer-mask",onClick:ye,onKeyDown:Fe=>Fe.key==="Escape"&&ye(),role:"button",tabIndex:0,"aria-label":"关闭抽屉"}),w.jsxs("div",{className:`wandox-floating-drawer wandox-floating-drawer-${$}`,children:[w.jsxs("div",{className:"wandox-floating-drawer-header",children:[w.jsxs("div",{className:"wandox-floating-drawer-title-group",children:[w.jsx("div",{className:"wandox-floating-drawer-title",children:(W==null?void 0:W.name)||"AI 助手"}),u&&w.jsxs("button",{type:"button",className:"wandox-floating-drawer-service",onClick:$e,title:"联系客服","aria-label":"联系客服",children:[w.jsx(bht,{}),w.jsx("span",{children:"人工客服"})]}),L&&w.jsx(bE,{title:w.jsx("div",{style:{fontWeight:"bold"},children:w.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[w.jsx("span",{children:L.packageName}),w.jsx(Fk,{count:"生效中",style:{backgroundColor:"#52c41a",fontSize:"10px",lineHeight:"18px",height:"18px",minWidth:"50px"}})]})}),content:w.jsxs("div",{style:{fontSize:"12px",lineHeight:"1.6",minWidth:"280px"},children:[w.jsxs("div",{style:{marginBottom:"8px"},children:[w.jsx("strong",{children:"套餐类型:"}),L.packageName]}),L.subtitle&&w.jsx("div",{style:{color:"#999",fontSize:"11px",marginTop:"-4px",marginBottom:"8px"},children:L.subtitle}),L.asinUsage&&w.jsxs("div",{style:{marginBottom:L.asinUsagePercent!=null?"4px":"8px"},children:[w.jsx("strong",{children:"ASIN 已用:"}),w.jsx("span",{style:{color:"#9444f5",fontWeight:"bold"},children:L.asinUsage})]}),L.asinUsagePercent!=null&&w.jsx("div",{style:{marginBottom:"8px"},children:w.jsx("div",{style:{height:"6px",borderRadius:"3px",background:"#f0eaff",overflow:"hidden"},children:w.jsx("div",{style:{height:"100%",width:`${L.asinUsagePercent}%`,borderRadius:"3px",background:"linear-gradient(90deg, #9444f5, #b47aff)",transition:"width 0.3s ease"}})})}),w.jsxs("div",{style:{marginBottom:"8px"},children:[w.jsx("strong",{children:L.remainingLabel}),w.jsx("span",{style:{color:"#52c41a",fontWeight:"bold"},children:L.remainingValue})]}),w.jsxs("div",{style:{marginBottom:"8px"},children:[w.jsx("strong",{children:"到期时间:"}),L.endTime]}),w.jsxs("div",{children:[w.jsx("strong",{children:"开通时间:"}),L.startTime]}),L.coverageItems.length>0&&w.jsxs("div",{style:{marginTop:"12px",paddingTop:"8px",borderTop:"1px solid #f0f0f0"},children:[w.jsx("div",{style:{fontSize:"11px",color:"#666",marginBottom:"4px"},children:w.jsxs("strong",{children:[L.coverageTitle,":"]})}),w.jsx("div",{style:{fontSize:"11px",color:"#666",lineHeight:"1.4"},children:L.coverageItems.map(Fe=>w.jsxs("div",{children:["• ",Fe]},Fe))})]})]}),placement:"bottomLeft",trigger:"hover",children:w.jsx(Fk,{count:L.badgeText,style:{backgroundColor:L.badgeColor,color:L.badgeTextColor,fontSize:"10px",lineHeight:"18px",height:"18px",minWidth:"60px",cursor:"pointer"}})})]}),w.jsxs("div",{className:"wandox-floating-drawer-actions",children:[w.jsxs("div",{className:"wandox-floating-drawer-size-group",children:[w.jsx("button",{type:"button",className:`wandox-floating-drawer-size-btn ${$==="1x"?"active":""}`,onClick:()=>P("1x"),title:"1倍大小",children:"1x"}),w.jsx("button",{type:"button",className:`wandox-floating-drawer-size-btn ${$==="2x"?"active":""}`,onClick:()=>P("2x"),title:"2倍大小",children:"2x"}),w.jsx("button",{type:"button",className:`wandox-floating-drawer-size-btn ${$==="fullscreen"?"active":""}`,onClick:()=>P("fullscreen"),title:"全屏",children:w.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[w.jsx("title",{children:"全屏"}),w.jsx("path",{d:"M1.5 1a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4A1.5 1.5 0 0 1 1.5 0h4a.5.5 0 0 1 0 1h-4zM10 .5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 16 1.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zM.5 10a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 0 14.5v-4a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v4a1.5 1.5 0 0 1-1.5 1.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5z"})]})})]}),w.jsx("button",{type:"button",className:"wandox-floating-drawer-close",onClick:ye,"aria-label":"关闭",children:w.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"currentColor",children:[w.jsx("title",{children:"关闭"}),w.jsx("path",{d:"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z"})]})})]})]}),w.jsxs("div",{className:"wandox-floating-drawer-body wandox-root",children:[w.jsx(uGt,{messages:Y,playbooks:y,messagesTotal:ne,loadMoreMessages:te,loading:_||ee,executing:F,activeAgent:S_(W)||p,onExecutePlaybook:G,onFillPlaybookParams:Fe=>{var Se;const xe={playbook_id:Fe.playbookId,name:Fe.playbookName,input_fields:Fe.inputFields};D(xe);const ue=((Se=Fe.inputFields)==null?void 0:Se.map(Pe=>`${Pe.label}: `).join(`
|
|
@@ -783,7 +783,7 @@ ${xe}`;z(ue)},recommendations:x,agentId:p}),w.jsx(EJ,{executing:F,onSend:U,playb
|
|
|
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 dye=0;const c5=e=>(dye+=1,`${e}-${Date.now()}-${dye}`),Mqt=e=>{const t=e.replace(/\s+/g," ").trim();return t.length>20?`${t.slice(0,20)}…`:t},Rqt=()=>kqt.map(e=>({...e,messages:e.messages.map(t=>({...t}))}));function Dqt({onClose:e}){const[t,n]=g.useState(Rqt),[r,i]=g.useState(null),[o,a]=g.useState(!1),[s,l]=g.useState(""),[c,u]=g.useState(!1),[d,f]=g.useState("静态 Demo · 消息不会发送到服务端"),p=g.useRef(null),h=g.useRef(null),m=g.useMemo(()=>t.find(T=>T.id===r)??null,[r,t]),v=(m==null?void 0:m.messages)??[],y=g.useMemo(()=>{const T=s.trim().toLocaleLowerCase();return T?t.filter($=>$.title.toLocaleLowerCase().includes(T)):t},[t,s]),b=g.useCallback(()=>{const T=h.current!==null;h.current&&(clearTimeout(h.current),h.current=null),u(!1),T&&f("已停止本地 Demo 回复")},[]);g.useEffect(()=>()=>{h.current&&(clearTimeout(h.current),h.current=null)},[]),g.useEffect(()=>{const T=$=>{var P;(P=p.current)!=null&&P.contains($.target)||a(!1)};return document.addEventListener("pointerdown",T),()=>document.removeEventListener("pointerdown",T)},[]),g.useEffect(()=>{const T=$=>{if($.key==="Escape"){if(o){a(!1);return}e()}};return document.addEventListener("keydown",T),()=>document.removeEventListener("keydown",T)},[o,e]);const x=g.useCallback(()=>{b(),i(null),a(!1),l(""),f("静态 Demo · 消息不会发送到服务端")},[b]),S=g.useCallback(T=>{b(),i(T),a(!1),l(""),f("已载入本地历史 Demo")},[b]),_=g.useCallback(T=>{const $=T.trim();if(!$||c)return;b();const P=new Date().toISOString(),N={id:c5("user"),role:"user",content:$,timestamp:P},M=r??c5("conversation");n(k=>k.find(j=>j.id===M)?k.map(j=>j.id===M?{...j,updatedLabel:"刚刚",messages:[...j.messages,N]}:j):[{id:M,title:Mqt($)||"新会话",updatedLabel:"刚刚",messages:[N]},...k]),i(M),u(!0),f("正在生成本地 Demo 回复…"),h.current=setTimeout(()=>{const k={id:c5("assistant"),role:"assistant",content:"已收到。这是一条由前端本地生成的 Demo 回复,用于验证 V2 输入框、消息追加和统一内容解析;当前没有调用聊天或历史接口。",timestamp:new Date().toISOString()};n(O=>O.map(j=>j.id===M?{...j,updatedLabel:"刚刚",messages:[...j.messages,k]}:j)),h.current=null,u(!1),f("静态 Demo · 消息不会发送到服务端")},700)},[r,c,b]),C=g.useCallback(()=>{a(T=>!T)},[]),A=g.useCallback(()=>{f("该能力将在新接口接入后开放")},[]),E=g.useCallback(T=>{T.dataTransfer.types.includes("Files")&&(T.preventDefault(),T.stopPropagation(),f("附件将在新接口接入后开放"))},[]),I=g.useCallback(T=>{Array.from(T.clipboardData.items).some(P=>P.type.startsWith("image/"))&&(T.preventDefault(),T.stopPropagation(),f("图片粘贴将在新接口接入后开放"))},[]);return w.jsxs("aside",{className:"wandox-root wandox-console-chat wandox-agent-panel","aria-label":"Wandox 会话面板",children:[w.jsxs("header",{className:"wandox-agent-panel__header",children:[w.jsxs("div",{className:"wandox-agent-panel__brand-row",children:[w.jsxs("div",{className:"wandox-agent-panel__brand",children:[w.jsx(oU,{className:"wandox-agent-panel__brand-mark"}),w.jsx("span",{children:"Wandox"})]}),w.jsx("button",{type:"button",className:"wandox-agent-panel__icon-button",onClick:e,title:"关闭面板","aria-label":"关闭面板",children:w.jsx(ni,{})})]}),w.jsxs("div",{className:"wandox-agent-panel__navigation",children:[w.jsx("button",{type:"button",className:`wandox-agent-panel__icon-button wandox-agent-panel__new-chat${m?"":" wandox-agent-panel__new-chat--hidden"}`,onClick:x,disabled:!m,title:"新会话","aria-label":"新会话",tabIndex:m?0:-1,children:w.jsx(Vx,{})}),w.jsxs("div",{className:"wandox-agent-panel__history-anchor",ref:p,children:[w.jsxs("button",{type:"button",className:"wandox-agent-panel__conversation-title",onClick:C,"aria-expanded":o,"aria-haspopup":"true",children:[w.jsx("span",{children:(m==null?void 0:m.title)??"新会话"}),w.jsx(bv,{className:o?"wandox-agent-panel__title-arrow--open":""})]}),o&&w.jsxs("section",{className:"wandox-agent-panel__history","aria-label":"会话历史",children:[w.jsx(_n,{value:s,onChange:T=>l(T.target.value),prefix:w.jsx(Ef,{}),allowClear:!0,placeholder:"搜索最近会话",className:"wandox-agent-panel__history-search",autoFocus:!0}),w.jsx("div",{className:"wandox-agent-panel__history-label",children:"最近会话"}),w.jsx("div",{className:"wandox-agent-panel__history-list",children:y.length>0?y.map(T=>w.jsxs("button",{type:"button",className:`wandox-agent-panel__history-item${T.id===r?" wandox-agent-panel__history-item--active":""}`,onClick:()=>S(T.id),children:[w.jsx("span",{children:T.title}),w.jsx("time",{children:T.updatedLabel})]},T.id)):w.jsx("div",{className:"wandox-agent-panel__history-empty",children:"没有匹配的会话"})})]})]}),w.jsx("button",{type:"button",className:"wandox-agent-panel__icon-button",onClick:A,title:"更多","aria-label":"更多",children:w.jsx(fy,{})})]})]}),w.jsx("div",{className:"wandox-console-chat__body wandox-agent-panel__body",children:w.jsx(xJ,{messages:v,executing:c,conversationKey:r??"new-conversation",emptyContent:w.jsx("div",{className:"wandox-agent-panel__empty",children:w.jsx(oU,{className:"wandox-agent-panel__empty-mark"})})})}),w.jsxs("div",{className:"wandox-console-chat__input wandox-agent-panel__input",children:[w.jsx("div",{className:"wandox-agent-panel__chat-input-guard",onDragEnterCapture:E,onDragOverCapture:E,onDropCapture:E,onPasteCapture:I,children:w.jsx(EJ,{onSend:_,executing:c,onStop:b,placeholder:"给 Wandox 发送消息",hideUploadButton:!0,autoFocusInput:!1,leadingActions:w.jsx("button",{type:"button",className:"wandox-chat-input-upload-leading",onClick:A,title:"添加文件","aria-label":"添加文件",children:w.jsx(yy,{})})},r??"new-conversation")}),w.jsx("div",{className:"wandox-agent-panel__demo-notice","aria-live":"polite",children:d})]})]})}const u5=(e,t)=>({value:e.getPropertyValue(t),priority:e.getPropertyPriority(t)}),j1=(e,t,n)=>{if(n.value){e.setProperty(t,n.value,n.priority);return}e.removeProperty(t)},Oqt=e=>Number.isFinite(e)?Math.min(Tqt,Math.max(Eqt,Math.round(e))):_je;class Lqt{constructor(t){ke(this,"queryClient");ke(this,"root",null);ke(this,"container",null);ke(this,"bodyStyleSnapshot",null);ke(this,"panelWidth",_je);ke(this,"listeningForResize",!1);ke(this,"closing",!1);ke(this,"lifecycleVersion",0);ke(this,"closeFallbackTimer",null);ke(this,"closeTransitionEndHandler",null);ke(this,"requestClose",()=>{const t=this.lifecycleVersion;queueMicrotask(()=>{t===this.lifecycleVersion&&this.close()})});ke(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<=Iqt?"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 n=document.getElementById(lye);if(n&&n!==this.container)throw new Error("[Wandox] Agent panel is already managed by another SDK instance");const r=this.closing&&this.container?window.getComputedStyle(this.container).transform:null;this.lifecycleVersion+=1,this.cancelCloseMotion(),this.panelWidth=Oqt(t.width);let i=!1;if(!this.container||!this.root){const c=document.body;this.bodyStyleSnapshot={body:c,paddingRight:u5(c.style,"padding-right"),boxSizing:u5(c.style,"box-sizing"),transition:u5(c.style,"transition"),computedTransition:window.getComputedStyle(c).transition},this.container=document.createElement("div"),this.container.id=lye,this.container.className=`wandox-agent-panel-root ${l5}`,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=bl(this.container),i=!0}const o=this.container,a=this.root,s=this.prefersReducedMotion(),l=!!r&&r!=="none";return l&&r&&(o.style.transform=r),o.classList.remove(uye),o.removeAttribute("aria-hidden"),this.installBodyTransition(),o.style.width=`${this.getRenderedWidth()}px`,this.bodyStyleSnapshot&&this.bodyStyleSnapshot.body.style.setProperty("box-sizing","border-box","important"),(i||l)&&!s&&o.offsetWidth,o.classList.remove(l5),l&&o.style.removeProperty("transform"),this.applyLayout(),s&&this.bodyStyleSnapshot&&(this.bodyStyleSnapshot.body.offsetWidth,this.restoreBodyTransition()),this.startListeningForResize(),a.render(w.jsx(cu,{queryClient:this.queryClient,children:w.jsx(Dqt,{onClose:this.requestClose})})),{element:o,close:()=>this.close(),destroy:()=>this.destroy()}}close(){const t=this.container;if(!t||!this.root||this.closing)return;const n=++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=r=>{r.target!==t||r.propertyName!=="transform"||this.finalizeClose(n,t)},t.addEventListener("transitionend",this.closeTransitionEndHandler),this.closeFallbackTimer=window.setTimeout(()=>this.finalizeClose(n,t),cye+80),t.classList.remove(l5),t.classList.add(uye),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(Nqt).matches}installBodyTransition(){if(!this.bodyStyleSnapshot)return;const{body:t,computedTransition:n}=this.bodyStyleSnapshot;if(this.prefersReducedMotion()){t.style.setProperty("transition","none","important");return}const r=`padding-right ${cye}ms ${Pqt}`,i=n.trim(),o=!i||i==="none"||i==="all 0s ease 0s"?r:`${i}, ${r}`;t.style.setProperty("transition",o,"important")}restoreBodyPadding(){if(!this.bodyStyleSnapshot)return;const{body:t,paddingRight:n}=this.bodyStyleSnapshot;j1(t.style,"padding-right",n)}restoreBodyTransition(){if(!this.bodyStyleSnapshot)return;const{body:t,transition:n}=this.bodyStyleSnapshot;j1(t.style,"transition",n)}prepareImmediateBodyRestore(){if(!this.bodyStyleSnapshot)return;const{body:t}=this.bodyStyleSnapshot;t.style.setProperty("transition","none","important"),this.restoreBodyPadding(),t.offsetWidth}finalizeClose(t,n){t!==this.lifecycleVersion||n!==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,n;this.cancelCloseMotion(),this.stopListeningForResize(),(t=this.root)==null||t.unmount(),this.root=null,(n=this.container)==null||n.remove(),this.container=null,this.restoreBodyStyle()}restoreBodyStyle(){if(!this.bodyStyleSnapshot)return;const{body:t,paddingRight:n,boxSizing:r,transition:i}=this.bodyStyleSnapshot;j1(t.style,"padding-right",n),j1(t.style,"box-sizing",r),j1(t.style,"transition",i),this.bodyStyleSnapshot=null}}const jqt="0.2.2",Cje={file:Tf,artifact:AEe,url:qht,knowledge:CEe,dataset:Sht};function zqt({snapshot:e}){return e?e.items.length===0?w.jsx("div",{className:"wandox-conversations__sources-empty-note",children:"对话中上传的文件、生成的报告与引用会出现在这里。"}):w.jsx("div",{className:"wandox-conversations__sources-list",children:e.items.map(t=>w.jsx(Aje,{item:t},t.source_id))}):null}function Aje({item:e,onOpenUrl:t}){const n=Cje[e.kind]??Tf,r=e.url||e.download_url||null,i=DLe(r),o=w.jsxs(w.Fragment,{children:[w.jsx(n,{"aria-hidden":"true"}),w.jsx("span",{className:"wandox-conversations__sources-item-title",title:e.title,children:e.title})]});if(r&&!i)return w.jsx("a",{className:"wandox-conversations__sources-item",href:r,onClick:t?a=>{a.preventDefault(),t(e,r)}:void 0,target:t?void 0:"_blank",rel:t?void 0:"noopener noreferrer",children:o});if(r&&i){const a=OLe(e.source_id);return w.jsx("button",{type:"button",className:"wandox-conversations__sources-item",onClick:()=>{a&&pj(a,e.title).catch(s=>{})},children:o})}return w.jsx("div",{className:"wandox-conversations__sources-item",children:o})}function Bqt(e){return["file","artifact","dataset","url","knowledge"].map(t=>({kind:t,items:e.items.filter(n=>n.kind===t)})).filter(t=>t.items.length>0)}function Fqt({item:e,onOpenUrl:t}){const n=Cje[e.kind]??Tf,r=e.url||e.download_url||null,i=DLe(r),o=e.path||e.badge||null,a=w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"wandox-conversations__sources-pane-item-title",children:[w.jsx(n,{"aria-hidden":"true"}),w.jsx("span",{title:e.title,children:e.title})]}),o?w.jsx("div",{className:"wandox-conversations__sources-pane-item-sub",title:o,children:o}):null]});if(r&&!i)return w.jsx("a",{className:"wandox-conversations__sources-pane-item",href:r,onClick:t?s=>{s.preventDefault(),t(e,r)}:void 0,target:t?void 0:"_blank",rel:t?void 0:"noopener noreferrer",children:a});if(r&&i){const s=OLe(e.source_id);return w.jsx("button",{type:"button",className:"wandox-conversations__sources-pane-item",onClick:()=>{s&&pj(s,e.title).catch(l=>{})},children:a})}return w.jsx("div",{className:"wandox-conversations__sources-pane-item",children:a})}function Vqt({fact:e}){const t=String(e.nature||"").toLowerCase();return w.jsxs("div",{className:"wandox-conversations__fact-row",children:[w.jsx("span",{className:`wandox-conversations__fact-badge wandox-conversations__fact-badge--${t}`,children:e.nature_label||e.badge||e.nature||"事实"}),w.jsx("span",{className:"wandox-conversations__fact-text",title:e.fact,children:e.fact})]})}function Hqt({rows:e,loading:t,error:n}){if(t)return w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:w.jsx("div",{className:"wandox-conversations__sources-pane-note",children:"加载中…"})});if(n)return w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:w.jsx("div",{className:"wandox-conversations__sources-pane-note",children:n})});if(e.length===0)return w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:w.jsx("div",{className:"wandox-conversations__sources-pane-note",children:"本会话还没有事实依据"})});const r=[...e].sort((i,o)=>(i.turn_no??0)-(o.turn_no??0)).reduce((i,o)=>{const a=i[i.length-1];return a&&a.turnNo===(o.turn_no??null)?a.facts.push(o):i.push({turnNo:o.turn_no??null,facts:[o]}),i},[]);return w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:r.map(i=>w.jsxs("section",{children:[i.turnNo?w.jsxs("div",{className:"wandox-conversations__sources-group-title",children:["`第 $",i.turnNo," 轮`"]}):null,w.jsx("div",{className:"wandox-conversations__fact-group",children:i.facts.map((o,a)=>w.jsx(Vqt,{fact:o},o.id??`${i.turnNo}-${a}`))})]},i.turnNo??"conversation"))})}function Wqt({snapshot:e,onClose:t,factRows:n,factsLoading:r,factsError:i,onOpenItem:o,resourceTabs:a,onCloseResourceTab:s}){const[l,c]=g.useState("sources"),u=a&&a.length>0?a[a.length-1].key:null;g.useEffect(()=>{u&&c(u)},[u]),g.useEffect(()=>{const p=h=>{h.key==="Escape"&&t()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[t]);const d=Bqt(e),f=[{key:"sources",label:"来源",closable:!1,children:w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:d.map(p=>w.jsx("section",{children:w.jsx("div",{className:"wandox-conversations__sources-pane-group",children:p.items.map(h=>w.jsx(Fqt,{item:h,onOpenUrl:o},h.source_id))})},p.kind))})}];n&&n.length>0&&f.push({key:"facts",label:"依据",closable:!1,children:w.jsx(Hqt,{rows:n,loading:r,error:i})});for(const p of a??[])f.push({key:p.key,label:p.title,closable:!0,children:w.jsx("iframe",{className:"wandox-conversations__sources-pane-frame",src:p.url,title:p.title})});return w.jsx("aside",{className:"wandox-conversations__sources-pane",children:w.jsx(NO,{className:"wandox-conversations__sources-pane-tabs",size:"small",type:"editable-card",hideAdd:!0,activeKey:l,onChange:c,onEdit:(p,h)=>{h==="remove"&&(s==null||s(String(p)),c("sources"))},tabBarExtraContent:{right:w.jsx("button",{type:"button",className:"wandox-conversations__sources-pane-close","aria-label":"关闭来源分屏",onClick:t,children:w.jsx(ni,{})})},items:f})})}const fye="(min-width: 1120px)";function Gqt(){const[e,t]=g.useState(()=>window.matchMedia(fye).matches);return g.useEffect(()=>{const n=window.matchMedia(fye),r=i=>t(i.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}function Uqt({snapshot:e,origin:t,onOpenAll:n,onOpenItem:r,factRows:i}){const o=Gqt(),[a,s]=g.useState(null),l=a??o;if(!e)return null;const c=e.items.length>0,u=e.counts,d=[u.file?"上传":"",u.artifact?"来源":"",u.url+u.knowledge?"链接":""].filter(Boolean).join(" · ");return l?w.jsxs("aside",{className:"wandox-conversations__sources-card",children:[w.jsxs("header",{className:"wandox-conversations__sources-head",children:[w.jsx("span",{children:"导出与报告"}),w.jsx("button",{type:"button",className:"wandox-conversations__sources-collapse","aria-label":"收起来源卡",onClick:()=>s(!1),children:w.jsx(ni,{})})]}),t?w.jsx("div",{className:"wandox-conversations__sources-origin",children:`来自:${t}`}):null,c?null:w.jsx("div",{className:"wandox-conversations__sources-empty-note",children:"对话中上传的文件、生成的报告与引用会出现在这里。"}),d?w.jsxs("div",{className:"wandox-conversations__sources-counts",children:[d,":"]}):null,c?w.jsx("div",{className:"wandox-conversations__sources-list",children:e.items.slice(0,5).map(f=>w.jsx(Aje,{item:f,onOpenUrl:r},f.source_id))}):null,i&&i.length>0?w.jsxs("div",{className:"wandox-conversations__sources-facts",children:[w.jsx("div",{className:"wandox-conversations__sources-counts",children:"依据:"}),w.jsx("div",{className:"wandox-conversations__sources-list",children:i.slice(0,3).map((f,p)=>w.jsxs("div",{className:"wandox-conversations__sources-item",children:[w.jsx(CEe,{"aria-hidden":"true"}),w.jsx("span",{className:"wandox-conversations__sources-item-title",title:f.fact,children:f.fact})]},f.id??`fact-${p}`))})]}):null,n&&c?w.jsxs("button",{type:"button",className:"wandox-conversations__sources-more",onClick:n,children:["查看全部",w.jsx(tf,{})]}):null]}):w.jsxs("button",{type:"button",className:"wandox-conversations__sources-pill",title:t?`来自:${t}`:"查看会话来源",onClick:()=>s(!0),children:[w.jsx(Tf,{"aria-hidden":"true"}),w.jsx("span",{children:"导出与报告"}),c?w.jsx("span",{className:"wandox-conversations__sources-pill-count",children:e.items.length}):null]})}const qqt={sparkles:w.jsxs(w.Fragment,{children:[w.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"}),w.jsx("path",{d:"M20 2v4"}),w.jsx("path",{d:"M22 4h-4"}),w.jsx("circle",{cx:"4",cy:"20",r:"2"})]}),layers:w.jsxs(w.Fragment,{children:[w.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"}),w.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"}),w.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":w.jsxs(w.Fragment,{children:[w.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"}),w.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":w.jsxs(w.Fragment,{children:[w.jsx("path",{d:"M10 12h4"}),w.jsx("path",{d:"M10 8h4"}),w.jsx("path",{d:"M14 21v-3a2 2 0 0 0-4 0v3"}),w.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"}),w.jsx("path",{d:"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16"})]}),menu:w.jsxs(w.Fragment,{children:[w.jsx("path",{d:"M4 6h16"}),w.jsx("path",{d:"M4 12h16"}),w.jsx("path",{d:"M4 18h16"})]}),x:w.jsxs(w.Fragment,{children:[w.jsx("path",{d:"M18 6 6 18"}),w.jsx("path",{d:"m6 6 12 12"})]}),"arrow-left":w.jsxs(w.Fragment,{children:[w.jsx("path",{d:"m12 19-7-7 7-7"}),w.jsx("path",{d:"M19 12H5"})]})};function Yf({name:e}){return w.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:qqt[e]})}function nx(e){return typeof e=="string"&&e.length>=10?e.slice(0,10):""}function Up(e,t=3){const n=Array.isArray(e)?e.map(r=>String(r)):e!=null?[String(e)]:[];return n.length?n.length<=t?n.join("、"):`${n.slice(0,t).join("、")} 等 ${n.length} 个`:""}function Kqt(e,t){const n=[];if(e&&typeof e=="object"){const r=Up(e.asins),i=Up(e.campaigns??e.campaign_ids),o=Up(e.sites);o&&n.push(`站点 ${o}`),r&&n.push(`ASIN ${r}`),i&&n.push(`活动 ${i}`)}return t&&n.push(`专家范围:${t}`),n.length?n.join(" · "):"公司全量范围"}function Yqt(e){switch(e){case"user":return"你发起的讨论";case"watch":return"你交代的盯住";case"suggestion":return"小多建议推进";default:return e||"小多"}}function $je(e){return e?e.slice(0,16).replace("T"," "):""}function Xqt(e){const t=n=>Math.max(aU(n.last_run_at)??0,aU(n.created_at)??0);return e.map(n=>({row:n,chat:{id:n.conversation_id,title:n.title||"未命名会话",scope:Kqt(n.scope_config,n.domain_scope),source:Yqt(n.source),preview:n.attention==="has_update"?"有更新:盯住或建议有新结论":n.last_run_at?`上次更新 ${$je(n.last_run_at)}`:"尚无讨论记录",status:n.attention==="has_update"?"有更新":"",messages:[],confirmed:!0,live:!0,updatedAt:n.last_run_at??n.created_at??void 0}})).sort((n,r)=>t(r.row)-t(n.row)).map(({chat:n})=>n)}function Sj(e,t=new Date){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=`${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}`,i=a=>new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime(),o=Math.round((i(t)-i(n))/864e5);return o<=0?r:o===1?"昨天":o<=7?`${o} 天前`:`${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`}function Zqt(e){const t=[],n=[],r=[];for(const i of e){if(!i||typeof i!="object")continue;const o=String(i.kind??"");o==="finding"?t.push(i):o==="running"?n.push(i):o==="waiting"&&r.push(i)}return{findings:t,running:n,waiting:r}}function Qqt(e){switch(String(e??"")){case"new":return"新发现";case"handling":return"处理中";case"waiting_data":return"等数据";case"decided":return"已决定";default:return""}}function HN(e,t=new Date){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=t.getTime()-n.getTime();if(r<36e5)return"刚刚";if(r<864e5)return`${Math.floor(r/36e5)}小时前`;const i=Math.floor(r/864e5);return i<=7?`${i}天前`:`${n.getMonth()+1}月${n.getDate()}日`}function Jqt(e,t=new Date){const n=a=>new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime(),r=n(t),i={today:[],yesterday:[],week:[],earlier:[]};for(const a of e){if(a.draft){i.today.unshift(a);continue}const s=a.updatedAt?new Date(a.updatedAt).getTime():Number.NaN,l=Number.isNaN(s)?null:Math.round((r-n(new Date(s)))/864e5);l===null||l>7?i.earlier.push(a):l<=0?i.today.push(a):l===1?i.yesterday.push(a):i.week.push(a)}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(a=>a.chats.length>0)}function eKt(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 pye(e){return e.filter(t=>String(t.status||"active").toLowerCase()!=="cancelled").map(t=>{const n=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:eKt(t),stateText:(t.state??"").trim(),status:n,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 Eje(e,t,n){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:[n.source,Sj(n.updatedAt)].filter(Boolean).join(" · ")}]}function tKt(e,t){const n=`${e.business_type_code||""}:${e.group_code||""}`,r=t.get(n);return r||(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 nKt(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 rKt(e){return e==="pending"?"待采纳":["rejected","ignored","dismissed","cancelled"].includes(e)?"忽略历史":"执行历史"}function d5(e,t,n={}){const r=[];for(const i of e){const o=i.id,a=String(i.status||"pending").toLowerCase(),s=n[String(o)],l=s?"执行历史":rKt(a);r.push({id:o,group:tKt(i,t),agent:i.agent_name||i.agent_code||"数字人",object:i.object_name||i.sub_title||`建议 #${o}`,text:i.main_title||i.content||i.sub_title||"(无标题建议)",state:l,created:nx(i.created_at),handled:l==="待采纳"?"":nx(i.updated_at)||nx(i.created_at),result:s?`已采纳 · 事项 ${s.matterId||"已立项"}`:nKt(a),live:!0,agentId:i.agent_id??void 0,groupKey:`${i.business_type_code||""}:${i.group_code||""}`})}return r}function iKt(e){const t=new Map,n=(r,i,o)=>{if(!r||!i)return;let a=t.get(r);a||(a=new Map,t.set(r,a)),a.set(i,o||i)};if(Array.isArray(e))for(const r of e){const i=String(r.dim??r.option_type??"").trim(),o=String(r.name??"").trim(),a=String(r.code??"").trim()||(i==="service_target"?o:"");n(i,a,o)}else if(e&&typeof e=="object"){for(const[r,i]of Object.entries(e))if(Array.isArray(i))for(const o of i)n(r,String((o==null?void 0:o.code)??(o==null?void 0:o.name)??"").trim(),String((o==null?void 0:o.name)??"").trim())}return t}function oKt(e){const t=[],n=new Map;if(!e)return{options:t,labels:n};const r=iKt(e.items),i=r.get("business_type"),o=r.get("group"),a=Array.isArray(e.digital_humans)?e.digital_humans:[];for(const s of a){const l=String(s.business_type_code??"").trim(),c=String(s.group_code??"").trim();if(!l&&!c)continue;const u=`${l}:${c}`;if(n.has(u))continue;const d=[(i==null?void 0:i.get(l))||l,(o==null?void 0:o.get(c))||c].filter(Boolean).join(" · ")||u;n.set(u,d),t.push({key:u,label:d,businessType:l,groupCode:c})}return{options:t,labels:n}}function aKt(e){switch(e){case"triggered":return"已触发";case"not_triggered":return"未触发";case"waiting_data":return"等待数据";default:return""}}function sKt(e){switch(e){case"pending_decision":return"待决定";case"executing":return"执行中";case"observing":return"观察中";case"reviewed":case"cancelled":return"已复盘";default:return"待决定"}}function lKt(e){return String(e.matter_id??e.id??"")}function cKt(e){const t=[];for(const n of e){const r=lKt(n);if(!r)continue;const i=n.proposal&&typeof n.proposal=="object"?n.proposal:null,o=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:r,title:n.title||"未命名事项",sub:String(n.playbook_id||n.source_agent_suggestion_id||""),state:sKt(n.status),expert:n.expert_agent||"",summary:n.summary||"",action:o,result:n.review_conclusion||(n.status==="executing"?"等待执行回执":n.status==="observing"?`观察至 ${nx(n.observe_until)||"待定"}`:""),live:!0})}return t}function Tje(e){const t=i=>i.replace(/^盯住\s*/,"")||i,n=(e.topic||"").trim();if(n)return t(n);const r=(e.title||"").trim();return r?t(r):""}function f5(e){const t=String(e.status||"").toLowerCase();return{product:Tje(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 uKt(e,t,n,r){var c,u,d,f,p,h,m,v;const i=(e.object_candidates??[]).map(y=>typeof y=="string"?y:(y==null?void 0:y.name)??"").filter(y=>!!y),o=(e.task??((c=e.proposal)==null?void 0:c.task)??((d=(u=e.proposal)==null?void 0:u.check_spec)==null?void 0:d.topic)??"").trim(),a=((f=e.proposal)==null?void 0:f.display)??null,s=((a==null?void 0:a.lines)??[]).filter(y=>typeof y=="string"&&!!y.trim()),l=((a==null?void 0:a.warnings)??[]).filter(y=>typeof y=="string"&&!!y.trim());return{product:i[0]??(n&&r?r.product:null)??(e.title||"").trim()??null,task:o||t,originalText:(e.original_text??"").trim()||void 0,scheduleType:e.schedule_type??((h=(p=e.proposal)==null?void 0:p.schedule)==null?void 0:h.schedule_type)??"",scheduleValue:e.schedule??((v=(m=e.proposal)==null?void 0:m.schedule)==null?void 0:v.schedule_value)??"",displayLines:s.length?s:void 0,displayWarnings:l.length?l:void 0,notifyText:(a==null?void 0:a.notify_text)??void 0,candidates:i.length?i:void 0}}function dKt(e){if(!e)return"";const t=[];return t.push(e.last_automation_at?`上次自动执行 ${$je(e.last_automation_at)}`:"尚无自动执行记录"),typeof e.attention_count=="number"&&e.attention_count>0&&t.push(`${e.attention_count} 项有更新`),t.join(" · ")}const fKt={enterprise_rule:"企业规则",position_policy:"岗位策略",personal_pref:"个人偏好",product_knowledge:"商品知识",action_experience:"动作经验"},pKt={draft:"草稿",in_review:"待审核",reviewing:"待审核",pending:"待审核",rejected:"已驳回",active:"已生效",confirmed:"已生效",retired:"已撤回"};function hKt(e){return e.map((t,n)=>{const r=String(t.category||t.ktype||""),i=t.content_md||t.content||"",o=Number(t.doc_id??t.id);return{key:String(t.doc_id??t.id??`k-${n}`),docId:Number.isSafeInteger(o)&&o>0?o:null,label:t.category_label||fKt[r]||r||"知识素材",title:t.title||"",titleAuto:t.title_auto===!0,meta:[t.scope_label||(t.owner_type==="global"?"全局":t.owner_type||""),t.status_label||pKt[String(t.status||"").toLowerCase()]||(t.status?String(t.status):""),nx(t.updated_at||t.created_at)].filter(Boolean).join(" · "),body:i,status:t.status?String(t.status):""}})}function mKt(e){if(!e)return null;const t=String(e.persona||""),n=t.includes("管理员")?"企业管理员":t.includes("负责人")?"经营负责人":"广告运营",r=e.permissions&&typeof e.permissions=="object"?e.permissions:null,i=r==null?void 0:r.can_view,o=[];if(typeof e.business_scope=="string"&&e.business_scope)o.push(e.business_scope);else if(e.business_scope&&typeof e.business_scope=="object")for(const[a,s]of Object.entries(e.business_scope)){const l=Up(s,4);l&&o.push(`${a}:${l}`)}return{userId:e.user_id||"",name:e.name||"(未命名)",personaText:t||"未配置岗位",personaKey:n,configured:e.configured!==!1,scopeLines:o,duty:e.duty||"",dutySource:e.duty_source||"",goals:e.goals||"",canViewText:typeof i=="string"?i:i&&typeof i=="object"?Object.entries(i).map(([a,s])=>`${a}:${Up(s,4)}`).filter(a=>a.length>0&&!a.endsWith(":")).join(";"):"",canActText:Up(r==null?void 0:r.can_act,4),needsApprovalText:Up(r==null?void 0:r.needs_approval,4),auto:(r==null?void 0:r.auto_execute)===!0}}function gKt(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(([n,r])=>`${n} ${Up(r,3)}`).filter(n=>!n.endsWith(" ")).join(" · "):t.duty||"",configured:t.configured!==!1}))}const vKt={"tool/catalog":"盘点可用数据","tool/selected":"选定取数工具","tool/called":"调用工具取数","tool/result":"解析返回结果","tool/parallel-batch":"并行批量取数","tool/failure-route-hint":"异常换路重试","tool/cached-hit":"命中缓存,直接复用","query/empty":"查询无结果","cognition/ended":"本轮收口"},yKt={understand:"理解问题,拆解目标",plan:"规划调查路径",execute:"执行调查",verify:"核对结论",synthesize:"汇总结论",summarize:"汇总结论",report:"整理输出",done:"收尾"};function bKt(e){const t=e.trim();if(!t)return"";const n=vKt[t];if(n)return n;const r=t.indexOf("/");return r>0&&/^(tool|phase|query)$/.test(t.slice(0,r))?t.slice(r+1).replace(/[-_]+/g," ").trim():t}function xKt(e){const t=e.trim();return t?yKt[t]??t:""}function aU(e){const t=(e??"").trim();if(!t)return null;const n=t.includes("T")?t:t.replace(" ","T"),r=Date.parse(n);return Number.isFinite(r)?r:null}function wKt(e){const t=Array.isArray(e)?e:[];if(t.length===0)return null;const n=new Map;for(const r of t){const i=String((r==null?void 0:r.text)??"").replace(/\s+/g," ").trim();i&&n.set(`${r.type}\0${i}`,{name:i,status:r.status==="running"?"running":"done",note:"",ts:aU(r.ts)??void 0})}return n.size===0?null:[...n.values()]}const Ije={待采纳:"pending",执行历史:"accepted",忽略历史:"dismissed"},SKt=[["运营","5","ASIN 与店铺经营"],["广告","10","活动、预算与关键词"],["采购","18","需求、订单与交期"],["库存优化","5","缺货、积压与去化"]],Pje={广告运营:{name:"张三",goal:"在既定预算内改善投放效率,保护新品测试窗口",data:"广告表现、订单与商品基础信息",approval:"增加总预算 → 李雯 · 经营负责人"},经营负责人:{name:"李雯",goal:"提高新品成功率,改善老品贡献利润",data:"负责范围内的销售、广告、成本与利润",approval:"超出季度预算 → 企业负责人"},企业管理员:{name:"陈敏",goal:"维护岗位、业务归属与授权记录",data:"成员、岗位、数据连接状态;不默认开放经营数据",approval:"经营规则变更 → 经营负责人"}};function _Kt(e,t){return e==="广告运营"?t.scope:e==="经营负责人"?"德国、美国站 · 店铺 A / B · 家居品类":"组织与账号配置 · 无业务数据授权"}function CKt(e,t){return e==="广告运营"?t.action:e==="经营负责人"?"经营方案审批、预算分配与团队分工":"维护成员授权,保存变更记录"}function AKt(){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 $Kt(){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 EKt(){return[{id:1,source:"每日经营检查",title:"这周,先一起梳理新品的测试预算",why:"你负责德国站的新品投放,也希望控制试错成本。我建议先确认每款新品的测试目标,再看预算是否分散。",next:"先梳理测试目标与当前分配,与你确认优先级后,再调用广告专家形成动作。",state:"推荐",messages:[]},{id:2,source:"岗位关注建议",title:"销量没下降,老品利润也可能在流失",why:"结合广告运营岗位本周的关注主题,建议检查折扣、广告投入与贡献利润是否同步变化。先确定你有权查看的数据范围。",next:"先用广告花费与订单定位值得关注的商品;需要完整成本时,请经营负责人参与核实。",state:"推荐",messages:[]}]}function TKt(){const e=(t,n,r)=>{const i=new Date;return i.setDate(i.getDate()-t),i.setHours(n,r,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 IKt(){return{role:"广告运营",scope:"德国站 · 店铺 A · 家居品类",action:"单次竞价调整 ≤ 10%",auto:!1}}function PKt(){return{product:"咖啡机",metric:"销量",threshold:20,channel:"通过我的钉钉提醒我",paused:!1}}function p5(e,t,n){const r=e.match(/(\d+(?:\.\d+)?)\s*[%%]/);return{product:/咖啡/.test(e)?"咖啡机":/收纳/.test(e)?"收纳包":t&&n?n.product:null,metric:/销售额/.test(e)?"销售额":t&&n?n.metric:"销量",threshold:r?Number(r[1]):t&&n?n.threshold:20,explicit:!!r,channel:/不要.*钉钉|仅站内|只在站内/.test(e)?"在站内提醒我":t&&n?n.channel:"通过我的钉钉提醒我"}}const NKt=["建议编号","领域","数字人","业务对象","建议内容","状态","建议日期","处理日期","执行结果或忽略原因"];function kKt(e){return`\uFEFF${[NKt,...e.map(r=>[String(r.id),r.group,r.agent,r.object,r.text,r.state,r.created,r.handled,r.result])].map(r=>r.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 dye=0;const c5=e=>(dye+=1,`${e}-${Date.now()}-${dye}`),Mqt=e=>{const t=e.replace(/\s+/g," ").trim();return t.length>20?`${t.slice(0,20)}…`:t},Rqt=()=>kqt.map(e=>({...e,messages:e.messages.map(t=>({...t}))}));function Dqt({onClose:e}){const[t,n]=g.useState(Rqt),[r,i]=g.useState(null),[o,a]=g.useState(!1),[s,l]=g.useState(""),[c,u]=g.useState(!1),[d,f]=g.useState("静态 Demo · 消息不会发送到服务端"),p=g.useRef(null),h=g.useRef(null),m=g.useMemo(()=>t.find(T=>T.id===r)??null,[r,t]),v=(m==null?void 0:m.messages)??[],y=g.useMemo(()=>{const T=s.trim().toLocaleLowerCase();return T?t.filter($=>$.title.toLocaleLowerCase().includes(T)):t},[t,s]),b=g.useCallback(()=>{const T=h.current!==null;h.current&&(clearTimeout(h.current),h.current=null),u(!1),T&&f("已停止本地 Demo 回复")},[]);g.useEffect(()=>()=>{h.current&&(clearTimeout(h.current),h.current=null)},[]),g.useEffect(()=>{const T=$=>{var P;(P=p.current)!=null&&P.contains($.target)||a(!1)};return document.addEventListener("pointerdown",T),()=>document.removeEventListener("pointerdown",T)},[]),g.useEffect(()=>{const T=$=>{if($.key==="Escape"){if(o){a(!1);return}e()}};return document.addEventListener("keydown",T),()=>document.removeEventListener("keydown",T)},[o,e]);const x=g.useCallback(()=>{b(),i(null),a(!1),l(""),f("静态 Demo · 消息不会发送到服务端")},[b]),S=g.useCallback(T=>{b(),i(T),a(!1),l(""),f("已载入本地历史 Demo")},[b]),_=g.useCallback(T=>{const $=T.trim();if(!$||c)return;b();const P=new Date().toISOString(),N={id:c5("user"),role:"user",content:$,timestamp:P},M=r??c5("conversation");n(k=>k.find(j=>j.id===M)?k.map(j=>j.id===M?{...j,updatedLabel:"刚刚",messages:[...j.messages,N]}:j):[{id:M,title:Mqt($)||"新会话",updatedLabel:"刚刚",messages:[N]},...k]),i(M),u(!0),f("正在生成本地 Demo 回复…"),h.current=setTimeout(()=>{const k={id:c5("assistant"),role:"assistant",content:"已收到。这是一条由前端本地生成的 Demo 回复,用于验证 V2 输入框、消息追加和统一内容解析;当前没有调用聊天或历史接口。",timestamp:new Date().toISOString()};n(O=>O.map(j=>j.id===M?{...j,updatedLabel:"刚刚",messages:[...j.messages,k]}:j)),h.current=null,u(!1),f("静态 Demo · 消息不会发送到服务端")},700)},[r,c,b]),C=g.useCallback(()=>{a(T=>!T)},[]),A=g.useCallback(()=>{f("该能力将在新接口接入后开放")},[]),E=g.useCallback(T=>{T.dataTransfer.types.includes("Files")&&(T.preventDefault(),T.stopPropagation(),f("附件将在新接口接入后开放"))},[]),I=g.useCallback(T=>{Array.from(T.clipboardData.items).some(P=>P.type.startsWith("image/"))&&(T.preventDefault(),T.stopPropagation(),f("图片粘贴将在新接口接入后开放"))},[]);return w.jsxs("aside",{className:"wandox-root wandox-console-chat wandox-agent-panel","aria-label":"Wandox 会话面板",children:[w.jsxs("header",{className:"wandox-agent-panel__header",children:[w.jsxs("div",{className:"wandox-agent-panel__brand-row",children:[w.jsxs("div",{className:"wandox-agent-panel__brand",children:[w.jsx(oU,{className:"wandox-agent-panel__brand-mark"}),w.jsx("span",{children:"Wandox"})]}),w.jsx("button",{type:"button",className:"wandox-agent-panel__icon-button",onClick:e,title:"关闭面板","aria-label":"关闭面板",children:w.jsx(ni,{})})]}),w.jsxs("div",{className:"wandox-agent-panel__navigation",children:[w.jsx("button",{type:"button",className:`wandox-agent-panel__icon-button wandox-agent-panel__new-chat${m?"":" wandox-agent-panel__new-chat--hidden"}`,onClick:x,disabled:!m,title:"新会话","aria-label":"新会话",tabIndex:m?0:-1,children:w.jsx(Vx,{})}),w.jsxs("div",{className:"wandox-agent-panel__history-anchor",ref:p,children:[w.jsxs("button",{type:"button",className:"wandox-agent-panel__conversation-title",onClick:C,"aria-expanded":o,"aria-haspopup":"true",children:[w.jsx("span",{children:(m==null?void 0:m.title)??"新会话"}),w.jsx(bv,{className:o?"wandox-agent-panel__title-arrow--open":""})]}),o&&w.jsxs("section",{className:"wandox-agent-panel__history","aria-label":"会话历史",children:[w.jsx(_n,{value:s,onChange:T=>l(T.target.value),prefix:w.jsx(Ef,{}),allowClear:!0,placeholder:"搜索最近会话",className:"wandox-agent-panel__history-search",autoFocus:!0}),w.jsx("div",{className:"wandox-agent-panel__history-label",children:"最近会话"}),w.jsx("div",{className:"wandox-agent-panel__history-list",children:y.length>0?y.map(T=>w.jsxs("button",{type:"button",className:`wandox-agent-panel__history-item${T.id===r?" wandox-agent-panel__history-item--active":""}`,onClick:()=>S(T.id),children:[w.jsx("span",{children:T.title}),w.jsx("time",{children:T.updatedLabel})]},T.id)):w.jsx("div",{className:"wandox-agent-panel__history-empty",children:"没有匹配的会话"})})]})]}),w.jsx("button",{type:"button",className:"wandox-agent-panel__icon-button",onClick:A,title:"更多","aria-label":"更多",children:w.jsx(fy,{})})]})]}),w.jsx("div",{className:"wandox-console-chat__body wandox-agent-panel__body",children:w.jsx(xJ,{messages:v,executing:c,conversationKey:r??"new-conversation",emptyContent:w.jsx("div",{className:"wandox-agent-panel__empty",children:w.jsx(oU,{className:"wandox-agent-panel__empty-mark"})})})}),w.jsxs("div",{className:"wandox-console-chat__input wandox-agent-panel__input",children:[w.jsx("div",{className:"wandox-agent-panel__chat-input-guard",onDragEnterCapture:E,onDragOverCapture:E,onDropCapture:E,onPasteCapture:I,children:w.jsx(EJ,{onSend:_,executing:c,onStop:b,placeholder:"给 Wandox 发送消息",hideUploadButton:!0,autoFocusInput:!1,leadingActions:w.jsx("button",{type:"button",className:"wandox-chat-input-upload-leading",onClick:A,title:"添加文件","aria-label":"添加文件",children:w.jsx(yy,{})})},r??"new-conversation")}),w.jsx("div",{className:"wandox-agent-panel__demo-notice","aria-live":"polite",children:d})]})]})}const u5=(e,t)=>({value:e.getPropertyValue(t),priority:e.getPropertyPriority(t)}),j1=(e,t,n)=>{if(n.value){e.setProperty(t,n.value,n.priority);return}e.removeProperty(t)},Oqt=e=>Number.isFinite(e)?Math.min(Tqt,Math.max(Eqt,Math.round(e))):_je;class Lqt{constructor(t){ke(this,"queryClient");ke(this,"root",null);ke(this,"container",null);ke(this,"bodyStyleSnapshot",null);ke(this,"panelWidth",_je);ke(this,"listeningForResize",!1);ke(this,"closing",!1);ke(this,"lifecycleVersion",0);ke(this,"closeFallbackTimer",null);ke(this,"closeTransitionEndHandler",null);ke(this,"requestClose",()=>{const t=this.lifecycleVersion;queueMicrotask(()=>{t===this.lifecycleVersion&&this.close()})});ke(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<=Iqt?"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 n=document.getElementById(lye);if(n&&n!==this.container)throw new Error("[Wandox] Agent panel is already managed by another SDK instance");const r=this.closing&&this.container?window.getComputedStyle(this.container).transform:null;this.lifecycleVersion+=1,this.cancelCloseMotion(),this.panelWidth=Oqt(t.width);let i=!1;if(!this.container||!this.root){const c=document.body;this.bodyStyleSnapshot={body:c,paddingRight:u5(c.style,"padding-right"),boxSizing:u5(c.style,"box-sizing"),transition:u5(c.style,"transition"),computedTransition:window.getComputedStyle(c).transition},this.container=document.createElement("div"),this.container.id=lye,this.container.className=`wandox-agent-panel-root ${l5}`,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=bl(this.container),i=!0}const o=this.container,a=this.root,s=this.prefersReducedMotion(),l=!!r&&r!=="none";return l&&r&&(o.style.transform=r),o.classList.remove(uye),o.removeAttribute("aria-hidden"),this.installBodyTransition(),o.style.width=`${this.getRenderedWidth()}px`,this.bodyStyleSnapshot&&this.bodyStyleSnapshot.body.style.setProperty("box-sizing","border-box","important"),(i||l)&&!s&&o.offsetWidth,o.classList.remove(l5),l&&o.style.removeProperty("transform"),this.applyLayout(),s&&this.bodyStyleSnapshot&&(this.bodyStyleSnapshot.body.offsetWidth,this.restoreBodyTransition()),this.startListeningForResize(),a.render(w.jsx(cu,{queryClient:this.queryClient,children:w.jsx(Dqt,{onClose:this.requestClose})})),{element:o,close:()=>this.close(),destroy:()=>this.destroy()}}close(){const t=this.container;if(!t||!this.root||this.closing)return;const n=++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=r=>{r.target!==t||r.propertyName!=="transform"||this.finalizeClose(n,t)},t.addEventListener("transitionend",this.closeTransitionEndHandler),this.closeFallbackTimer=window.setTimeout(()=>this.finalizeClose(n,t),cye+80),t.classList.remove(l5),t.classList.add(uye),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(Nqt).matches}installBodyTransition(){if(!this.bodyStyleSnapshot)return;const{body:t,computedTransition:n}=this.bodyStyleSnapshot;if(this.prefersReducedMotion()){t.style.setProperty("transition","none","important");return}const r=`padding-right ${cye}ms ${Pqt}`,i=n.trim(),o=!i||i==="none"||i==="all 0s ease 0s"?r:`${i}, ${r}`;t.style.setProperty("transition",o,"important")}restoreBodyPadding(){if(!this.bodyStyleSnapshot)return;const{body:t,paddingRight:n}=this.bodyStyleSnapshot;j1(t.style,"padding-right",n)}restoreBodyTransition(){if(!this.bodyStyleSnapshot)return;const{body:t,transition:n}=this.bodyStyleSnapshot;j1(t.style,"transition",n)}prepareImmediateBodyRestore(){if(!this.bodyStyleSnapshot)return;const{body:t}=this.bodyStyleSnapshot;t.style.setProperty("transition","none","important"),this.restoreBodyPadding(),t.offsetWidth}finalizeClose(t,n){t!==this.lifecycleVersion||n!==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,n;this.cancelCloseMotion(),this.stopListeningForResize(),(t=this.root)==null||t.unmount(),this.root=null,(n=this.container)==null||n.remove(),this.container=null,this.restoreBodyStyle()}restoreBodyStyle(){if(!this.bodyStyleSnapshot)return;const{body:t,paddingRight:n,boxSizing:r,transition:i}=this.bodyStyleSnapshot;j1(t.style,"padding-right",n),j1(t.style,"box-sizing",r),j1(t.style,"transition",i),this.bodyStyleSnapshot=null}}const jqt="0.2.4",Cje={file:Tf,artifact:AEe,url:qht,knowledge:CEe,dataset:Sht};function zqt({snapshot:e}){return e?e.items.length===0?w.jsx("div",{className:"wandox-conversations__sources-empty-note",children:"对话中上传的文件、生成的报告与引用会出现在这里。"}):w.jsx("div",{className:"wandox-conversations__sources-list",children:e.items.map(t=>w.jsx(Aje,{item:t},t.source_id))}):null}function Aje({item:e,onOpenUrl:t}){const n=Cje[e.kind]??Tf,r=e.url||e.download_url||null,i=DLe(r),o=w.jsxs(w.Fragment,{children:[w.jsx(n,{"aria-hidden":"true"}),w.jsx("span",{className:"wandox-conversations__sources-item-title",title:e.title,children:e.title})]});if(r&&!i)return w.jsx("a",{className:"wandox-conversations__sources-item",href:r,onClick:t?a=>{a.preventDefault(),t(e,r)}:void 0,target:t?void 0:"_blank",rel:t?void 0:"noopener noreferrer",children:o});if(r&&i){const a=OLe(e.source_id);return w.jsx("button",{type:"button",className:"wandox-conversations__sources-item",onClick:()=>{a&&pj(a,e.title).catch(s=>{})},children:o})}return w.jsx("div",{className:"wandox-conversations__sources-item",children:o})}function Bqt(e){return["file","artifact","dataset","url","knowledge"].map(t=>({kind:t,items:e.items.filter(n=>n.kind===t)})).filter(t=>t.items.length>0)}function Fqt({item:e,onOpenUrl:t}){const n=Cje[e.kind]??Tf,r=e.url||e.download_url||null,i=DLe(r),o=e.path||e.badge||null,a=w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"wandox-conversations__sources-pane-item-title",children:[w.jsx(n,{"aria-hidden":"true"}),w.jsx("span",{title:e.title,children:e.title})]}),o?w.jsx("div",{className:"wandox-conversations__sources-pane-item-sub",title:o,children:o}):null]});if(r&&!i)return w.jsx("a",{className:"wandox-conversations__sources-pane-item",href:r,onClick:t?s=>{s.preventDefault(),t(e,r)}:void 0,target:t?void 0:"_blank",rel:t?void 0:"noopener noreferrer",children:a});if(r&&i){const s=OLe(e.source_id);return w.jsx("button",{type:"button",className:"wandox-conversations__sources-pane-item",onClick:()=>{s&&pj(s,e.title).catch(l=>{})},children:a})}return w.jsx("div",{className:"wandox-conversations__sources-pane-item",children:a})}function Vqt({fact:e}){const t=String(e.nature||"").toLowerCase();return w.jsxs("div",{className:"wandox-conversations__fact-row",children:[w.jsx("span",{className:`wandox-conversations__fact-badge wandox-conversations__fact-badge--${t}`,children:e.nature_label||e.badge||e.nature||"事实"}),w.jsx("span",{className:"wandox-conversations__fact-text",title:e.fact,children:e.fact})]})}function Hqt({rows:e,loading:t,error:n}){if(t)return w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:w.jsx("div",{className:"wandox-conversations__sources-pane-note",children:"加载中…"})});if(n)return w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:w.jsx("div",{className:"wandox-conversations__sources-pane-note",children:n})});if(e.length===0)return w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:w.jsx("div",{className:"wandox-conversations__sources-pane-note",children:"本会话还没有事实依据"})});const r=[...e].sort((i,o)=>(i.turn_no??0)-(o.turn_no??0)).reduce((i,o)=>{const a=i[i.length-1];return a&&a.turnNo===(o.turn_no??null)?a.facts.push(o):i.push({turnNo:o.turn_no??null,facts:[o]}),i},[]);return w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:r.map(i=>w.jsxs("section",{children:[i.turnNo?w.jsxs("div",{className:"wandox-conversations__sources-group-title",children:["`第 $",i.turnNo," 轮`"]}):null,w.jsx("div",{className:"wandox-conversations__fact-group",children:i.facts.map((o,a)=>w.jsx(Vqt,{fact:o},o.id??`${i.turnNo}-${a}`))})]},i.turnNo??"conversation"))})}function Wqt({snapshot:e,onClose:t,factRows:n,factsLoading:r,factsError:i,onOpenItem:o,resourceTabs:a,onCloseResourceTab:s}){const[l,c]=g.useState("sources"),u=a&&a.length>0?a[a.length-1].key:null;g.useEffect(()=>{u&&c(u)},[u]),g.useEffect(()=>{const p=h=>{h.key==="Escape"&&t()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[t]);const d=Bqt(e),f=[{key:"sources",label:"来源",closable:!1,children:w.jsx("div",{className:"wandox-conversations__sources-pane-body",children:d.map(p=>w.jsx("section",{children:w.jsx("div",{className:"wandox-conversations__sources-pane-group",children:p.items.map(h=>w.jsx(Fqt,{item:h,onOpenUrl:o},h.source_id))})},p.kind))})}];n&&n.length>0&&f.push({key:"facts",label:"依据",closable:!1,children:w.jsx(Hqt,{rows:n,loading:r,error:i})});for(const p of a??[])f.push({key:p.key,label:p.title,closable:!0,children:w.jsx("iframe",{className:"wandox-conversations__sources-pane-frame",src:p.url,title:p.title})});return w.jsx("aside",{className:"wandox-conversations__sources-pane",children:w.jsx(NO,{className:"wandox-conversations__sources-pane-tabs",size:"small",type:"editable-card",hideAdd:!0,activeKey:l,onChange:c,onEdit:(p,h)=>{h==="remove"&&(s==null||s(String(p)),c("sources"))},tabBarExtraContent:{right:w.jsx("button",{type:"button",className:"wandox-conversations__sources-pane-close","aria-label":"关闭来源分屏",onClick:t,children:w.jsx(ni,{})})},items:f})})}const fye="(min-width: 1120px)";function Gqt(){const[e,t]=g.useState(()=>window.matchMedia(fye).matches);return g.useEffect(()=>{const n=window.matchMedia(fye),r=i=>t(i.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}function Uqt({snapshot:e,origin:t,onOpenAll:n,onOpenItem:r,factRows:i}){const o=Gqt(),[a,s]=g.useState(null),l=a??o;if(!e)return null;const c=e.items.length>0,u=e.counts,d=[u.file?"上传":"",u.artifact?"来源":"",u.url+u.knowledge?"链接":""].filter(Boolean).join(" · ");return l?w.jsxs("aside",{className:"wandox-conversations__sources-card",children:[w.jsxs("header",{className:"wandox-conversations__sources-head",children:[w.jsx("span",{children:"导出与报告"}),w.jsx("button",{type:"button",className:"wandox-conversations__sources-collapse","aria-label":"收起来源卡",onClick:()=>s(!1),children:w.jsx(ni,{})})]}),t?w.jsx("div",{className:"wandox-conversations__sources-origin",children:`来自:${t}`}):null,c?null:w.jsx("div",{className:"wandox-conversations__sources-empty-note",children:"对话中上传的文件、生成的报告与引用会出现在这里。"}),d?w.jsxs("div",{className:"wandox-conversations__sources-counts",children:[d,":"]}):null,c?w.jsx("div",{className:"wandox-conversations__sources-list",children:e.items.slice(0,5).map(f=>w.jsx(Aje,{item:f,onOpenUrl:r},f.source_id))}):null,i&&i.length>0?w.jsxs("div",{className:"wandox-conversations__sources-facts",children:[w.jsx("div",{className:"wandox-conversations__sources-counts",children:"依据:"}),w.jsx("div",{className:"wandox-conversations__sources-list",children:i.slice(0,3).map((f,p)=>w.jsxs("div",{className:"wandox-conversations__sources-item",children:[w.jsx(CEe,{"aria-hidden":"true"}),w.jsx("span",{className:"wandox-conversations__sources-item-title",title:f.fact,children:f.fact})]},f.id??`fact-${p}`))})]}):null,n&&c?w.jsxs("button",{type:"button",className:"wandox-conversations__sources-more",onClick:n,children:["查看全部",w.jsx(tf,{})]}):null]}):w.jsxs("button",{type:"button",className:"wandox-conversations__sources-pill",title:t?`来自:${t}`:"查看会话来源",onClick:()=>s(!0),children:[w.jsx(Tf,{"aria-hidden":"true"}),w.jsx("span",{children:"导出与报告"}),c?w.jsx("span",{className:"wandox-conversations__sources-pill-count",children:e.items.length}):null]})}const qqt={sparkles:w.jsxs(w.Fragment,{children:[w.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"}),w.jsx("path",{d:"M20 2v4"}),w.jsx("path",{d:"M22 4h-4"}),w.jsx("circle",{cx:"4",cy:"20",r:"2"})]}),layers:w.jsxs(w.Fragment,{children:[w.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"}),w.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"}),w.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":w.jsxs(w.Fragment,{children:[w.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"}),w.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":w.jsxs(w.Fragment,{children:[w.jsx("path",{d:"M10 12h4"}),w.jsx("path",{d:"M10 8h4"}),w.jsx("path",{d:"M14 21v-3a2 2 0 0 0-4 0v3"}),w.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"}),w.jsx("path",{d:"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16"})]}),menu:w.jsxs(w.Fragment,{children:[w.jsx("path",{d:"M4 6h16"}),w.jsx("path",{d:"M4 12h16"}),w.jsx("path",{d:"M4 18h16"})]}),x:w.jsxs(w.Fragment,{children:[w.jsx("path",{d:"M18 6 6 18"}),w.jsx("path",{d:"m6 6 12 12"})]}),"arrow-left":w.jsxs(w.Fragment,{children:[w.jsx("path",{d:"m12 19-7-7 7-7"}),w.jsx("path",{d:"M19 12H5"})]})};function Yf({name:e}){return w.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:qqt[e]})}function nx(e){return typeof e=="string"&&e.length>=10?e.slice(0,10):""}function Up(e,t=3){const n=Array.isArray(e)?e.map(r=>String(r)):e!=null?[String(e)]:[];return n.length?n.length<=t?n.join("、"):`${n.slice(0,t).join("、")} 等 ${n.length} 个`:""}function Kqt(e,t){const n=[];if(e&&typeof e=="object"){const r=Up(e.asins),i=Up(e.campaigns??e.campaign_ids),o=Up(e.sites);o&&n.push(`站点 ${o}`),r&&n.push(`ASIN ${r}`),i&&n.push(`活动 ${i}`)}return t&&n.push(`专家范围:${t}`),n.length?n.join(" · "):"公司全量范围"}function Yqt(e){switch(e){case"user":return"你发起的讨论";case"watch":return"你交代的盯住";case"suggestion":return"小多建议推进";default:return e||"小多"}}function $je(e){return e?e.slice(0,16).replace("T"," "):""}function Xqt(e){const t=n=>Math.max(aU(n.last_run_at)??0,aU(n.created_at)??0);return e.map(n=>({row:n,chat:{id:n.conversation_id,title:n.title||"未命名会话",scope:Kqt(n.scope_config,n.domain_scope),source:Yqt(n.source),preview:n.attention==="has_update"?"有更新:盯住或建议有新结论":n.last_run_at?`上次更新 ${$je(n.last_run_at)}`:"尚无讨论记录",status:n.attention==="has_update"?"有更新":"",messages:[],confirmed:!0,live:!0,updatedAt:n.last_run_at??n.created_at??void 0}})).sort((n,r)=>t(r.row)-t(n.row)).map(({chat:n})=>n)}function Sj(e,t=new Date){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=`${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}`,i=a=>new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime(),o=Math.round((i(t)-i(n))/864e5);return o<=0?r:o===1?"昨天":o<=7?`${o} 天前`:`${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`}function Zqt(e){const t=[],n=[],r=[];for(const i of e){if(!i||typeof i!="object")continue;const o=String(i.kind??"");o==="finding"?t.push(i):o==="running"?n.push(i):o==="waiting"&&r.push(i)}return{findings:t,running:n,waiting:r}}function Qqt(e){switch(String(e??"")){case"new":return"新发现";case"handling":return"处理中";case"waiting_data":return"等数据";case"decided":return"已决定";default:return""}}function HN(e,t=new Date){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=t.getTime()-n.getTime();if(r<36e5)return"刚刚";if(r<864e5)return`${Math.floor(r/36e5)}小时前`;const i=Math.floor(r/864e5);return i<=7?`${i}天前`:`${n.getMonth()+1}月${n.getDate()}日`}function Jqt(e,t=new Date){const n=a=>new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime(),r=n(t),i={today:[],yesterday:[],week:[],earlier:[]};for(const a of e){if(a.draft){i.today.unshift(a);continue}const s=a.updatedAt?new Date(a.updatedAt).getTime():Number.NaN,l=Number.isNaN(s)?null:Math.round((r-n(new Date(s)))/864e5);l===null||l>7?i.earlier.push(a):l<=0?i.today.push(a):l===1?i.yesterday.push(a):i.week.push(a)}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(a=>a.chats.length>0)}function eKt(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 pye(e){return e.filter(t=>String(t.status||"active").toLowerCase()!=="cancelled").map(t=>{const n=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:eKt(t),stateText:(t.state??"").trim(),status:n,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 Eje(e,t,n){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:[n.source,Sj(n.updatedAt)].filter(Boolean).join(" · ")}]}function tKt(e,t){const n=`${e.business_type_code||""}:${e.group_code||""}`,r=t.get(n);return r||(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 nKt(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 rKt(e){return e==="pending"?"待采纳":["rejected","ignored","dismissed","cancelled"].includes(e)?"忽略历史":"执行历史"}function d5(e,t,n={}){const r=[];for(const i of e){const o=i.id,a=String(i.status||"pending").toLowerCase(),s=n[String(o)],l=s?"执行历史":rKt(a);r.push({id:o,group:tKt(i,t),agent:i.agent_name||i.agent_code||"数字人",object:i.object_name||i.sub_title||`建议 #${o}`,text:i.main_title||i.content||i.sub_title||"(无标题建议)",state:l,created:nx(i.created_at),handled:l==="待采纳"?"":nx(i.updated_at)||nx(i.created_at),result:s?`已采纳 · 事项 ${s.matterId||"已立项"}`:nKt(a),live:!0,agentId:i.agent_id??void 0,groupKey:`${i.business_type_code||""}:${i.group_code||""}`})}return r}function iKt(e){const t=new Map,n=(r,i,o)=>{if(!r||!i)return;let a=t.get(r);a||(a=new Map,t.set(r,a)),a.set(i,o||i)};if(Array.isArray(e))for(const r of e){const i=String(r.dim??r.option_type??"").trim(),o=String(r.name??"").trim(),a=String(r.code??"").trim()||(i==="service_target"?o:"");n(i,a,o)}else if(e&&typeof e=="object"){for(const[r,i]of Object.entries(e))if(Array.isArray(i))for(const o of i)n(r,String((o==null?void 0:o.code)??(o==null?void 0:o.name)??"").trim(),String((o==null?void 0:o.name)??"").trim())}return t}function oKt(e){const t=[],n=new Map;if(!e)return{options:t,labels:n};const r=iKt(e.items),i=r.get("business_type"),o=r.get("group"),a=Array.isArray(e.digital_humans)?e.digital_humans:[];for(const s of a){const l=String(s.business_type_code??"").trim(),c=String(s.group_code??"").trim();if(!l&&!c)continue;const u=`${l}:${c}`;if(n.has(u))continue;const d=[(i==null?void 0:i.get(l))||l,(o==null?void 0:o.get(c))||c].filter(Boolean).join(" · ")||u;n.set(u,d),t.push({key:u,label:d,businessType:l,groupCode:c})}return{options:t,labels:n}}function aKt(e){switch(e){case"triggered":return"已触发";case"not_triggered":return"未触发";case"waiting_data":return"等待数据";default:return""}}function sKt(e){switch(e){case"pending_decision":return"待决定";case"executing":return"执行中";case"observing":return"观察中";case"reviewed":case"cancelled":return"已复盘";default:return"待决定"}}function lKt(e){return String(e.matter_id??e.id??"")}function cKt(e){const t=[];for(const n of e){const r=lKt(n);if(!r)continue;const i=n.proposal&&typeof n.proposal=="object"?n.proposal:null,o=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:r,title:n.title||"未命名事项",sub:String(n.playbook_id||n.source_agent_suggestion_id||""),state:sKt(n.status),expert:n.expert_agent||"",summary:n.summary||"",action:o,result:n.review_conclusion||(n.status==="executing"?"等待执行回执":n.status==="observing"?`观察至 ${nx(n.observe_until)||"待定"}`:""),live:!0})}return t}function Tje(e){const t=i=>i.replace(/^盯住\s*/,"")||i,n=(e.topic||"").trim();if(n)return t(n);const r=(e.title||"").trim();return r?t(r):""}function f5(e){const t=String(e.status||"").toLowerCase();return{product:Tje(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 uKt(e,t,n,r){var c,u,d,f,p,h,m,v;const i=(e.object_candidates??[]).map(y=>typeof y=="string"?y:(y==null?void 0:y.name)??"").filter(y=>!!y),o=(e.task??((c=e.proposal)==null?void 0:c.task)??((d=(u=e.proposal)==null?void 0:u.check_spec)==null?void 0:d.topic)??"").trim(),a=((f=e.proposal)==null?void 0:f.display)??null,s=((a==null?void 0:a.lines)??[]).filter(y=>typeof y=="string"&&!!y.trim()),l=((a==null?void 0:a.warnings)??[]).filter(y=>typeof y=="string"&&!!y.trim());return{product:i[0]??(n&&r?r.product:null)??(e.title||"").trim()??null,task:o||t,originalText:(e.original_text??"").trim()||void 0,scheduleType:e.schedule_type??((h=(p=e.proposal)==null?void 0:p.schedule)==null?void 0:h.schedule_type)??"",scheduleValue:e.schedule??((v=(m=e.proposal)==null?void 0:m.schedule)==null?void 0:v.schedule_value)??"",displayLines:s.length?s:void 0,displayWarnings:l.length?l:void 0,notifyText:(a==null?void 0:a.notify_text)??void 0,candidates:i.length?i:void 0}}function dKt(e){if(!e)return"";const t=[];return t.push(e.last_automation_at?`上次自动执行 ${$je(e.last_automation_at)}`:"尚无自动执行记录"),typeof e.attention_count=="number"&&e.attention_count>0&&t.push(`${e.attention_count} 项有更新`),t.join(" · ")}const fKt={enterprise_rule:"企业规则",position_policy:"岗位策略",personal_pref:"个人偏好",product_knowledge:"商品知识",action_experience:"动作经验"},pKt={draft:"草稿",in_review:"待审核",reviewing:"待审核",pending:"待审核",rejected:"已驳回",active:"已生效",confirmed:"已生效",retired:"已撤回"};function hKt(e){return e.map((t,n)=>{const r=String(t.category||t.ktype||""),i=t.content_md||t.content||"",o=Number(t.doc_id??t.id);return{key:String(t.doc_id??t.id??`k-${n}`),docId:Number.isSafeInteger(o)&&o>0?o:null,label:t.category_label||fKt[r]||r||"知识素材",title:t.title||"",titleAuto:t.title_auto===!0,meta:[t.scope_label||(t.owner_type==="global"?"全局":t.owner_type||""),t.status_label||pKt[String(t.status||"").toLowerCase()]||(t.status?String(t.status):""),nx(t.updated_at||t.created_at)].filter(Boolean).join(" · "),body:i,status:t.status?String(t.status):""}})}function mKt(e){if(!e)return null;const t=String(e.persona||""),n=t.includes("管理员")?"企业管理员":t.includes("负责人")?"经营负责人":"广告运营",r=e.permissions&&typeof e.permissions=="object"?e.permissions:null,i=r==null?void 0:r.can_view,o=[];if(typeof e.business_scope=="string"&&e.business_scope)o.push(e.business_scope);else if(e.business_scope&&typeof e.business_scope=="object")for(const[a,s]of Object.entries(e.business_scope)){const l=Up(s,4);l&&o.push(`${a}:${l}`)}return{userId:e.user_id||"",name:e.name||"(未命名)",personaText:t||"未配置岗位",personaKey:n,configured:e.configured!==!1,scopeLines:o,duty:e.duty||"",dutySource:e.duty_source||"",goals:e.goals||"",canViewText:typeof i=="string"?i:i&&typeof i=="object"?Object.entries(i).map(([a,s])=>`${a}:${Up(s,4)}`).filter(a=>a.length>0&&!a.endsWith(":")).join(";"):"",canActText:Up(r==null?void 0:r.can_act,4),needsApprovalText:Up(r==null?void 0:r.needs_approval,4),auto:(r==null?void 0:r.auto_execute)===!0}}function gKt(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(([n,r])=>`${n} ${Up(r,3)}`).filter(n=>!n.endsWith(" ")).join(" · "):t.duty||"",configured:t.configured!==!1}))}const vKt={"tool/catalog":"盘点可用数据","tool/selected":"选定取数工具","tool/called":"调用工具取数","tool/result":"解析返回结果","tool/parallel-batch":"并行批量取数","tool/failure-route-hint":"异常换路重试","tool/cached-hit":"命中缓存,直接复用","query/empty":"查询无结果","cognition/ended":"本轮收口"},yKt={understand:"理解问题,拆解目标",plan:"规划调查路径",execute:"执行调查",verify:"核对结论",synthesize:"汇总结论",summarize:"汇总结论",report:"整理输出",done:"收尾"};function bKt(e){const t=e.trim();if(!t)return"";const n=vKt[t];if(n)return n;const r=t.indexOf("/");return r>0&&/^(tool|phase|query)$/.test(t.slice(0,r))?t.slice(r+1).replace(/[-_]+/g," ").trim():t}function xKt(e){const t=e.trim();return t?yKt[t]??t:""}function aU(e){const t=(e??"").trim();if(!t)return null;const n=t.includes("T")?t:t.replace(" ","T"),r=Date.parse(n);return Number.isFinite(r)?r:null}function wKt(e){const t=Array.isArray(e)?e:[];if(t.length===0)return null;const n=new Map;for(const r of t){const i=String((r==null?void 0:r.text)??"").replace(/\s+/g," ").trim();i&&n.set(`${r.type}\0${i}`,{name:i,status:r.status==="running"?"running":"done",note:"",ts:aU(r.ts)??void 0})}return n.size===0?null:[...n.values()]}const Ije={待采纳:"pending",执行历史:"accepted",忽略历史:"dismissed"},SKt=[["运营","5","ASIN 与店铺经营"],["广告","10","活动、预算与关键词"],["采购","18","需求、订单与交期"],["库存优化","5","缺货、积压与去化"]],Pje={广告运营:{name:"张三",goal:"在既定预算内改善投放效率,保护新品测试窗口",data:"广告表现、订单与商品基础信息",approval:"增加总预算 → 李雯 · 经营负责人"},经营负责人:{name:"李雯",goal:"提高新品成功率,改善老品贡献利润",data:"负责范围内的销售、广告、成本与利润",approval:"超出季度预算 → 企业负责人"},企业管理员:{name:"陈敏",goal:"维护岗位、业务归属与授权记录",data:"成员、岗位、数据连接状态;不默认开放经营数据",approval:"经营规则变更 → 经营负责人"}};function _Kt(e,t){return e==="广告运营"?t.scope:e==="经营负责人"?"德国、美国站 · 店铺 A / B · 家居品类":"组织与账号配置 · 无业务数据授权"}function CKt(e,t){return e==="广告运营"?t.action:e==="经营负责人"?"经营方案审批、预算分配与团队分工":"维护成员授权,保存变更记录"}function AKt(){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 $Kt(){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 EKt(){return[{id:1,source:"每日经营检查",title:"这周,先一起梳理新品的测试预算",why:"你负责德国站的新品投放,也希望控制试错成本。我建议先确认每款新品的测试目标,再看预算是否分散。",next:"先梳理测试目标与当前分配,与你确认优先级后,再调用广告专家形成动作。",state:"推荐",messages:[]},{id:2,source:"岗位关注建议",title:"销量没下降,老品利润也可能在流失",why:"结合广告运营岗位本周的关注主题,建议检查折扣、广告投入与贡献利润是否同步变化。先确定你有权查看的数据范围。",next:"先用广告花费与订单定位值得关注的商品;需要完整成本时,请经营负责人参与核实。",state:"推荐",messages:[]}]}function TKt(){const e=(t,n,r)=>{const i=new Date;return i.setDate(i.getDate()-t),i.setHours(n,r,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 IKt(){return{role:"广告运营",scope:"德国站 · 店铺 A · 家居品类",action:"单次竞价调整 ≤ 10%",auto:!1}}function PKt(){return{product:"咖啡机",metric:"销量",threshold:20,channel:"通过我的钉钉提醒我",paused:!1}}function p5(e,t,n){const r=e.match(/(\d+(?:\.\d+)?)\s*[%%]/);return{product:/咖啡/.test(e)?"咖啡机":/收纳/.test(e)?"收纳包":t&&n?n.product:null,metric:/销售额/.test(e)?"销售额":t&&n?n.metric:"销量",threshold:r?Number(r[1]):t&&n?n.threshold:20,explicit:!!r,channel:/不要.*钉钉|仅站内|只在站内/.test(e)?"在站内提醒我":t&&n?n.channel:"通过我的钉钉提醒我"}}const NKt=["建议编号","领域","数字人","业务对象","建议内容","状态","建议日期","处理日期","执行结果或忽略原因"];function kKt(e){return`\uFEFF${[NKt,...e.map(r=>[String(r.id),r.group,r.agent,r.object,r.text,r.state,r.created,r.handled,r.result])].map(r=>r.map(i=>`"${String(i).replace(/"/g,'""')}"`).join(",")).join(`\r
|
|
787
787
|
`)}`}function MKt(e,t,n){return`专家建议-${e}-${t||"不限"}-${n||"不限"}.csv`}function RKt(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 DKt(e=!1){return{page:"home",pageBack:null,domain:"",current:e?"":1,note:"",jobs:e?[]:AKt(),conversations:[],chatSession:0,scopeChoice:"自动调用专家",focusRequest:null,advice:e?[]:$Kt(),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:PKt(),recommendations:e?[]:EKt(),recActive:e?"":1,homeNotice:"",enterpriseTab:"业务",persona:"广告运营",memberEdit:!1,enterpriseNotice:"",permission:IKt(),chats12:e?[]:TKt(),chat12:e?"":1,revise12:!1,live:RKt(e)}}function OKt(e){return e==="home"||e==="watch"||e==="recommendation"?"home":e==="work"?"work":e==="conversation12"?"history":e==="company"?"company":null}const Nje=new Set(["home","work","company","conversation12"]),LKt=new Set(["watch","recommendation","detail","chat"]);function jKt(e){return LKt.has(e)}function Om(e){return Nje.has(e.page)?e.page:e.pageBack}function Cc(e,t){if(!e.live.mode)return!1;if(e.live.sendPending||typeof t=="string"&&e.live.runs[t])return!0;const n=e.live.stream;return!n||n.status!=="streaming"?!1:t===void 0?!0:t===null?n.conversationId===null:n.conversationId===t}function sU(e,t){const n=e.live.stream;if(n&&n.status==="streaming"&&n.conversationId===t)return n.stopping?"stopping":"running";const r=e.live.runs[t];return r?r.stopping?"stopping":"running":null}function zKt(e,t){if(e.status!=="done"||!(t!=null&&t.length))return!1;if(e.runId){if(t.some(r=>r.role!=="user"&&String(r.run_id??"")===e.runId))return!0;if(e.recovered)return!1}const n=e.question.trim();return n?t.some(r=>r.role==="user"&&r.content.trim()===n):!1}function lU(e,t=e.adviceTab){const{domain:n,agentFilter:r,dateFrom:i,dateTo:o}=e;return e.advice.filter(a=>a.state===t&&(!n||a.group===n||a.groupKey===n)&&(!r||a.agent===r||a.agentId!=null&&String(a.agentId)===r)&&(!i||(t==="待采纳"?a.created:a.handled)>=i)&&(!o||(t==="待采纳"?a.created:a.handled)<=o))}function BKt(e){return[...new Set(e.advice.filter(t=>!e.domain||t.group===e.domain||t.groupKey===e.domain).map(t=>t.agent))]}function FKt(e){var t;if(e.live.mode){const n=((t=e.live.agentGroups)==null?void 0:t.digital_humans)??[],r=new Map;for(const i of n){const o=(i.name||"").trim();if(!o)continue;const a=(i.service_target??"").trim()||"未分组",s=r.get(a)??[];s.push({value:String(i.agent_id??"")||o,label:o}),r.set(a,s)}return[{value:"",label:"全部数字人"},...[...r.entries()].map(([i,o])=>({label:i,options:o}))]}return[{value:"",label:"全部数字人"},...BKt(e).map(n=>({value:n,label:n}))]}function VKt(e){const t=lU(e);return{csv:kKt(t),filename:MKt(e.adviceTab,e.dateFrom,e.dateTo),count:t.length}}function hye(e){return e.chats12.find(t=>t.id===e.chat12)??e.chats12[0]}function h5(e,t,n){return e.chats12.map(r=>r.id===t?{...r,...n}:r)}function mye(e,t){return{id:e,title:t||"新会话",scope:"业务范围待明确",source:"你发起的讨论",preview:"说说你希望推进什么",status:"",messages:[],confirmed:!0,live:!0}}function HKt(e,t){var n,r,i,o,a,s,l,c,u,d,f,p,h;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 m=e.pageBack&&Nje.has(e.pageBack)?e.pageBack:"home";return{...e,page:m,pageBack:null,domain:"",note:""}}case"job/open":return{...e,current:t.id,page:"detail",pageBack:Om(e),note:""};case"job/approve":return{...e,jobs:e.jobs.map(m=>m.id===e.current?{...m,state:"执行中"}:m),note:"模拟交办成功。执行状态与效果结论将分别追踪。"};case"job/modify":return{...e,note:"请在下方补充调整要求,本轮要求不会自动成为企业长期偏好。",focusRequest:{target:"w6",token:Date.now()}};case"scope/change":return{...e,scopeChoice:t.value};case"send":{const m=t.text??t.inputValue;if(/盯住|盯着|持续关注/.test(m)){const b=p5(m,!1,e.watchSaved);return{...e,page:"watch",pageBack:Om(e),watchEdit:!1,watchText:"",watchStage:b.product?"confirm":"choose",watchDraft:m,watchProposal:b}}const v=m.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:Om(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 m=t.key==="from"?{dateFrom:t.value}:t.key==="to"?{dateTo:t.value}:{agentFilter:t.value};return{...e,...m,advicePage:1,exportNote:""}}case"advice/page":return{...e,advicePage:t.page,advicePageSize:t.size};case"advice/adopt":return{...e,advice:e.advice.map(m=>m.id===t.id?{...m,state:"执行历史",handled:"2026-09-28",result:"待执行 · 已采纳,等待回执"}:m),exportNote:""};case"advice/ignore":return{...e,advice:e.advice.map(m=>m.id===t.id?{...m,state:"忽略历史",handled:"2026-09-28",result:"忽略原因:用户手动忽略"}:m),exportNote:""};case"advice/export":return{...e,exportCsv:t.csv,exportNote:t.note};case"watch/new":return{...e,page:"watch",pageBack:Om(e),watchStage:"input",watchText:"",watchDraft:"",watchEdit:!1};case"watch/view":return{...e,page:"watch",pageBack:Om(e),watchStage:"saved"};case"watch/draft":return{...e,watchDraft:t.value};case"watch/propose":{const m=e.watchDraft.trim();if(!m)return e;const v=p5(m,e.watchEdit,e.watchSaved);return{...e,watchText:m,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 m=e.watchProposal;if(!m||!(m.product||m.task))return e;const v=e.watchSaved,y={product:m.product??(v==null?void 0:v.product)??"盯住的事",metric:m.metric??(v==null?void 0:v.metric),threshold:m.threshold??(v==null?void 0:v.threshold),channel:m.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:m.task||e.watchText||(v==null?void 0:v.topic),originalText:m.originalText??(v==null?void 0:v.originalText),notifyText:m.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 m=e.live.watchRows.find(v=>v.watch_id===t.watchId);return m?{...e,page:"watch",pageBack:Om(e),watchStage:"saved",watchEdit:!1,watchSaved:f5(m)}:e}case"rec/open":return{...e,recActive:t.id,recommendations:e.recommendations.map(m=>m.id===t.id&&m.state==="待执行"?{...m,state:"正在推进"}:m),page:"recommendation",pageBack:Om(e)};case"rec/run":return{...e,recommendations:e.recommendations.map(m=>m.id===t.id&&(m.state==="待执行"||m.state==="推荐")?{...m,state:"正在推进"}:m)};case"rec/pause":return{...e,recommendations:e.recommendations.map(m=>m.id===t.id?{...m,state:m.state==="已暂停"?"持续关注":"已暂停",status:m.state==="已暂停"?"active":"paused"}:m),homeNotice:((n=e.recommendations.find(m=>m.id===t.id))==null?void 0:n.state)==="已暂停"?"已恢复这条建议。":"已暂停这条建议;历史保留。"};case"rec/cancel":return{...e,recommendations:e.recommendations.filter(m=>m.id!==t.id),recActive:e.recActive===t.id?((r=e.recommendations.find(m=>m.id!==t.id))==null?void 0:r.id)??"":e.recActive,homeNotice:"已关闭这条建议;同主题不会再自动出现。"};case"rec/select":return{...e,recActive:t.id};case"rec/send":{const m=t.value.trim();return m?{...e,recommendations:e.recommendations.map(v=>v.id===e.recActive?{...v,messages:[...v.messages,m]}:v)}:e}case"ent/tab":return{...e,enterpriseTab:t.tab,memberEdit:!1,enterpriseNotice:""};case"ent/member":{const m=!!t.memberId&&t.memberId!==e.live.memberTarget;return e.memberEdit&&!m?{...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 m=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:m&&m.status==="有更新"?v.map(y=>y.id===t.id?{...y,status:""}:y):v,revise12:!1}}case"c12/new":{const m=e.chats12.find(b=>b.draft&&!b.messages.length);if(m)return{...e,chat12:m.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(m=>m.id===t.id?{...m,title:t.title}:m)};case"c12/confirm":return{...e,chats12:h5(e,e.chat12,{confirmed:!0,status:"",preview:"已确认范围 · 调查待开始"})};case"c12/revise":return{...e,revise12:!0,focusRequest:{target:"c12",token:Date.now()}};case"c12/send":{const m=t.value.trim();if(!m)return e;const v=hye(e);return v?{...e,chats12:h5(e,e.chat12,{messages:[...v.messages,m],title:v.title==="新会话"?m.slice(0,22):v.title,preview:`上次补充:${m.slice(0,22)}`}),revise12:!1}:e}case"c12/investigate":{const m=hye(e);return m?{...e,chats12:h5(e,e.chat12,{messages:[...m.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 m=t.card;return!m||typeof m.card_id!="string"||!m.card_id?e:{...e,live:{...e.live,cards:{...e.live.cards,[m.card_id]:m}}}}case"live/cardsHydrate":{if(!Array.isArray(t.cards)||t.cards.length===0)return e;const m={...e.live.cards};for(const v of t.cards)v&&typeof v.card_id=="string"&&v.card_id&&(m[v.card_id]=v);return{...e,live:{...e.live,cards:m}}}case"live/hydrateConversations":{const m=Xqt(t.rows),v=[...e.chats12.filter(b=>b.draft),...m],y=v.some(b=>b.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 m=e.chats12.filter(v=>v.id!==t.id);return{...e,chats12:m,chat12:e.chat12===t.id?((o=m[0])==null?void 0:o.id)??"":e.chat12}}case"live/conversationRenamed":return{...e,chats12:e.chats12.map(m=>m.id===t.id?{...m,title:t.title}:m)};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):[mye(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 m=e.chats12.filter(b=>b.id!==t.draftId),y=m.some(b=>b.id===t.conversationId)?m.map(b=>b.id===t.conversationId?{...b,status:""}:b):[mye(t.conversationId,t.title),...m];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:dKt(t.row)}};case"live/hydrateWatches":{const m=e.watchSaved??(t.rows[0]?f5(t.rows[0]):null),v=m!=null&&m.watchId?t.rows.find(b=>b.watch_id===m.watchId):void 0,y=v?f5(v):m;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 m=pye(t.rows),v=m.some(y=>y.id===e.recActive);return{...e,recommendations:m,recActive:v?e.recActive:((a=m[0])==null?void 0:a.id)??"",live:{...e.live,active:!0,suggestionTaskRows:t.rows,suggestionsError:"",recommendationsHasMore:t.hasMore}}}case"live/appendSuggestionTasks":{const m=pye(t.rows),v=new Set(e.recommendations.map(b=>b.id)),y=[...e.recommendations,...m.filter(b=>!v.has(b.id))];return{...e,recommendations:y,live:{...e.live,recommendationsHasMore:t.hasMore}}}case"live/appendWatches":{const m=new Set(e.live.watchRows.map(y=>y.watch_id)),v=[...e.live.watchRows,...t.rows.filter(y=>!m.has(y.watch_id))];return{...e,live:{...e.live,watchRows:v,watchRowsHasMore:t.hasMore}}}case"live/suggestionConversation":return{...e,recommendations:e.recommendations.map(m=>m.id===t.id?{...m,conversationId:t.conversationId}:m)};case"live/hydrateAdvice":{const m=new Map(e.live.groupOptions.map(v=>[v.key,v.label]));return{...e,advice:d5(t.rows,m,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 m=String(t.id),v={...e.live.adoptedMarks,[m]:{matterId:t.matterId,at:new Date().toISOString().slice(0,10)}},y=new Map(e.live.groupOptions.map(b=>[b.key,b.label]));return{...e,advice:d5(e.live.adviceRows,y,v),exportNote:"",live:{...e.live,adoptedMarks:v,notice:t.matterId?`已采纳并立项:事项 ${t.matterId}`:"已采纳并立项。"}}}case"live/hydrateMatters":{const m=cKt(t.rows),v=m.some(y=>y.id===e.current);return{...e,jobs:m,current:v?e.current:((s=m[0])==null?void 0:s.id)??"",live:{...e.live,active:!0,matterRows:t.rows}}}case"live/matterDispatched":return{...e,jobs:e.jobs.map(m=>m.id===t.id?{...m,state:"执行中"}:m),note:"已交办 · 等待执行回执,效果将另行判定。"};case"live/hydrateGroups":{const{options:m,labels:v}=oKt(t.payload);return{...e,advice:e.live.adviceRows.length?d5(e.live.adviceRows,v,e.live.adoptedMarks):e.advice,live:{...e.live,active:!0,agentGroups:t.payload,groupOptions:m}}}case"watch/confirmPending":{const m=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:m,notice:"盯住已确认生效。"}}}case"watch/deleted":{const m=t.watchId,v=e.page==="watch"&&((l=e.watchSaved)==null?void 0:l.watchId)===m;return{...e,page:v?"home":e.page,pageBack:v?null:e.pageBack,watchSaved:((c=e.watchSaved)==null?void 0:c.watchId)===m?null:e.watchSaved,watchEdit:!1,live:{...e.live,watchRows:e.live.watchRows.filter(y=>y.watch_id!==m),watchDetail:((u=e.live.watchDetail)==null?void 0:u.watch_id)===m?null:e.live.watchDetail,watchDeleteTarget:null}}}case"live/hydrateWorkspaceMe":{const m=mKt(t.me);return m?{...e,persona:m.personaKey,permission:{role:m.personaText||e.permission.role,scope:m.scopeLines.join(" · ")||e.permission.scope,action:m.canActText||e.permission.action,auto:m.auto},live:{...e.live,active:!0,me:m,meRaw:t.me}}:{...e,live:{...e.live,active:!0,me:null,meRaw:t.me}}}case"live/hydrateMembers":{const m=gKt(t.rows);let v=e.live.memberTarget;if(!m.some(y=>y.userId&&y.userId===v)){const y=(d=e.live.me)==null?void 0:d.userId;v=((f=m.find(b=>b.userId&&b.userId===y))==null?void 0:f.userId)??((p=m[0])==null?void 0:p.userId)??""}return{...e,live:{...e.live,active:!0,members:m,memberTarget:v}}}case"live/mePermissionSaved":{const m=e.live.me;return m?{...e,live:{...e.live,me:{...m,canViewText:t.canViewText??m.canViewText,canActText:t.canActText??m.canActText,needsApprovalText:t.needsApprovalText??m.needsApprovalText}}}:e}case"live/permissionSaved":{const m=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:`已保存 · ${(m==null?void 0:m.name)||"成员"}的授权范围与动作边界已更新。`,memberEdit:!1}}case"live/hydrateKnowledge":return{...e,live:{...e.live,active:!0,knowledgeCards:hKt(t.rows)}};case"live/watchParsed":{if(e.watchStage==="saved"&&((h=e.watchSaved)==null?void 0:h.topic)===t.text)return{...e,live:{...e.live,watchParsed:t.parsed}};const v=t.parsed?uKt(t.parsed,t.text,t.edit,t.saved):p5(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 m={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:m,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 m=e.live.stream,v={...e.live.runs};m&&m.status==="streaming"&&m.conversationId&&m.conversationId!==t.conversationId&&(v[m.conversationId]={runId:m.runId,question:m.question,startedAt:m.startedAt,stopping:m.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 m=e.live.stream;if(!m)return e;const v=t.conversationId??m.conversationId,y={...e.live.runs};return v&&delete y[v],{...e,live:{...e.live,runs:y,stream:{...m,conversationId:v,runId:t.runId}}}}case"live/streamThinking":{const m=e.live.stream;return m?{...e,live:{...e.live,stream:{...m,thinking:xKt(t.text),slow:!1}}}:e}case"live/streamStep":{const m=e.live.stream;if(!m)return e;const v=bKt(t.step.name);if(!v)return e;const y={...t.step,name:v},b=m.steps.map(S=>S.name).lastIndexOf(y.name),x=b>=0?m.steps.map((S,_)=>_===b?{...S,...y}:S):[...m.steps,{...y,ts:Date.now()}];return{...e,live:{...e.live,stream:{...m,steps:x,slow:!1}}}}case"live/streamSlow":{const m=e.live.stream;return!m||m.status!=="streaming"?e:{...e,live:{...e.live,stream:{...m,slow:t.value}}}}case"live/streamDone":{const m=e.live.stream;return m?{...e,live:{...e.live,runs:pP(e.live.runs,m.conversationId),stream:{...m,status:"done",answer:t.answer,facts:t.facts,durationMs:m.durationMs??Date.now()-m.startedAt,slow:!1,stopping:!1,stopped:t.stopped??!1,delivery:t.delivery??null}}}:e}case"live/streamError":{const m=e.live.stream;return m?{...e,live:{...e.live,runs:pP(e.live.runs,m.conversationId),stream:{...m,status:"error",error:t.message,durationMs:m.durationMs??Date.now()-m.startedAt,slow:!1,stopping:!1}}}:{...e,live:{...e.live,error:t.message}}}case"live/streamStopping":{const m=e.live.stream,v=m&&m.status==="streaming"&&m.conversationId===t.conversationId?m:null,y=e.live.runs[t.conversationId];return!v&&!y?e:{...e,live:{...e.live,stream:v?{...v,stopping:t.value}:m,runs:y?{...e.live.runs,[t.conversationId]:{...y,stopping:t.value}}:e.live.runs}}}case"live/streamDiscard":{const m=e.live.stream;return!m||m.status!=="streaming"||m.conversationId!==t.conversationId?e:{...e,live:{...e.live,stream:null}}}case"live/runSettled":return e.live.runs[t.conversationId]?{...e,live:{...e.live,runs:pP(e.live.runs,t.conversationId)}}:e;case"live/runRegister":{const m=e.live.stream;if(m&&m.status==="streaming"&&m.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:pP(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((m,v)=>m.turn_no-v.turn_no||(m.role===v.role?0:m.role==="user"?-1:1))}}};default:return e}}function pP(e,t){if(!t||!(t in e))return e;const n={...e};return delete n[t],n}const hP=[0,1500,4e3];async function OJ(e){const{data:t}=await KTe({conversation_id:e,limit:200});return IJ(t).filter(n=>!!n.artifact_id)}function WKt(e){const t=new Map;for(const n of e??[]){const r=n.run_id?String(n.run_id):"";if(!r)continue;const i=t.get(r);i?i.push(n):t.set(r,[n])}return t}function GKt(e){return e.oss_url?e.oss_url:`${_r()}/api/v1/cognitive/artifacts/${e.artifact_id}/download`}function UKt(e,t,n,r){if(!n)return;let i=0,o=!1;const a=async()=>{if(!o){try{if(await e.refetchQueries({queryKey:t,exact:!0}),(e.getQueryData(t)??[]).some(c=>r?c.run_id&&String(c.run_id)===String(r)||c.kind==="data":!!c.artifact_id)||i>=hP.length-1){o=!0;return}}catch{if(i>=hP.length-1){o=!0;return}}i+=1,setTimeout(a,hP[i])}};setTimeout(a,hP[0])}function qa(e){const t=(e==null?void 0:e.data)??e;return t==null||typeof t!="object"?null:t}function Zh(e,t=[]){const n=(e==null?void 0:e.data)??e;if(Array.isArray(n))return n;for(const r of[...t,"items","list","rows","data"]){const i=n==null?void 0:n[r];if(Array.isArray(i))return i}if(n&&typeof n=="object"){for(const r of Object.values(n))if(Array.isArray(r))return r}return[]}function LJ(e,t){const n=(e==null?void 0:e.data)??e,r=n==null?void 0:n.items;return Array.isArray(r)?r:t}function jJ(e){const t=(e==null?void 0:e.data)??e;return!!(t!=null&&t.has_more)}function lr(e){if(!e)return"请求失败";const t=e,n=(t==null?void 0:t.data)??t;return typeof(n==null?void 0:n.message)=="string"&&n.message?n.message:typeof(t==null?void 0:t.message)=="string"&&t.message?t.message:t!=null&&t.status?`HTTP ${t.status}`:"请求失败"}function qKt(e){var i,o,a,s;const t=e;if(((t==null?void 0:t.status)??((i=t==null?void 0:t.data)==null?void 0:i.code)??((o=t==null?void 0:t.data)==null?void 0:o.status)??((a=t==null?void 0:t.response)==null?void 0:a.status))===409)return!0;const r=String((t==null?void 0:t.message)??((s=t==null?void 0:t.data)==null?void 0:s.message)??"");return/409|conflict|已确认过|重复确认/.test(r)}function KKt(e){var r,i,o;const t=e;return((t==null?void 0:t.status)??((r=t==null?void 0:t.data)==null?void 0:r.code)??((i=t==null?void 0:t.data)==null?void 0:i.status)??((o=t==null?void 0:t.response)==null?void 0:o.status))===429}async function YKt(e=50){const t=await gyt({limit:e});return Zh(t,["conversations"])}async function cU(e){const t=await yyt(e,{});return qa(t)}async function kje(e={}){const t=await Cyt({...e,limit:e.limit??10});return{items:LJ(t,Zh(t,["watches"])),has_more:jJ(t)}}async function XKt(e){const t=await $yt(e,{});return qa(t)}async function Mje(e,t={}){const n=await Iyt(e,{limit:t.limit??50,...t.beforeId!=null?{before_id:Number(t.beforeId)}:{}});return{items:LJ(n,Zh(n,["checks"])),has_more:jJ(n)}}async function ZKt(){const e=await zyt({});return qa(e)}async function QKt(e=10){const t=await Byt({limit:e}),n=qa(t)??{};return{items:Array.isArray(n.items)?n.items:[],note:typeof n.note=="string"?n.note:""}}async function Rje(e={}){const t=await Fyt({...e,limit:e.limit??10});return{items:LJ(t,Zh(t,["tasks"])),has_more:jJ(t)}}async function JKt(){const e=await Ryt();return qa(e)}async function mP(e){const t=await Dyt({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}),n=(t==null?void 0:t.data)??t,r=Array.isArray(n==null?void 0:n.items)?n.items:[];return{items:r,total:Number((n==null?void 0:n.total)??r.length),has_more:!!(n!=null&&n.has_more),dateFrom:String((n==null?void 0:n.date_from)??""),dateTo:String((n==null?void 0:n.date_to)??"")}}async function eYt(){const e=await Uyt({});return qa(e)}async function tYt(){const e=await Yyt({});return Zh(e,["members"])}async function nYt(e=50){const t=await Lyt({limit:e});return Zh(t,["matters"])}async function rYt(e={}){const t=await lyt({limit:e.limit??50,status:e.status});return Zh(t,["items","knowledge","docs"])}async function iYt(e){const t=await hyt(e);return qa(t)}async function oYt(e){const t=await vyt(e);return qa(t)}async function aYt(e){await _yt(e,{})}async function sYt(e){await wyt(e,{})}async function lYt(e){const t=await fyt(e);return qa(t)}async function cYt(e,t){await byt(e,{},{title:t})}async function uYt(e,t){const n=await Myt({},{text:e});return qa(n)}async function dYt(e){const t=await Ayt(e);return qa(t)}async function Dje(e){await Nyt(e,{})}async function fYt(e){await Pyt(e,{})}async function pYt(e){await kyt(e,{})}async function hYt(e){await Eyt(e,{})}async function mYt(e,t){await Tyt(e,{},t)}async function gYt(e){const t=typeof e=="number"?e:Number(e);if(!Number.isFinite(t))throw new Error("建议缺少数字主键,无法采纳");const n=await Oyt(t,{});return qa(n)}async function vYt(e){await Vyt(e,{})}async function yYt(e){await Hyt(e,{})}async function bYt(e){await Wyt(e,{})}async function Oje(e){const t=await Gyt(e,{});return qa(t)}async function xYt(e){await Qyt({},e)}async function wYt(e){await myt(e)}async function SYt(e){await qyt({},e)}async function _Yt(e){await Kyt({},e)}async function CYt(e=50){const t=await Zyt({limit:e});return Zh(t,["items","history","records"])}async function AYt(e,t={}){await jyt(e,{},t)}async function $Yt(e,t){await Xyt(e,{},t)}async function EYt(e){try{const t=await st.download({method:"GET",url:"/api/v1/cognitive/agent-suggestions/export",params:e,requestType:"json"});return{blob:t,text:await t.text()}}catch(t){const n=t==null?void 0:t.data;if(n instanceof Blob){const r=await n.text().then(i=>{try{return JSON.parse(i)}catch{return null}},()=>null);if(typeof(r==null?void 0:r.message)=="string"&&r.message)throw new Error(r.message)}throw t}}async function TYt(e){var i;const n=await uyt(e,{limit:200});return(Array.isArray((i=n==null?void 0:n.data)==null?void 0:i.items)?n.data.items:[]).filter(o=>!!o&&typeof o.card_id=="string"&&typeof o.shape=="string")}async function IYt(e,t,n){return(await cyt(e,{},{action_id:t,text:n||"",channel:"web"})).data??{status:"duplicate"}}async function Lje(e,t){if(!e.body)throw new Error("No response body");const n=e.body.getReader(),r=new TextDecoder;let i="",o=null;const a=s=>{var c,u,d,f;const l=s.trim();if(!l||((c=t.onActivity)==null||c.call(t),l.startsWith(":")))return!1;if(l.startsWith("event:"))return o=l.slice(6).trim(),!1;if(l.startsWith("data:")&&o){const p=l.slice(5).trim(),h=((u=t.eventAliases)==null?void 0:u[o])??o;if(p==="[DONE]")return o=null,!0;try{const m=JSON.parse(p);h==="run_event"?(d=t.onRunEvent)==null||d.call(t,m):t.onFrame({type:h,data:m})}catch{}return o=null,((f=t.isTerminal)==null?void 0:f.call(t,h))??!1}return!1};for(;;){const{done:s,value:l}=await n.read();if(s)break;i+=r.decode(l,{stream:!0});const c=i.split(`
|
|
788
788
|
`);i=c.pop()??"";for(const u of c)if(a(u)){await n.cancel().catch(()=>{});return}}if(i+=r.decode(),i.trim()){for(const s of i.split(`
|
|
789
789
|
`))if(a(s)){await n.cancel().catch(()=>{});return}}}async function PYt(e,t,n){const r=await fetch(`${_r()}${e}`,{method:"POST",headers:{...AD(),Accept:"text/event-stream"},body:JSON.stringify(t),signal:n.signal});if(r.status===401&&Vbe(`${_r()}${e}`,!0)){Hbe(),window.location.replace("/");return}if(!r.ok){const o=await r.json().catch(()=>null),a=new Error(typeof(o==null?void 0:o.message)=="string"&&o.message?o.message:`HTTP ${r.status}`);throw a.status=r.status,a}const i=r.headers.get("content-type")||"";if(!r.body||!i.includes("text/event-stream")){const o=await r.json().catch(()=>null);if(o&&typeof o=="object"){if(o.success===!1)throw new Error(o.message||"请求失败");n.onFrame({type:"complete",data:o.data??o});return}throw new Error("响应不是事件流")}await Lje(r,n)}async function NYt(e,t){await PYt("/api/v1/cognitive/ask/stream",e,t)}async function U0(e){const t=await dyt(e);return qa(t)}async function gye(e){const t=await pyt(e);return qa(t)}async function jje(e,t){const n=await fetch(`${_r()}/api/v1/cognitive/runs/${e}/events/stream?after_seq=${t.afterSeq??0}`,{headers:{...AD(),Accept:"text/event-stream"},signal:t.signal});if(!n.ok)throw new Error(`HTTP ${n.status}`);await Lje(n,{...t,eventAliases:{run_event:"run_event"}})}const ci="wandox-cognitive",Zt={root:[ci],conversations:[ci,"conversations"],conversation:e=>[ci,"conversation",e],conversationArtifacts:e=>[ci,"conversation-artifacts",e],conversationFiles:e=>[ci,"conversation-files",e],conversationSources:e=>[ci,"conversation-sources",e],conversationFacts:e=>[ci,"conversation-facts",e],conversationCards:e=>[ci,"conversation-cards",e],status:[ci,"status"],homeFindings:[ci,"home-findings"],watches:[ci,"watches"],watchDetail:e=>[ci,"watch",e],watchChecks:e=>[ci,"watch-checks",e],suggestionTasks:[ci,"suggestion-tasks"],suggestionTask:e=>[ci,"suggestion-task",e],agentGroups:[ci,"agent-groups"],agentSuggestions:[ci,"agent-suggestions"],matters:[ci,"matters"],workspaceMe:[ci,"workspace-me"],workspaceMembers:[ci,"workspace-members"],permissionHistory:[ci,"permission-history"],knowledge:[ci,"knowledge"],knowledgeDetail:e=>[ci,"knowledge-detail",String(e)]};function kYt(e){const t=e.trim();if(!t)return{businessType:void 0,groupCode:void 0};const n=t.indexOf(":");return n<0?{businessType:t,groupCode:void 0}:{businessType:t.slice(0,n),groupCode:t.slice(n+1)}}function MYt(e,t,n,r=null,i){var F;const o=Ur({queryKey:Zt.conversations,queryFn:()=>YKt(),enabled:e}),a=Ur({queryKey:Zt.status,queryFn:()=>ZKt(),enabled:e,refetchInterval:6e4}),s=Ur({queryKey:Zt.watches,queryFn:()=>kje(),enabled:e,refetchInterval:3e4}),l=Ur({queryKey:Zt.suggestionTasks,queryFn:()=>Rje(),enabled:e}),c=Ur({queryKey:Zt.agentGroups,queryFn:()=>JKt(),enabled:e}),u=i??{tab:"待采纳",domain:"",agentFilter:"",dateFrom:"",dateTo:"",page:1,pageSize:10},d=kYt(u.domain),f=Ur({queryKey:[...Zt.agentSuggestions,u.tab,u.domain,u.agentFilter,u.dateFrom,u.dateTo,u.page,u.pageSize],queryFn:()=>mP({status:Ije[u.tab]??"pending",limit:u.pageSize,offset:(u.page-1)*u.pageSize,businessType:d.businessType,groupCode:d.groupCode,agentId:u.agentFilter||void 0,createdFrom:u.dateFrom||void 0,createdTo:u.dateTo||void 0}),enabled:i!==void 0,placeholderData:V=>V}),p=Ur({queryKey:[...Zt.agentSuggestions,"counts",u.domain,u.agentFilter,u.dateFrom,u.dateTo],queryFn:async()=>{const V={limit:1,offset:0,businessType:d.businessType,groupCode:d.groupCode,agentId:u.agentFilter||void 0,createdFrom:u.dateFrom||void 0,createdTo:u.dateTo||void 0},[U,G,q]=await Promise.all([mP({...V,status:"pending"}),mP({...V,status:"accepted"}),mP({...V,status:"dismissed"})]);return{pending:U.total,accepted:G.total,dismissed:q.total}},enabled:i!==void 0,placeholderData:V=>V}),h=Ur({queryKey:Zt.matters,queryFn:()=>nYt(),enabled:e}),m=Ur({queryKey:Zt.workspaceMe,queryFn:()=>eYt(),enabled:e}),v=Ur({queryKey:Zt.workspaceMembers,queryFn:()=>tYt(),enabled:e}),y=Ur({queryKey:Zt.knowledge,queryFn:()=>rYt(),enabled:e}),b=Ur({queryKey:Zt.conversation(n??"none"),queryFn:()=>cU(n),enabled:!!n}),x=Ur({queryKey:Zt.conversationCards(n??"none"),queryFn:()=>TYt(n),enabled:!!n,staleTime:15e3});g.useEffect(()=>{const V=x.data;V&&V.length>0&&t({type:"live/cardsHydrate",cards:V})},[x.data,t]),Ur({queryKey:Zt.conversationArtifacts(n??"none"),queryFn:()=>OJ(n),enabled:!!n,staleTime:3e4});const S=Ur({queryKey:Zt.watchDetail(r??"none"),queryFn:()=>XKt(r),enabled:!!r}),_=Ur({queryKey:Zt.watchChecks(r??"none"),queryFn:()=>Mje(r),enabled:!!r}),C=o.data;g.useEffect(()=>{C&&t({type:"live/hydrateConversations",rows:C})},[C,t]);const A=a.data;g.useEffect(()=>{A&&t({type:"live/hydrateStatus",row:A})},[A,t]);const E=o.error;g.useEffect(()=>{E&&t({type:"live/conversationsError",message:lr(E)})},[E,t]);const I=l.error;g.useEffect(()=>{I&&t({type:"live/suggestionsError",message:lr(I)})},[I,t]);const T=s.data;g.useEffect(()=>{T&&t({type:"live/hydrateWatches",rows:T.items,hasMore:T.has_more})},[T,t]);const $=l.data;g.useEffect(()=>{$&&t({type:"live/hydrateSuggestionTasks",rows:$.items,hasMore:$.has_more})},[$,t]);const P=c.data;g.useEffect(()=>{P!==void 0&&t({type:"live/hydrateGroups",payload:P})},[P,t]);const N=f.data;g.useEffect(()=>{N&&t({type:"live/hydrateAdvice",rows:N.items,total:N.total,dateFrom:N.dateFrom,dateTo:N.dateTo})},[N,t]);const M=p.data;g.useEffect(()=>{M&&t({type:"live/hydrateAdviceCounts",counts:M})},[M,t]);const k=h.data;g.useEffect(()=>{k&&t({type:"live/hydrateMatters",rows:k})},[k,t]);const O=m.data;g.useEffect(()=>{O!==void 0&&t({type:"live/hydrateWorkspaceMe",me:O})},[O,t]);const j=v.data;g.useEffect(()=>{j&&t({type:"live/hydrateMembers",rows:j})},[j,t]);const z=y.data;g.useEffect(()=>{z&&t({type:"live/hydrateKnowledge",rows:z})},[z,t]);const B=b.data;g.useEffect(()=>{B&&t({type:"live/turnsLoaded",conversationId:B.conversation_id??n,turns:B.turns??[],lastRunId:typeof B.last_run_id=="string"&&B.last_run_id?B.last_run_id:null})},[B,n,t]);const D=b.isPending;g.useEffect(()=>{n&&D&&t({type:"live/turnsLoading",conversationId:n})},[D,n,t]);const H=S.data;g.useEffect(()=>{if(!r){t({type:"live/watchDetailLoaded",row:null});return}H!==void 0&&t({type:"live/watchDetailLoaded",row:H})},[e,r,H,t]);const W=_.data;g.useEffect(()=>{if(!r){t({type:"live/watchChecksLoaded",rows:[],hasMore:!1});return}W!==void 0&&t({type:"live/watchChecksLoaded",rows:W.items??[],hasMore:W.has_more})},[e,r,W,t]);const L=[o,a,s,l,c,f,h,m,v,y].some(V=>V.isPending);g.useEffect(()=>{t({type:"live/loading",value:L})},[L,t]);const R=(F=[o,a,s,l,c,f,h,m,v,y,b].find(V=>V.error))==null?void 0:F.error;g.useEffect(()=>{R&&t({type:"live/error",message:lr(R)})},[R,t])}function RYt(e,t){return Ur({queryKey:Zt.knowledgeDetail(t??"none"),queryFn:()=>t===null?Promise.resolve(null):iYt(t),enabled:e&&t!==null,staleTime:5*60*1e3})}function DYt(e){return Ur({queryKey:Zt.permissionHistory,queryFn:()=>CYt(),enabled:e,staleTime:60*1e3})}function m5(e){return e?`conv:${e}`:"new"}const g5="misc",OYt=8e3,zje="已按你的要求停止,本轮尚未形成结论。";function Bje(e){return e.stopped===!0||String(e.status??"")==="cancelled"}function vye(e){return String(e.step_name??"").trim()==="正在停止"}function v5(e){return!e||e==="running"||e==="cancelling"}function LYt(e,t,n){const r=e.live.turns[t]??[],i=n?r.find(o=>o.role==="user"&&String(o.run_id??"")===n):void 0;if(i)return i.content;for(let o=r.length-1;o>=0;o-=1)if(r[o].role==="user")return r[o].content;return""}const jYt=new Set(["detail","chat","conversation12"]);function yye(e){var r;if(!jYt.has(e.page))return null;const t=(r=e.live.stream)==null?void 0:r.conversationId;if(typeof t=="string"&&t)return t;const n=e.chats12.find(i=>i.id===e.chat12);return n!=null&&n.live?String(n.id):null}function XR(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 n=t.conclusion;return typeof n=="string"?n:JSON.stringify(t)}return""}function zYt(e){const t=e.trim();return t?/^call_\d+$/i.test(t)||/^版本链v_\d+$/i.test(t)?"查证":/^user_corrected$/i.test(t)?"用户修正":t:""}function Fje(e){const t=e==null?void 0:e.facts;return Array.isArray(t)?t.filter(n=>!!n&&typeof n=="object").map(n=>({fact:String(n.fact??n.content??""),nature:String(n.nature??""),factSource:zYt(String(n.fact_source??n.source??"")),objectName:String(n.object_name??""),status:String(n.status??"")})).filter(n=>!!n.fact):[]}function Vje(e){const t=e==null?void 0:e.delivery;if(!t||typeof t!="object")return null;const n=t,r=Number(n.claimed),i=Number(n.delivered);return!Number.isFinite(r)||!Number.isFinite(i)?null:{claimed:r,delivered:i,complete:n.complete===!0||r<=i,kind:typeof n.kind=="string"?n.kind:null,artifact_url:typeof n.artifact_url=="string"?n.artifact_url:null,note:typeof n.note=="string"?n.note:null}}const BYt=45e3,FYt=9e4;function __(e,t){e.invalidateQueries({queryKey:Zt.conversations}),typeof t=="string"&&t&&e.invalidateQueries({queryKey:Zt.conversation(t)})}async function VYt(e,t){try{const n=await gYt(t);e.dispatch({type:"live/adopted",id:t,matterId:(n==null?void 0:n.matter_id)??null}),e.qc.invalidateQueries({queryKey:Zt.agentSuggestions}),e.qc.invalidateQueries({queryKey:Zt.matters})}catch(n){e.dispatch({type:"live/error",message:`采纳失败:${lr(n)}`})}}async function bye(e,t,n,r){const i=e.getState(),o=(t??i.watchDraft).trim();if(!o){e.releaseSend();return}const a=n??i.watchEdit,s=r!==void 0?r:i.watchSaved;try{const l=await uYt(o);e.dispatch({type:"live/watchParsed",text:o,parsed:l,edit:a,saved:s})}catch(l){e.dispatch({type:"live/watchParsed",text:o,parsed:null,edit:a,saved:s}),e.dispatch({type:"live/error",message:`解析服务暂不可用:${lr(l)}`})}finally{e.releaseSend()}}async function HYt(e){var l,c,u,d,f;const t=e.getState(),n=t.watchProposal;if(!(n!=null&&n.product)){e.releaseSend();return}const r=((l=t.live.watchParsed)==null?void 0:l.proposal)??null,i=t.live.watchParsed??null,o={topic:String((i==null?void 0:i.task)??(r==null?void 0:r.task)??((c=r==null?void 0:r.check_spec)==null?void 0:c.topic)??n.task??t.watchText??"").slice(0,200)};n.product&&(o.title=n.product);const a=(i==null?void 0:i.schedule_type)??((u=r==null?void 0:r.schedule)==null?void 0:u.schedule_type)??"";a&&(o.schedule_type=String(a));const s=((i==null?void 0:i.schedule)??((d=r==null?void 0:r.schedule)==null?void 0:d.schedule_value)??n.scheduleValue??"").trim();if(s&&(o.schedule_value=s),i!=null&&i.original_text&&(o.original_text=i.original_text),!t.watchEdit&&e.watchOrigin.current&&(o.origin_conversation_id=e.watchOrigin.current),!o.topic){e.dispatch({type:"live/error",message:"创建盯住失败:缺少任务文本。"}),e.releaseSend();return}try{if(t.watchEdit&&((f=t.watchSaved)!=null&&f.watchId)){const p={topic:o.topic};o.title&&(p.title=o.title),o.schedule_value&&(p.schedule_value=o.schedule_value),await mYt(t.watchSaved.watchId,p),e.dispatch({type:"watch/confirm"}),e.dispatch({type:"live/notice",text:"盯住配置已更新。"})}else{const p=await dYt(o),h=typeof(p==null?void 0:p.watch_id)=="string"?p.watch_id:null;let m=!1;if(h)try{await Dje(h),m=!0}catch{}e.dispatch({type:"live/watchCreated",watchId:h,proposal:n,confirmed:m})}e.qc.invalidateQueries({queryKey:Zt.watches})}catch(p){e.dispatch({type:"live/error",message:`创建盯住失败:${lr(p)}`})}finally{e.releaseSend()}}async function WYt(e,t){try{await Dje(t),e.dispatch({type:"watch/confirmPending",watchId:t}),e.qc.invalidateQueries({queryKey:Zt.watches})}catch(n){e.dispatch({type:"live/error",message:`确认失败:${lr(n)}`})}finally{e.releaseSend()}}async function GYt(e){const n=e.getState().watchSaved;if(!(n!=null&&n.watchId)){e.dispatch({type:"watch/pause"}),e.releaseSend();return}const r=n.paused;try{r?await pYt(n.watchId):await fYt(n.watchId),e.dispatch({type:"watch/pause"}),e.dispatch({type:"live/notice",text:r?"已恢复盯住。":"已暂停盯住。"}),e.qc.invalidateQueries({queryKey:Zt.watches})}catch(i){e.dispatch({type:"live/error",message:`操作失败:${lr(i)}`})}finally{e.releaseSend()}}async function UYt(e,t){try{await hYt(t),e.dispatch({type:"watch/deleted",watchId:t}),e.dispatch({type:"live/notice",text:"已删除盯住。"}),e.qc.invalidateQueries({queryKey:Zt.watches})}catch(n){e.dispatch({type:"live/error",message:`删除失败:${lr(n)}`})}finally{e.releaseSend()}}async function qYt(e,t){const r=e.getState().recommendations.find(i=>i.id===t);if(!(r!=null&&r.live)){e.dispatch({type:"rec/open",id:t});return}if(r.conversationId){e.dispatch({type:"nav/history"}),e.dispatch({type:"c12/select",id:r.conversationId}),uU(e,r.conversationId),e.qc.invalidateQueries({queryKey:Zt.conversations});return}e.dispatch({type:"rec/open",id:t})}async function KYt(e,t){try{const n=await Oje(String(t)),r=typeof(n==null?void 0:n.conversation_id)=="string"?n.conversation_id:null,i=typeof(n==null?void 0:n.run_id)=="string"?n.run_id:null;e.dispatch({type:"rec/open",id:t}),r&&e.dispatch({type:"live/suggestionConversation",id:t,conversationId:r}),i?(e.dispatch({type:"live/streamStart",surface:"recommendation",conversationId:r,question:"现在就查一次"}),e.dispatch({type:"live/streamBound",conversationId:r,runId:i}),YYt(e,i,r)):e.dispatch({type:"live/notice",text:"已触发一次调查,结论出来后会在这里显示。"}),e.qc.invalidateQueries({queryKey:Zt.suggestionTasks}),e.qc.invalidateQueries({queryKey:Zt.conversations})}catch(n){e.dispatch({type:"live/error",message:`触发调查失败:${lr(n)}`})}finally{e.releaseSend()}}function YYt(e,t,n,r={}){const i=new AbortController;let o=!1;const a=()=>{const c=e.getState().live.stream;return(c==null?void 0:c.surface)===(r.surface??"recommendation")&&(c.runId===t||c.conversationId===n)},s=c=>{if(o||(o=!0,!a()))return;const u=String(c.status??""),d=Bje(c),f=XR(c)||(d?zje:"");!d&&u&&u!=="success"&&u!=="completed"&&!f?e.dispatch({type:"live/streamError",message:String(c.error||c.hint||`运行状态:${u}`)}):e.dispatch({type:"live/streamDone",answer:f,facts:Fje(c),stopped:d,delivery:Vje(c)}),n&&e.qc.invalidateQueries({queryKey:Zt.conversation(n)}),e.qc.invalidateQueries({queryKey:Zt.conversations}),e.qc.invalidateQueries({queryKey:Zt.suggestionTasks})},l=c=>{if(!a())return;const u=c.payload&&typeof c.payload=="object"?c.payload:{},d=String(c.event_type??"");if(d.startsWith("tool/")){const p=String(u.step_name??u.tool??u.name??d).trim();if(!p)return;e.dispatch({type:"live/streamStep",step:{name:p,status:String(u.status??(d.endsWith("started")?"running":"done")),note:typeof u.note=="string"?u.note:""}});return}const f=u.message??u.summary??u.phase??c.phase;typeof f=="string"&&f.trim()&&e.dispatch({type:"live/streamThinking",text:f.trim()})};jje(t,{afterSeq:0,signal:i.signal,isTerminal:c=>c==="complete"||c==="error",onRunEvent:l,onFrame:c=>{const u=c.data??{};if(c.type==="card"){u&&typeof u.card_id=="string"&&e.dispatch({type:"live/cardUpsert",card:u});return}c.type==="thinking"?typeof u.message=="string"&&u.message&&e.dispatch({type:"live/streamThinking",text:u.message}):c.type==="step"?e.dispatch({type:"live/streamStep",step:{name:typeof u.step_name=="string"&&u.step_name||"处理中",status:String(u.status??"running"),note:typeof u.note=="string"?u.note:""}}):c.type==="complete"?XR(u)?s(u):U0(t).then(d=>{const f=d!=null&&d.judgment&&typeof d.judgment=="object"?d.judgment:{};s({...d??{},...f,status:String((d==null?void 0:d.status)??u.status??"")})}).catch(()=>s({...u,status:String(u.status??"")||"success"})):c.type==="error"&&(o=!0,a()&&e.dispatch({type:"live/streamError",message:String(u.message||"运行失败")}))}}).catch(c=>{i.signal.aborted||o||(o=!0,a()&&e.dispatch({type:"live/streamError",message:lr(c)}))})}async function XYt(e,t){var i;const r=((i=e.getState().recommendations.find(o=>o.id===t))==null?void 0:i.state)!=="已暂停";try{r?await vYt(String(t)):await yYt(String(t)),e.dispatch({type:"rec/pause",id:t}),e.qc.invalidateQueries({queryKey:Zt.suggestionTasks})}catch(o){e.dispatch({type:"live/error",message:`操作失败:${lr(o)}`})}finally{e.releaseSend()}}async function ZYt(e,t){try{await bYt(String(t)),e.dispatch({type:"rec/cancel",id:t}),e.qc.invalidateQueries({queryKey:Zt.suggestionTasks})}catch(n){e.dispatch({type:"live/error",message:`操作失败:${lr(n)}`})}finally{e.releaseSend()}}async function QYt(e){const n=e.getState().recommendations.length;try{const r=await Rje({offset:n,limit:20});e.dispatch({type:"live/appendSuggestionTasks",rows:r.items,hasMore:r.has_more})}catch(r){e.dispatch({type:"live/error",message:`加载更多建议失败:${lr(r)}`})}}async function JYt(e){const n=e.getState().live.watchRows.length;try{const r=await kje({offset:n,limit:20});e.dispatch({type:"live/appendWatches",rows:r.items,hasMore:r.has_more})}catch(r){e.dispatch({type:"live/error",message:`加载更多盯住失败:${lr(r)}`})}}async function eXt(e){var a;const t=e.getState(),n=((a=t.watchSaved)==null?void 0:a.watchId)??null;if(!n)return;const r=t.live.watchChecks,i=r[r.length-1],o=(i==null?void 0:i.id)??null;if(o!=null)try{const s=await Mje(String(n),{beforeId:o});e.dispatch({type:"live/watchChecksAppend",rows:s.items,hasMore:s.has_more})}catch(s){e.dispatch({type:"live/error",message:`加载更多执行记录失败:${lr(s)}`})}}async function tXt(e){const t=e.getState(),n=t.jobs.find(r=>r.id===t.current);if(!(n!=null&&n.live)){e.dispatch({type:"job/approve"});return}try{await AYt(String(n.id)),e.dispatch({type:"live/matterDispatched",id:n.id}),e.qc.invalidateQueries({queryKey:Zt.matters})}catch(r){e.dispatch({type:"live/error",message:`交办失败:${lr(r)}`})}}async function nXt(e,t){const n=t.trim();if(n)try{await xYt({content:n}),e.dispatch({type:"ent/note",value:n}),e.qc.invalidateQueries({queryKey:Zt.knowledge})}catch(r){e.dispatch({type:"live/error",message:`提交失败:${lr(r)}`})}}async function rXt(e,t){try{await wYt(t),e.dispatch({type:"live/notice",text:"已撤回草稿。"}),e.qc.invalidateQueries({queryKey:Zt.knowledge})}catch(n){e.dispatch({type:"live/error",message:qKt(n)?"该素材不是草稿,无法撤回(待审/已生效请走管理台)。":`撤回失败:${lr(n)}`})}finally{e.releaseSend()}}async function iXt(e,t){try{await SYt(t),e.dispatch({type:"live/notice",text:"已保存画像,立即生效。"}),e.qc.invalidateQueries({queryKey:Zt.workspaceMe})}catch(n){e.dispatch({type:"live/error",message:`保存失败:${lr(n)}`})}finally{e.releaseSend()}}async function oXt(e,t){const{field:n,lines:r}=t,i={};n==="can_view"&&(i.can_view=r),n==="can_act"&&(i.can_act=r),n==="needs_approval"&&(i.needs_approval=r);try{await _Yt(i);const o=r.join("、");e.dispatch({type:"live/mePermissionSaved",...n==="can_view"?{canViewText:o}:{},...n==="can_act"?{canActText:o}:{},...n==="needs_approval"?{needsApprovalText:o}:{}}),e.dispatch({type:"live/notice",text:"已保存授权边界,立即生效。"}),e.qc.invalidateQueries({queryKey:Zt.workspaceMe}),e.qc.invalidateQueries({queryKey:Zt.permissionHistory})}catch(o){e.dispatch({type:"live/error",message:`保存授权失败:${lr(o)}`})}finally{e.releaseSend()}}async function aXt(e,t){var a;const n=e.getState(),r=n.live.members.find(s=>s.userId&&s.userId===n.live.memberTarget)??n.live.members[0];if(!(r!=null&&r.userId)){e.dispatch({type:"live/error",message:"未找到可编辑的成员(workspace/members 为空)。"});return}const i=((a=n.live.meRaw)==null?void 0:a.permissions)??null,o={};i!=null&&i.can_view&&typeof i.can_view=="object"&&!Array.isArray(i.can_view)&&(o.can_view=i.can_view),Array.isArray(i==null?void 0:i.needs_approval)&&(o.needs_approval=i.needs_approval),o.can_act=t.action?[t.action]:Array.isArray(i==null?void 0:i.can_act)?i.can_act:[],o.auto_execute=t.auto;try{await $Yt(r.userId,o),e.dispatch({type:"live/permissionSaved",scope:t.scope,action:t.action,auto:t.auto}),e.qc.invalidateQueries({queryKey:Zt.workspaceMe}),e.qc.invalidateQueries({queryKey:Zt.workspaceMembers})}catch(s){e.dispatch({type:"live/error",message:`保存授权失败:${lr(s)}`})}}async function xye(e,t,n){const r=t.slice(0,22);try{const i=await oYt({source:"user",title:r}),o=typeof(i==null?void 0:i.conversation_id)=="string"?i.conversation_id:null;if(!o){e.dispatch({type:"live/error",message:"新建会话失败:服务端未返回会话 ID"}),e.releaseSend();return}n!=null?e.dispatch({type:"live/draftBound",draftId:n,conversationId:o,title:r}):e.dispatch({type:"live/conversationUpsert",conversationId:o,title:r,select:!0}),e.qc.invalidateQueries({queryKey:Zt.conversations}),e.startAsk({question:t,conversationId:o,surface:"c12"},e.lockKey)}catch(i){e.dispatch({type:"live/error",message:`新建会话失败:${lr(i)}`}),e.releaseSend()}}async function sXt(e,t){if(sU(e.getState(),t)!=="stopping"){e.dispatch({type:"live/streamStopping",conversationId:t,value:!0});try{const n=await lYt(t),r=String((n==null?void 0:n.status)??"");if(r==="cancelling")return;if(e.dispatch({type:"live/streamStopping",conversationId:t,value:!1}),r==="idle"){e.dispatch({type:"live/runSettled",conversationId:t}),__(e.qc,t),e.dispatch({type:"live/notice",text:(n==null?void 0:n.note)||"当前没有正在处理的任务。"});return}e.dispatch({type:"live/notice",text:(n==null?void 0:n.note)||"这一轮已经结束,停止未生效。"})}catch(n){e.dispatch({type:"live/streamStopping",conversationId:t,value:!1}),e.dispatch({type:"live/error",message:`停止失败:${lr(n)}`})}}}async function lXt(e,t){const n=t.trim();if(!n){e.releaseSend();return}const r=e.getState(),i=r.recommendations.find(a=>a.id===r.recActive);if(!(i!=null&&i.live)){e.dispatch({type:"rec/send",value:t}),e.releaseSend();return}let o=typeof i.conversationId=="string"?i.conversationId:null;if(!o)try{const a=await Oje(String(i.id));o=typeof(a==null?void 0:a.conversation_id)=="string"?a.conversation_id:null,o&&e.dispatch({type:"live/suggestionConversation",id:i.id,conversationId:o})}catch(a){e.dispatch({type:"live/error",message:`建议会话准备失败:${lr(a)}`}),e.releaseSend();return}e.startAsk({question:n,conversationId:o,surface:"recommendation"},e.lockKey)}function uU(e,t){const n=e.getState().chats12.find(r=>r.id===t);!(n!=null&&n.live)||n.status!=="有更新"||aYt(String(t)).then(()=>void e.qc.invalidateQueries({queryKey:Zt.conversations})).catch(()=>{})}async function cXt(e,t){try{await sYt(String(t)),e.dispatch({type:"live/conversationArchived",id:t}),e.dispatch({type:"live/notice",text:"会话已删除。"}),e.qc.invalidateQueries({queryKey:Zt.conversations})}catch(n){e.dispatch({type:"live/error",message:`删除会话失败:${lr(n)}`})}}async function uXt(e,t,n){try{await cYt(String(t),n),e.dispatch({type:"live/conversationRenamed",id:t,title:n}),e.dispatch({type:"live/notice",text:"会话已重命名。"}),e.qc.invalidateQueries({queryKey:Zt.conversations})}catch(r){e.dispatch({type:"live/error",message:`重命名会话失败:${lr(r)}`})}}function dXt(e,t){const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),3e4)}async function fXt(e){var a;const t=e.getState(),n={},r=t.live.groupOptions.find(s=>s.key===t.domain);r!=null&&r.businessType&&(n.business_type=r.businessType),r!=null&&r.groupCode&&(n.group_code=r.groupCode);const o=(((a=t.live.agentGroups)==null?void 0:a.digital_humans)??[]).find(s=>(String(s.agent_id??"")||(s.name??"").trim())===t.agentFilter);(o==null?void 0:o.agent_id)!=null&&(n.agent_id=String(o.agent_id)),t.adviceTab==="待采纳"?n.status="pending":t.adviceTab==="执行历史"?n.status="accepted":n.status="dismissed",t.dateFrom&&(n.created_from=t.dateFrom),t.dateTo&&(n.created_to=t.dateTo);try{const{blob:s,text:l}=await EYt(n);dXt(s,`专家建议-${t.adviceTab}-${t.dateFrom||"不限"}-${t.dateTo||"不限"}.csv`),e.dispatch({type:"live/exported",csv:l,note:"已从服务端导出 CSV(UTF-8 带 BOM),文件开始下载;预览为服务端返回内容。"})}catch(s){e.dispatch({type:"live/error",message:`导出失败:${lr(s)}`})}}function pXt(e,t,n){var C;const r=g.useRef(t);r.current=t;const i=aL(),o=g.useRef(null),a=g.useRef(null),s=g.useRef(new Set),l=g.useRef(null),c=g.useRef(new Set),u=g.useRef(new Set),d=g.useRef(async()=>{}),f=g.useCallback(A=>{s.current.delete(A),n({type:"live/sendPending",value:!1})},[n]),p=g.useCallback((A,E)=>{var Q;l.current&&s.current.delete(l.current),E&&s.current.delete(E);let I=m5(A.conversationId);s.current.add(I),l.current=I,(Q=o.current)==null||Q.abort();const T=new AbortController;o.current=T;const $=A.resume;n({type:"live/streamStart",surface:A.surface,question:A.question,conversationId:A.conversationId,...$?{runId:$.runId,recovered:!0,startedAt:$.startedAt}:{}}),n({type:"live/sendPending",value:!1});const P=A.conversationId??void 0;let N=Date.now(),M=Date.now(),k=($==null?void 0:$.runId)??null,O=null,j="ask",z=0,B=T;const D=()=>o.current===B;let H=!1;const W=()=>{var te;return!H&&((te=r.current.live.stream)==null?void 0:te.status)==="streaming"},L=()=>{j="done",window.clearInterval(z),H&&k&&c.current.add(k),D()&&(o.current=null,l.current=null,f(I))},R=te=>{const ie=m5(te);ie!==I&&(s.current.delete(I),I=ie,s.current.add(ie),D()&&(l.current=ie))},F=()=>{var te;return((te=r.current.live.stream)==null?void 0:te.conversationId)??A.conversationId??null},V=()=>{const te=F();te&&n({type:"live/streamStopping",conversationId:te,value:!0})},U=te=>{H=!0,V();const ie=k??(typeof te.run_id=="string"?te.run_id:null);let oe=0;const fe=window.setInterval(()=>{if(oe+=1,!D()){window.clearInterval(fe);return}if(!ie||oe>30){window.clearInterval(fe),n({type:"live/streamError",message:"停止已受理,仍在等待收口;结论可稍后在会话记录中查看。"});return}U0(ie).then(ye=>{if(!D()){window.clearInterval(fe);return}const $e=String((ye==null?void 0:ye.status)??"");!$e||$e==="running"||$e==="cancelling"||(window.clearInterval(fe),Y($e,ye??{}))}).catch(()=>{})},3e3)},G=te=>{var $e,be,je;H=!0;const ie=String(te.status??""),oe=Bje(te);if(!oe&&ie==="cancelling"){U(te);return}const fe=XR(te)||(oe?zje:"");n(!oe&&ie&&ie!=="success"&&ie!=="completed"&&!fe?{type:"live/streamError",message:String(te.error||te.hint||`运行状态:${ie}`)}:{type:"live/streamDone",answer:fe,facts:Fje(te),stopped:oe,delivery:Vje(te)}),__(i,te.conversation_id??(($e=r.current.live.stream)==null?void 0:$e.conversationId)??A.conversationId);const ye=String(te.conversation_id??((be=r.current.live.stream)==null?void 0:be.conversationId)??A.conversationId??"");ye&&UKt(i,Zt.conversationArtifacts(ye),ye,(je=r.current.live.stream)==null?void 0:je.runId)},q=te=>{const ie=te==null?void 0:te.steps;if(Array.isArray(ie))for(const oe of ie){if(!oe||typeof oe!="object")continue;const fe=String(oe.name??oe.step_name??oe.tool??"").trim();fe&&n({type:"live/streamStep",step:{name:fe,status:String(oe.status??"running"),note:typeof oe.note=="string"?oe.note:""}})}},X=te=>{const ie=te.payload&&typeof te.payload=="object"?te.payload:{},oe=String(te.event_type??"");if(oe.startsWith("tool/")){const ye=String(ie.step_name??ie.tool??ie.name??oe).trim();if(!ye)return;n({type:"live/streamStep",step:{name:ye,status:String(ie.status??(oe.endsWith("started")?"running":"done")),note:typeof ie.note=="string"?ie.note:""}});return}const fe=ie.message??ie.summary??ie.phase??te.phase;typeof fe=="string"&&fe.trim()&&n({type:"live/streamThinking",text:fe.trim()})},Y=(te,ie)=>{const oe=ie.judgment&&typeof ie.judgment=="object"?ie.judgment:{};G({...ie,...oe,status:te})},K=te=>{const ie=new AbortController;B=ie,o.current=ie,j="tail";let oe=null;const fe=async ye=>{const $e=String(ye.status??"");if(XR(ye)){G(ye);return}const be=await U0(te).catch(()=>null);if(D()){if(be){Y(String(be.status??"")||$e,be);return}G({...ye,status:$e||"success"})}};jje(te,{afterSeq:0,signal:ie.signal,isTerminal:ye=>ye==="complete"||ye==="error",onActivity:()=>{N=Date.now()},onRunEvent:ye=>{D()&&X(ye)},onFrame:ye=>{if(!D())return;const $e=ye.data??{};if(ye.type==="card"){$e&&typeof $e.card_id=="string"&&n({type:"live/cardUpsert",card:$e});return}ye.type==="thinking"?typeof $e.message=="string"&&$e.message&&n({type:"live/streamThinking",text:$e.message}):ye.type==="step"?(vye($e)&&V(),n({type:"live/streamStep",step:{name:typeof $e.step_name=="string"&&$e.step_name||"处理中",status:String($e.status??"running"),note:typeof $e.note=="string"?$e.note:""}})):ye.type==="complete"?oe=fe($e):ye.type==="error"&&(H=!0,n({type:"live/streamError",message:String($e.message||"运行失败")}))}}).catch(ye=>{ie.signal.aborted||(H=!0,n({type:"live/streamError",message:lr(ye)}))}).then(async()=>{await oe}).finally(()=>{j==="tail"&&L()})},ne=async()=>{const te=k;if(!te||!D())return!1;try{const[ie,oe]=await Promise.all([U0(te).catch(()=>null),gye(te).catch(()=>null)]);if(!D()||H)return!0;if(q(oe),!ie)return!1;const fe=String(ie.status??"");return v5(fe)?(fe==="cancelling"&&V(),K(te),!0):(Y(fe,ie),L(),!0)}catch{return!1}},ee=()=>{H=!0,n({type:"live/streamError",message:O?lr(O):"本轮连接中断,结果可稍后在会话记录中查看。"}),L()};if($){q($.progress),$.status==="cancelling"&&V(),K($.runId);return}z=window.setInterval(()=>{if(j!=="ask"||!D()||!W())return;const te=Date.now(),ie=te-N>BYt;(ie||te-M>FYt)&&n({type:"live/streamSlow",value:!0}),ie&&k&&(window.clearInterval(z),j="recovering",B.abort(),ne().then(oe=>{!oe&&j==="recovering"&&ee()}))},5e3),NYt(P?{question:A.question,conversation_id:P}:{question:A.question},{signal:T.signal,isTerminal:te=>te==="complete"||te==="error",onActivity:()=>{N=Date.now()},onFrame:te=>{if(M=Date.now(),!D())return;const ie=te.data??{};switch(te.type){case"card":{ie&&typeof ie.card_id=="string"&&n({type:"live/cardUpsert",card:ie});break}case"start":{const oe=typeof ie.conversation_id=="string"?ie.conversation_id:null;k=typeof ie.run_id=="string"?ie.run_id:null,n({type:"live/streamBound",conversationId:oe,runId:k}),oe&&R(oe),oe&&!A.conversationId&&(n({type:"live/conversationUpsert",conversationId:oe,title:A.question.slice(0,22),select:!0}),__(i,oe));break}case"thinking":typeof ie.message=="string"&&ie.message&&n({type:"live/streamThinking",text:ie.message});break;case"step":{vye(ie)&&V();const oe={name:typeof ie.step_name=="string"&&ie.step_name||"处理中",status:String(ie.status??"running"),note:typeof ie.note=="string"?ie.note:""};n({type:"live/streamStep",step:oe});break}case"complete":G(ie);break;case"error":H=!0,n({type:"live/streamError",message:String(ie.message||"运行失败")});break}}}).catch(te=>{T.signal.aborted||(O=te)}).then(async()=>{if(j!=="ask")return;if(O&&KKt(O)&&D()){H=!0;const ie=A.conversationId;ie?(n({type:"live/streamDiscard",conversationId:ie}),n({type:"live/sendNotice",conversationId:ie,text:lr(O)})):n({type:"live/streamError",message:lr(O)}),L(),ie&&d.current(ie,void 0,{fresh:!0});return}if(!D()||!W()){L();return}j="recovering",!await ne()&&j==="recovering"&&ee()})},[n,i,f]),h=g.useCallback(async(A,E,I={})=>{var T;if(!u.current.has(A)){u.current.add(A);try{const $=r.current;let P=I.fresh?null:E??((T=$.live.runs[A])==null?void 0:T.runId)??$.live.lastRunIds[A]??null;if(!P){const B=await cU(A).catch(()=>null);P=typeof(B==null?void 0:B.last_run_id)=="string"&&B.last_run_id?B.last_run_id:null}if(!P||c.current.has(P)){n({type:"live/runSettled",conversationId:A});return}const N=r.current.live.stream;if(N&&N.status==="streaming"&&N.runId===P)return;const[M,k]=await Promise.all([U0(P).catch(()=>null),gye(P).catch(()=>null)]);if(!M)return;const O=String(M.status??"");if(!v5(O)){c.current.add(P),n({type:"live/runSettled",conversationId:A}),__(i,A);return}const j=r.current;if(j.page!=="conversation12"||j.chat12!==A)return;const z=j.live.runs[A];p({question:(z==null?void 0:z.question)||LYt(j,A,P),conversationId:A,surface:"c12",resume:{runId:P,status:O,progress:k,startedAt:z==null?void 0:z.startedAt}})}finally{u.current.delete(A)}}},[n,i,p]);d.current=h;const m=t.page==="conversation12"&&typeof t.chat12=="string"?t.chat12:null,v=t.live.stream,y=v&&v.status==="streaming"?v.conversationId:null,b=m?((C=t.live.runs[m])==null?void 0:C.runId)??null:null,x=m?t.live.lastRunIds[m]??null:null,S=m?t.live.turns[m]:void 0;g.useEffect(()=>{if(!m||y===m)return;const A=b??x;if(!(!A||c.current.has(A))){if(S!=null&&S.some(E=>E.role!=="user"&&String(E.run_id??"")===A)){c.current.add(A);return}h(m,A)}},[m,y,b,x,S,h]);const _=Object.keys(t.live.runs).sort().join("|");return g.useEffect(()=>{if(!_)return;const A=()=>{for(const[I,T]of Object.entries(r.current.live.runs)){if(!T.runId){cU(I).then(P=>{const N=typeof(P==null?void 0:P.last_run_id)=="string"&&P.last_run_id?P.last_run_id:null;N&&n({type:"live/runRegister",conversationId:I,runId:N})}).catch(()=>{});continue}const $=T.runId;U0($).then(P=>{if(!P)return;const N=String(P.status??"");if(N==="cancelling"){T.stopping||n({type:"live/streamStopping",conversationId:I,value:!0});return}v5(N)||(c.current.add($),n({type:"live/runSettled",conversationId:I}),__(i,I))}).catch(()=>{})}},E=window.setInterval(A,OYt);return()=>window.clearInterval(E)},[e,_,n,i]),g.useCallback(A=>{const E=P=>({getState:()=>r.current,dispatch:n,qc:i,startAsk:p,lockKey:P,releaseSend:()=>{P&&f(P)},watchOrigin:a}),I=E(""),T=P=>{const N=m5(P);return s.current.has(N)||Cc(r.current,P)?null:(s.current.add(N),n({type:"live/sendPending",value:!0}),E(N))},$=()=>s.current.has(g5)||r.current.live.sendPending?null:(s.current.add(g5),n({type:"live/sendPending",value:!0}),E(g5));switch(A.type){case"send":{const P=A.text??A.inputValue;if(!P.trim())return;const N=T(null);if(!N)return;if(/盯住|盯着|持续关注/.test(P)){a.current=yye(r.current),n(A),bye(N,P,!1,r.current.watchSaved);return}const M=P.trim();if(r.current.page==="detail"){p({question:M,conversationId:null,surface:"detail"},N.lockKey);return}xye(N,M);return}case"c12/send":{const P=A.value.trim();if(!P)return;const N=r.current.chats12.find(k=>k.id===r.current.chat12);if(!(N!=null&&N.live)){const k=T(null);if(!k)return;xye(k,P,N==null?void 0:N.id);return}const M=T(String(N.id));if(!M)return;p({question:P,conversationId:String(N.id),surface:"c12"},M.lockKey);return}case"c12/stop":sXt(I,A.conversationId);return;case"rec/send":{if(!A.value.trim())return;const P=r.current.recommendations.find(M=>M.id===r.current.recActive),N=T(P!=null&&P.live&&typeof P.conversationId=="string"?P.conversationId:null);if(!N)return;lXt(N,A.value);return}case"advice/adopt":VYt(I,A.id);return;case"advice/ignore":I.dispatch({type:"live/notice",text:"忽略由第三方系统处理,本期工作台只读展示。"});return;case"advice/export":fXt(I);return;case"watch/propose":{if(!r.current.watchDraft.trim())return;const P=$();if(!P)return;a.current=yye(r.current),bye(P);return}case"watch/confirm":{const P=$();P&&HYt(P);return}case"watch/pause":{const P=$();P&&GYt(P);return}case"watch/delete":{const P=$();P&&UYt(P,A.watchId);return}case"watch/confirmPending":{const P=$();P&&WYt(P,A.watchId);return}case"rec/open":qYt(I,A.id);return;case"rec/run":{const P=$();P&&KYt(P,A.id);return}case"rec/pause":{const P=$();P&&XYt(P,A.id);return}case"rec/cancel":{const P=$();P&&ZYt(P,A.id);return}case"live/loadMoreSuggestions":QYt(I);return;case"live/loadMoreWatches":JYt(I);return;case"live/loadMoreWatchChecks":eXt(I);return;case"job/approve":tXt(I);return;case"ent/note":nXt(I,A.value);return;case"knowledge/withdraw":{const P=$();P&&rXt(P,A.docId);return}case"workspace/me/save":{const P=$();P&&iXt(P,A.payload);return}case"workspace/me/permission/save":{const P=$();P&&oXt(P,{field:A.field,lines:A.lines});return}case"ent/save":aXt(I,{scope:A.scope,action:A.action,auto:A.auto});return;case"c12/new":n(A);return;case"c12/select":n(A),uU(I,A.id);return;case"c12/archive":cXt(I,A.id);return;case"c12/rename":uXt(I,A.id,A.title);return;case"live/openConversation":n({type:"nav/history"}),n({type:"c12/select",id:A.id}),uU(I,A.id);return;case"live/retryConversations":i.invalidateQueries({queryKey:Zt.conversations});return;case"live/retrySuggestions":i.invalidateQueries({queryKey:Zt.suggestionTasks});return;default:n(A)}},[e,n,i,p,f])}const Hje={file:0,artifact:0,url:0,knowledge:0,dataset:0},hXt=["file","artifact","url","knowledge"];function Wje(e){const t=new Map;for(const n of e??[])n.run_id&&n.turn_no!=null&&!t.has(String(n.run_id))&&t.set(String(n.run_id),n.turn_no);return t}function mXt(e,t,n){const r=[];for(const o of e??[]){const a=o.filename||o.name;a&&r.push({source_id:`file:${o.file_id||a}`,kind:"file",title:a,badge:o.oss_error?"归档失败":null,turn_no:null,created_at:o.created_at??null,download_url:o.raw_oss_url||null})}for(const o of t??[])r.push({source_id:`artifact:${o.artifact_id}`,kind:"artifact",title:o.filename||o.artifact_id,badge:o.kind==="data"?"导出文件":o.kind==="report"?"Run 报告":o.kind??null,turn_no:o.run_id&&n?n.get(String(o.run_id))??null:null,run_id:o.run_id??null,created_at:o.created_at??null,download_url:GKt(o)});const i={...Hje};for(const o of r)i[o.kind]+=1;return{items:r,counts:i}}async function gXt(e){const{data:t}=await st({method:"GET",url:`/api/v1/cognitive/conversations/${e}/sources`,params:{limit:200},responseType:"json",requestType:"json"}),r=(Array.isArray(t==null?void 0:t.sources)?t.sources:[]).filter(o=>!!o&&typeof o.source_id=="string"&&typeof o.kind=="string"&&hXt.includes(o.kind)).map(o=>({...o,title:o.title||o.source_id})),i={...Hje,...(t==null?void 0:t.counts)??{}};return{items:r,counts:i}}async function vXt(e){const{data:t}=await Syt(e);return IJ(t)}async function yXt(e){const{data:t}=await xyt(e,{});return(Array.isArray(t)?t:t&&typeof t=="object"&&Array.isArray(t.items)?t.items:[]).filter(r=>!!r&&typeof r.fact=="string")}function Gje(e,t){const n=e??"none",r=Ur({queryKey:Zt.conversationSources(n),queryFn:()=>gXt(e),enabled:!!e,staleTime:3e4,retry:!1}),i=!!e&&r.isError,o=Ur({queryKey:Zt.conversationFiles(n),queryFn:()=>vXt(e),enabled:i,staleTime:3e4}),a=Ur({queryKey:Zt.conversationArtifacts(n),queryFn:()=>OJ(e),enabled:i,staleTime:3e4}),s=mXt(o.data,a.data,t);return{data:e?r.data??s:null,isLoading:r.isLoading||r.isError&&(o.isLoading||a.isLoading)}}const bXt='button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [href], [tabindex]:not([tabindex="-1"])';function gP({open:e,onClose:t,panelRef:n,triggerRef:r}){const i=g.useRef(t);i.current=t,g.useEffect(()=>{var d;if(!e||!window.matchMedia("(max-width: 767px)").matches)return;const o=n.current,a=()=>o?Array.from(o.querySelectorAll(bXt)):[];(d=a()[0]??o)==null||d.focus();const s=document.querySelector(".wandox-conversations__messages"),l=document.body.style.overflow,c=(s==null?void 0:s.style.overflow)??"";document.body.style.overflow="hidden",s&&(s.style.overflow="hidden");const u=f=>{if(f.key==="Escape"){f.preventDefault(),i.current();return}if(f.key!=="Tab")return;const p=a();if(!p.length)return;const h=p.indexOf(document.activeElement),m=h<=0,v=h===-1||h===p.length-1;(f.shiftKey?m:v)&&(f.preventDefault(),p[f.shiftKey?p.length-1:0].focus())};return document.addEventListener("keydown",u,!0),()=>{var f;document.removeEventListener("keydown",u,!0),document.body.style.overflow=l,s&&(s.style.overflow=c),(f=r.current)==null||f.focus()}},[e,n,r])}function y5({open:e,axis:t,threshold:n,edgeOpenPx:r,scrollableRef:i,onOpen:o,onClose:a}){const[s,l]=g.useState(!1),[c,u]=g.useState(0),d=g.useRef(null),f=g.useRef(0),p=g.useRef(a);p.current=a;const h=g.useRef(o);return h.current=o,g.useEffect(()=>{if(e||t!=="x"||!r||!window.matchMedia("(max-width: 767px)").matches)return;let b=0,x=0,S=!1;const _=A=>{b=A.touches[0].clientX,x=A.touches[0].clientY,S=b<=r},C=A=>{var T;if(!S)return;S=!1;const E=A.changedTouches[0].clientX-b,I=A.changedTouches[0].clientY-x;E>60&&Math.abs(E)>Math.abs(I)*1.5&&((T=h.current)==null||T.call(h))};return document.addEventListener("touchstart",_,{passive:!0}),document.addEventListener("touchend",C,{passive:!0}),()=>{document.removeEventListener("touchstart",_),document.removeEventListener("touchend",C)}},[e,t,r]),{dragging:s,offset:c,bind:{onTouchStart:b=>{if(!e||t==="y"&&(i!=null&&i.current)&&i.current.scrollTop>0)return;const x=b.touches[0];d.current={x:x.clientX,y:x.clientY},f.current=0,u(0),l(!0)},onTouchMove:b=>{const x=d.current;if(!x)return;const S=b.touches[0],_=t==="x"?S.clientX-x.x:S.clientY-x.y,C=t==="x"?Math.min(0,_):Math.max(0,_);f.current=C,u(C)},onTouchEnd:()=>{if(!d.current)return;d.current=null,l(!1),u(0),(t==="x"?f.current<-n:f.current>n)&&p.current()}}}}function b5(e){const t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m ${i}s`:r>0?`${r}m ${i}s`:`${i}s`}function xXt(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 ZR({status:e,steps:t,thinking:n,startedAt:r,durationMs:i}){const o=e==="streaming",[a,s]=g.useState(o),[l,c]=g.useState(()=>Date.now()),u=g.useRef(e);g.useEffect(()=>{u.current==="streaming"&&e!=="streaming"&&s(!1),u.current=e},[e]),g.useEffect(()=>{if(!o||i!==null)return;const m=window.setInterval(()=>c(Date.now()),1e3);return()=>window.clearInterval(m)},[o,i]);const d=o?i??(r?Math.max(0,l-r):0):i??0,f=!!r&&d>0,p=e==="error"?`思考失败${f?`(用时 ${b5(d)})`:""}`:o?`思考中${f?`(已用时 ${b5(d)})`:""}`:`已思考${f?`(用时 ${b5(d)})`:""}`,h=t.length||o?w.jsx(RY,{mode:"start",titleSpan:"82px",className:"wandox-conversations__process-antd",items:[...t.map((m,v)=>({key:`${m.name}-${v}`,title:xXt(m.ts),loading:m.status!=="done",content:w.jsxs("div",{className:"wandox-conversations__process-step",children:[w.jsx("span",{className:"wandox-conversations__process-step-name",children:m.name}),m.note?w.jsx("span",{className:"wandox-conversations__process-step-note",children:m.note}):null]})})),...o?[{key:"thinking-live",loading:!0,content:w.jsx("span",{className:"wandox-conversations__process-step-note",children:n||"小多正在处理…"})}]:[]]}):null;return w.jsxs("div",{className:"wandox-conversations__process",children:[w.jsxs("button",{type:"button",className:"wandox-conversations__process-toggle","aria-expanded":a,onClick:()=>s(m=>!m),children:[o?w.jsx("span",{className:"wandox-conversations__process-spinner","aria-hidden":"true"}):w.jsx("span",{className:`wandox-conversations__process-stateicon${e==="error"?" wandox-conversations__process-stateicon--error":""}`,"aria-hidden":"true",children:e==="error"?"✕":"✓"}),w.jsx("span",{className:`wandox-conversations__process-elapsed${o?" wandox-conversations__process-elapsed--thinking":""}`,children:p}),w.jsx("svg",{className:`wandox-conversations__process-chevron${a?" wandox-conversations__process-chevron--expanded":""}`,viewBox:"0 0 16 16",width:"14",height:"14","aria-hidden":"true",children:w.jsx("path",{d:"M6 4l4 4-4 4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})]}),a?h:null]})}function wXt(e){if(e.kind==="report")return w.jsx(AEe,{});const t=/\.([a-z0-9]+)$/i.exec(e.filename||""),n=t?t[1].toLowerCase():"",r={fontSize:15};return["csv","xlsx","xls","tsv"].includes(n)?w.jsx($Ee,{style:{...r,color:"#16a34a"}}):n==="pdf"?w.jsx(GO,{style:{...r,color:"#dc2626"}}):["doc","docx"].includes(n)?w.jsx(zY,{style:{...r,color:"#2563eb"}}):n==="zip"?w.jsx(EEe,{style:{...r,color:"#d97706"}}):["txt","md","json"].includes(n)?w.jsx(AE,{style:{...r,color:"#6b7280"}}):w.jsx(Tf,{style:r})}function SXt(e){return e==="data"?"导出文件":e==="report"?"Run 报告":e||null}function wye({item:e}){const t=SXt(e.kind),n=[{key:"download",label:"下载文件"}];e.kind==="report"&&e.run_id&&n.push({key:"report",label:"查看报告"});const r=({key:i})=>{if(i==="download"){if(e.oss_url){window.open(e.oss_url,"_blank","noopener,noreferrer");return}pj(e.artifact_id,e.filename||e.artifact_id).catch(o=>{zt.error(o.message||"下载失败,请稍后重试")})}else i==="report"&&e.run_id&&NWt(String(e.run_id)).catch(o=>{zt.error(o.message||"报告打开失败,请稍后重试")})};return w.jsxs("div",{className:"wandox-conversations__artifacts-row",children:[wXt(e),w.jsx("span",{className:"wandox-conversations__artifacts-name",title:e.filename,children:e.filename||"未命名文件"}),t?w.jsx("span",{className:`wandox-conversations__artifacts-badge${e.kind==="report"?" wandox-conversations__artifacts-badge--report":""}`,children:t}):null,w.jsx(Gw,{menu:{items:n,onClick:r},trigger:["click"],placement:"bottomRight",children:w.jsx("button",{type:"button",className:"wandox-conversations__artifacts-more","aria-label":`文件操作:${e.filename||""}`,children:w.jsx(nmt,{})})})]})}function Sye(e){return e.role==="final"||e.role==="intermediate"?e.role:e.kind==="dataset"||e.kind==="tool_result"?"intermediate":"final"}function Uje({artifacts:e}){if(!(e!=null&&e.length))return null;const t=e.filter(r=>Sye(r)==="final"),n=e.filter(r=>Sye(r)==="intermediate");return w.jsxs("div",{className:"wandox-conversations__artifacts",children:[w.jsx("div",{className:"wandox-conversations__artifacts-head",children:`已生成 ${e.length} 个文件`}),t.map(r=>w.jsx(wye,{item:r},r.artifact_id)),n.length?w.jsxs("details",{className:"wandox-conversations__artifacts-intermediate",children:[w.jsx("summary",{children:`分析过程文件(${n.length})`}),n.map(r=>w.jsx(wye,{item:r},r.artifact_id))]}):null]})}function _Xt(e,t){if(e.status==="awaiting"){const n=Date.parse(e.issued_at);if(Number.isFinite(n)&&t>n+e.ttl_seconds*1e3)return"expired"}return e.status}function yu(){return w.jsxs(w.Fragment,{children:[w.jsx("img",{className:"wandox-conversations__brand-mark",src:oS,alt:"","aria-hidden":"true"}),"小多"]})}function xw({text:e}){return w.jsx("div",{className:"wandox-conversations__md",children:w.jsx(Hp,{remarkPlugins:[Wp],children:e})})}function _j(e){const t=new Map;return e.map(n=>{const r=(t.get(n)??0)+1;return t.set(n,r),{key:`${r}-${n}`,text:n}})}function Cj(e){return t=>{t.key==="Enter"&&!t.shiftKey&&!t.nativeEvent.isComposing&&(t.preventDefault(),e())}}function Aj(e){const t=g.useRef(!1);return g.useEffect(()=>{e||(t.current=!1)}),()=>e||t.current?!1:(t.current=!0,!0)}function zJ({dispatch:e,scopeChoice:t,showScope:n=!0,sending:r=!1}){const[i,o]=g.useState(""),a=Aj(r),s=()=>{!i.trim()||!a()||(e({type:"send",inputValue:i}),o(""))};return w.jsxs("div",{className:"w-composer",children:[w.jsx("textarea",{id:"w6-input",className:"w-composer__input","aria-label":"告诉小多你的目标",placeholder:"想了解什么,或希望我推进什么?",value:i,disabled:r,onChange:l=>o(l.target.value),onKeyDown:Cj(s)}),w.jsxs("div",{className:"w-tools",children:[n?w.jsxs("select",{id:"w6-scope",className:"w-composer__select","aria-label":"专家范围",value:t,disabled:r,onChange:l=>e({type:"scope/change",value:l.target.value}),children:[w.jsx("option",{children:"自动调用专家"}),SKt.map(l=>w.jsx("option",{children:l[0]},l[0]))]}):null,w.jsxs("button",{type:"button",className:"w-send","data-do":"send","aria-label":r?"正在发送":"发送","aria-busy":r,disabled:!i.trim()||r,onClick:s,children:[w.jsx("span",{children:r?"发送中…":"发送"}),r?w.jsx(xr,{spin:!0}):w.jsx(xy,{})]})]})]})}function CXt({dispatch:e,sending:t=!1}){const[n,r]=g.useState(""),i=Aj(t),o=()=>{!n.trim()||!i()||(e({type:"rec/send",value:n}),r(""))};return w.jsxs("div",{className:"wandox-recommendation__composer w-composer",children:[w.jsx("textarea",{id:"h11-input",className:"w-composer__input","aria-label":"补充推进信息",placeholder:"补充你的目标、顾虑,或想先看的问题…",value:n,disabled:t,onChange:a=>r(a.target.value),onKeyDown:Cj(o)}),w.jsx("div",{className:"w-tools",children:w.jsx("button",{type:"button",className:"w-send","data-rec-send":"","aria-label":t?"正在发送":"发送","aria-busy":t,disabled:!n.trim()||t,onClick:o,children:t?w.jsx(xr,{spin:!0}):w.jsx(xy,{})})})]})}function AXt({dispatch:e,draft:t,sending:n=!1}){const r=Aj(n),i=()=>{!t.trim()||!r()||e({type:"watch/propose"})};return w.jsxs("div",{className:"w-composer",children:[w.jsx("textarea",{id:"w8-input",className:"w-composer__input","aria-label":"交代要盯住的事",placeholder:"例如:盯住咖啡机销量,明显下降时在会话里提醒我",value:t,disabled:n,onChange:o=>e({type:"watch/draft",value:o.target.value}),onKeyDown:Cj(i)}),w.jsxs("div",{className:"w-tools",children:[w.jsx("span",{className:"w-subhead",children:"说清你关心的事,小多来找对象和规则"}),w.jsx("button",{type:"button",className:"w-send","data-eight":"propose","aria-label":n?"正在发送":"发送","aria-busy":n,disabled:!t.trim()||n,onClick:i,children:n?w.jsx(xr,{spin:!0}):w.jsx(xy,{})})]})]})}function $Xt({dispatch:e,revise:t,sending:n=!1,runState:r=null,onStop:i}){const[o,a]=g.useState(""),s=Aj(n),l=()=>{!o.trim()||!s()||(e({type:"c12/send",value:o}),a(""))},c=r==="running"&&!!i,u=r==="stopping"&&!!i;return w.jsx("div",{className:"wandox-conversations__composer",children:w.jsxs("div",{className:`wandox-conversations__composer-shell${u?" has-wait":""}`,children:[w.jsx(_n.TextArea,{id:"c12-input","aria-label":"继续这件事的讨论",placeholder:r?"小多正在处理上一条,回复后可继续…":t?"补充你的要求…":"补充信息,或交代下一步…",value:o,autoSize:{minRows:1,maxRows:6},disabled:n,onChange:d=>a(d.target.value),onKeyDown:Cj(l)}),w.jsx("div",{className:"wandox-conversations__composer-actions",children:u?w.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:[w.jsx(xr,{spin:!0}),w.jsx("span",{children:"正在停止…"})]}):c?w.jsx("button",{type:"button",className:"wandox-conversations__composer-btn wandox-conversations__composer-btn--stop","data-c12":"stop","aria-label":"停止本次处理",title:"停止本次处理;已获得的结果会保留",onClick:i,children:w.jsx("span",{className:"wandox-conversations__stop-glyph","aria-hidden":!0})}):w.jsx("button",{type:"button",className:"wandox-conversations__composer-btn wandox-conversations__composer-btn--send","data-c12":"send","aria-label":n?"正在发送":"发送","aria-busy":n,disabled:!o.trim()||n,onClick:l,children:n?w.jsx(xr,{spin:!0}):w.jsx(xy,{})})})]})})}function qje(){return w.jsx("p",{className:"w-notice wandox-conversations__stopped-note",role:"status",children:"已停止,以下为停止前已获得的结果。"})}function Kje({delivery:e}){return e.complete?null:w.jsxs("p",{className:"w-notice wandox-conversations__delivery-note",role:"status",children:[`本次为部分交付(${e.delivered}/${e.claimed}),可继续要求补齐。`,e.artifact_url?w.jsxs(w.Fragment,{children:[" ",w.jsx("a",{className:"w-link",href:e.artifact_url,target:"_blank",rel:"noreferrer",children:"下载已交付部分 →"})]}):null,e.note?w.jsx("span",{className:"wandox-conversations__delivery-note-detail",children:e.note}):null]})}function $j({stream:e,userClass:t="w-message",artifacts:n,hideQuestion:r=!1}){return w.jsxs(w.Fragment,{children:[r?null:w.jsx("div",{className:t,children:e.question}),w.jsxs("div",{className:"w-answer",children:[w.jsx("h3",{className:"w-title w-title--card",children:w.jsx(yu,{})}),e.status==="streaming"?w.jsxs(w.Fragment,{children:[w.jsx(ZR,{status:e.status,steps:e.steps,thinking:e.thinking,startedAt:e.startedAt,durationMs:e.durationMs}),e.stopping?w.jsx("p",{className:"w-muted w-clamp",role:"status",children:"正在停止,等当前步骤结束后给出已获得的结果。"}):e.slow?w.jsx("p",{className:"w-muted w-clamp",children:"处理时间较长,仍在进行;结论出来后会显示在这里。"}):null]}):null,e.status==="done"&&e.stopped?w.jsx(qje,{}):null,e.status==="done"&&e.delivery?w.jsx(Kje,{delivery:e.delivery}):null,e.status==="done"&&e.answer?w.jsx(xw,{text:e.answer}):null,e.status!=="streaming"?w.jsx(Uje,{artifacts:n}):null,e.status==="error"?w.jsx("p",{className:"w-notice",role:"alert",children:`本轮未完成:${e.error}`}):null,e.status!=="streaming"?w.jsx(ZR,{status:e.status,steps:e.steps,thinking:e.thinking,startedAt:e.startedAt,durationMs:e.durationMs}):null]})]})}function EXt({stream:e}){return e.status==="error"?w.jsx("p",{className:"w-notice",role:"alert",children:`本轮未完成:${e.error}`}):e.status!=="done"?null:w.jsxs(w.Fragment,{children:[e.stopped?w.jsx(qje,{}):null,e.delivery?w.jsx(Kje,{delivery:e.delivery}):null,w.jsx(ZR,{status:e.status,steps:e.steps,thinking:e.thinking,startedAt:e.startedAt,durationMs:e.durationMs})]})}function TXt(){const[e,t]=g.useState(()=>Date.now());return g.useEffect(()=>{const n=window.setInterval(()=>t(Date.now()),3e4);return()=>window.clearInterval(n)},[]),e}function IXt({extra:e}){const t=e.requested_pct,n=e.effective_pct,r=[];return t!=null&&Number.isFinite(Number(t))&&r.push(`策略请求 ${t}%`),n!=null&&Number.isFinite(Number(n))&&r.push(`实际生效 ${n}%`),r.length===0&&!e.limit_reason?null:w.jsxs("span",{className:"wandox-conversations__icard-field-extra",children:[r.length>0?`(${r.join(" / ")})`:null,e.limit_reason?w.jsx("span",{className:"wandox-conversations__icard-field-extra-detail",children:e.limit_reason}):null]})}function _ye({card:e,onRespond:t}){var m,v;const n=TXt(),r=_Xt(e,n),[i,o]=g.useState(null),[a,s]=g.useState(null),[l,c]=g.useState("");if(e.v>1)return w.jsxs("div",{className:"wandox-conversations__icard","data-shape":"fallback",children:[w.jsx("div",{className:"wandox-conversations__icard-title",children:e.title}),w.jsx("div",{className:"wandox-conversations__icard-text",children:e.text_fallback})]});const u=y=>{o(y.action_id);const b=a===y.action_id;t==null||t(e,y.action_id,b&&l.trim()||void 0)},d=y=>{if(!(!t||i)){if(y.requires_text&&a!==y.action_id){s(y.action_id);return}if(y.risk==="high"){ri.confirm({title:y.label,content:"该操作不可逆或直接影响线上,确认执行?",okText:"确认执行",cancelText:"再想想",onOk:()=>u(y)});return}u(y)}},f=r==="expired"?"已过期":r==="cancelled"?"已关闭":r==="superseded"?"已被新内容替代":null,p=r!=="awaiting"&&r!=="answered",h=((m=e.body)==null?void 0:m.fields)??[];return w.jsxs("div",{className:"wandox-conversations__icard","data-shape":e.shape,children:[w.jsx("div",{className:"wandox-conversations__icard-title",children:e.title}),(v=e.body)!=null&&v.text?w.jsx("div",{className:"wandox-conversations__icard-text",children:e.body.text}):null,h.length>0?w.jsx("div",{className:"wandox-conversations__icard-fields",children:h.map(y=>w.jsxs("div",{className:"wandox-conversations__icard-field",children:[w.jsx("span",{className:"wandox-conversations__icard-field-k",children:y.k}),w.jsxs("span",{className:"wandox-conversations__icard-field-v",children:[y.v,y.extra?w.jsx(IXt,{extra:y.extra}):null]})]},y.k))}):null,r==="answered"&&e.answered?w.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,r==="awaiting"&&t?w.jsxs(w.Fragment,{children:[a?w.jsx("textarea",{className:"wandox-conversations__icard-note",value:l,rows:2,maxLength:1e3,placeholder:"补充说明(可留空)",onChange:y=>c(y.target.value)}):null,w.jsx("div",{className:"wandox-conversations__icard-actions",children:e.actions.map(y=>w.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:()=>d(y),children:a===y.action_id&&y.requires_text?"确认发送":y.label},y.action_id))}),e.shape==="choice"?w.jsx("div",{className:"wandox-conversations__icard-hint",children:"以上都不对?直接在下方输入框回复也可以。"}):null]}):null,p&&f?w.jsx("div",{className:"wandox-conversations__icard-closed",children:f}):null]})}function PXt({state:e,dispatch:t}){var i;const n=e.conversations.filter(o=>!o.job&&o.session===e.chatSession),r=e.live.mode&&((i=e.live.stream)==null?void 0:i.surface)==="chat"?e.live.stream:null;return w.jsxs(w.Fragment,{children:[w.jsx("button",{type:"button",className:"w-link w-back","data-nav":"home",onClick:()=>t({type:"nav/home"}),children:"← 回到小多"}),w.jsx("h1",{className:"w-title w-title--page",children:"和小多一起想清楚"}),_j(n.map(o=>o.text)).map((o,a)=>w.jsxs(g.Fragment,{children:[w.jsx("div",{className:"w-message",children:o.text}),w.jsxs("div",{className:"w-answer",children:[w.jsx("h3",{className:"w-title w-title--card",children:w.jsx(yu,{})}),w.jsx("p",{children:`我会先明确业务范围与目标,再装配${n[a].scope==="自动调用专家"?"相关":n[a].scope}专家,结合企业知识、当前数据和历史动作效果展开调查。`}),w.jsx("p",{className:"w-muted w-clamp",children:"这是会话流程演示,尚未进行真实数据查询或执行动作。"})]})]},o.key)),r?w.jsx($j,{stream:r}):null,w.jsx(zJ,{dispatch:t,scopeChoice:e.scopeChoice,sending:Cc(e,null)})]})}const NXt=[["业务","我负责的业务"],["知识","知识与规则"],["团队","团队与授权"]],kXt=[{field:"can_view",label:"可以查看",placeholder:"如:负责范围内的广告表现、订单与商品基础信息"},{field:"can_act",label:"可以操作",placeholder:"如:单次竞价调整不超过 10%"},{field:"needs_approval",label:"需要确认",placeholder:"如:增加总预算须经营负责人批准"}],Cye=1e3,Aye=500;function MXt(e){return e?e.split(/[;;、,,]/).map(t=>t.trim()).filter(Boolean).join(`
|
|
@@ -801,4 +801,4 @@ ${xe}`;z(ue)},recommendations:x,agentId:p}),w.jsx(EJ,{executing:F,onSend:U,playb
|
|
|
801
801
|
`,r:"\r",t:" ","\\":"\\",'"':'"',"'":"'"}[s]??`\\${s}`,n+=2;continue}}if(a===i)break;o+=a,n+=1}t+=JSON.stringify(o)}return t.replace(/\bTrue\b/g,"true").replace(/\bFalse\b/g,"false").replace(/\bNone\b/g,"null")}function Mee(e){if(ht(e))return e;if(typeof e!="string"||!e.trim())return null;try{const t=JSON.parse(e);return ht(t)?t:null}catch{try{const t=JSON.parse(Xrn(e));return ht(t)?t:null}catch{return null}}}function iu(e){const t=Eb(e);return ht(t)?qrn(t):null}function Ai(e){return e==null||e===""||Array.isArray(e)&&e.length===0}function Zrn(e){return new TextEncoder().encode(e).length}function al(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function Qrn(e,t){if(t===0)return!0;const n=e/t;return Math.abs(n-Math.round(n))<Number.EPSILON*100}const Jrn=["item_name","bullet_point","generic_keyword","product_description","main_product_image_locator"],ein={item_name:"标题",bullet_point:"五点描述",generic_keyword:"搜索关键词",product_description:"产品描述",main_product_image_locator:"主图"};function tin(e,t,n){const r=new Set(Object.keys(t)),i=ht(e)?n.schemaArray(e.propertyFocus).map(o=>String(o).trim()).filter(o=>o&&r.has(o)):[];return i.length?i:Jrn.filter(o=>r.has(o))}function K0(e,t,n,r){const i=iu(n);if(!i)return null;const o=r.getEffectiveSchemaProperties(e,t,i),a=r.getEffectiveSchemaRoot(e,t,i);if(!o)return null;const s=tin(a,o,r);return s.length?{effectiveRoot:a,properties:o,propertyNames:s,schemaValue:i}:null}function x3e(e,t,n,r){return ein[e]||r.getSchemaTitle(e,t,n)}function Ree(e,t,n,r,i){if(e.includes("image_locator")){const o=i.getVisibleProperties(t,n,r).find(([a])=>a==="media_location");if(o)return o[0]}return i.getPrimaryVisibleChildName(t,n,r)}function w3e(e,t,n,r,i){return i.getChildProperties(e,t,n)[r]||{}}function v0e(e,t,n){const r=n.resolveSchemaRef(e,t);return ht(r)?al(r.maxLength):void 0}function Dee(e,t,n,r,i){return i.getSchemaRows(e,t,n,r).map(o=>i.schemaRecord(o))}function V1(e,t,n,r,i){const o=t[n];return o?Dee(e,n,o,r,i).map(a=>{const s=Ree(n,o,r,a,i);return i.schemaString(a[s]).trim()}).filter(Boolean):[]}function S3e(e,t,n,r){const i=K0(e,t,n,r);if(!i)return e.required&&Ai(n)?{[e.name]:`请输入${e.label}`}:{};const{effectiveRoot:o,properties:a,propertyNames:s,schemaValue:l}=i,c=r.getSchemaDefinitions(e,t),u={};for(const d of s){const f=a[d];if(!f||r.isHiddenSchema(f,c))continue;const p=r.hasRawSchemaPropertyValue(f,l[d],c),h=Dee(l,d,f,c,r);for(const[m,v]of h.entries()){const y=Ree(d,f,c,v,r);if(!y)continue;const b=w3e(f,c,v,y,r),x=v[y],S=x3e(d,f,c,r),_=r.isSchemaChildRequiredForForm(d,f,y,v,c,o,l[d]),C=r.schemaErrorKey(e.name,d,y,m);if(_&&Ai(x)||r.shouldValidateMissingNestedSchemaValue(b,x,c,_||p&&r.hasRawSchemaPropertyValue(b,x,c))){u[C]=`请输入${S}`;continue}const A=r.getSchemaValueConstraintError(x,b,S,c);A&&(u[C]=A)}}return u}const{Text:nin}=If;function rin({properties:e,value:t,definitions:n,helpers:r}){const i=V1(t,e,"item_name",n,r)[0]||"商品标题将显示在这里",o=V1(t,e,"bullet_point",n,r).slice(0,5),a=V1(t,e,"product_description",n,r)[0]||"",s=V1(t,e,"generic_keyword",n,r)[0]||"",l=V1(t,e,"main_product_image_locator",n,r).find(u=>/^https?:\/\//i.test(u)),c=o.length?o:a?[a]:[];return w.jsxs("aside",{className:"wandox-amazon-listing-focus__preview",children:[w.jsx("div",{className:"wandox-amazon-listing-focus__preview-head",children:"AMAZON 前台效果预览 · 实时"}),w.jsxs("div",{className:"wandox-amazon-listing-focus__preview-main",children:[w.jsx("div",{className:"wandox-amazon-listing-focus__preview-image",children:l?w.jsx("img",{className:"wandox-amazon-listing-focus__preview-image-content",src:l,alt:"商品主图预览"}):w.jsx("span",{children:"主图占位"})}),w.jsxs("div",{className:"wandox-amazon-listing-focus__preview-info",children:[w.jsx("div",{className:"wandox-amazon-listing-focus__preview-title",children:i}),w.jsxs("div",{className:"wandox-amazon-listing-focus__preview-rating",children:[w.jsx("span",{className:"wandox-amazon-listing-focus__preview-stars",children:"★★★★★"}),w.jsx("span",{className:"wandox-amazon-listing-focus__preview-rating-link",children:"1,286 ratings"})]}),w.jsxs("div",{className:"wandox-amazon-listing-focus__preview-price",children:[w.jsx("span",{className:"wandox-amazon-listing-focus__preview-price-currency",children:"$"}),w.jsx("span",{className:"wandox-amazon-listing-focus__preview-price-main",children:"29"}),w.jsx("span",{className:"wandox-amazon-listing-focus__preview-price-decimal",children:"99"})]}),w.jsx("div",{className:"wandox-amazon-listing-focus__preview-delivery",children:"✓prime · FREE delivery"})]})]}),w.jsx("div",{className:"wandox-amazon-listing-focus__preview-divider"}),w.jsxs("div",{className:"wandox-amazon-listing-focus__preview-about",children:[w.jsx("strong",{className:"wandox-amazon-listing-focus__preview-about-title",children:"About this item"}),c.length?w.jsx("ul",{className:"wandox-amazon-listing-focus__preview-bullets",children:c.map(u=>w.jsx("li",{children:u},u))}):w.jsx("p",{className:"wandox-amazon-listing-focus__preview-empty",children:"五点描述会显示在这里"}),s&&w.jsxs("div",{className:"wandox-amazon-listing-focus__preview-keywords",children:["关键词:",s]})]})]})}function iin({field:e,context:t,definitions:n,helpers:r,disabled:i=!1,errors:o,showOnlyMissing:a,onShowOnlyMissingChange:s,usesExecutionFormLayout:l,createSchemaItemDefaults:c,getForbiddenSchemaNames:u,isReadonlySchema:d,isTopLevelSchemaPropertyRequired:f,renderSchemaForm:p,setErrors:h,updateField:m,updateSchemaRow:v}){const{effectiveRoot:y,properties:b,propertyNames:x,schemaValue:S}=t,_=u(y),C=(P,N,M,k,O)=>{if(i)return;const j=S[P],z=Array.isArray(j)?[...j]:[r.schemaRecord(j)],B={...c(N,n),...r.schemaRecord(z[M]),[k]:O};m(e.name,{...S,[P]:v(j,N,M,B,n)}),h(D=>{const H=r.schemaErrorKey(e.name,P,k,M);if(!D[H]&&!D[e.name])return D;const W={...D};return delete W[H],delete W[e.name],W})},A=P=>{const N=b[P];if(!N||_.has(P)||r.isHiddenSchema(N,n))return null;const M=Dee(S,P,N,n,r),k=M.map((L,R)=>{const F=Ree(P,N,n,L,r);if(!F)return null;const V=w3e(N,n,L,F,r);if(r.isHiddenSchema(V,n))return null;const U=r.schemaErrorKey(e.name,P,F,R);return{childName:F,childSchema:V,errorKey:U,row:L,rowIndex:R}}).filter(L=>L!==null);if(!k.length)return null;const O=x3e(P,N,n,r),j=k[0],z=r.schemaString(j.row[j.childName]),B=v0e(j.childSchema,n,r),D=P==="bullet_point"||M.length>1,H=P.includes("image_locator"),W=f(y,P)||k.some(({childName:L,row:R})=>r.isSchemaChildRequiredForForm(P,N,L,R,n,y,S[P]));return w.jsxs("section",{className:`wandox-amazon-listing-focus__section wandox-amazon-listing-focus__section--${P}`,children:[w.jsxs("div",{className:"wandox-amazon-listing-focus__section-head",children:[w.jsxs("span",{className:"wandox-amazon-listing-focus__section-title",children:[O,W&&w.jsx("span",{className:"wandox-amazon-listing-focus__required",children:"*"})]}),!D&&B!=null&&w.jsxs("span",{className:"wandox-amazon-listing-focus__counter",children:[z.length," / ",B]})]}),w.jsx("div",{className:"wandox-amazon-listing-focus__rows",children:k.map(({childName:L,childSchema:R,errorKey:F,row:V,rowIndex:U})=>{const G=d(N,n)||d(R,n),q=r.schemaString(V[L]),X=v0e(R,n,r),Y=o[F],K=`请输入${O}`,ne=ee=>{i||G||C(P,N,U,L,ee)};return w.jsxs("div",{className:"wandox-amazon-listing-focus__field-row",children:[H?w.jsx(_n,{size:l?"middle":"small",className:"wandox-amazon-listing-focus__input",value:q,onChange:ee=>ne(ee.target.value),placeholder:K,status:Y?"error":void 0,disabled:i||G}):w.jsx(_n.TextArea,{size:l?"middle":"small",className:"wandox-amazon-listing-focus__text-area",autoSize:{minRows:P==="product_description"?3:2,maxRows:24},value:q,onChange:ee=>ne(ee.target.value),placeholder:K,status:Y?"error":void 0,disabled:i||G,showCount:D&&X!=null?{formatter:({count:ee})=>`${ee} / ${X}`}:!1}),Y&&w.jsx("div",{className:"wandox-amazon-listing-focus__error",children:Y})]},`${P}-${U}-${L}`)})})]},P)},E=x.map(A).filter(Boolean),I=new Set(x),T=Object.fromEntries(Object.entries(b).filter(([P])=>!I.has(P))),$=Object.keys(T).length>0;return w.jsxs("div",{className:"wandox-amazon-listing-focus-shell",children:[w.jsxs("div",{className:"wandox-amazon-listing-focus",children:[w.jsx("div",{className:"wandox-amazon-listing-focus__editor",children:E.length?E:w.jsx(nin,{type:"secondary",children:"暂无可编辑的重点字段"})}),w.jsx(rin,{properties:b,value:S,definitions:n,helpers:r})]}),$&&w.jsxs("section",{className:"wandox-amazon-listing-focus__remaining",children:[w.jsxs("div",{className:"wandox-amazon-listing-focus__remaining-head",children:[w.jsxs("div",{children:[w.jsx("div",{className:"wandox-amazon-listing-focus__remaining-title",children:"其他刊登参数"}),w.jsx("div",{className:"wandox-amazon-listing-focus__remaining-desc",children:"继续补充和校验模板返回的其他动态表单字段"})]}),w.jsxs("div",{className:"wandox-amazon-listing-focus__remaining-filter",children:[w.jsx("span",{children:"只看需处理项"}),w.jsx(Ah,{size:"small",checked:a,onChange:s})]})]}),p(e,T,S)]})]})}function MC(e,t){return t==="input"?e.has("input")||e.has("modify"):e.has(t)}function oin(e,t){return!!t&&MC(e,"return_previous")}function ain(e){return e.has("input")?"input":e.has("modify")?"modify":"confirm"}function sin({actions:e,canReExecute:t,hasInputFields:n,hasOnClose:r,isFormMode:i,mode:o,returnStepId:a}){const s=[],l=[];return oin(e,a)&&s.push({key:"return_previous",label:"返回上一步",command:"submitReturnPrevious",loading:!0}),o==="review"&&MC(e,"confirm")&&l.push({key:"confirm",label:"确认通过",command:"submitConfirm",loading:!0,primary:!0}),o==="review"&&MC(e,"input")&&n&&l.push({key:"switch_input",label:"修改后确认",command:"switchInput"}),o==="review"&&t&&l.push({key:"switch_re_execute",label:"重新生成",command:"switchReExecute"}),o==="input"&&!i&&l.push({key:"switch_review",label:"返回",command:"switchReview"}),o==="input"&&l.push({key:"submit_input",label:i?"确认提交":"提交修改",command:"submitInput",loading:!0,primary:!0}),o==="re_execute"&&l.push({key:"cancel_re_execute",label:"取消修改",command:"cancelReExecute"},{key:"submit_re_execute",label:"确认重新生成",command:"submitReExecute",loading:!0,primary:!0}),t&&i&&o==="input"&&l.push({key:"form_switch_re_execute",label:"重新生成",command:"switchReExecute"}),MC(e,"cancel")&&o!=="re_execute"&&l.push({key:"cancel",label:"取消执行",command:"submitCancel",danger:!0,loading:!0}),r&&l.push({key:"close",label:"收起",command:"close",disabledWhenSubmitting:!0}),{left:s,right:l}}function lin(e){return typeof e=="string"?!!e.trim():typeof e=="number"?Number.isFinite(e):typeof e=="boolean"}function Jv(e){if(!Array.isArray(e))return;const t=new Set,n=[];for(const r of e){let i,o;if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")i=r,o=r;else if(r&&typeof r=="object"&&!Array.isArray(r)){const c=r;o=c.value??c.label,i=c.label??o}else continue;if(!lin(o))continue;const a=String(i??"").trim();if(!a)continue;const s=typeof o=="string"?o.trim():o,l=String(s);t.has(l)||(t.add(l),n.push({label:a,value:s}))}return n.length?n:void 0}function ml(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function cin(e){return Array.isArray(e)?e:[]}function uin(e){const t=ml(e.not)?e.not:{};return new Set(cin(t.required).map(String))}function wd(e){if(!ml(e))return e;const t={...e};ml(t.properties)&&(t.properties=Object.fromEntries(Object.entries(t.properties).map(([n,r])=>[n,wd(r)]))),ml(t.$defs)&&(t.$defs=Object.fromEntries(Object.entries(t.$defs).map(([n,r])=>[n,wd(r)]))),ml(t.definitions)&&(t.definitions=Object.fromEntries(Object.entries(t.definitions).map(([n,r])=>[n,wd(r)]))),ml(t.items)&&(t.items=wd(t.items)),ml(t.additionalProperties)&&(t.additionalProperties=wd(t.additionalProperties));for(const n of["allOf","anyOf","oneOf"])Array.isArray(t[n])&&(t[n]=t[n].map(wd));for(const n of["if","then","else","not"])ml(t[n])&&(t[n]=wd(t[n]));return t}function din({root:e,properties:t}){if(!ml(e))return{eligible:!1,reason:"missing-schema"};if(!t||Object.keys(t).length===0)return{eligible:!1,reason:"missing-properties"};const n=wd(e),r=uin(n),i=Object.fromEntries(Object.entries(t).filter(([a])=>!r.has(a)).map(([a,s])=>[a,wd(s)]));if(Object.keys(i).length===0)return{eligible:!1,reason:"missing-properties"};const o={...n,type:"object",properties:i};return Array.isArray(n.required)&&(o.required=n.required.map(String).filter(a=>a in i)),{eligible:!0,schema:o}}function fin(e,t){const n=`${t}.`;return Array.from(e).filter(r=>r.startsWith(n)).map(r=>r.slice(n.length))}function pin(e,t,n){const r=`${t}.`,i=ml(n==null?void 0:n.properties)?n.properties:{};return Object.fromEntries(Object.entries(e).filter(([o])=>o.startsWith(r)).map(([o,a])=>{const s=o.slice(r.length).split("."),l=i[s[0]],c=ml(l)?l:{},u=n?Yr(n,c):c,d=ml(u)?u.type:void 0;return!(d==="array"||Array.isArray(d)&&d.includes("array"))&&/^\d+$/.test(s[1]||"")&&s.splice(1,1),[s.join("."),a]}))}function Km(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function IU(e){return Array.isArray(e)?e:[]}function y0e(e){return Km(e)?e:{}}function hin(e,t){return Array.from(new Set([...IU(e),...IU(t)].map(String)))}function XN(e,t){const n=y0e(e),r=y0e(t);if("if"in r)return{...n,allOf:[...IU(n.allOf),r]};const i={...n};for(const[o,a]of Object.entries(r)){const s=i[o];if(o==="required"){i[o]=hin(s,a);continue}if((o==="properties"||o==="$defs"||o==="definitions")&&Km(s)&&Km(a)){i[o]={...s};for(const[l,c]of Object.entries(a))i[o]={...i[o],[l]:XN(s[l],c)};continue}if((o==="items"||o==="not")&&Km(s)&&Km(a)){i[o]=XN(s,a);continue}if(Km(s)&&Km(a)&&!["if","then","else"].includes(o)){i[o]=XN(s,a);continue}i[o]=a}return i}const{Text:bp}=If,_3e=!1,min=["confirm","input","re_execute","cancel"],dD="amazon_listing_focus",b0e=new WeakMap;function gin(e,t){return(Br(e.type).length?Br(e.type).map(String):typeof e.type=="string"?[e.type]:[]).includes(t)}function vin(e,t={}){const n=$o(e,t);return ht(n)&&gin(n,"string")&&n.enum===void 0&&n.const===void 0}function x0e(e,t={}){const n=$o(e,t);return ht(n)?Br(n.anyOf).some(r=>vin(r,t)):!1}function Oee(e,t,n,r={}){if(Ai(e))return"";const i=$o(t,r);if(!ht(i))return"";const o=mD(i,r);if(o.length&&!x0e(i,r)&&!new Set(o.map(p=>p.value)).has(String(e)))return`${n}不在可选范围内`;if(i.type==="array"){const f=mD(i.items,r);if(f.length&&Array.isArray(e)&&!x0e(i.items,r)){const m=new Set(f.map(v=>v.value));if(e.some(v=>!m.has(String(v))))return`${n}包含无效选项`}const p=al(i.minItems),h=al(i.maxItems);if(Array.isArray(e)){if(p!=null&&e.length<p)return`${n}至少选择 ${p} 项`;if(h!=null&&e.length>h)return`${n}最多选择 ${h} 项`;if(i.items)for(const m of e){const v=Oee(m,i.items,n,r);if(v)return v}}return""}if(i.type==="number"||i.type==="integer"){if(typeof e!="number"||Number.isNaN(e))return`${n}请输入数字`;if(i.type==="integer"&&!Number.isInteger(e))return`${n}请输入整数`;const f=al(i.minimum),p=al(i.maximum),h=al(i.exclusiveMinimum),m=al(i.exclusiveMaximum),v=al(i.multipleOf);return f!=null&&e<f?`${n}不能小于 ${f}`:p!=null&&e>p?`${n}不能大于 ${p}`:h!=null&&e<=h?`${n}必须大于 ${h}`:m!=null&&e>=m?`${n}必须小于 ${m}`:v!=null&&!Qrn(e,v)?`${n}必须是 ${v} 的倍数`:""}const a=String(e),s=al(i.minLength),l=al(i.maxLength),c=al(i.minUtf8ByteLength),u=al(i.maxUtf8ByteLength);if(s!=null&&a.length<s)return`${n}至少 ${s} 个字符`;if(l!=null&&a.length>l)return`${n}最多 ${l} 个字符`;const d=Zrn(a);if(c!=null&&d<c)return`${n}至少 ${c} 字节`;if(u!=null&&d>u)return`${n}最多 ${u} 字节`;if(typeof i.pattern=="string")try{if(!new RegExp(i.pattern).test(a))return`${n}格式不正确`}catch{return""}return i.format==="uri"&&!/^(https?:\/\/|s3:\/\/)/i.test(a)?`${n}请输入有效链接`:""}function w0e(e,t){const n=e!=null&&e.length?e:t;return(Jv(n)||[]).map(r=>({value:String(r.value),label:r.label}))}function ax(e){return e.type.trim().toLowerCase()}function Y0(e){return ax(e)===dD}function fD(e){const t=ax(e);return t==="json_editor"||t==="object"||t===dD}function PU(e){return e==="array"||e==="list"||e==="tags"}function yin(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()){const t=Number(e);return Number.isFinite(t)?t:void 0}}function bin(e,t,n){const r=ax(e);if(n==="re_execute"){const u=t?TU(Mg(e.value,t)):e.value;if(u!==void 0)return u;const d=t?Mg(e.default,t):e.default;return d!==void 0?d:r==="boolean"?!1:["number","integer","float"].includes(r)?void 0:r==="checkbox"||PU(r)?[]:""}if(t){const u=Yrn(t,e.name);if(u!==void 0)return u;const d=b3e(t,e.name);if(d!==void 0)return d}const i=t?TU(Mg(e.value,t)):e.value,o=Mee(i),a=B$(o)||o,s=YN(o)||(ht(o)&&uD(o)?o:null),l=Oj(a);if((r==="json_editor"||r==="object")&&s)return Object.fromEntries(Object.entries(s).map(([u,d])=>[u,[hT(d,l)]]));if(i!==void 0)return i;if(e.value!==void 0)return e.value;const c=t?Mg(e.default,t):e.default;if(c!==void 0)return c;if(r==="boolean")return!1;if(!["number","integer","float"].includes(r))return r==="checkbox"||PU(r)?[]:""}function $P(e,t,n){return Object.fromEntries(e.map(r=>[r.name,bin(r,t,n)]))}function xin(e,t){const n=YN(t.output);if(e.name==="listing_data"&&n&&b3e(t,e.name)!==void 0||ht(n)&&e.name in n)return n;const r=Dj(t.output);if(ht(r)&&ht(r.properties)&&r[e.name]!==void 0)return YN(r);const i=Mg(e.value,t),o=Mee(i);if(ht(o)&&ht(o.properties)){const a=YN(o);if(a)return a}return uD(o)?o:null}function Lee(e,t){const n=B$(t.output);if(n)return n;const r=Mg(e.value,t),i=Mee(r);return B$(i)||(ht(i)?i:null)}function win(e,t){if(!ht(e)||!ht(e.propertyGroups))return[];const n=new Set(Object.keys(t)),r=new Set,i=[];for(const[a,s]of Object.entries(e.propertyGroups)){if(!ht(s))continue;const l=Br(s.propertyNames).map(String).filter(c=>n.has(c)&&!r.has(c));if(l.length){for(const c of l)r.add(c);i.push({key:a,title:pD(s.title)||a,description:pD(s.description),propertyNames:l})}}const o=Object.keys(t).filter(a=>!r.has(a));return o.length&&i.push({key:"__ungrouped",title:"其他",propertyNames:o}),i}function pD(e){return typeof e=="string"?e:""}function Br(e){return Array.isArray(e)?e:[]}function Wo(e){return ht(e)?e:{}}function Oj(e){if(!ht(e))return{};const t=e.$defs??e.definitions;return ht(t)?t:{}}function F$(e,t){const n=Lee(e,t);return Oj(n)}function $o(e,t){if(!ht(e)||typeof e.$ref!="string")return e;const n=e.$ref,i=["#/$defs/","#/definitions/"].find(l=>n.startsWith(l));if(!i)return e;const o=n.slice(i.length),a=t[o];if(!ht(a))return e;const s=Object.fromEntries(Object.entries(e).filter(([l])=>l!=="$ref"));return{...a,...s}}function jee(e){return Object.fromEntries(Object.entries(e).filter(([t])=>!["allOf","anyOf","oneOf","if","then","else"].includes(t)))}function Sin(e){return Object.keys(jee(e)).some(t=>!["if","then","else"].includes(t))}function NU(e){return Array.isArray(e)?e.some(NU):ht(e)?Object.values(e).some(NU):!Ai(e)}function kU(e,t){if(Object.is(e,t))return!0;if(e==null||t==null||typeof e!=typeof t||typeof e!="object")return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}function _in(e,t){return e==="array"?Array.isArray(t):e==="object"?ht(t):e==="integer"?Number.isInteger(t):e==="number"?typeof t=="number":e==="boolean"?typeof t=="boolean":e==="string"?typeof t=="string":e==="null"?t===null:!0}function Sd(e,t,n={}){const r=$o(e,n);if(!ht(r))return!0;const i=Br(r.allOf);if(i.length&&!i.every(l=>Sd(l,t,n)))return!1;const o=Br(r.anyOf);if(o.length&&!o.some(l=>Sd(l,t,n)))return!1;const a=Br(r.oneOf);if(a.length&&a.filter(l=>Sd(l,t,n)).length!==1||r.not!==void 0&&Sd(r.not,t,n))return!1;const s=Br(r.required).map(String);if(s.length&&(!ht(t)||!s.every(l=>NU(t[l]))))return!1;if(ht(r.properties)){if(!ht(t))return!1;for(const[l,c]of Object.entries(r.properties))if(t[l]!==void 0&&!Sd(c,t[l],n))return!1}return!(r.contains!==void 0&&!(Array.isArray(t)?t:ht(t)?[t]:[]).some(c=>Sd(r.contains,c,n))||r.items!==void 0&&Array.isArray(t)&&(!t.length||!t.every(l=>Sd(r.items,l,n)))||r.enum!==void 0&&!Br(r.enum).some(c=>kU(c,t))||r.const!==void 0&&!kU(r.const,t)||r.type!==void 0&&!(Br(r.type).length?Br(r.type).map(String):[String(r.type)]).some(c=>_in(c,t)))}function hD(e,t,n){const r=$o(e,n);if(!ht(r))return[];if("if"in r){const a=Sd(r.if,t,n)?r.then:r.else;return hD(a,t,n)}const i=[];for(const o of Br(r.allOf))i.push(...hD(o,t,n));return Sin(r)&&i.push(jee(r)),i}function Aw(e,t,n={}){const r=$o(e,n);if(!ht(r))return r;const i=[];for(const o of Br(r.allOf))i.push(...hD(o,t,n));if("if"in r){const a=Sd(r.if,t,n)?r.then:r.else;i.push(...hD(a,t,n))}return i.reduce((o,a)=>XN(o,a),jee(r))}function lv(e,t,n){const r=Lee(e,t);if(!r)return null;const i=Oj(r);return Wo(Aw(r,n,i))}function Cd(e,t,n){const r=lv(e,t,n);return fT(r)||xin(e,t)}function ey(e){const t=Wo(e),n=Wo(t.not);return new Set(Br(n.required).map(String))}function V$(e){const t=Wo(e),n=ey(t);return new Set(Br(t.required).map(String).filter(r=>!n.has(r)))}function Cin(e){const t=b0e.get(e);if(t)return t;const n=new u3e({allErrors:!0,strict:!1,validateSchema:!1,multipleOfPrecision:8});p3e(n);const{$schema:r,...i}=e,o=n.compile(i);return b0e.set(e,o),o}function C3e(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Ain(e){return e.split("/").slice(1).map(C3e)}function $in(e,t){const n=t.replace(/^#/,"").split("/").slice(1).map(C3e);let r=e;for(const i of n)if(Array.isArray(r))r=r[Number(i)];else if(ht(r))r=r[i];else return;return r}function Ein(e,t){if(e.keyword!=="not")return"";const n=$in(t,e.schemaPath);if(!ht(n))return"";const r=Br(n.required);return r.length>0?String(r[0]):""}function Tin(e){const t=e.params;return typeof t.missingProperty=="string"?t.missingProperty:""}function Iin(e,t,n){const r=Lj(e,t,n),i=od(e,t,n);return i.find(([o])=>r.has(o))||i[0]||["value",{}]}function Pin(e,t,n,r){const i=Ain(e.instancePath);let o=i[0]||"",a=Number.isInteger(Number(i[1]))?Number(i[1]):0,s=i[2]||"";const l=Ein(e,t);if(l&&(s=l),e.keyword==="required"){const p=Tin(e);o?s||(s=p):(o=p,a=0)}const u=Wo(t.properties)[o],d=Fj(r,o,u,n),f=Wo(d[a]);if(!s&&u){const[p]=Iin(u,n,f);s=p}return{propertyName:o,rowIndex:a,childName:s||"value",propertySchema:u,childSchema:u?id(u,n,f)[s]:void 0}}function Nin(e,t,n){const r=zee(t.childName,t.childSchema,n);return e.keyword==="required"?`请输入${r}`:e.keyword==="enum"?`${r}不在可选范围内`:e.keyword==="format"||e.keyword==="pattern"?`${r}格式不正确`:e.keyword==="type"?`${r}类型不正确`:e.keyword==="minLength"?`${r}长度不足`:e.keyword==="maxLength"?`${r}长度超出限制`:e.keyword==="minimum"?`${r}数值过小`:e.keyword==="maximum"?`${r}数值过大`:e.keyword==="multipleOf"?`${r}数值不符合步进要求`:e.keyword==="not"?`${r}与当前条件组合冲突`:`${r}不符合规则`}function MU(e,t,n){const r=Aw(e,t,n);if(!ht(r))return t;if(r.type==="array"&&Array.isArray(t)){const s=r.items;return t.map(l=>MU(s,l,n))}if(!ht(t)||!ht(r.properties))return t;const i=ey(r),o=V$(r),a={};for(const[s,l]of Object.entries(t)){if(i.has(s))continue;const c=r.properties[s];c&&(!o.has(s)&&$w(c,l,n)||(a[s]=MU(c,l,n)))}return a}function kin(e,t,n){const r=Lee(e,t);if(!r)return{};try{const i=Oj(r),o=Cin(r),a=P3e(e,t,n),s=MU(r,a,i);if(o(s))return{};const l={};for(const c of o.errors||[]){if(c.keyword==="if"||c.keyword==="additionalProperties")continue;const u=Pin(c,r,i,Wo(a));if(!u.propertyName||u.propertySchema&&vf(u.propertySchema,i)||u.childSchema&&vf(u.childSchema,i))continue;const d=zj(e.name,u.propertyName,u.childName,u.rowIndex);l[d]||(l[d]=Nin(c,u,i))}return l}catch{return{}}}function zee(e,t,n={}){const r=$o(t,n);return ht(r)&&pD(r.title)||e}function mD(e,t={}){const n=$o(e,t);if(!ht(n))return[];const r=Br(n.enum),i=Br(n.anyOf).map(l=>$o(l,t)).find(l=>ht(l)&&Br(l.enum).length>0),o=ht(i)?Br(i.enum):[],a=r.length?r:o||[],s=r.length?Br(n.enumNames):ht(i)?Br(i.enumNames):[];return a.map((l,c)=>({value:String(l),label:String(s[c]??l),rawValue:l}))}function vf(e,t={}){const n=$o(e,t);return ht(n)&&n.hidden===!0}function Min(e,t={}){return $o(e,t),_3e}function Bee(e,t={},n){const r=Aw(e,n,t);if(!ht(r))return{};const i=ht(r.items)?$o(r.items,t):r,o=Array.isArray(n)?n[0]:n;return Wo(Aw(i,o,t))}function id(e,t={},n){const r=Bee(e,t,n);if(ht(r.properties))return r.properties;const i=Wo(Aw(e,n,t));return ht(i.properties)?i.properties:{}}function Rin(e,t,n={}){const r=$o(e,n);if(!ht(r))return!0;const i=Br(r.selectors).map(String);if(!i.length)return!0;const o=Wo(r.type==="array"?Bj(e,t,n)[0]:t),a=id(e,n,o);return i.every(s=>{const l=a[s],c=o[s];return l===void 0||Ai(c)?!0:!pT(l,n,c)||yf(l,c,n)})}function od(e,t={},n){const r=Bee(e,t,n),i=ey(r);return Object.entries(id(e,t,n)).filter(([o,a])=>!i.has(o)&&!vf(a,t)&&Rin(a,ht(n)?n[o]:void 0,t))}function Lj(e,t={},n){const r=Bee(e,t,n),i=V$(r);return i.size?i:V$(Aw(e,n,t))}function pT(e,t={},n){return od(e,t,n).length>0}function jj(e,t={},n){const r=od(e,t,n);return r.length?(r.find(([o])=>o==="value")||r[0])[0]:""}function A3e(e,t){return V$(e).has(t)}function $3e(e,t,n={}){return od(e,n,t).some(([r,i])=>{const o=t[r];return pT(i,n,o)?!$w(i,o,n):!Ai(o)})}function $w(e,t,n={}){if(Ai(t))return!0;const r=Array.isArray(t)?t.map(Wo):[Wo(t)];return r.some(o=>od(e,n,o).length>0)?r.every(o=>!$3e(e,o,n)):!1}function yf(e,t,n={}){if(Ai(t))return!1;if(Array.isArray(t))return t.some(i=>yf(e,i,n));if(!ht(t))return!0;const r=id(e,n,t);return Object.entries(t).some(([i,o])=>{if(Ai(o))return!1;const a=r[i];return a?vf(a,n)?!1:pT(a,n,o)?yf(a,o,n):!0:!0})}function E3e(e,t,n={}){return(Array.isArray(t)?t.length?t.map(Wo):[{}]:[Wo(t)]).some(i=>{const o=Lj(e,n,i);return od(e,n,i).some(([a,s])=>{const l=i[a];return o.has(a)&&Ai(l)?!0:(o.has(a)||!$w(s,l,n))&&E3e(s,l,n)})})}function Fee(e,t,n,r=!1){return!r&&$w(e,t,n)||!E3e(e,t,n)?!1:r||pT(e,n,t)||!$w(e,t,n)}function Vee(e,t,n,r,i,o,a){const s=A3e(o,e);return s&&n===jj(t,i,r)?!0:!s&&!yf(t,a,i)?!1:Lj(t,i,r).has(n)}function zj(e,t,n,r=0){return`${e}.${t}.${r}.${n}`}const op={getEffectiveSchemaProperties:Cd,getEffectiveSchemaRoot:lv,getSchemaDefinitions:F$,getSchemaTitle:zee,getVisibleProperties:od,getPrimaryVisibleChildName:jj,getChildProperties:id,resolveSchemaRef:$o,getSchemaRows:Fj,schemaRecord:Wo,schemaArray:Br,schemaString:pD,isHiddenSchema:vf,hasRawSchemaPropertyValue:yf,isSchemaChildRequiredForForm:Vee,shouldValidateMissingNestedSchemaValue:Fee,getSchemaValueConstraintError:Oee,schemaErrorKey:zj};function Din(e){const t=Array.from(new Set(Object.values(e))).filter(Boolean);t.length&&ri.warning({title:"表单校验未通过",content:w.jsxs("div",{style:{display:"grid",gap:8},children:[w.jsx(bp,{type:"secondary",children:"请先处理以下字段后再提交。"}),w.jsx("ul",{style:{margin:0,paddingLeft:18},children:t.slice(0,8).map(n=>w.jsx("li",{children:n},n))}),t.length>8&&w.jsxs(bp,{type:"secondary",children:["还有 ",t.length-8," 个字段需要处理。"]})]}),okText:"知道了"})}function hT(e,t={}){return Object.fromEntries(Object.entries(id(e,t)).map(([n,r])=>{const i=$o(r,t);if(ht(i)&&i.default!==void 0)return[n,i.default];if(ht(i)&&i.const!==void 0)return[n,i.const];if(ht(i)){const o=Br(i.enum);if(o.length===1)return[n,o[0]]}return ht(i)&&i.type==="boolean"?[n,!1]:ht(i)&&(i.type==="number"||i.type==="integer")?[n,void 0]:[n,""]}))}function S0e(e){return e===!1||e===0?!0:typeof e=="string"?e.trim()!=="":Array.isArray(e)?e.length>0:e!=null}function T3e(e,t={}){const n=$o(e,t);if(!ht(n))return;if(n.default!==void 0)return n.default;if(n.const!==void 0)return n.const;const r=Br(n.enum);if(r.length===1)return r[0];if(n.type==="array"&&n.items){const i=hT(n,t);return Object.values(i).some(S0e)?[i]:void 0}if(n.type==="object"&&ht(n.properties)){const i=Object.fromEntries(Object.entries(n.properties).map(([o,a])=>[o,T3e(a,t)]));return Object.values(i).some(S0e)?i:void 0}}function Oin(e){if(typeof e!="string"&&typeof e!="number")return;const t=String(e).trim();if(/^\d+$/.test(t)){if(t.length===12)return"upc";if(t.length===13)return"ean";if(t.length===8||t.length===14)return"gtin"}}function I3e(e,t,n){const r=mD(e,n);if(!r.length)return t;const i=r.find(o=>kU(o.rawValue,t)||o.value===String(t)||o.label===String(t));return(i==null?void 0:i.rawValue)??t}function _0e(e,t,n,r){const i=id(e,r,n);if(ht(t)&&!("value"in i)){const o=t.value,a=jj(e,r,n),s=i[a];if(a&&s&&Ai(n[a])&&!Ai(o)){const l=pT(s,r,o)?Bj(s,o,r):I3e(s,o,r);return{...n,[a]:l}}}if(Ai(n.type)&&"value"in n&&"type"in i){const o=new Set(mD(i.type,r).map(s=>String(s.rawValue))),a=Oin(t);if(a&&o.has(a))return{...n,type:a}}return n}function Bj(e,t,n){const r=i=>{const o=hT(e,n);if(ht(i)){const a={...o,...i};return _0e(e,i,a,n)}if(!Ai(i)){const a=jj(e,n,o)||"value",s=id(e,n,o)[a];return _0e(e,i,{...o,[a]:I3e(s,i,n)},n)}return o};return Array.isArray(t)?t.length?t.map(r):[r({})]:[r(t)]}function Fj(e,t,n,r){const i=e[t];return Bj(n,i,r)}function C0e(e,t,n){const r=new Set;for(const i of e){const o=n[i.name];if(Y0(i))for(const d of Object.keys(S3e(i,t,o,op)))r.add(d);if(!fD(i)){i.required&&Ai(o)&&r.add(i.name);continue}const a=F$(i,t),s=iu(o),l=Cd(i,t,s),c=lv(i,t,s),u=ey(c);if(!l||!s){i.required&&Ai(o)&&r.add(i.name);continue}for(const[d,f]of Object.entries(l)){if(u.has(d)||vf(f,a))continue;const p=yf(f,s[d],a);Fj(s,d,f,a).forEach((m,v)=>{const y=Wo(m);for(const[b]of od(f,a,y)){const x=y[b],S=id(f,a,y)[b],_=Vee(d,f,b,y,a,c,s[d]);(_&&Ai(x)||Fee(S,x,a,_||p&&yf(S,x,a)))&&r.add(zj(i.name,d,b,v))}})}}return r}function Lin(e,t){if(t.has(e.name))return!0;const n=`${e.name}.`;for(const r of t)if(r.startsWith(n))return!0;return!1}function jin(e,t,n){const r=id(e,n,t),i=Lj(e,n,t),o={...hT(e,n),...t};for(const[a,s]of Object.entries(o)){const l=r[a];if(!l){Ai(s)&&delete o[a];continue}if(vf(l,n)){!i.has(a)&&Ai(s)&&delete o[a];continue}if(!i.has(a)&&Ai(s)){delete o[a];continue}o[a]=RU(l,s,n,i.has(a))}return o}function RU(e,t,n,r){const i=Bj(e,t,n);if(!i.some(l=>od(e,n,l).length>0))return t;const a=i.map(l=>jin(e,l,n)).filter(l=>r||$3e(e,l,n)),s=$o(e,n);return ht(s)&&s.type==="array"?a:a[0]}function P3e(e,t,n){const r=iu(n);if(!r)return n;const i=F$(e,t),o=lv(e,t,r),a=fT(o)||Cd(e,t,r);if(!a)return n;const s=ey(o),l=V$(o),c={};for(const[u,d]of Object.entries(a)){if(s.has(u))continue;if(vf(d,i)){const m=r[u]??T3e(d,i);m!==void 0&&(c[u]=RU(d,m,i,!0));continue}const f=r[u],p=l.has(u);if(!p&&$w(d,f,i))continue;const h=RU(d,f,i,p);h!==void 0&&(c[u]=h)}return c}function A0e(e,t,n){const r={...t};for(const i of e){if(!fD(i))continue;const o=r[i.name];if(typeof o=="string")try{r[i.name]=o.trim()?JSON.parse(o):{}}catch{r[i.name]=o}r[i.name]=P3e(i,n,r[i.name])}return"listing_data"in r&&(r.listing_data=Eb(r.listing_data)),r}function $0e(e){return e==null||e===""?w.jsx(bp,{type:"secondary",children:"空"}):typeof e=="boolean"?e?"是":"否":typeof e=="object"?w.jsx("pre",{style:{margin:0,padding:"8px 10px",background:"#f8fafc",border:"1px solid #e5e7eb",borderRadius:6,maxHeight:220,overflow:"auto",fontSize:12,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:JSON.stringify(e,null,2)}):String(e)}function zin(e,t=!1,n=""){return!t&&!n?e:w.jsxs(Tl,{size:6,align:"center",children:[w.jsx("span",{children:e}),n?w.jsx(ir,{title:n,children:w.jsx(Gh,{style:{color:"#9ca3af",cursor:"help",fontSize:13}})}):null,t?w.jsx(Fo,{color:"default",style:{marginInlineEnd:0,color:"#6b7280"},children:"只读"}):null]})}function E0e(e,t,n){return Math.min(Math.max(e,t),n)}function Hee({data:e,submitting:t,compact:n,actionsPlacement:r="inline",showOnlyMissing:i,onShowOnlyMissingChange:o,hideFilterToggle:a=!1,hideFilterSummary:s=!1,hideTimeoutAlert:l=!1,hideStepText:c=!1,executionFormLayout:u=!1,hideActions:d=!1,previewOnly:f=!1,disableBusinessEffects:p=!1,onValuesChange:h,onSubmit:m,onClose:v}){var Ue,Ee;const y=e.confirm_type==="form"||!(e.confirm_fields||[]).length&&!!((Ue=e.input_fields)!=null&&Ue.length),b=y?"input":"review",[x,S]=g.useState(b),[_,C]=g.useState(()=>$P(b==="input"?e.input_fields||[]:[],e,b)),[A,E]=g.useState({}),[I,T]=g.useState(()=>new Set),[$,P]=g.useState(!1),[N,M]=g.useState(()=>new Set),k=g.useRef(null),O=g.useRef(null),j=g.useRef(null),[z,B]=g.useState({visible:!1,thumbHeight:0,thumbTop:0}),D=i??$,H=g.useCallback(me=>{i===void 0&&P(me),o==null||o(me)},[i,o]),W=g.useMemo(()=>{var de;const me=(de=e.actions)!=null&&de.length?e.actions:min;return new Set(me)},[e.actions]),L=MC(W,"re_execute")&&(e.max_retries==null||(e.retry_count??0)<e.max_retries),R=g.useMemo(()=>x==="re_execute"?e.re_execute_params||[]:x==="input"?e.input_fields||[]:[],[e.input_fields,e.re_execute_params,x]),F=g.useMemo(()=>R.some(me=>{const de=iu(_[me.name]);return Y0(me)?!!K0(me,e,de,op):ax(me)!=="json_editor"?!1:!!(de&&Cd(me,e,de))}),[R,e,_]),V=g.useMemo(()=>R.some(me=>Y0(me)?!!K0(me,e,iu(_[me.name]),op):!1),[R,e,_]),U=x==="re_execute"||u&&x==="input"&&!F,G=U?16:4,q=me=>me==="re_execute"?e.re_execute_params||[]:me==="input"?e.input_fields||[]:[],X=me=>{S(me),C($P(q(me),e,me)),E({}),T(new Set),H(!1),M(new Set)},Y=f||p,K=g.useMemo(()=>Y?[]:R,[R,Y]),ne=aje(K,_,C);g.useEffect(()=>{var Ce;const me=e.confirm_type==="form"||!(e.confirm_fields||[]).length&&((Ce=e.input_fields)!=null&&Ce.length)?"input":"review";S(me);const de=me==="input"?e.input_fields||[]:[];C($P(de,e,me)),E({}),T(new Set),P(!1),M(new Set)},[e]),g.useEffect(()=>{C($P(R,e,x)),E({}),T(new Set),P(!1),M(new Set)},[R,e,x]);const ee=g.useMemo(()=>C0e(R,e,_),[R,e,_]),te=g.useMemo(()=>new Set([...ee,...Object.keys(A)]),[ee,A]).size;g.useEffect(()=>{if(r!=="bottom"){B({visible:!1,thumbHeight:0,thumbTop:0});return}const me=k.current;if(!me)return;let de=0;const Ce=()=>{var Re;if(de=0,!(me.scrollHeight>me.clientHeight+1)){B(Ze=>Ze.visible?{visible:!1,thumbHeight:0,thumbTop:0}:Ze);return}const tt=((Re=O.current)==null?void 0:Re.clientHeight)??0;if(tt<=0)return;const lt=Math.max(Math.min(36,tt),Math.round(me.clientHeight/me.scrollHeight*tt)),ct=Math.max(0,tt-lt),Ht=Math.max(1,me.scrollHeight-me.clientHeight),Me=Math.round(me.scrollTop/Ht*ct);B(Ze=>Ze.visible&&Ze.thumbHeight===lt&&Ze.thumbTop===Me?Ze:{visible:!0,thumbHeight:lt,thumbTop:Me})},Be=()=>{de||(de=window.requestAnimationFrame(Ce))};Be(),me.addEventListener("scroll",Be,{passive:!0}),window.addEventListener("resize",Be);const Ie=typeof ResizeObserver<"u"?new ResizeObserver(Be):null;Ie==null||Ie.observe(me),O.current&&(Ie==null||Ie.observe(O.current));for(const We of Array.from(me.children))Ie==null||Ie.observe(We);return()=>{de&&window.cancelAnimationFrame(de),me.removeEventListener("scroll",Be),window.removeEventListener("resize",Be),Ie==null||Ie.disconnect()}},[r]);const ie=me=>{const de=k.current;if(!de||!z.visible)return null;const Ce=me.clientHeight,Be=Math.max(0,Ce-z.thumbHeight),Ie=Math.max(0,de.scrollHeight-de.clientHeight);return Ie<=0?null:{body:de,maxScrollTop:Ie,maxThumbTop:Be}},oe=(me,de,Ce,Be)=>{me.scrollTop=Ce>0?de/Ce*Be:0},fe=me=>{const de=ie(me.currentTarget);if(!de)return;me.preventDefault(),me.stopPropagation();const Ce=me.currentTarget.querySelector("span"),Be=(Ce==null?void 0:Ce.contains(me.target))??!1;let Ie=de.body.scrollTop;if(!Be){const We=me.currentTarget.getBoundingClientRect(),tt=E0e(me.clientY-We.top-z.thumbHeight/2,0,de.maxThumbTop);oe(de.body,tt,de.maxThumbTop,de.maxScrollTop),Ie=de.body.scrollTop}j.current={pointerId:me.pointerId,startY:me.clientY,startScrollTop:Ie,maxScrollTop:de.maxScrollTop,maxThumbTop:de.maxThumbTop},me.currentTarget.setPointerCapture(me.pointerId)},ye=me=>{const de=j.current,Ce=k.current;if(!de||!Ce||de.pointerId!==me.pointerId)return;me.preventDefault(),me.stopPropagation();const Be=me.clientY-de.startY,Ie=de.startScrollTop+(de.maxThumbTop>0?Be/de.maxThumbTop*de.maxScrollTop:0);Ce.scrollTop=E0e(Ie,0,de.maxScrollTop)},$e=me=>{var de;((de=j.current)==null?void 0:de.pointerId)===me.pointerId&&(j.current=null)},be=g.useCallback((me,de)=>new Set([...C0e(me,e,_),...Object.keys(de)]),[e,_]),je=g.useCallback((me,de)=>{const Ce=be(me,de),Be=[];for(const Ie of me){if(!Y0(Ie))continue;const We=iu(_[Ie.name]),tt=K0(Ie,e,We,op);if(!tt)continue;const lt=new Set(tt.propertyNames);for(const ct of Object.keys(tt.properties))lt.has(ct)||Be.push(`${Ie.name}.${ct}`)}return Be.length?new Set(Array.from(Ce).filter(Ie=>Be.some(We=>Ie===We||Ie.startsWith(`${We}.`)))):Ce},[e,be,_]),Oe=g.useCallback(me=>{const de={};for(const Ce of me){if(Ce.required&&Ai(_[Ce.name])&&(de[Ce.name]=`请输入${Ce.label}`),Y0(Ce)&&Object.assign(de,S3e(Ce,e,_[Ce.name],op)),!fD(Ce))continue;const Be=F$(Ce,e),Ie=_[Ce.name],We=iu(Ie),tt=Cd(Ce,e,We),lt=lv(Ce,e,We),ct=ey(lt);if(!(!tt||!We)){for(const[Ht,Me]of Object.entries(tt)){if(ct.has(Ht)||vf(Me,Be))continue;const Re=yf(Me,We[Ht],Be),Ze=Fj(We,Ht,Me,Be);for(const[Qe,ot]of Ze.entries()){const Ge=Wo(ot);for(const[nt,De]of od(Me,Be,Ge)){const et=zj(Ce.name,Ht,nt,Qe),rt=zee(nt,De,Be),dt=Ge[nt],Nt=Vee(Ht,Me,nt,Ge,Be,lt,We[Ht]);if(Nt&&Ai(dt)||Fee(De,dt,Be,Nt||Re&&yf(De,dt,Be))){de[et]||(de[et]=`请输入${rt}`);continue}const kt=Oee(dt,De,rt,Be);kt&&(de[et]||(de[et]=kt))}}}for(const[Ht,Me]of Object.entries(kin(Ce,e,We)))de[Ht]||(de[Ht]=Me)}}return de},[e,_]),Fe=g.useCallback((me,de)=>{const Ce=Object.keys(de);Ce.length&&T(Be=>{const Ie=new Set(Be);for(const We of me){const tt=iu(_[We.name]);if(!tt)continue;const lt=lv(We,e,tt),ct=Cd(We,e,tt);if(ct)for(const Ht of win(lt,ct))Ht.propertyNames.some(Re=>Ce.some(Ze=>Ze.startsWith(`${We.name}.${Re}.`)))&&Ie.add(`${We.name}:${Ht.key}`)}return Ie})},[e,_]),xe=me=>{if(!me){H(!1),M(new Set);return}const de=Oe(R),Ce=je(R,de),Be=Object.fromEntries(Object.entries(de).filter(([Ie])=>Ce.has(Ie)));E(Be),Fe(R,Be),H(!0),M(Ce)},ue=(me,de)=>{const Ce={..._,[me]:de};C(Ce),h==null||h(Ce),E(Be=>{if(!Be[me])return Be;const Ie={...Be};return delete Ie[me],Ie})},pe=(me,de)=>{const Ce={..._,[me]:de};C(Ce),h==null||h(Ce),E(Be=>{const Ie=`${me}.`,We=Object.fromEntries(Object.entries(Be).filter(([tt])=>tt!==me&&!tt.startsWith(Ie)));return Object.keys(We).length===Object.keys(Be).length?Be:We})},Se=(me,de)=>{const Ce=`${me}:`;T(Be=>{const Ie=new Set(Array.from(Be).filter(We=>!We.startsWith(Ce)));for(const We of de)Ie.add(`${Ce}${We}`);return Ie})},Pe=me=>{const de=Oe(me);return E(de),Fe(me,de),D&&M(je(me,de)),Object.keys(de).length>0?(Din(de),!1):!0},_e=(me,de,Ce,Be,Ie)=>{const We=$o(de,Ie);if(Array.isArray(me)||ht(We)&&We.type==="array"){const tt=Array.isArray(me)?[...me]:[];return tt[Ce]=Be,tt}return Be},Te=(me,de,Ce)=>{const Be=lv(me,e,Ce),Ie=din({root:Be,properties:de});if(!Ie.eligible||!Ie.schema)return null;const We=`${me.name}:`,tt=Array.from(I).filter(ct=>ct.startsWith(We)).map(ct=>ct.slice(We.length)),lt=D?fin(N,me.name):void 0;return w.jsx(cD,{schema:Ie.schema,value:Ce,onChange:ct=>pe(me.name,ct),externalErrors:pin(A,me.name,Ie.schema),loadOptions:Y?void 0:Cb,uploadFile:Y?void 0:JR,disableFileUpload:Y,disabled:f,respectReadonly:_3e,showArrayControls:!1,groupDisplay:"collapse",groupAccordion:!1,destroyInactiveGroups:!1,expandedGroupKeys:tt,onExpandedGroupKeysChange:ct=>Se(me.name,ct),visibleFieldPaths:lt,className:"human-confirm-panel__schema-dynamic-form"})},ve=(me,de)=>{const Ce=F$(me,e);return w.jsx(iin,{field:me,context:de,definitions:Ce,helpers:op,disabled:f,errors:A,showOnlyMissing:D,onShowOnlyMissingChange:xe,usesExecutionFormLayout:U,createSchemaItemDefaults:hT,getForbiddenSchemaNames:ey,isReadonlySchema:Min,isTopLevelSchemaPropertyRequired:A3e,renderSchemaForm:Te,setErrors:E,updateField:ue,updateSchemaRow:_e})},he=()=>{m({action:"confirm",inputData:{approved:!0}})},Z=()=>{if(!Pe(R))return;const me=A0e(R,_,e);m({action:ain(W),inputData:me,confirmedInput:me})},se=()=>{m({action:"return_previous",inputData:{}})},ce=()=>{if(!Pe(R))return;const me=A0e(R,_,e);m({action:"re_execute",inputData:{request_regenerate:!0},modifiedParams:me})},ae=()=>{m({action:"cancel",inputData:{}})},we=sin({actions:W,canReExecute:L,hasInputFields:!!((Ee=e.input_fields)!=null&&Ee.length),hasOnClose:!!v,isFormMode:y,mode:x,returnStepId:e.return_step_id}),Ae=me=>{me==="submitConfirm"&&he(),me==="submitInput"&&Z(),me==="submitReturnPrevious"&&se(),me==="submitReExecute"&&ce(),me==="submitCancel"&&ae(),me==="switchInput"&&X("input"),me==="switchReview"&&X("review"),me==="switchReExecute"&&X("re_execute"),me==="cancelReExecute"&&X(y?"input":"review"),me==="close"&&(v==null||v())},He=me=>w.jsx(qt,{type:me.primary?"primary":void 0,danger:me.danger,loading:me.loading?t:!1,disabled:me.disabledWhenSubmitting?t:void 0,onClick:()=>Ae(me.command),children:me.label},me.key),Ve=me=>{var Ht,Me;const de=_[me.name],Ce=A[me.name]?"error":void 0,Be=me.placeholder||`请输入${me.label}`,Ie=ax(me);if(Ie==="boolean")return w.jsx(Ah,{size:U?"default":"small",checked:!!de,onChange:Re=>ue(me.name,Re)});if(["number","integer","float"].includes(Ie))return w.jsx(Sl,{size:U?"middle":"small",style:{width:"100%"},value:yin(de),onChange:Re=>ue(me.name,Re),placeholder:Be,status:Ce,precision:Ie==="integer"?0:void 0});const We=PU(Ie),tt=!!((Ht=me.options)!=null&&Ht.length||(Me=me.enum)!=null&&Me.length);if(Ie==="select"||Ie==="radio"||Ie==="segmented"||We||(Ie==="string"||Ie==="url")&&(tt||!!me.options_from_skill)){const Re=ne.getFieldState(me),Ze=me.options_from_skill?Re.options:w0e(me.options,me.enum),Qe=!!(me.options_from_skill||tt),ot=Re.waitingForDependencies?"请先选择关联参数":Re.placeholder||me.placeholder||`请选择${me.label}`,Ge=We?Array.isArray(de)?de.map(String):de==null||de===""?[]:[String(de)]:de==null||de===""?void 0:String(de);return Ie==="radio"||Ie==="segmented"?w.jsx(_u.Group,{value:de,onChange:nt=>ue(me.name,nt.target.value),options:Ze}):w.jsx(Qn,{size:U?"middle":"small",style:{width:"100%"},value:Ge,mode:We?Qe?"multiple":"tags":void 0,onChange:nt=>ue(me.name,nt),placeholder:Ge===void 0?ot:void 0,options:Ze,loading:Re.loading,disabled:Re.waitingForDependencies,allowClear:!0,showSearch:!0,tokenSeparators:We&&!Qe?[","]:void 0,optionFilterProp:"label",status:Ce,notFoundContent:Re.loading?w.jsx(ju,{size:"small"}):Re.error||null})}if(Ie==="checkbox")return w.jsx(rf.Group,{value:Array.isArray(de)?de:[],onChange:Re=>ue(me.name,Re),options:w0e(me.options,me.enum)});const ct={...me,type:Ie};if(mj(ct))return w.jsx(rje,{field:ct,value:de,size:U?"middle":"small",status:Ce,onChange:Re=>ue(me.name,Re)});if(Ie==="date"){const Re=lu(me);return w.jsx(Zr,{size:U?"middle":"small",style:{width:"100%"},value:av(de),picker:yw(Re),format:Re,placeholder:me.placeholder||"请选择日期",status:Ce,onChange:(Ze,Qe)=>ue(me.name,Qe)})}if(Ie==="daterange"){const Re=lu(me);return w.jsx(Zr.RangePicker,{size:U?"middle":"small",style:{width:"100%"},value:wC(de),picker:yw(Re),format:Re,status:Ce,onChange:(Ze,Qe)=>ue(me.name,Qe)})}if(Ie==="datetime"){const Re=lu(me);return w.jsx(Zr,{size:U?"middle":"small",style:{width:"100%"},value:av(de),showTime:{format:ov(Re)},format:Re,placeholder:me.placeholder||"请选择日期时间",status:Ce,onChange:(Ze,Qe)=>ue(me.name,Qe)})}if(Ie==="datetimerange"){const Re=lu(me);return w.jsx(Zr.RangePicker,{size:U?"middle":"small",style:{width:"100%"},value:wC(de),showTime:{format:ov(Re)},format:Re,placeholder:["请选择开始日期时间","请选择结束日期时间"],status:Ce,onChange:(Ze,Qe)=>ue(me.name,Qe)})}if(Ie==="time"){const Re=lu(me);return w.jsx(da,{size:U?"middle":"small",style:{width:"100%"},value:av(de),format:Re,placeholder:me.placeholder||"请选择时间",status:Ce,onChange:(Ze,Qe)=>ue(me.name,Qe)})}if(Ie==="timerange"){const Re=lu(me);return w.jsx(da.RangePicker,{size:U?"middle":"small",style:{width:"100%"},value:wC(de),format:Re,status:Ce,onChange:(Ze,Qe)=>ue(me.name,Qe)})}if(Ie==="textarea"||Ie==="text")return w.jsx(_n.TextArea,{size:U?"middle":"small",autoSize:{minRows:2,maxRows:G},value:typeof de=="string"?de:String(de??""),onChange:Re=>ue(me.name,Re.target.value),placeholder:Be,status:Ce});if(Ie==="string"||Ie==="url")return w.jsx(_n,{size:U?"middle":"small",value:typeof de=="string"?de:String(de??""),onChange:Re=>ue(me.name,Re.target.value),placeholder:Be,status:Ce});if(Ie===dD){const Re=K0(me,e,de,op);return Re?ve(me,Re):w.jsx(_n.TextArea,{size:U?"middle":"small",className:"human-confirm-panel__json-textarea",autoSize:{minRows:2,maxRows:G},value:typeof de=="string"?de:JSON.stringify(de??{},null,2),onChange:Ze=>ue(me.name,Ze.target.value),placeholder:Be,status:Ce})}if(Ie==="json_editor"||Ie==="object"){const Re=iu(de),Ze=Cd(me,e,Re);return Ze&&Re?Te(me,Ze,Re):w.jsx(_n.TextArea,{size:U?"middle":"small",className:"human-confirm-panel__json-textarea",autoSize:{minRows:2,maxRows:G},value:typeof de=="string"?de:JSON.stringify(de??{},null,2),onChange:Qe=>ue(me.name,Qe.target.value),placeholder:Be,status:Ce})}return w.jsx(_n.TextArea,{size:U?"middle":"small",autoSize:{minRows:2,maxRows:G},value:typeof de=="string"?de:String(de??""),onChange:Re=>ue(me.name,Re.target.value),placeholder:Be,status:Ce})},Ke=()=>{if(!R.length)return w.jsx(bp,{type:"secondary",children:"暂无输入字段配置"});const me=D?R.filter(de=>Y0(de)||Lin(de,N)):R;return w.jsxs(Kr,{size:U?void 0:"small",layout:"vertical",component:"div",className:`human-confirm-panel__fields${U?" wandox-human-confirm-panel__fields--re-execute":""}`,colon:!1,labelAlign:"left",children:[!s||!a&&!V?w.jsxs("div",{className:`human-confirm-panel__filter${s?" human-confirm-panel__filter--toggle-only":""}`,children:[!s&&w.jsx(bp,{type:"secondary",style:{fontSize:12},children:te>0?`还有 ${te} 项内容需要补充或修正`:"当前表单内容已通过基础检查"}),!a&&!V&&w.jsxs(Tl,{size:6,children:[w.jsx(bp,{style:{fontSize:12,color:"#374151"},children:"只看需处理项"}),w.jsx(Ah,{size:"small",checked:D,onChange:xe})]})]}):null,D&&!me.length?w.jsx(Nk,{type:"success",showIcon:!0,message:"暂无需要处理的表单项",style:{borderRadius:8}}):null,me.map(de=>{const Ce=ax(de),Be=fD(de)?iu(_[de.name]):null,Ie=!!(Be&&(Ce===dD?K0(de,e,Be,op):(Ce==="json_editor"||Ce==="object")&&Cd(de,e,Be))),We=!!(Be&&(Ce==="json_editor"||Ce==="object")&&Cd(de,e,Be));return w.jsx(Kr.Item,{className:`human-confirm-panel__field${Ie?" human-confirm-panel__field--schema":""}${We?" human-confirm-panel__field--dynamic-schema":""}${U&&!Ie?" wandox-human-confirm-panel__field--re-execute":""}`,label:Ie?void 0:U?zin(de.label,!1,de.description):de.label,required:Ie?!1:de.required,validateStatus:A[de.name]?"error":void 0,help:A[de.name]||void 0,style:{marginBottom:0},children:Ve(de)},de.name)})]})},at=()=>{const me=e.confirm_fields||[];return me.length?w.jsx("div",{className:"human-confirm-panel__review-list",children:me.map(de=>w.jsxs("div",{className:"human-confirm-panel__review-item",children:[w.jsx(bp,{type:"secondary",className:"human-confirm-panel__review-label",children:de.label}),w.jsx("div",{className:"human-confirm-panel__review-value",children:$0e(Mg(de.value,e))})]},de.name||de.label))}):e.output?w.jsx("div",{className:"human-confirm-panel__review-output",children:$0e(e.output)}):null},Ne=w.jsxs("div",{ref:k,className:`human-confirm-panel__body${x==="review"?" human-confirm-panel__body--review":x==="input"?" human-confirm-panel__body--input":" human-confirm-panel__body--re-execute"}${U?" wandox-human-confirm-panel__body--re-execute":""}`,style:{display:"flex",flexDirection:"column",gap:12,flex:r==="bottom"?1:void 0,minHeight:r==="bottom"?0:void 0},children:[e.playbook_name&&!n&&!c&&w.jsxs(bp,{type:"secondary",style:{fontSize:12},children:["步骤: ",e.playbook_name]}),e.timeout_minutes!=null&&!l&&w.jsx(Nk,{type:"info",showIcon:!0,message:`请在 ${e.timeout_minutes} 分钟内处理`,style:{padding:"6px 10px",borderRadius:6}}),x==="review"?at():Ke()]});return w.jsx(Co,{componentDisabled:f||void 0,children:w.jsxs("div",{className:`human-confirm-panel${n?" human-confirm-panel--compact":""}${r==="bottom"?" human-confirm-panel--bottom-actions":""}${f?" human-confirm-panel--preview-only":""}`,style:{display:"flex",flexDirection:"column",gap:12,minHeight:r==="bottom"?"100%":void 0},children:[r==="bottom"?w.jsxs("div",{className:"wandox-human-confirm-panel__body-shell",children:[Ne,w.jsx("div",{ref:O,className:`wandox-human-confirm-panel__scrollbar${z.visible?"":" wandox-human-confirm-panel__scrollbar--hidden"}`,"aria-hidden":"true",onPointerDown:fe,onPointerMove:ye,onPointerUp:$e,onPointerCancel:$e,onLostPointerCapture:$e,children:w.jsx("span",{style:{height:z.thumbHeight,transform:`translateY(${z.thumbTop}px)`}})})]}):Ne,!d&&w.jsxs("div",{className:"human-confirm-panel__actions",style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:8,flexWrap:"wrap",flexShrink:r==="bottom"?0:void 0,marginTop:r==="bottom"?"auto":void 0},children:[w.jsx(Tl,{wrap:!0,children:we.left.map(He)}),w.jsx(Tl,{wrap:!0,style:{justifyContent:"flex-end",marginLeft:"auto"},children:we.right.map(He)})]})]})})}const N3e="amazon_listing_focus";function bo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function qr(e){return typeof e=="string"&&e?e:void 0}function fd(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()&&Number.isFinite(Number(e)))return Number(e)}function k3e(e){return typeof e=="boolean"?e:void 0}function Bin(e){return bo(e)&&"value"in e}function Fin(e){return!bo(e)||!bo(e.data)?null:e.output_type==="dynamic_form"||Object.values(e.data).some(Bin)?e.data:null}function Wee(e){if(!bo(e))return null;if(bo(e.output))return Wee(e.output);const t=bo(e.data)?e.data:e;return(bo(t.listing_data)||Array.isArray(t.listing_data))&&bo(t.properties)?t:null}function M3e(e){const t=Wee(e),n=t==null?void 0:t.properties;return!bo(n)||!Array.isArray(n.propertyFocus)?[]:n.propertyFocus.map(r=>typeof r=="string"?r.trim():"").filter(Boolean)}function R3e(e,t){var r,i;const n=qr(e.type);return n||(qr(e.options_from_skill)||(r=Jv(e.options))!=null&&r.length||(i=Jv(e.enum))!=null&&i.length?"select":bo(t)?"json_editor":"text")}function N5(e){if(Array.isArray(e))return e.map((t,n)=>{var i;const r=String(t.name||t.label||`field_${n+1}`);return{...t,name:r,type:R3e(t,t.value),label:String(t.label||r),required:k3e(t.required)??!0,description:qr(t.description),placeholder:qr(t.placeholder),options:Jv(t.options),enum:(i=Jv(t.enum))==null?void 0:i.map(o=>String(o.value)),default:t.default,file_type:qr(t.file_type),options_from_skill:qr(t.options_from_skill),options_params:bo(t.options_params)?t.options_params:void 0}})}function Vin(e){const t=Wee(e);if(t)return[{name:"listing_data",type:M3e(e).length?N3e:"json_editor",label:"刊登内容确认",required:!0,value:t.listing_data}];const n=Fin(e);if(!n)return;const r=Object.entries(n).map(([i,o])=>{var l;if(!bo(o))return null;const a=o.value,s=R3e(o,a);return{name:i,type:s,label:qr(o.label)||i,required:k3e(o.required),description:qr(o.description),placeholder:qr(o.placeholder),options:Jv(o.options),enum:(l=Jv(o.enum))==null?void 0:l.map(c=>String(c.value)),default:o.default,value:a,file_type:qr(o.file_type),options_from_skill:qr(o.options_from_skill),options_params:bo(o.options_params)?o.options_params:void 0}}).filter(i=>!!i);return r.length?r:void 0}function Hin(e,t){if(!(e!=null&&e.length)||!M3e(t).length)return e;let n=!1;const r=e.map(i=>{const o=i.type.trim().toLowerCase(),a=i.name==="listing_data",s=o==="json_editor"&&(a||e.length===1);return!a&&!s?i:(n=!0,{...i,name:a?i.name:"listing_data",type:N3e,label:i.label||"刊登内容确认",required:i.required??!0})});return n?r:e}function Win(e,t){if(!(e!=null&&e.length)||!(t!=null&&t.length))return e;const n=new Map(t.map(r=>[r.name,r]));return e.map(r=>{var a,s,l,c,u,d;const i=n.get(r.name);if(!i)return r;const o=!!(i.options_from_skill||(a=i.options)!=null&&a.length||(s=i.enum)!=null&&s.length);return{...r,type:o&&!r.options_from_skill&&!((l=r.options)!=null&&l.length)&&!((c=r.enum)!=null&&c.length)?i.type:r.type,description:r.description??i.description,placeholder:r.placeholder??i.placeholder,options:(u=r.options)!=null&&u.length?r.options:i.options,enum:(d=r.enum)!=null&&d.length?r.enum:i.enum,file_type:r.file_type??i.file_type,options_from_skill:r.options_from_skill??i.options_from_skill,options_params:r.options_params&&Object.keys(r.options_params).length>0?r.options_params:i.options_params}})}function D3e(e,t){if(t!=null&&t>0)return`step_${t}`;const n=e==null?void 0:e.match(/^step_(\d+)$/);if(!n)return;const r=Number(n[1]);if(!(!Number.isFinite(r)||r<=1))return`step_${r-1}`}function Gin(e,t){var r;if(!e)return;if(e.return_step_id)return e.return_step_id;const n=e.step_id;if(n&&(t!=null&&t.length)){const i=t.findIndex(o=>o.step_id===n);if(i>0)return(r=t[i-1])==null?void 0:r.step_id}return D3e(n,e.step_index)}function mT(e){const t=bo(e.human_input_config)?e.human_input_config:{},n=String(e.step_id??""),r=fd(e.step_index),i=e.output??e.output_data,o=bo(e.human_input_data)?e.human_input_data:{},a=bo(o.input_data)?o.input_data:void 0,s=Hin(N5(e.input_fields??t.input_fields)??Vin(i),i),l=N5(e.re_execute_params??t.re_execute_params),c=Win(s,l),u=qr(e.return_step_id)||qr(e.previous_step_id)||qr(e.prev_step_id)||qr(t.return_step_id)||qr(t.previous_step_id)||qr(t.prev_step_id)||D3e(n,r);return{step_id:n,step_index:r,return_step_id:u,step_db_id:fd(e.step_db_id)??fd(e.id),playbook_name:qr(e.playbook_name)??qr(e.step_name),message:qr(e.message)??qr(t.message),confirm_type:qr(e.confirm_type)??qr(t.confirm_type),position:qr(e.position)??qr(t.position),actions:Array.isArray(e.actions)?e.actions.map(String):Array.isArray(t.actions)?t.actions.map(String):void 0,confirm_fields:N5(e.confirm_fields??t.confirm_fields),input_fields:c,re_execute_params:l,retry_count:fd(e.retry_count)??fd(t.retry_count),max_retries:fd(e.max_retries)??fd(t.max_retries),timeout_minutes:fd(e.timeout_minutes)??fd(t.timeout_minutes),output:i,input:e.input??e.input_data,submitted_input:a}}async function Uin(e,t){const n=await Yvt({execution_id:e,...t?{step_id:t}:{}}),r=n,i=r.data??r.results??n,a=(Array.isArray(i)?i:bo(i)&&Array.isArray(i.items)?i.items:[])[0];return bo(a)?mT(a):null}function Vt(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function DU(e,t=""){return typeof e=="string"?e:e==null?t:String(e)}function Id(e){return typeof e=="string"?e:void 0}function qin(e){return Array.isArray(e)?e.map(t=>typeof t=="string"||typeof t=="number"?String(t):Vt(t)?DU(t.name??t.field??t.key):"").filter(Boolean):[]}function Tb(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()){const t=Number(e);return Number.isFinite(t)?t:void 0}}function Vj(e){if(!(e==null||e===""))return String(e)}function O3e(e){if(e==null)return!1;const t=String(e).trim();return t?/^\d+$/.test(t)||/^[0-9a-f]{24,}$/i.test(t)||/^[0-9a-f]{8}-[0-9a-f-]{13,}$/i.test(t)||/^(step|playbook|workflow|copy_workflow|agent_exec|execution|custom_agent|result)[_-]/i.test(t):!1}function Kin(e){if(e==null)return"";const t=String(e).trim();return!t||O3e(t)?"":t}function zh(...e){for(const t of e){const n=Kin(t);if(n)return n}return""}function Yin(e,t){return e instanceof Error||Vt(e)&&typeof e.message=="string"?e.message:t}function Hj(e){return Vt(e)?e.data??e.results??e:e}function Xin(e){const t=Hj(e),n=Vt(t)?t.items??t.records??t.rows??t.schedules??t.list??t.data:t;return Array.isArray(n)?n:[]}function Zin(e,t){const n=Hj(e),r=[Vt(e)&&Vt(e.meta)?e.meta.total:void 0,Vt(n)&&Vt(n.meta)?n.meta.total:void 0,Vt(n)?n.total:void 0];for(const i of r){const o=Number(i);if(Number.isFinite(o)&&o>=0)return o}return t}function L3e(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";const n=new Date,r=t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate();return t.toLocaleString("zh-CN",r?{hour:"2-digit",minute:"2-digit"}:{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function j3e(e){if(!e)return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t}function OU(e){return String(e).padStart(2,"0")}function T0e(e,t=0,n=0){const r=new Date(e);return r.setHours(t,n,0,0),r}function Qin(e){const t=e==null?void 0:e.trim();if(!t||t==="未知时间")return null;const n=new Date,r=t.match(/(\d{1,2}):(\d{2})/);if(t==="刚刚")return n;if(t.startsWith("昨天")){const o=new Date(n);return o.setDate(o.getDate()-1),T0e(o,Number((r==null?void 0:r[1])??0),Number((r==null?void 0:r[2])??0))}if(/^\d{1,2}:\d{2}$/.test(t))return T0e(n,Number((r==null?void 0:r[1])??0),Number((r==null?void 0:r[2])??0));const i=t.match(/^(\d{1,2})[/-](\d{1,2})(?:\s+(\d{1,2}):(\d{2}))?/);return i?new Date(n.getFullYear(),Number(i[1])-1,Number(i[2]),Number(i[3]??0),Number(i[4]??0)):null}function z3e(e){return j3e(e.occurredAt)??Qin(e.time)}function I0e(e){var t;return((t=z3e(e))==null?void 0:t.getTime())??0}function Jin(e){return`${e.getFullYear()}-${OU(e.getMonth()+1)}-${OU(e.getDate())}`}function eon(e){return e.map((t,n)=>({run:t,index:n})).sort((t,n)=>I0e(n.run)-I0e(t.run)||t.index-n.index).map(t=>t.run)}function By(e){return e==null||e===""?"-":typeof e=="string"?e.length>80?`${e.slice(0,80)}...`:e:typeof e=="number"||typeof e=="boolean"?String(e):Array.isArray(e)?`${e.length} 条`:Vt(e)?JSON.stringify(e).slice(0,80):String(e)}function Xu(e,...t){for(const n of t){const r=By(n);if(r!=="-")return r}return e}function ton(e){return e==null||e===""?"-":typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):JSON.stringify(e,null,2)}function xo(e){return e==null||e===""?!1:Array.isArray(e)?e.length>0:Vt(e)?Object.keys(e).length>0:!0}function Gee(e){const t=String(e??"").toLowerCase();return t==="failed"||t==="cancelled"||t==="timeout"?"failed":t==="waiting"||t==="waiting_input"||t==="pending_input"?"waiting":t==="running"||t==="pending"||t==="pending_async"||t==="awaiting_async"?"running":"completed"}function H$(e){const t=String(e??"pending").toLowerCase();return t==="failed"||t==="cancelled"||t==="timeout"?"failed":t==="waiting"||t==="waiting_input"||t==="pending_input"?"waiting":t==="running"||t==="pending_async"||t==="awaiting_async"?"running":t==="completed"||t==="complete"||t==="success"||t==="succeeded"?"completed":"pending"}function B3e(e){const t=By(e);return t==="等待人工确认"||t==="等待确认"||t==="待人工处理"}function F3e(e){const t=By(e);return/^已完成\s*\d+\s*个步骤/.test(t)||t.includes("耗时")}function Wj(e){return e.status==="running"?"正在执行":e.status==="awaiting_async"||e.status==="pending_async"?"等待异步结果":e.status==="waiting_input"?"等待人工确认":e.status==="failed"?Xu("执行失败",e.error_message,e.result_summary):e.status==="cancelled"?"执行已取消":e.status==="timeout"?"执行超时":B3e(e.result_summary)||F3e(e.result_summary)?"执行完成":Xu("执行完成",e.result_summary)}function V3e(e){const t=(e==null?void 0:e.trim())??"";if(!t)return null;const n=t.toLowerCase();return["waiting","waiting_input","pending_input"].includes(n)?"waiting":["failed","failure","error","cancelled","timeout"].includes(n)?"failed":["completed","complete","success","succeeded"].includes(n)?"completed":["running","pending","pending_async","awaiting_async"].includes(n)?"running":t.endsWith("待确认")?"waiting":t.endsWith("失败")?"failed":t.endsWith("成功")?"completed":t.endsWith("执行中")||t.endsWith("待执行")?"running":null}function H3e(e){return e?e.status==="failed"||V3e(e.businessStatus)==="failed":!1}function non(e){return!!(e!=null&&e.resultId&&e.status==="completed"&&!H3e(e))}function W3e(e){return e===!0||e===1||e==="true"||e==="1"}function ron(e){return e.title.replace(/(已记住上次选择)$/,"")}function ion(e,t){if(!Vt(e))return null;const n=Vt(e.layout)?e.layout:{},r=DU(e.key??e.id??e.name,`group_${t+1}`),i=qin(e.fields??e.field_names??e.params??e.items);return!r||i.length===0?null:{key:r,title:DU(e.title??e.label??e.name,r),description:Id(e.description??e.subtitle??e.helper),fields:i,columns:Tb(e.columns??e.column??n.columns),remember_last:W3e(e.remember_last??e.rememberLast??e.remember)}}function oon(e){return Vt(e)?{title:Id(e.title??e.form_title),description:Id(e.description??e.subtitle??e.form_description),footerNote:Id(e.footer_note??e.footerNote??e.note),submitLabel:Id(e.submit_label??e.submitLabel??e.primary_action_text),draftLabel:Id(e.draft_label??e.draftLabel??e.secondary_action_text),showDraft:typeof e.show_draft=="boolean"?e.show_draft:typeof e.showDraft=="boolean"?e.showDraft:void 0}:{}}function aon(e){if(!Vt(e))return null;const t=e.plan_yaml??e.yaml_content;if(typeof t!="string"||!t.trim())return null;try{const n=kE.parse(t);return Vt(n)?n:null}catch{return null}}function son(e){const t=Hj(e),n=[],r=[],i=s=>{Vt(s)&&!n.includes(s)&&n.push(s)};i(t),Vt(t)&&(i(t.agent),i(t.custom_agent),i(t.detail),i(t.template),i(t.market_template));const o=n.map(aon).filter(s=>!!s);for(const s of o)r.push(s),i(s);const a=n.map(s=>s.params_schema).filter(Vt);for(const s of a)i(s);return{data:t,records:n,planRecords:r}}function lon(e,t){const n=new Map(e.map(a=>[a.name,a])),r=[],i=new Set;Array.isArray(t)&&t.forEach((a,s)=>{const l=ion(a,s);if(!l)return;const c=l.fields.filter(u=>n.has(u));if(c.length!==0){r.push({...l,fields:c});for(const u of c)i.add(u)}});for(const a of e){const s=a.group;if(!s||i.has(a.name))continue;let l=r.find(c=>c.key===s);l||(l={key:s,title:a.group_label||s,description:a.group_description,fields:[]},r.push(l)),l.fields.push(a.name),i.add(a.name)}if(r.length===0)return[];const o=e.filter(a=>!i.has(a.name));return o.length>0&&r.push({key:"__ungrouped",title:"其他参数",fields:o.map(a=>a.name)}),r}function G3e(e){const{data:t,records:n,planRecords:r}=son(e),o=[Array.isArray(t)?t:void 0,...n.flatMap(c=>[c.input_params,c.x_input_params]),...r.map(c=>c.params)].find(c=>Array.isArray(c)||Vt(c)),a=sje(o),s=n.flatMap(c=>[c.form_groups,c.input_form_groups,c.x_form_groups]).find(Array.isArray),l=n.map(c=>c.form_ui??c.input_form_ui??c.form_config).find(Vt);return{fields:a,formGroups:lon(a,s),formUi:oon(l)}}function con(e){return G3e(e).fields}function Uee(e){const t=e;return Vt(t)?t.output_type==="dynamic_form"&&Vt(t.output_data)?t.output_data.data??t.output_data:t.output_type==="dynamic_form"&&Vt(t.data)?t.data:t.output_data??t.output??t.final_output??t.result_data??t.data??t:t}const uon=new Set(["execution_id","id","trigger_type","trigger_display","started_at","completed_at","duration_ms","result_id","result_data","result_summary","output","output_data","output_type","output_fields_map","previous_step_output","previous_step_outputs","step_output","step_outputs","listing_data","listing_code","job_id","human_input_data","human_input_config","modified_params","confirmed_input"]),don={upload_excel:"上传文件",file_path:"上传文件",file:"上传文件",store_account:"店铺账号",marketplace_id:"站点",site:"站点",language:"语言",target_language:"语言",product_type:"产品品类",product_category:"产品品类",sku:"产品 SKU",product_sku:"产品 SKU",product_description:"产品描述",description:"产品描述",main_image:"主产品图",main_pic:"主产品图",images:"产品图片",sample_image:"样品图片"};function Ld(e){return e.trim().replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}const fon=["execution_title","task_title","product_sku","sku","asin","order_id","order_no","listing_id","task_name","custom_goal","goal"],pon=["product_name","item_name","product_title","title","name"];function P0e(e,t){for(const n of t){const r=Object.entries(e).find(([o])=>Ld(o)===n);if(!r)continue;const i=r[1];if((typeof i=="string"||typeof i=="number")&&String(i).trim())return String(i).trim()}return""}function hon(e){const t=P0e(e,fon),n=P0e(e,pon),i=[t,n].filter((o,a,s)=>o&&s.indexOf(o)===a).join(" · ");return i?i.slice(0,256):void 0}function qee(e){const t=Ld(e);return uon.has(t)||t.endsWith("_output")||t.endsWith("_outputs")||t.includes("previous_step")}function mon(e,t=new Map){const n=Ld(e);return t.get(e)||t.get(n)||don[n]||e.replace(/_/g," ").replace(/\b\w/g,r=>r.toUpperCase())}function gon(...e){const t=new Map;for(const n of e){const r=Array.isArray(n)?n:con(n);for(const i of r)!i.name||!i.label||(t.set(i.name,i.label),t.set(Ld(i.name),i.label))}return t}function N0e(e){try{const n=new URL(e).pathname.split("/").filter(Boolean).pop();return n?decodeURIComponent(n):e}catch{return e.split("/").filter(Boolean).pop()||e}}function k0e(e,t){const n=Ld(e);return n.includes("file")||n.includes("excel")||n.includes("image")||n.includes("pic")?!0:typeof t=="string"&&/^https?:\/\//i.test(t)&&/\.(xlsx?|csv|png|jpe?g|webp|gif|pdf)(\?|$)/i.test(t)}function Kee(e,t){if(typeof t=="string")return k0e(e,t)?N0e(t):t.length>120?`${t.slice(0,120)}...`:t;if(typeof t=="number"||typeof t=="boolean")return String(t);if(Array.isArray(t))return t.length===0?"":t.every(n=>typeof n=="string"&&k0e(e,n))?t.map(n=>N0e(String(n))).join("、"):`${t.length} 项`;if(Vt(t)){const n=Object.keys(t).filter(r=>!qee(r));return n.length===0?"":`${n.length} 项配置`}return By(t)}function Gj(e,t=new Map){const n=Uee(e);return Vt(n)?Object.entries(n).filter(([r,i])=>!qee(r)&&xo(i)).map(([r,i])=>[mon(r,t),Kee(r,i)]).filter(([,r])=>xo(r)).slice(0,12):[]}function gT(e){const t=Uee(e);return Vt(t)?Object.entries(t).some(([n,r])=>!qee(n)&&xo(r)):!1}function von(...e){return e.find(gT)}function Yee(e){const t=Uee(e);return Vt(t)&&gT(t)?{...t}:void 0}function Xee(e){return!!(e!=null&&e.some(([,t])=>xo(t)&&t!=="-"))}function yon(e,t,n=new Map){const r=Gj(t,n),i=Yee(t);if(r.length===0&&!i)return e;const o=Xee(e.params),a=gT(e.inputValues);return(o||r.length===0)&&(a||!i)?e:{...e,params:o?e.params:r,inputValues:a?e.inputValues:i}}function bon(e,t){const n=Object.entries((t==null?void 0:t.inputValues)??{}),r=new Map(((t==null?void 0:t.params)??[]).map(([i,o])=>[Ld(i),o]));return e.reduce((i,o)=>{const a=Ld(o.name),s=n.find(([c])=>Ld(c)===a),l=r.get(Ld(o.label||o.name))??r.get(a);return i[o.name]=(s==null?void 0:s[1])??l??"",i},{})}function xon(e){const t=String(e??"pending").toLowerCase();return["failed","cancelled","timeout"].includes(t)?"failed":["waiting","waiting_input","pending_input"].includes(t)?"waiting":["running","pending_async","awaiting_async"].includes(t)?"running":["completed","complete","success","succeeded"].includes(t)?"completed":"pending"}function won(e){return e==="running"?"正在执行":e==="awaiting_async"||e==="pending_async"?"等待异步结果":e==="waiting_input"?"等待人工确认":e==="failed"?"执行失败":e==="cancelled"?"执行已取消":e==="timeout"?"执行超时":"执行完成"}function Zee(e){const t=zh(e.agent_name)||"执行步骤",n=String(e.status??"pending");return[{id:String(e.execution_id??e.id),title:n==="waiting_input"?"等待人工确认":t,description:e.summary||won(e.status),event:n,humanConfirm:n==="waiting_input",humanConfirmTriggered:n==="waiting_input",businessStatus:typeof e.business_status=="string"?e.business_status:void 0,status:xon(e.status)}]}function Son({event:e,existing:t,eventExecutionId:n,eventAgentName:r,isRecommended:i,pendingExecutionTitle:o,runInputData:a,nextSteps:s,nextStatus:l,nextStepError:c,eventTime:u}){var h;const d=String(n),f=Gj(a),p=Yee(a);return{id:d,resultId:e.result_id?String(e.result_id):t==null?void 0:t.resultId,title:((h=e.execution_title)==null?void 0:h.trim())||(t==null?void 0:t.title)||o||r,time:(t==null?void 0:t.time)||L3e(u),occurredAt:(t==null?void 0:t.occurredAt)||u,trigger:i?"推荐执行":"手动运行",status:l,businessStatus:e.business_status??(t==null?void 0:t.businessStatus),summary:l==="waiting"?"等待人工确认":l==="completed"?"执行完成":l==="failed"?c:"正在执行",resultTitle:(t==null?void 0:t.resultTitle)||(l==="failed"?"执行失败":r),resultContent:t==null?void 0:t.resultContent,resultPayload:t==null?void 0:t.resultPayload,params:Xee(t==null?void 0:t.params)?(t==null?void 0:t.params)??[]:f,inputValues:gT(t==null?void 0:t.inputValues)?t==null?void 0:t.inputValues:p,steps:s.length>0?s:(t==null?void 0:t.steps)||Zee({id:n,execution_id:d,agent_name:r,status:e.type==="waiting_input"?"waiting_input":l==="failed"?"failed":l==="completed"?"completed":"running",summary:l==="failed"?c:l==="waiting"?"等待人工确认":l==="completed"?"执行完成":"正在执行"}),outputs:(t==null?void 0:t.outputs)||[],detailData:t==null?void 0:t.detailData}}function U3e(e){return Array.isArray(e)?e.filter(t=>!Uj(t)).length:void 0}function vT(e,t="pending"){return Vt(e)?String(e.status??t).toLowerCase():t}function Uj(e){return Vt(e)?vT(e)==="skipped"||e.skipped===!0||e.is_skipped===!0:!1}function _on(e){return Vt(e)?!!(xo(e.human_input_data)||xo(e.submitted_input)||xo(e.confirmed_input)||xo(e.human_input_at)||xo(e.human_input_by)||e.human_confirm_triggered===!0):!1}function q3e(e){if(!Array.isArray(e))return"";const t=e.find(r=>Vt(r)?["failed","cancelled","timeout"].includes(vT(r)):!1);if(!Vt(t))return"";const n=Qee(t.output_data);return n||Xu("",t.error_message,t.message)}function Qee(e){if(!Vt(e))return"";const t=Vt(e.data)?e.data:{};return Xu("",e.error_message,t.error_message,e.error,t.error)}function Con(e){if(!Vt(e))return"";const t=Vt(e.data)?e.data:{};return Xu("",e.message,t.message,e.detail,t.detail)}function Aon(e,t){return!Array.isArray(e)||e.length===0?Zee({...t,summary:Wj(t)}):e.filter(r=>!Uj(r)).map((r,i)=>{const o=Vt(r)?r:{},a=o.output_data,s=Vt(o.playbook)?o.playbook:{},l=Vt(o.workflow)?o.workflow:{},c=vT(o),u=H$(c),d=u==="failed"?Xu("",o.error_message,Qee(a)):"",f=u==="waiting"||_on(o),p=Xu("",d,o.business_status,o.description,s.description,l.description,u==="failed"?o.message:"",Con(a)),h=o.duration_ms?`耗时 ${Math.round(Number(o.duration_ms)/1e3)} 秒`:"",m=zh(o.step_name,o.playbook_name,o.name,o.title,s.name,l.name)||`步骤 ${i+1}`;return{id:String(o.step_id??o.id??`step_${i+1}`),title:m,description:[p,h].filter(Boolean).join(" · "),event:c,humanConfirm:u==="waiting"||!!(o.requires_human_confirm??o.requires_human_input??o.human_confirm??o.human_confirm_enabled),humanConfirmTriggered:f,businessStatus:Id(o.business_status),status:u,rawData:o}})}function $on(e,t){if(!Array.isArray(e)||t==null||t<0)return;const n=e[t];return Vt(n)?Vj(n.step_id):void 0}function M0e(e){const t=(e==null?void 0:e.trim())??"";return!t||/^步骤\s*\d+$/i.test(t)||O3e(t)}function K3e(e,t){return e.filter(n=>!Uj(n)).map((n,r)=>{const i=vT(n),o=H$(i),a=o==="failed"?Qee(n.output_data):"",s=!!(t&&n.step_id===t),l=Array.isArray(n.substeps)?n.substeps.map(c=>({id:c.id||`${n.step_id||r}:${c.substep_index}`,title:zh(c.substep_name)||`子步骤 ${c.substep_index}`,description:c.error||c.message||(c.duration_ms?`耗时 ${Math.round(Number(c.duration_ms)/1e3)} 秒`:""),event:c.status,status:H$(c.status)})):void 0;return{id:String(n.step_id||`step_${r+1}`),title:zh(n.step_name)||`步骤 ${r+1}`,description:Xu("",a,n.business_status,n.duration_ms?`耗时 ${Math.round(Number(n.duration_ms)/1e3)} 秒`:""),event:i,humanConfirm:s||o==="waiting"||!!n.requires_human_confirm,humanConfirmTriggered:s||o==="waiting"||!!n.human_confirm_triggered,businessStatus:n.business_status??void 0,status:o,substeps:l,rawData:n}})}function R0e(e){return e==="running"?"执行中":e==="waiting"?"等待确认":e==="completed"?"已完成":e==="failed"?"执行失败":"待执行"}function Eon(e){return e.filter(t=>!Uj(t)).flatMap((t,n)=>{const r=Array.isArray(t.substeps)?t.substeps:[],i=H$(vT(t)),o=zh(t.step_name)||`执行步骤 ${n+1}`,a=r.filter(d=>d.status==="completed").length,s=r.length>0?i==="running"?`已完成 ${a}/${r.length} 个子步骤`:`共 ${r.length} 个子步骤`:t.duration_ms?`耗时 ${Math.round(Number(t.duration_ms)/1e3)} 秒`:t.business_status||R0e(i),l=String(t.step_id||`step_${n+1}`),c={id:`step:${l}`,index:t.step_index??n,label:String(n+1),kind:"step",title:o,detail:s,status:i},u=r.map((d,f)=>{const p=H$(d.status),h=d.error||d.message||(d.duration_ms?`耗时 ${Math.round(Number(d.duration_ms)/1e3)} 秒`:R0e(p));return{id:`substep:${l}:${d.id||d.substep_index||f+1}`,index:d.substep_index??f,label:`${n+1}.${f+1}`,kind:"substep",title:zh(d.substep_name)||`子步骤 ${f+1}`,detail:h,status:p}});return[c,...u]})}function Rg(e,t,n,r){return e?{type:e,content:t,fields_map:n||void 0,title:r}:t}function $_(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Ton(e){return e.map(t=>$_(t)?t:{value:t})}function Y3e(e){if(!$_(e))return e;const t=typeof e.output_type=="string"?e.output_type:"",n=e.data??e.output,r=Array.isArray(e.output_fields_map)?e.output_fields_map:void 0,i=typeof e.title=="string"?e.title:void 0;if(t!=="dynamic_form"){if(t==="card"&&$_(n)&&typeof n.content=="string")return n.content;if(Array.isArray(n)){const o=Ton(n),a=r!=null&&r.length?r:n.every(s=>!$_(s))?[{name:"value",label:"结果"}]:void 0;return Rg("table",o,a,i)}return $_(n)?t==="debug"&&!(r!=null&&r.length)?Rg("debug",n,void 0,i):Rg("card",n,r,i):t?Rg(t,n,r,i):Jee(e)}}function Jee(e){var n,r;if(!e||typeof e!="object")return e;const t=e;return typeof t.type=="string"?e:t.output_type?Rg(t.output_type,t.data??t.output,t.output_fields_map,t.title):((n=t.output)==null?void 0:n.content)!==void 0?t.output.content:t.output!==void 0?t.output:((r=t.data)==null?void 0:r.content)!==void 0?t.data.content:t.content!==void 0?t.content:e}function ete(e){return Vt(e)&&Vt(e.result_data)?e.result_data:e}function X3e(e){return Vt(e)?e.output_type==="dynamic_form"&&Vt(e.output_data)?e.output_data.data??e.output_data:e.output_type==="dynamic_form"&&Vt(e.data)?e.data:e.output_data??e.output??e.final_output??e.result_data??e.data??e:e}function Ion(e){const t=ete(e);return Vt(t)?t.output_type==="dynamic_form"&&Vt(t.output_data)?t.output_data.data??t.output_data:t.output_type==="dynamic_form"&&Vt(t.data)?t.data:t.output_type?t.output??t.data??t.output_data??t.content??t:X3e(t):t}function Dg(e){if(Array.isArray(e))return e.map(o=>Dg(o));const t=ete(e);if(!xo(t))return;if(!Vt(t)||typeof t.type=="string")return t;const n=typeof t.output_type=="string"?t.output_type:"",r=t.output??t.data??t.output_data??t.content,i=Array.isArray(t.output_fields_map)?t.output_fields_map:void 0;return n==="card"&&Vt(r)&&typeof r.content=="string"?r.content:n?Rg(n==="debug"?"card":n,r,i,typeof t.title=="string"?t.title:void 0):Vt(r)&&typeof r.content=="string"?r.content:typeof r=="string"?r:Jee(t)}function Pon(e){const t=Vt(e.rawData)?e.rawData:void 0,n=(t==null?void 0:t.output_data)??(t==null?void 0:t.output)??(t==null?void 0:t.result_data);if(xo(n))return Y3e(n)}function Z3e(...e){const t=new Map;for(const n of e)if(!(!Vt(n)||!Array.isArray(n.output_fields_map)))for(const r of n.output_fields_map){if(!Vt(r))continue;const i=String(r.name??""),o=String(r.label??"");i&&o&&t.set(i,o)}return t}function Non(e){const t=ete(e);return Vt(t)&&typeof t.output_type=="string"?t.output_type:""}function kon(e){if(typeof e=="string")return e;if(!Vt(e))return"";const n=[e.content,e.markdown,e.text,Vt(e.output)?e.output.content:void 0,Vt(e.data)?e.data.content:void 0].find(r=>typeof r=="string"&&r.trim());return typeof n=="string"?n:""}function Mon(e){const n=e.split(/\r?\n/).map(r=>r.trim()).map(r=>r.replace(/^[-*]\s+/,"").trim()).map(r=>r.replace(/^\*\*[^*::]+[::]\*\*\s*/,"").trim()).filter(Boolean)[0]||"";return n.length>42?`${n.slice(0,42)}...`:n}function gD(e){return e.replace(/^#+\s*/,"").replace(/\*\*/g,"").trim()}function tte(e,t){var i;if(typeof e!="string")return e;const n=e.split(/\r?\n/),r=n.findIndex(o=>o.trim());if(r<0||gD(n[r])!==gD(t))return e;for(n.splice(r,1);((i=n[r])==null?void 0:i.trim())==="";)n.splice(r,1);return n.join(`
|
|
802
802
|
`)}function Ron(e,t){const n=e.toLowerCase(),r=(t||"").toLowerCase();return["model","usage","provider"].includes(n)||["模型名称","模型提供者","usage"].some(i=>r.includes(i.toLowerCase()))}function Q3e(e,t=new Map,n=8){const r=Ion(e);return Array.isArray(r)?[["结果条数",`${r.length} 条`]]:Vt(r)?Object.entries(r).filter(([i,o])=>!["content","execution_steps","output_fields_map","output_type"].includes(i)&&!Ron(i,t.get(i))&&xo(o)).slice(0,n).map(([i,o])=>[t.get(i)??i,By(o)]):typeof r=="string"&&r.trim()?[["输出内容",r.length>80?`${r.slice(0,80)}...`:r]]:[]}function Don(e){return Gee(e.status)==="completed"&&(B3e(e.result_summary)||F3e(e.result_summary))?"执行完成":Xu(Wj(e),e.result_summary,e.error_message)}function Oon(e,t){return Gee(e.status)==="completed"&&t?`已完成 ${t} 个步骤`:Wj(e)}function Lon(e,t,n){const r=Dg(e),i=q3e(n),o=Non(e),a=kon(r),s=Don(t),c=(a&&o!=="dynamic_form"?Mon(a):"")||s,u=c&&a?String(tte(a,c)):a,d=u&&u!==a?u:r,f=U3e(n);return{title:c,subtitle:i||Oon(t,f),content:u,payload:d,meta:Q3e(e,Z3e(e),3),detailData:xo(e)?e:void 0}}function nte(e){var i,o;if(e.status!=="completed"||!Vt(e.rawData))return null;const t=mT(e.rawData),n=!!((i=t.confirm_fields)!=null&&i.length||(o=t.input_fields)!=null&&o.length);return!e.humanConfirmTriggered&&!n||!!!(n||xo(t.output)||xo(t.input)||xo(t.submitted_input))?null:{...t,message:t.message||e.title,actions:["readonly"]}}function jon(e){const t=e.replace(/^\[[^\]]+\]\s*/,"").trim();return t?`AI 正在生成 ${t}`:"AI 正在生成内容"}function zon(e){var n,r;const t=(r=(n=e.description)==null?void 0:n.match(/\b\d{1,2}:\d{2}\b/))==null?void 0:r[0];return t||(e.status==="running"?"进行中":e.status==="waiting"?"待确认":e.status==="failed"?"执行失败":"")}function Bon(e,t){return e&&!t}function Fon(e){if(!e.length)return 0;const t=e.findIndex(r=>r.status==="running"||r.status==="waiting");if(t>=0)return t;const n=e.findIndex(r=>r.status==="pending");return n>=0?n:e.length-1}function Von(e,t,n){if(!e.length)return 0;const r=n!=null&&n.step_id?e.findIndex(a=>a.id===n.step_id):-1;if(r>=0)return r;const i=n!=null&&n.playbook_name?e.findIndex(a=>a.title===n.playbook_name):-1;if(i>=0)return i;if((n==null?void 0:n.step_index)!=null&&n.step_index>=0&&n.step_index<e.length)return n.step_index;const o=t==null?void 0:t.steps.find(a=>a.status==="waiting"||a.status==="running");if(o){const a=e.findIndex(l=>l.id===o.id);if(a>=0)return a;const s=e.findIndex(l=>l.title===o.title);if(s>=0)return s}return 0}function J3e(e,t,n=[]){const r=(e==null?void 0:e.steps.filter(s=>!M0e(s.title)))??[],i=!!(t&&r.some(s=>t.step_id&&s.id===t.step_id||t.playbook_name&&s.title===t.playbook_name));if(r.length>1||i)return r;const o=n.filter(s=>!M0e(s.title));if(o.length===0)return[];const a=Von(o,e,t);return o.map((s,l)=>({...s,description:l===a&&(t!=null&&t.message)?t.message:s.description,humanConfirm:l===a?!0:s.humanConfirm,humanConfirmTriggered:l===a?!0:s.humanConfirmTriggered,status:l<a?"completed":l===a?"waiting":"pending"}))}function Hon(e){return e==="waiting"?"waiting_input":e==="running"?"running":e==="completed"?"completed":e==="failed"?"failed":"pending"}function Won(e){return e==="running"?"running":e==="completed"?"completed":e==="failed"?"failed":"pending"}function Gon(e,t){return e.map((n,r)=>{var l;const i=Vt(n.rawData)?n.rawData:{},o=Tb(i.step_index)??r,a=Vj(i.step_id)??n.id??`step_${o}`,s=(l=n.substeps)==null?void 0:l.map((c,u)=>{var d;return{id:c.id,parent_step_index:o,parent_step_name:n.title,substep_index:u,substep_total:((d=n.substeps)==null?void 0:d.length)??u+1,substep_name:c.title,status:Won(c.status),message:c.description}});return{id:Tb(i.id)??o,execution_id:Tb(i.execution_id)??t,step_id:a,step_index:o,step_name:zh(i.step_name,i.playbook_name,n.title)||`步骤 ${o+1}`,playbook_id:Id(i.playbook_id)??a,status:Hon(n.status),business_status:n.businessStatus??Id(i.business_status)??null,output_data:Vt(i.output_data)?i.output_data:void 0,duration_ms:Tb(i.duration_ms),requires_human_confirm:n.humanConfirm,human_confirm_triggered:n.humanConfirmTriggered,substeps:s}})}function Uon(e,t,n){const r=Vt(e.rawData)?e.rawData:{};return n||(t!=null&&t>=0?`step_${t+1}`:Vj(r.step_id)||e.id)}function eze({workspaceMode:e,isExecuting:t,phase:n,activeRun:r,activeRunFailed:i,runPreviewSteps:o,waitingRun:a,waitingInfo:s,waitingPreviewSteps:l,selectedWorkbenchStageKey:c}){return g.useMemo(()=>{const u=l&&l.runId===(a==null?void 0:a.id)?l.steps:[],d=J3e(a??void 0,s,u.length>0?u:o),f=e==="run"?o:e==="waiting"?d:(r==null?void 0:r.steps)??[],p=d.length>0?`step:${d[Fon(d)].id}`:"params",h=f.findIndex(P=>P.status==="failed"||P.status==="waiting"||P.status==="running"),m=f.reduce((P,N,M)=>N.status==="completed"?M:P,-1),v=h>=0?h:Math.max(0,m),y=f[v]?`step:${f[v].id}`:"params",b=e==="run"?n==="completed":(r==null?void 0:r.status)==="completed",x=P=>!!b||(e==="run"&&n==="idle"?!1:P<=v),S=e==="run"?n==="idle"?"params":b?"complete":y:e==="waiting"?p:b?"complete":y,_=["params",...f.flatMap((P,N)=>x(N)?[`step:${P.id}`]:[]),...b?["complete"]:[]],C=_.includes(c)?c:S,A=C.startsWith("step:")?f.find(P=>`step:${P.id}`===C):void 0,E=!!(A&&nte(A)),I=e==="run"&&!t?"running":"completed",T=b?i?"failed":"completed":"pending",$=[{key:"params",kind:"params",title:e==="run"?"新建任务":"运行参数",eyebrow:"执行参数",description:e==="run"?"填写必要字段,参数会随执行记录保存。":"查看这次执行实际使用的输入。",status:I,accessible:!0},...f.map((P,N)=>({key:`step:${P.id}`,kind:"step",title:P.title,eyebrow:`执行步骤 ${N+1}`,description:P.status==="failed"?"流程已在当前步骤停止。":P.description||"执行智能体配置的流程。",status:P.status,accessible:x(N),step:P})),{key:"complete",kind:"complete",title:b?"查看结果":"提交 · 查看结果",eyebrow:"执行完成",description:b?"查看最终结果和流转记录。":"所有执行步骤结束后,这里会展示最终结果。",status:T,accessible:b}];return{waitingSteps:d,workbenchSteps:f,waitingActiveStageKey:p,currentWorkbenchStepIndex:v,currentExecutionStageKey:y,workbenchIsCompleted:b,canOpenWorkbenchStep:x,defaultWorkbenchStageKey:S,accessibleWorkbenchStageKeys:_,activeWorkbenchStageKey:C,selectedWorkbenchStep:A,selectedWorkbenchStepHasConfirmPreview:E,workbenchFlowStages:$}},[r,i,t,n,o,c,s,l,a,e])}function tze({agentKind:e,activeRunId:t,workspaceMode:n,defaultStageKey:r,accessibleStageKeys:i,activeStageKey:o,expandedStageKeys:a,setSelectedStageKey:s,setExpandedStageKeys:l,setTransitioning:c,stageContextRef:u,transitionTimerRef:d,switchTimerRef:f}){g.useEffect(()=>{const m=`${e}:${n}:${t}`,v=u.current!==m;u.current=m,s(r),l(y=>{if(v)return[r];const b=y.filter(x=>i.includes(x));return b.includes(r)?b:[...b,r]})},[i,t,e,r,l,s,u,n]);const p=g.useCallback(m=>{i.includes(m)&&(m===o&&a.includes(m)||(c(!0),s(m),l(v=>v.includes(m)?v:[...v,m]),f.current!=null&&(window.clearTimeout(f.current),f.current=null),d.current!=null&&window.clearTimeout(d.current),d.current=window.setTimeout(()=>{c(!1),d.current=null},180)))},[i,o,a,l,s,c,f,d]),h=g.useCallback(m=>{f.current!=null&&(window.clearTimeout(f.current),f.current=null),d.current!=null&&(window.clearTimeout(d.current),d.current=null),c(!1),l(v=>v.filter(y=>y!==m))},[l,c,f,d]);return{selectStage:p,collapseStage:h}}function nze({children:e,tone:t="gray"}){return w.jsx("span",{className:`automation-badge automation-badge--${t}`,children:e})}function qon(e){return e==="accepted"?"已接收":e==="rejected"?"已拒绝":e==="expired"?"已过期":e==="cancelled"?"已取消":"待查看"}function Kon(e){return e==="accepted"?"green":e==="rejected"?"red":e==="expired"||e==="cancelled"?"gray":"amber"}function Yon({transfer:e}){return w.jsxs("div",{className:"automation-transfer-item",children:[w.jsxs("div",{className:"automation-transfer-item__head",children:[w.jsx("strong",{children:e.target}),w.jsx(nze,{tone:Kon(e.status),children:qon(e.status)})]}),w.jsx("span",{className:"automation-transfer-item__meta",children:e.time})]})}function Xon({transfers:e,emptyText:t}){return w.jsxs("section",{className:"automation-transfer-feed is-boxed",children:[w.jsxs("div",{className:"automation-panel-head compact",children:[w.jsxs("div",{children:[w.jsx("h3",{children:"流转记录"}),w.jsx("p",{children:"基于这一次执行结果。"})]}),w.jsx(nze,{tone:"violet",children:`${e.length} 条`})]}),e.length>0?e.map(n=>w.jsx(Yon,{transfer:n},n.id)):w.jsxs("div",{className:"automation-transfer-item",children:[w.jsx("strong",{children:"暂无流转"}),w.jsx("span",{children:t})]})]})}const Zon=(...e)=>["automation-action-button",...e].filter(Boolean).join(" ");function Qon(e){return Array.isArray(e)?e.map((t,n)=>w.jsx(Yv,{payload:t},`result-payload-${n}`)):w.jsx(Yv,{payload:e})}function rze({model:e,actions:t}){const{completed:n,run:r,failed:i,running:o,hasResult:a,shareable:s,transfers:l,phase:c,mode:u,progress:{completedSteps:d,stepCount:f},result:{heading:p="执行结果",bodyPayload:h,summary:m="",showSummary:v=!1},content:{runningTransition:y,recommendedTemplates:b,runActions:x}}=e,{share:S}=t;if(!n){const _=i||c==="failed";return w.jsxs("section",{className:"wandox-automation-stage-panel wandox-automation-stage-panel--complete is-pending",children:[w.jsx("div",{className:"wandox-automation-stage-panel__head",children:w.jsxs("div",{children:[w.jsx("h3",{children:_?"本次执行未完成":u==="waiting"?"等待当前步骤处理":o?"执行正在进行":"等待开始执行"}),w.jsx("p",{children:_?"流程已在当前执行步骤停止。":u==="waiting"?"提交当前人工确认后,流程会继续运行并在这里生成结果。":"所有执行步骤结束后,这里会展示最终结果和流转记录。"})]})}),w.jsxs("div",{className:"wandox-automation-stage-empty wandox-automation-stage-empty--complete",children:[w.jsx(Zw,{}),w.jsx("strong",{children:"完成结果将在流程结束后生成"}),w.jsx("span",{children:`${d}/${f} 个执行步骤已完成`})]})]})}return r?w.jsxs("div",{className:"wandox-automation-completion-stack",children:[w.jsxs("section",{className:`automation-result-summary${i?" is-failed":""}${o?" is-running":""}`,children:[(!i||o)&&w.jsx("div",{className:"automation-latest-head",children:w.jsx("h3",{className:"wandox-automation-result-heading",children:p})}),o?w.jsx("p",{children:"系统正在执行智能体流程,完成或需要人工确认后会自动更新。"}):v?w.jsx("p",{children:m}):null,o&&y,!o&&(r.resultPayload||r.resultContent)&&w.jsx("div",{className:"automation-result-content",children:Qon(h)}),!o&&!a&&w.jsxs("div",{className:"wandox-automation-stage-empty wandox-automation-stage-empty--result",children:[w.jsx("strong",{children:i?"本次执行未生成结果":"结果内容仍在生成"}),w.jsx("span",{children:r.summary||"查看各执行步骤了解当前进度。"})]}),!o&&!r.resultPayload&&r.outputs.length>0&&w.jsx("div",{className:"automation-output-grid",children:r.outputs.map(([_,C])=>w.jsxs("div",{children:[w.jsx("span",{children:_}),w.jsx("strong",{children:C})]},_))}),s&&w.jsx("div",{className:"wandox-automation-completion-actions",children:w.jsxs("button",{type:"button",className:Zon("automation-action-button--primary"),onClick:()=>S(r),children:[w.jsx(gmt,{}),"流转同事"]})})]}),!o&&b,s&&w.jsx(Xon,{transfers:l,emptyText:"点击流转同事按钮发起协作。"}),u==="run"&&x]}):w.jsx("section",{className:"wandox-automation-stage-panel wandox-automation-stage-panel--complete",children:w.jsxs("div",{className:"wandox-automation-stage-empty wandox-automation-stage-empty--complete",children:[w.jsx(pc,{}),w.jsx("strong",{children:"暂无执行结果"}),w.jsx("span",{children:"开始执行后可在这里查看完成内容。"})]})})}function Jon({stage:e,workspaceMode:t,onSelectStage:n}){if(!e.accessible)return w.jsx("section",{className:"wandox-automation-stage-panel wandox-automation-stage-panel--collapsible wandox-automation-stage-panel--summary wandox-automation-stage-panel--pending",children:w.jsx("div",{className:"wandox-automation-stage-panel__head",children:w.jsx("div",{children:w.jsx("h3",{children:e.title})})})});const r=e.kind==="params"?t==="run"?"展开修改":"查看参数":"查看快照";return w.jsx("section",{className:"wandox-automation-stage-panel wandox-automation-stage-panel--collapsible wandox-automation-stage-panel--summary",children:w.jsxs("div",{className:"wandox-automation-stage-panel__head",children:[w.jsx("div",{children:w.jsx("h3",{children:e.title})}),w.jsx("button",{type:"button",className:"wandox-automation-stage-panel__toggle-button","aria-expanded":"false",onClick:()=>n(e.key),children:r})]})})}function ize({workspaceMode:e,stages:t,activeStageKey:n,expandedStageKeys:r,transitioning:i,renderStageContent:o,onSelectStage:a}){if(e==="run"){const s=t.find(l=>l.kind==="params");return s?w.jsx("div",{className:"wandox-automation-run-panel",children:o(s,!1)}):null}return w.jsx("div",{className:"wandox-automation-flow",children:t.map((s,l)=>{const c=n===s.key,u=r.includes(s.key),d=["wandox-automation-flow__item",`wandox-automation-flow__item--${s.status}`,c?"is-selected":"",u?"is-expanded":"",s.accessible?"is-accessible":"is-disabled"].filter(Boolean).join(" "),f=["wandox-automation-flow__marker",`wandox-automation-flow__marker--${s.status}`,c?"is-selected":""].filter(Boolean).join(" ");return w.jsxs("div",{className:d,children:[w.jsx("span",{className:f,"aria-hidden":"true",children:s.status==="completed"?w.jsx(dy,{}):s.status==="failed"?w.jsx(ni,{}):l+1}),w.jsx("div",{className:"wandox-automation-flow__content",children:u?o(s,i&&c):w.jsx(Jon,{stage:s,workspaceMode:e,onSelectStage:a})})]},s.key)})})}const ean="正在加载内容,请稍候";function qj({className:e}){return w.jsx("output",{className:["automation-loading-state",e].filter(Boolean).join(" "),"aria-live":"polite",children:w.jsxs("div",{className:"automation-loading-state__content",children:[w.jsx(ju,{}),w.jsx("span",{children:ean})]})})}function oze({workspaceMode:e,isTransitioning:t,showDirectRunPanel:n,formUi:r,historicalFields:i,historicalValues:o,historicalEmptyBody:a,runBody:s,inboxContext:l,renderFieldLabel:c,formatValue:u,stringifyValue:d,onCollapseStage:f}){const p=i.length===0?a:(()=>{const m=i.map(x=>{const S=o[x.name],_=u(x.name,S)||"-",C=typeof S=="string"?S:d(S);return{field:x,displayValue:_,isWideValue:Math.max(_.length,C.length)>44}}),v=m.filter(x=>!x.isWideValue),y=m.filter(x=>x.isWideValue),b=(x,S=!1)=>w.jsx(yc.Item,{className:S?"wandox-automation-params-descriptions__item--wide":void 0,label:c(x.field),children:w.jsx("span",{className:`wandox-automation-params-descriptions__value${S?" wandox-automation-params-descriptions__value--wide":""}`,children:x.displayValue})},x.field.name);return w.jsxs("div",{className:"wandox-automation-params-descriptions-stack",children:[v.length>0&&w.jsx(yc,{bordered:!1,className:"wandox-automation-params-descriptions",column:3,colon:!1,size:"small",children:v.map(x=>b(x))}),y.length>0&&w.jsx(yc,{bordered:!1,className:"wandox-automation-params-descriptions wandox-automation-params-descriptions--wide",column:1,colon:!1,size:"small",children:y.map(x=>b(x,!0))})]})})(),h=e!=="run";return w.jsxs("section",{className:`wandox-automation-stage-panel wandox-automation-stage-panel--params${h?" wandox-automation-stage-panel--collapsible":""}${n?" wandox-automation-stage-panel--direct-run":""}`,children:[h?w.jsxs("div",{className:"wandox-automation-stage-panel__head",children:[w.jsx("div",{children:w.jsx("h3",{children:"运行参数"})}),w.jsx("button",{type:"button",className:"wandox-automation-stage-panel__toggle-button","aria-expanded":"true",onClick:()=>f("params"),children:"收起"})]}):w.jsx("div",{className:"wandox-automation-stage-panel__head",children:w.jsxs("div",{children:[w.jsx("h3",{children:r.title}),r.description&&w.jsx("p",{children:r.description})]})}),w.jsxs("div",{className:"wandox-automation-stage-panel__body",children:[l,t?w.jsx(qj,{className:"automation-workbench-stage-transition-body"}):e==="run"?s:p]})]})}function tan({status:e}){return w.jsx("span",{className:`automation-step-dot automation-step-dot--${e}`})}function nan({step:e,activeRun:t,canReExecute:n,isExecuting:r,isReExecuting:i,onReExecute:o}){return w.jsxs(w.Fragment,{children:[w.jsx("div",{className:"wandox-automation-step-result wandox-automation-step-result--failed",children:w.jsx("p",{children:e.description||(t==null?void 0:t.summary)||"当前步骤执行失败。"})}),n&&t&&w.jsx("div",{className:"wandox-automation-step-actions",children:w.jsxs("button",{type:"button",className:"automation-action-button automation-action-button--primary",onClick:()=>o(e,t),disabled:r||i,children:[w.jsx(jO,{}),i?"重新执行中":"重新执行"]})})]})}function ran({step:e}){var n;const t=(n=e.substeps)!=null&&n.length?e.substeps:[{id:`${e.id}-progress`,title:e.description||"正在处理当前步骤",event:e.event,status:"running"}];return w.jsxs("div",{className:"wandox-automation-running-step",children:[w.jsx("div",{className:"wandox-automation-running-step__list",children:t.map(r=>{const i=zon(r);return w.jsxs("div",{className:`wandox-automation-running-step__item wandox-automation-running-step__item--${r.status}`,children:[w.jsx(tan,{status:r.status}),w.jsxs("div",{className:"wandox-automation-running-step__copy",children:[w.jsx("strong",{children:r.title}),r.description&&w.jsx("span",{children:r.description})]}),i&&w.jsx("small",{children:i})]},r.id)})}),w.jsx("p",{className:"wandox-automation-running-step__hint",children:e.humanConfirm?"本步骤可能触发人工确认,实际状态会随执行进度更新。":"步骤正在后台执行,完成后会自动进入下一流程。"})]})}function ian({children:e,tone:t="gray"}){return w.jsx("span",{className:`automation-badge automation-badge--${t}`,children:e})}function oan({step:e,waitingInfo:t,waitingLoading:n,waitingSubmitting:r,activeRun:i,preview:o=!1,onSubmitWaitingInput:a,onOpenWaitingRun:s}){const l=Bon(n,t);return w.jsxs("section",{className:"automation-drawer-section automation-waiting-panel wandox-automation-stage-panel--waiting",children:[w.jsxs("div",{className:"automation-panel-head compact",children:[w.jsx("div",{children:w.jsx("h3",{children:(t==null?void 0:t.message)||e.title||"需要人工确认"})}),w.jsx("div",{className:"automation-waiting-head-tools",children:w.jsx(ian,{tone:l||(t==null?void 0:t.timeout_minutes)!=null?"blue":"amber",children:l?"读取中":(t==null?void 0:t.timeout_minutes)!=null?`${t.timeout_minutes} 分钟内处理`:"待提交"})})]}),l?w.jsx(qj,{className:"automation-waiting-loading"}):t?w.jsx(Hee,{data:t,submitting:r,actionsPlacement:"bottom",hideFilterSummary:!0,hideFilterToggle:!0,hideTimeoutAlert:!0,hideStepText:!0,hideActions:o,disableBusinessEffects:o,executionFormLayout:!0,onSubmit:a}):w.jsxs("div",{className:"automation-waiting-empty",children:[w.jsx("span",{className:"automation-waiting-empty__icon",children:w.jsx(pc,{})}),w.jsxs("div",{className:"automation-waiting-empty__copy",children:[w.jsx("strong",{children:(i==null?void 0:i.status)==="waiting"?"确认表单待读取":"暂无待处理表单"}),w.jsx("p",{children:(i==null?void 0:i.status)==="waiting"?"读取后展示本步需要处理的字段。":"后端没有返回 waiting-input 内容,刷新执行记录后再查看。"})]}),(i==null?void 0:i.status)==="waiting"&&w.jsx("button",{type:"button",className:"automation-action-button automation-action-button--primary",onClick:()=>s(i),children:"读取确认表单"})]})]})}function aze({model:e,actions:t,preview:n=!1}){const{step:r,transitioning:i=!1,waiting:{current:o,info:a,loading:s,onlyMissing:l,submitting:c},completedConfirmData:u,activeRun:d,executing:f,retry:{reExecutingStepId:p,rerunningRunId:h,canReExecute:m}}=e,{collapse:v,changeWaitingOnlyMissing:y,submitWaitingInput:b,openWaitingRun:x,reExecute:S}=t,_=`step:${r.id}`,C=r.status==="running";if(o)return w.jsx(oan,{step:r,waitingInfo:a,waitingLoading:s,waitingOnlyMissing:l,waitingSubmitting:c,activeRun:d,preview:n,onWaitingOnlyMissingChange:y,onSubmitWaitingInput:b,onOpenWaitingRun:x});const A=Pon(r),E=xo(A),I=p===r.id;return w.jsxs("section",{className:`wandox-automation-stage-panel wandox-automation-stage-panel--step wandox-automation-stage-panel--collapsible wandox-automation-stage-panel--${r.status}${C?" wandox-automation-stage-panel--running-progress":""}${u?" wandox-automation-stage-panel--with-confirm-preview":""}`,children:[w.jsxs("div",{className:"wandox-automation-stage-panel__head",children:[w.jsx("div",{children:w.jsxs("h3",{className:C?"wandox-automation-running-step__title":void 0,children:[C&&w.jsx("span",{className:"wandox-automation-running-step__spinner","aria-hidden":"true"}),C?jon(r.title):r.title]})}),w.jsx("button",{type:"button",className:"wandox-automation-stage-panel__toggle-button","aria-expanded":"true",onClick:()=>v(_),children:"收起"})]}),w.jsx("div",{className:"wandox-automation-stage-panel__body",children:i?w.jsx(qj,{className:"automation-workbench-stage-transition-body"}):w.jsx(w.Fragment,{children:r.status==="failed"?w.jsx(nan,{step:r,activeRun:d,canReExecute:m,isExecuting:f||!!h,isReExecuting:I,onReExecute:S}):C?w.jsx(ran,{step:r}):u?w.jsx("div",{className:"automation-step-confirm-preview",children:w.jsx(Hee,{data:u,actionsPlacement:"bottom",compact:!0,hideActions:!0,hideFilterToggle:!0,hideFilterSummary:!0,hideTimeoutAlert:!0,hideStepText:!0,disableBusinessEffects:n,executionFormLayout:!0,onSubmit:()=>{}})}):E?w.jsx("div",{className:"wandox-automation-step-output",children:w.jsx(Yv,{payload:A})}):w.jsx("div",{className:"wandox-automation-step-detail",children:w.jsxs("div",{children:[w.jsx("strong",{children:r.status==="completed"?"该步骤已完成":r.status==="waiting"?"该步骤等待人工处理":r.status==="running"?"该步骤正在执行":"该步骤等待执行"}),w.jsx("p",{children:r.humanConfirm?"本步骤配置了可能触发的人工确认。":"流程会自动进入后续步骤。"})]})})})})]})}const aan=120;function san(e){return e.status==="completed"?"completed":e.status==="failed"?"failed":e.status==="waiting"?"review_content":"running"}function lan(e){if(e.content)return Dg(e.content);if(e.outputs.length===1)return Dg(e.outputs[0]);if(e.outputs.length>1)return Dg(e.outputs);const t=[...e.steps].reverse().find(n=>n.output_data!==void 0);return Dg(t==null?void 0:t.output_data)}function can(e){return e.status==="waiting"?"等待人工确认":e.status==="completed"?"执行完成":e.status==="failed"?e.error||"执行失败":"正在执行"}function uan(e,t){var o,a,s;const n=lan(e),r=(o=e.waitingEvent)==null?void 0:o.step_index,i=t.find(l=>l.status==="waiting"||l.status==="running"||l.status==="failed");return{id:String(e.executionRecordId??e.executionId??"fixture"),recordId:e.executionRecordId,currentStepIndex:typeof r=="number"?r:void 0,currentStepId:((a=e.waitingEvent)==null?void 0:a.step_id)??(i==null?void 0:i.id),title:e.executionTitle||e.agentName||"SSE 执行场景",time:"本地 SSE 模拟",trigger:"手动运行",status:e.status,businessStatus:((s=e.waitingEvent)==null?void 0:s.business_status)??void 0,summary:can(e),resultTitle:e.status==="failed"?"执行失败":"执行结果",resultContent:typeof n=="string"?n:void 0,resultPayload:n,params:Gj(e.inputData),inputValues:e.inputData,steps:t,outputs:[],detailData:e.waitingEvent??e.outputs}}function dan(e,t){return e.params.map(([n],r)=>({name:`fixture_param_${r}`,label:(t==null?void 0:t[n])||n,type:"string",required:!1}))}function fan({scene:e,preview:t=!0,parameterLabels:n,waitingSubmitting:r=!1,onSubmitWaitingInput:i=()=>{},onRetry:o}){var L;const a=e.status==="waiting"&&e.waitingEvent?`${e.executionId??e.executionRecordId??"fixture"}:${e.appliedEventCount}:${e.waitingEvent.step_id??e.waitingEvent.step_index??"waiting"}`:"",[s,l]=g.useState(""),c=!a||s===a;g.useEffect(()=>{if(!a){l(V=>V&&"");return}let R;const F=window.requestAnimationFrame(()=>{R=window.setTimeout(()=>{l(a)},aan)});return()=>{window.cancelAnimationFrame(F),R!==void 0&&window.clearTimeout(R)}},[a]);const u=g.useMemo(()=>e.waitingEvent&&c?mT(e.waitingEvent):null,[e.waitingEvent,c]),d=g.useMemo(()=>{var R;return K3e(e.steps,(R=e.waitingEvent)==null?void 0:R.step_id)},[e.steps,(L=e.waitingEvent)==null?void 0:L.step_id]),f=g.useMemo(()=>uan(e,d),[e,d]),p=e.status==="waiting"?"waiting":"detail",h=san(e),[m,v]=g.useState("params"),[y,b]=g.useState(["params"]),[x,S]=g.useState(!1),[_,C]=g.useState(!1),A=g.useRef(""),E=g.useRef(null),I=g.useRef(null),T=eze({workspaceMode:p,isExecuting:e.status==="running",phase:h,activeRun:f,activeRunFailed:e.status==="failed",runPreviewSteps:d,waitingRun:e.status==="waiting"?f:null,waitingInfo:u,waitingPreviewSteps:null,selectedWorkbenchStageKey:m}),{selectStage:$,collapseStage:P}=tze({agentKind:"fixture",activeRunId:f.id,workspaceMode:p,defaultStageKey:T.defaultWorkbenchStageKey,accessibleStageKeys:T.accessibleWorkbenchStageKeys,activeStageKey:T.activeWorkbenchStageKey,expandedStageKeys:y,setSelectedStageKey:v,setExpandedStageKeys:b,setTransitioning:S,stageContextRef:A,transitionTimerRef:E,switchTimerRef:I});g.useEffect(()=>()=>{E.current!=null&&window.clearTimeout(E.current),I.current!=null&&window.clearTimeout(I.current)},[]);const N=g.useMemo(()=>dan(f,n),[f,n]),M=g.useMemo(()=>N.reduce((R,F,V)=>{var U;return R[F.name]=((U=f.params[V])==null?void 0:U[1])??"",R},{}),[f.params,N]),k=gD(f.resultTitle)||"执行结果",O=tte(f.resultPayload??f.resultContent,k),j=!!(f.resultPayload||f.resultContent),z=(R=!1)=>w.jsx(oze,{workspaceMode:p,isTransitioning:R,showDirectRunPanel:!1,formUi:{title:"运行参数"},historicalFields:N,historicalValues:M,historicalEmptyBody:w.jsx("div",{className:"wandox-automation-stage-empty",children:"暂无运行参数"}),runBody:null,inboxContext:null,renderFieldLabel:F=>w.jsx("span",{className:"wandox-automation-run-field-label",children:w.jsx("span",{children:F.label||F.name})}),formatValue:Kee,stringifyValue:By,onCollapseStage:P}),B=(R,F=!1)=>{const V=`step:${R.id}`,U=e.waitingTransitionStepId===R.id;return w.jsx(aze,{preview:t,model:{step:R,transitioning:F||U,waiting:{current:p==="waiting"&&V===T.waitingActiveStageKey,info:u,loading:e.status==="waiting"&&!c,onlyMissing:_,submitting:r},completedConfirmData:nte(R),activeRun:f,executing:e.status==="running",retry:{reExecutingStepId:null,rerunningRunId:null,canReExecute:!!o}},actions:{collapse:P,changeWaitingOnlyMissing:C,submitWaitingInput:i,openWaitingRun:()=>{},reExecute:()=>o==null?void 0:o()}})},D=()=>w.jsx(rze,{model:{completed:T.workbenchIsCompleted,run:f,failed:e.status==="failed",running:e.status==="running",hasResult:j,shareable:!1,transfers:[],phase:h,mode:p,progress:{completedSteps:d.filter(R=>R.status==="completed").length,stepCount:d.length},result:{heading:k,bodyPayload:O,summary:f.summary,showSummary:!1},content:{runningTransition:null,recommendedTemplates:null,runActions:null}},actions:{share:()=>{}}}),H=(R,F=!1)=>R.kind==="params"?z(F):R.kind==="complete"?D():R.step?B(R.step,F):null,W=["automation-workbench-body","automation-workbench-body--flow",p==="waiting"&&T.activeWorkbenchStageKey.startsWith("step:")&&T.activeWorkbenchStageKey===T.waitingActiveStageKey?"is-waiting-step":"",T.activeWorkbenchStageKey.startsWith("step:")?"is-step-stage":"",T.selectedWorkbenchStepHasConfirmPreview?"is-confirm-preview-stage":"",T.activeWorkbenchStageKey==="params"?"is-params-stage":"",T.activeWorkbenchStageKey==="complete"?"is-complete-stage":""].filter(Boolean).join(" ");return w.jsx("div",{className:"automation wandox-execution-fixture-workbench",children:w.jsx("section",{className:`automation-workbench automation-workbench--flow automation-workbench--${p}${e.status==="failed"?" is-failed":""}`,children:w.jsx("div",{className:W,children:w.jsx("div",{className:"wandox-automation-flow-layout",children:w.jsx(ize,{workspaceMode:p,stages:T.workbenchFlowStages,activeStageKey:T.activeWorkbenchStageKey,expandedStageKeys:y,transitioning:x,renderStageContent:H,onSelectStage:$})})})})})}function pan(e,t,n){var a;const r=e.step_index??t,i=n===e.step_id?"waiting_input":e.status,o=e.output==null?e.error?{error:e.error}:void 0:{output:e.output,output_type:e.outputType,output_fields_map:e.outputFieldsMap,title:e.outputTitle};return{id:r,execution_id:0,step_id:e.step_id,step_index:r,step_name:e.attempts!=null&&e.attempts>1?`${e.step_name||e.step_id}(第 ${e.attempts} 次执行)`:e.step_name||e.step_id,playbook_id:e.step_id,status:i,requires_human_confirm:i==="waiting_input",human_confirm_triggered:i==="waiting_input",output_data:o,substeps:(a=e.substeps)==null?void 0:a.map((s,l)=>{var c;return{id:s.step_id||`${e.step_id}:${s.step_index??l}`,parent_step_index:r,parent_step_name:e.step_name,substep_index:s.step_index??l+1,substep_total:((c=e.substeps)==null?void 0:c.length)||0,substep_name:s.step_name||s.message||`子步骤 ${l+1}`,status:s.status,message:s.message,output_content:s.output,error:s.error}})}}function han({steps:e,executionParams:t,paramLabels:n,status:r,executionId:i,executionRecordId:o,executionTitle:a,error:s,waitingInput:l,waitingSubmitting:c,finalOutput:u,onSubmitWaitingInput:d,onRetry:f}){var m,v;const p=r==="waiting"?(l==null?void 0:l.step_id)||((m=e.find(y=>y.status==="running"))==null?void 0:m.step_id)||((v=e[e.length-1])==null?void 0:v.step_id):void 0,h=g.useMemo(()=>{const y=e.map((S,_)=>pan(S,_,p)),b=r==="waiting"?"waiting":r==="completed"?"completed":r==="failed"||r==="aborted"?"failed":"running";y.length===0&&b==="failed"&&y.push({id:0,execution_id:0,step_id:"execution-error",step_index:0,step_name:"执行失败",playbook_id:"execution-error",status:"failed",output_data:{error:s||"执行失败"}});const x=y.filter(S=>S.status==="completed").length;return{sourceType:"sse",eventCount:0,appliedEventCount:0,ignoredCommentCount:0,warnings:[],events:[],executionId:i,executionRecordId:o,executionTitle:a,inputData:t||{},steps:y,progress:y.length>0?Math.round(x/y.length*100):0,status:b,lastEventType:r==="waiting"?"waiting_input":r==="completed"?"execution_completed":void 0,waitingEvent:l,outputs:Array.isArray(u)?u:u==null?[]:[u],error:s}},[s,i,t,o,a,u,r,e,l,p]);return w.jsx(fan,{scene:h,preview:!1,parameterLabels:n,waitingSubmitting:c,onSubmitWaitingInput:d,onRetry:f})}const sze={status:"idle",steps:[]};function man(e,t){return e==="completed"||e==="skipped"||e==="waiting_input_done"?"completed":e==="failed"?"failed":e==="running"?"running":t??"pending"}function EP(e,t,n,r){const i=e.findIndex(a=>t&&a.step_id===t||n!=null&&a.step_index===n);if(i>=0){const a=[...e];return a[i]={...a[i],...t?{step_id:t}:{},...r},a}const o=t||`step_${n??e.length}`;return[...e,{step_id:o,step_index:n,status:"pending",...r}]}function gan(e,t,n){if(t){const i=e.findIndex(o=>o.step_id===t);if(i>=0)return i}if(n==null)return-1;const r=e.findIndex(i=>i.step_index===n);return r>=0?r:n>=0&&n<e.length?n:-1}function van(e,t){const n=gan(e.steps,t.stepId,t.parentStepIndex);if(n<0)return e;const r=e.steps[n],i=[...r.substeps||[]],o=i.findIndex(f=>t.substepIndex!=null?f.step_index===t.substepIndex:!!(t.substepName&&f.step_name===t.substepName)),a=t.type==="substep_completed",s=a&&t.success===!1?"failed":a?"completed":"running",l=o>=0?i[o]:void 0,c={...l,step_index:t.substepIndex,step_name:t.substepName??(l==null?void 0:l.step_name),status:s,message:t.type==="substep_running"?t.message:l==null?void 0:l.message,output:t.type==="substep_completed"?t.output:l==null?void 0:l.output,error:t.type==="substep_completed"?t.error:l==null?void 0:l.error};o>=0?i[o]=c:i.push(c),i.sort((f,p)=>(f.step_index??0)-(p.step_index??0));const u=[...e.steps];u[n]={...r,status:r.status==="failed"?"failed":"running",substeps:i};const d=e.status==="failed"?"failed":"running";return{...e,status:d,steps:u}}function yan(e,t){var n;switch(t.type){case"reset":return{...sze};case"component_loaded":return{...e,component:t.component};case"execution_init":return{...e,status:"running",executionId:t.executionId??e.executionId,executionRecordId:t.executionRecordId??e.executionRecordId,executionTitle:t.executionTitle??e.executionTitle,totalSteps:t.totalSteps??e.totalSteps,steps:t.steps??e.steps,waitingInput:void 0,error:void 0,finalOutput:void 0};case"resume_init":return{...e,status:"running",waitingInput:void 0,error:void 0};case"execution_started":{const r=t.totalSteps??e.totalSteps;if(e.steps.length>0||!r)return{...e,status:"running",executionId:t.executionId??e.executionId,executionRecordId:t.executionRecordId??e.executionRecordId,executionTitle:t.executionTitle??e.executionTitle,totalSteps:r};const i=Math.max(0,Math.min(t.startFromStep??0,r-1));return{...e,status:"running",executionId:t.executionId??e.executionId,executionRecordId:t.executionRecordId??e.executionRecordId,executionTitle:t.executionTitle??e.executionTitle,totalSteps:r,steps:Array.from({length:r},(o,a)=>({step_id:`step_${a}`,step_index:a,step_name:`步骤 ${a+1}`,status:a<i?"completed":a===i?"running":"pending"}))}}case"step_running":return{...e,status:"running",steps:EP(e.steps,t.stepId,t.stepIndex,{step_name:t.stepName,step_index:t.stepIndex,status:"running",...t.retryCount!=null?{attempts:t.retryCount+1}:{}})};case"substep_running":case"substep_completed":return van(e,t);case"step_completed":return{...e,steps:EP(e.steps,t.stepId,t.stepIndex,{status:"completed",output:t.output,outputType:t.outputType,outputFieldsMap:t.outputFieldsMap,outputTitle:t.outputTitle})};case"step_failed":return{...e,status:"failed",error:t.error||e.error,steps:EP(e.steps,t.stepId,t.stepIndex,{status:"failed",error:t.error})};case"waiting_input":return{...e,status:"waiting",waitingInput:t.data};case"waiting_cleared":return{...e,status:"running",waitingInput:void 0};case"execution_completed":return{...e,status:"completed",finalOutput:t.finalOutput,waitingInput:void 0};case"execution_failed":{const r=e.error||((n=e.steps.find(i=>i.status==="failed"))==null?void 0:n.error);return{...e,status:"failed",error:r||t.error,waitingInput:void 0}}case"stream_timeout":return{...e,streamTimeout:!0};case"steps_hydrated":{const r=[...e.steps];for(const i of t.steps){const o=r.findIndex(l=>i.step_id&&l.step_id===i.step_id||i.step_index!=null&&l.step_index===i.step_index),a=o>=0?r[o]:void 0,s={step_id:i.step_id,step_index:i.step_index??(a==null?void 0:a.step_index),step_name:i.step_name||(a==null?void 0:a.step_name),status:man(i.status,a==null?void 0:a.status),attempts:i.attempts??(i.retry_count!=null?i.retry_count+1:a==null?void 0:a.attempts),object_id:i.object_id??(a==null?void 0:a.object_id)??null,is_ambiguous:i.is_ambiguous??!1,output:i.output!==void 0?i.output:a==null?void 0:a.output,error:i.error_message||(a==null?void 0:a.error)};o>=0?r[o]={...r[o],...s}:r.push(s)}return r.sort((i,o)=>(i.step_index??0)-(o.step_index??0)),{...e,steps:r}}case"step_verified":{const r=t.status==="completed";return{...e,steps:EP(e.steps,t.stepId,void 0,{status:r?"completed":"failed",is_ambiguous:!1,object_id:t.objectId??null})}}case"aborted":return{...e,status:"aborted",waitingInput:void 0};default:return e}}function ban(e){const t=e.data,n=String(t.step_id??t.step_db_id??"");if(n)return mT({...t,step_id:n})}function xan(e){const t=e.steps??e.step_list;if(Array.isArray(t))return t.map((n,r)=>{const i=n&&typeof n=="object"?n:{};return{step_id:String(i.step_id??i.step_db_id??`step_${r}`),step_index:i.step_index??r,step_name:i.step_name,status:"pending"}})}function wan(e){const[t,n]=g.useReducer(yan,sze),r=g.useRef(0),i=g.useRef(null),o=g.useRef(!1),a=g.useRef(!1),{componentId:s,ssoToken:l,ssoDomain:c,ssoCompany:u,defaultParams:d,executionTitle:f}=e,p={token:l,domain:c,company:u},h=g.useCallback((A,E)=>{if(r.current!==E)return;const I=A.data;switch(A.type){case"execution_init":{n({type:"execution_init",executionId:I.execution_id,executionRecordId:I.execution_record_id,executionTitle:I.execution_title??I.title,steps:xan(I),totalSteps:I.total_steps});break}case"resume_init":{n({type:"resume_init"});break}case"execution_started":{n({type:"execution_started",executionId:I.execution_id,executionRecordId:I.execution_record_id,executionTitle:I.execution_title,totalSteps:I.total_steps,startFromStep:I.start_from_step});break}case"step_running":{n({type:"step_running",stepId:String(I.step_id??""),stepName:I.step_name??I.playbook_name??I.message,stepIndex:I.step_index,retryCount:typeof I.retry_count=="number"&&I.retry_count>=0?I.retry_count:void 0});break}case"substep_running":{n({type:"substep_running",stepId:String(I.step_id??I.parent_step_id??""),parentStepIndex:I.parent_step_index,substepIndex:I.substep_index,substepName:I.substep_name??I.step_name,message:I.message});break}case"substep_completed":{n({type:"substep_completed",stepId:String(I.step_id??I.parent_step_id??""),parentStepIndex:I.parent_step_index,substepIndex:I.substep_index,substepName:I.substep_name??I.step_name,success:I.success,output:I.output_content??I.output??I.result,error:I.error_message??I.error});break}case"step_completed":{n({type:"step_completed",stepId:String(I.step_id??""),stepIndex:I.step_index,output:I.output??I.result,outputType:I.output_type,outputFieldsMap:Array.isArray(I.output_fields_map)?I.output_fields_map:I.output_fields_map===null?null:void 0,outputTitle:I.title??I.playbook_name});break}case"step_failed":{n({type:"step_failed",stepId:String(I.step_id??""),stepIndex:I.step_index,error:I.error_message??I.error??I.message});break}case"waiting_input":{const T=ban(A);T&&n({type:"waiting_input",data:T});break}case"execution_completed":{a.current=!0,n({type:"execution_completed",finalOutput:I.outputs??I.final_output??I.output??I.result});break}case"execution_failed":{a.current=!0;const T=(I.error_message??I.error??I.message)||"执行失败";n({type:"execution_failed",error:T});break}case"timeout":{n({type:"stream_timeout",timeoutSeconds:typeof I.timeout_seconds=="number"?I.timeout_seconds:void 0});break}}},[]),m=g.useCallback(async(A,E)=>{const I=A.headers.get("content-type")||"";if(!A.ok||I.includes("application/json")){const T=await Nye(A);T&&r.current===E&&n({type:"execution_failed",error:T});return}await M$(A,{onProcessEvent:T=>h(T,E),onError:T=>{r.current===E&&(a.current||n({type:"execution_failed",error:T}))},onComplete:(T,$)=>{r.current===E&&(a.current||n({type:"execution_completed",finalOutput:$}))}}),r.current},[h]),v=g.useCallback(async()=>{var I,T;if(!s||!l)return;i.current&&!i.current.signal.aborted&&i.current.abort();const A=r.current+1;r.current=A,o.current=!0,a.current=!1,n({type:"reset"});const E=new AbortController;i.current=E;try{const $=await FZt(s,{input_data:d,...f?{execution_title:f}:{},...((I=e.flowContext)==null?void 0:I.instanceId)!=null?{flow_instance_id:e.flowContext.instanceId,...e.flowContext.stepKey?{flow_step_key:e.flowContext.stepKey}:{}}:{}},p,E.signal);if($.status===409){const P=await Nye($);r.current===A&&n({type:"execution_failed",error:P||"该步骤已有进行中的任务,请先查看已有任务"}),(T=e.onFlowConflict)==null||T.call(e,P||"该步骤已有进行中的任务");return}await m($,A)}catch($){if(r.current!==A)return;if(($==null?void 0:$.name)==="AbortError"){n({type:"aborted"});return}n({type:"execution_failed",error:$ instanceof Error?$.message:"执行请求失败"})}finally{r.current===A&&(i.current=null)}},[s,l,d,f,p,m,e]),y=g.useCallback(async A=>{var T;if(!s||!l)return;i.current&&!i.current.signal.aborted&&i.current.abort();const E=r.current+1;r.current=E,o.current=!0,a.current=!1,n({type:"reset"});const I=new AbortController;i.current=I;try{const $=await HZt(s,A,p,I.signal);if($.status===409){const P=await $.json().catch(()=>({})),N=P!=null&&P.data&&typeof P.data=="object"?P.data:{};if(N.code===IZt){(T=e.onNeedsVerification)==null||T.call(e,{stepId:N.step_id,stepName:N.step_name}),r.current===E&&n({type:"execution_failed",error:"结果不明确,请先核查该步骤后再重试"});return}const M=(P==null?void 0:P.message)||"执行进行中,请稍后再试或查看进度";r.current===E&&n({type:"execution_failed",error:M});return}await m($,E)}catch($){if(r.current!==E)return;if(($==null?void 0:$.name)==="AbortError"){n({type:"aborted"});return}n({type:"execution_failed",error:$ instanceof Error?$.message:"重试请求失败"})}finally{r.current===E&&(i.current=null)}},[s,l,p,m,e]),b=g.useCallback(async A=>{if(!t.executionRecordId||!t.waitingInput)return;const E=r.current+1;r.current=E,n({type:"waiting_cleared"});const I=new AbortController;i.current=I;try{const T=await qZt(s,t.executionRecordId,{step_id:t.waitingInput.step_id,action:A.action,input_data:A.inputData,...A.modifiedParams?{modified_params:A.modifiedParams}:{}},p,I.signal);await m(T,E)}catch(T){if(r.current!==E)return;if((T==null?void 0:T.name)==="AbortError"){n({type:"aborted"});return}n({type:"execution_failed",error:T instanceof Error?T.message:"恢复执行请求失败"})}finally{r.current===E&&(i.current=null)}},[s,t.executionRecordId,t.waitingInput,p,m]),x=g.useCallback(()=>{r.current+=1,i.current&&!i.current.signal.aborted&&i.current.abort(),i.current=null,n({type:"aborted"})},[]),S=g.useCallback(()=>{r.current+=1,i.current&&!i.current.signal.aborted&&i.current.abort(),i.current=null,o.current=!1,n({type:"reset"})},[]),_=g.useCallback(async(A,E,I)=>{if(!s||!l)return;const T=await UZt(s,A,E,I,{token:l,domain:c,company:u});return n({type:"step_verified",stepId:E,status:T.status,objectId:T.object_id??(I.result==="created"?I.object_id:null)}),T},[s,l,c,u]),C=g.useRef(null);return g.useEffect(()=>{const A=t.executionRecordId;if(t.status!=="failed"||!A||!s||!l)return;const E=r.current,I=`${E}:${A}`;if(C.current===I)return;C.current=I;let T=!1;return GZt(A,{token:l,domain:c,company:u}).then($=>{!T&&r.current===E&&n({type:"steps_hydrated",steps:$})}).catch(()=>{T||(C.current=null)}),()=>{T=!0}},[t.status,t.executionRecordId,s,l,c,u]),g.useEffect(()=>()=>{r.current+=1,i.current&&!i.current.signal.aborted&&i.current.abort()},[]),{state:t,start:v,abort:x,submitWaiting:b,reset:S,retryFailed:y,verifyStep:_}}const San={bottomRight:"bottom-right",bottomLeft:"bottom-left",topRight:"top-right",topLeft:"top-left",center:"center","bottom-right":"bottom-right","bottom-left":"bottom-left","top-right":"top-right","top-left":"top-left"};function _an(e){return e?San[e]:"bottom-right"}function D0e(e){if(e!=null)return typeof e=="number"?`${e}px`:e}function O0e(e){const t=e.default_input_params;if(!t||typeof t!="object")return[];const n=Array.isArray(t.plan_params)?t.plan_params:null;if(n&&n.length>0)return n.map(i=>({name:String(i.name||""),schema:i})).filter(i=>i.name);const r=t.param_schema&&typeof t.param_schema=="object"&&!Array.isArray(t.param_schema)?t.param_schema:{};return Object.entries(r).map(([i,o])=>({name:i,schema:o||{}}))}function L0e(e){const t=e.default_input_params;if(!t||typeof t!="object")return{};const n=t.default_params;return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function Can(e){const t=e.default_input_params;if(!t||typeof t!="object")return[];const n=t.form_groups;return Array.isArray(n)?n:[]}function Aan(e){const t=e.default_input_params;if(!t||typeof t!="object")return;const n=t.form_ui;if(!(!n||typeof n!="object"||Array.isArray(n)))return n}function $an({options:e,ssoToken:t,ssoDomain:n,ssoCompany:r,popup:i=!1,popupConfig:o,onClose:a,onReady:s}){var te,ie,oe,fe;const[l,c]=g.useState(),[u,d]=g.useState(!0),[f,p]=g.useState(),[h,m]=g.useState(!1),[v,y]=g.useState(!1),[b,x]=g.useState(null),[S,_]=g.useState(void 0),C=g.useRef(!1),A=g.useRef(null),E=e.componentId,I=g.useMemo(()=>l?O0e(l):[],[l]),T=g.useMemo(()=>{const ye={};return l&&Object.assign(ye,L0e(l)),e.defaultParams&&Object.assign(ye,e.defaultParams),S&&Object.assign(ye,S),Object.keys(ye).length>0?ye:void 0},[l,e.defaultParams,S]),$=e.executionTitle||(l==null?void 0:l.name),P=g.useMemo(()=>Object.fromEntries(I.map(ye=>[ye.name,String(ye.schema.label||ye.schema.title||ye.name)])),[I]),N=g.useMemo(()=>e.flow?Jje({mode:e.flow.mode??"mock",businessCode:e.flow.businessCode,sso:{token:t,domain:n,company:r}}):null,[e.flow,E,t,n,r]),M=OZt({store:N,componentId:E}),{state:k,start:O,abort:j,submitWaiting:z,reset:B,retryFailed:D,verifyStep:H}=wan({componentId:E,ssoToken:t,ssoDomain:n,ssoCompany:r,defaultParams:T,executionTitle:$,flowContext:{instanceId:((te=M.instance)==null?void 0:te.id)??null},onNeedsVerification:ye=>x(ye)});g.useEffect(()=>{k.status==="completed"&&M.phase==="active"&&M.complete()},[k.status,M]),g.useEffect(()=>{if(!E){p("缺少 componentId"),d(!1);return}let ye=!1;return d(!0),p(void 0),jZt(E).then($e=>{ye||(c($e),d(!1))}).catch($e=>{ye||(p($e instanceof Error?$e.message:"组件配置加载失败"),d(!1))}),()=>{ye=!0}},[E]),g.useEffect(()=>{if(u||f||!l||S!==void 0)return;if(e.retryRecordId!=null){_({});return}O0e(l).length>0?_(null):_({})},[u,f,l,S,e.retryRecordId]),g.useEffect(()=>{if(!(u||f||C.current)&&l&&S!=null){if(C.current=!0,e.retryRecordId!=null){D(e.retryRecordId);return}O()}},[u,f,l,S,O,D,e.retryRecordId]);const W=g.useCallback(ye=>{A.current=ye,_(ye)},[]),L=g.useCallback(()=>{C.current=!1,B(),I.length>0?_(null):(_({}),C.current=!0,setTimeout(()=>void O(),0))},[B,O,I]),R=g.useCallback(async ye=>{y(!0);try{await z(ye)}finally{y(!1)}},[z]);g.useEffect(()=>{s==null||s({abort:j,rerun:L,minimize:()=>m(!0),restore:()=>m(!1),getFlowId:()=>{var ye;return((ye=M.instance)==null?void 0:ye.id)??null},retry:ye=>{D(ye)}})},[j,L,s,M.instance,D]),g.useEffect(()=>()=>{e.flow||j()},[j,e.flow]);const F=S===null&&I.length>0,V=f?"配置错误":u?"加载中":F?"待填写":k.status==="running"?"执行中":k.status==="waiting"?"待确认":k.status==="completed"?"已完成":k.status==="failed"?"执行失败":k.status==="aborted"?"已取消":"准备中",U=k.status==="failed"||f?"error":k.status==="running"?"running":k.status==="completed"?"done":k.status==="waiting"||F?"waiting":"idle",G=_an(o==null?void 0:o.placement),q=(o==null?void 0:o.zIndex)??2147483e3,X=i?{width:D0e(o==null?void 0:o.width)||"960px",maxWidth:"96vw",height:D0e(o==null?void 0:o.height)||"85vh",zIndex:q}:void 0,Y={zIndex:q>0?q-1:q},K=G==="center"?"bottom-right":G;if(i&&h)return w.jsx("button",{type:"button",className:`wandox-sdk-exec-ball wandox-sdk-exec-ball--${K} wandox-sdk-exec-ball--${U}`,style:{zIndex:q},onClick:()=>m(!1),"aria-label":`打开执行弹窗,当前状态:${V}`,title:`模板执行:${V}`,children:w.jsx("span",{className:"wandox-sdk-exec-ball__surface","aria-hidden":"true",children:w.jsxs("span",{className:"wandox-sdk-exec-ball__status",children:[w.jsx("span",{}),w.jsx("span",{}),w.jsx("span",{})]})})});const ne=g.useMemo(()=>{const ye={};return l&&Object.assign(ye,L0e(l)),e.defaultParams&&Object.assign(ye,e.defaultParams),A.current&&Object.assign(ye,A.current),ye},[l,e.defaultParams,S]),ee=w.jsxs("div",{className:`wandox-sdk-exec wandox-root wandox-agc${i?` wandox-sdk-exec--popup wandox-sdk-exec--${G}`:""}`,style:X,children:[i&&a&&w.jsxs("div",{className:"wandox-sdk-exec__header",children:[w.jsx("div",{className:"wandox-sdk-exec__heading",children:w.jsx("div",{className:"wandox-sdk-exec__title",children:(l==null?void 0:l.name)||"组件执行"})}),w.jsx("div",{className:"wandox-sdk-exec__actions",children:w.jsx("button",{type:"button",className:"wandox-sdk-exec__close",onClick:a,"aria-label":"关闭",title:"关闭",children:w.jsx(ni,{})})})]}),w.jsx("div",{className:"wandox-sdk-exec__body",children:f?w.jsx("div",{className:"wandox-sdk-exec__error",children:f}):u?w.jsxs("div",{className:"wandox-sdk-exec__empty",children:[w.jsx("span",{className:"wandox-sdk-exec__spinner"}),w.jsx("span",{children:"正在加载组件配置"})]}):F?M.phase==="choosing"?w.jsxs("div",{className:"wandox-agc-flowgate",children:[w.jsx("div",{className:"wandox-agc-flowgate__title",children:"检测到未完成的填写"}),w.jsxs("div",{className:"wandox-agc-flowgate__desc",children:["上次填写于"," ",(ie=M.draftFound)!=null&&ie.updated_at?new Date(M.draftFound.updated_at).toLocaleString():"更早",(oe=M.draftFound)!=null&&oe.current_step?`,停留在步骤「${M.draftFound.current_step}」`:"","。"]}),w.jsxs("div",{className:"wandox-agc-flowgate__actions",children:[w.jsx(qt,{type:"primary",onClick:()=>void M.resume(),children:"继续上次填写"}),w.jsx(qt,{onClick:()=>void M.startNew(),children:"重新开始"})]})]}):w.jsxs(w.Fragment,{children:[M.saveError&&w.jsx("div",{className:"wandox-agc-form__savehint",children:M.saveError}),w.jsx(Frn,{fields:I,baseParams:ne,formGroups:l?Can(l):[],formUi:l?Aan(l):void 0,ssoToken:t,ssoDomain:n,ssoCompany:r,onSubmit:W,validateSkill:M.phase==="active"?M.binding.validateSkill:void 0,initialValues:M.binding.initialValues,initialStepKey:M.binding.initialStepKey,onValuesChange:M.binding.onValuesChange,onStepChange:M.binding.onStepChange},`flow-${String(((fe=M.instance)==null?void 0:fe.id)??"pending")}-${M.phase}`)]}):k.status==="idle"?w.jsxs("div",{className:"wandox-sdk-exec__empty",children:[w.jsx("span",{className:"wandox-sdk-exec__spinner"}),w.jsx("span",{children:"正在准备执行"})]}):w.jsxs("div",{className:"wandox-agc-execution",children:[k.streamTimeout&&w.jsx("div",{className:"wandox-agc-form__savehint",children:"连接已超时,任务仍在后台执行;可稍后重新进入,从任务进度恢复查看结果。"}),w.jsx(han,{steps:k.steps,executionParams:T,paramLabels:P,status:k.status,executionId:k.executionId,executionRecordId:k.executionRecordId,executionTitle:k.executionTitle,error:k.error,waitingInput:k.waitingInput,waitingSubmitting:v,finalOutput:k.finalOutput,onSubmitWaitingInput:R,onRetry:L}),k.status==="failed"&&k.executionRecordId!=null&&w.jsx(YZt,{recordId:k.executionRecordId,steps:k.steps,onRetryFailed:ye=>{D(ye)},onVerify:(ye,$e,be)=>H(ye,$e,be),pendingVerification:b,onPendingVerificationConsumed:()=>x(null)}),k.status==="aborted"&&w.jsxs("div",{className:"wandox-sdk-exec__empty",children:[w.jsx("span",{children:"执行已取消"}),w.jsx("button",{type:"button",className:"wandox-agc-retry",onClick:L,children:"重新执行"})]})]})})]}),Q=i?w.jsx(Co,{getPopupContainer:ye=>(ye==null?void 0:ye.closest(".wandox-sdk-exec"))||document.body,children:ee}):ee;return i&&(o!=null&&o.mask)?w.jsxs(w.Fragment,{children:[o.maskClosable===!1?w.jsx("div",{className:"wandox-sdk-exec-mask",style:Y,"aria-hidden":"true"}):w.jsx("button",{type:"button",className:"wandox-sdk-exec-mask",style:Y,onClick:a,"aria-label":"关闭执行弹窗"}),Q]}):Q}const Ean={running:{label:"进行中",color:"processing"},success:{label:"成功",color:"success"},completed:{label:"已完成",color:"success"},failed:{label:"失败",color:"error"},timeout:{label:"超时",color:"warning"},ambiguous:{label:"结果不明",color:"warning"},awaiting_async:{label:"结果待核查",color:"warning"},pending:{label:"排队中",color:"default"},waiting_input:{label:"待确认",color:"warning"}},Tan={skill:"技能",execution:"执行"};function lze(e){return e&&Ean[e]||{label:e||"未知",color:"default"}}function cze(e){if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function Ian({summary:e}){if(!e)return null;const t=[];for(const[n,r]of Object.entries(e))if(r)for(const[i,o]of Object.entries(r)){if(!o)continue;const a=lze(i);t.push({key:`${n}:${i}`,text:`${Tan[n]||n} ${a.label} ×${o}`,color:a.color})}return t.length===0?null:w.jsx("div",{className:"wandox-agc-center__badges",children:t.map(n=>w.jsx(Fo,{color:n.color,className:"wandox-agc-center__badge",children:n.text},n.key))})}function Pan({task:e,record:t,componentId:n,onOpenFlow:r,defaultOpenFlow:i}){const o=e.task_type==="execution",a=o&&(t!=null&&t.status)?t.status:e.status,s=lze(a),l=o&&a==="failed"&&e.ref_id!=null&&/^\d+$/.test(String(e.ref_id)),c=o?(t==null?void 0:t.execution_title)||e.execution_title||e.execution_id||`执行记录 ${e.ref_id??""}`:e.skill_id||"技能调用";return w.jsxs("div",{className:"wandox-agc-center__task",children:[w.jsx("span",{className:`wandox-agc-center__task-type${o?"":" wandox-agc-center__task-type--skill"}`,children:o?"执行":"技能"}),w.jsx("span",{className:"wandox-agc-center__task-name",title:c,children:c}),w.jsx(Fo,{color:s.color,className:"wandox-agc-center__badge",children:s.label}),o&&(t==null?void 0:t.business_status)&&w.jsx("span",{className:"wandox-agc-center__task-biz",children:t.business_status}),l&&w.jsx(qt,{size:"small",className:"wandox-agc-center__task-retry",onClick:()=>{var d;const u={componentId:n||"",retryRecordId:Number(e.ref_id)};(d=r||i)==null||d(u)},children:"断点重试"}),w.jsx("span",{className:"wandox-agc-center__task-time",children:cze(e.updated_at)})]})}function j0e({instance:e,expanded:t,tasks:n,tasksLoading:r,records:i,onToggle:o,onOpenFlow:a,defaultOpenFlow:s}){const l=String(e.id),c=e.status==="draft",u=a||s;return w.jsxs("div",{className:`wandox-agc-center__card${c?"":" wandox-agc-center__card--done"}`,children:[w.jsxs("div",{className:"wandox-agc-center__card-head",children:[w.jsxs("div",{className:"wandox-agc-center__card-title",children:[w.jsx("span",{className:"wandox-agc-center__card-name",children:e.component_id}),w.jsxs("span",{className:"wandox-agc-center__card-id",children:["#",l]})]}),w.jsx("span",{className:"wandox-agc-center__card-time",children:cze(e.updated_at)})]}),c&&e.current_step&&w.jsxs("div",{className:"wandox-agc-center__card-step",children:["停留在步骤「",e.current_step,"」"]}),w.jsx(Ian,{summary:e.task_summary}),w.jsxs("div",{className:"wandox-agc-center__card-actions",children:[c&&w.jsx(qt,{type:"primary",size:"small",disabled:!u||!e.component_id,onClick:()=>u==null?void 0:u({componentId:e.component_id}),children:"继续填写"}),w.jsxs(qt,{type:"text",size:"small",onClick:()=>o(e.id),children:[t?"收起子任务":"查看子任务",n&&n.length>0?`(${n.length})`:""]})]}),t&&w.jsx("div",{className:"wandox-agc-center__tasks",children:r?w.jsx("div",{className:"wandox-agc-center__empty wandox-agc-center__empty--inline",children:"子任务加载中…"}):!n||n.length===0?w.jsx("div",{className:"wandox-agc-center__empty wandox-agc-center__empty--inline",children:"暂无子任务"}):n.map(d=>w.jsx(Pan,{task:d,record:d.ref_id?i[String(d.ref_id)]:void 0,componentId:e.component_id,onOpenFlow:a,defaultOpenFlow:s},String(d.id)))})]})}function Nan({componentId:e,store:t,sso:n,onOpenFlow:r,defaultOpenFlow:i,intervalMs:o}){const[a,s]=g.useState(null),[l,c]=g.useState(!0),[u,d]=g.useState(),[f,p]=g.useState(new Set),[h,m]=g.useState({}),[v,y]=g.useState(new Set),b=g.useRef(new Set),x=g.useCallback(async()=>{c(!0),d(void 0);try{const T=await t.listMine(e);s(T.items)}catch(T){d(T instanceof Error?T.message:"流程单列表加载失败")}finally{c(!1)}},[t,e]);g.useEffect(()=>{x()},[x]);const S=g.useCallback(T=>{const $=String(T);p(P=>{const N=new Set(P);return N.has($)?N.delete($):N.add($),N}),!b.current.has($)&&(b.current.add($),y(P=>new Set(P).add($)),t.getInstance(T).then(P=>m(N=>({...N,[$]:P.tasks||[]}))).catch(()=>m(P=>({...P,[$]:[]}))).finally(()=>y(P=>{const N=new Set(P);return N.delete($),N})))},[t]),_=g.useMemo(()=>{const T=[];for(const $ of f)for(const P of h[$]||[])P.task_type==="execution"&&P.ref_id&&/^\d+$/.test(String(P.ref_id))&&T.push(Number(P.ref_id));return T},[f,h]),C=g.useCallback(T=>n?WZt(Number(T),n):Promise.reject(new Error("[Wandox] 任务中心缺少 sso 配置,无法查询执行详情")),[n]),{records:A}=LZt({recordIds:n?_:[],fetchDetail:C,intervalMs:o??5e3}),E=g.useMemo(()=>(a||[]).filter(T=>T.status==="draft"),[a]),I=g.useMemo(()=>(a||[]).filter(T=>T.status!=="draft"),[a]);return w.jsxs("div",{className:"wandox-agc-center",children:[w.jsxs("div",{className:"wandox-agc-center__header",children:[w.jsx("span",{className:"wandox-agc-center__title",children:"任务中心"}),w.jsx(qt,{size:"small",type:"text",onClick:()=>void x(),loading:l,children:"刷新"})]}),u&&w.jsx("div",{className:"wandox-agc-center__error",children:u}),l&&!a?w.jsx("div",{className:"wandox-agc-center__empty",children:"加载中…"}):w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"wandox-agc-center__section",children:[w.jsxs("div",{className:"wandox-agc-center__section-title",children:["进行中(",E.length,")"]}),E.length===0?w.jsx("div",{className:"wandox-agc-center__empty",children:"暂无进行中的流程"}):E.map(T=>w.jsx(j0e,{instance:T,expanded:f.has(String(T.id)),tasks:h[String(T.id)],tasksLoading:v.has(String(T.id)),records:A,onToggle:S,onOpenFlow:r,defaultOpenFlow:i},String(T.id)))]}),I.length>0&&w.jsxs("div",{className:"wandox-agc-center__section",children:[w.jsxs("div",{className:"wandox-agc-center__section-title",children:["已完成(",I.length,")"]}),I.map(T=>w.jsx(j0e,{instance:T,expanded:f.has(String(T.id)),tasks:h[String(T.id)],tasksLoading:v.has(String(T.id)),records:A,onToggle:S,onOpenFlow:r,defaultOpenFlow:i},String(T.id)))]})]})]})}const{Paragraph:kan}=If,Man=[{name:"新品7天冷启动",freeType:"time",freeLabel:"限时免费",desc:"广告 + 促销组合策略,7天快速起量破零",exec:"4,321"},{name:"ACOS降本增效",freeType:"limit",freeLabel:"限次免费",remain:10,total:10,desc:"14天广告优化剧本,ACOS 平均降低 32%",exec:"6,890"},{name:"差评危机处理",freeType:"time",freeLabel:"限时免费",desc:"24小时响应剧本,把差评风险变成好评契机",exec:"2,156"},{name:"爆款打造计划",freeType:"limit",freeLabel:"限次免费",remain:3,total:10,desc:"选品到收割全流程剧本,30天打造类目 Top 10",exec:"3,208"}],z0e=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()){const t=new Date(e).getTime();if(Number.isFinite(t))return t}},B0e=e=>z0e(e.countdownEndTime)??z0e(e.countdown_end_time),Ran=e=>{let t=Math.max(0,e-Date.now());const n=Math.floor(t/864e5);t%=864e5;const r=Math.floor(t/36e5);t%=36e5;const i=Math.floor(t/6e4);t%=6e4;const o=Math.floor(t/1e3);return{d:n,h:r,m:i,s:o}},TP=e=>String(e).padStart(2,"0"),Dan=e=>e==null||e===""?"0":typeof e=="number"?e.toLocaleString("en-US"):String(e),Oan=e=>e.freeLabel?e.freeLabel:e.freeType==="limit"?"限次免费":"限时免费",Lan=e=>{const t=(e.agentId||e.agent_id||"").trim(),n=(e.promoId||e.promo_id||"").trim(),r=(e.playbookId||e.playbook_id||"").trim(),i=e.playbookParams??e.playbook_params,o=e.freeType??e.free_type,a=e.freeLabel??e.free_label;return{...e,...t?{agentId:t,agent_id:t}:{},...n?{promoId:n,promo_id:n}:{},...r?{playbookId:r,playbook_id:r}:{},...i?{playbookParams:i,playbook_params:i}:{},...o?{freeType:o}:{},...a?{freeLabel:a}:{}}};function jan({items:e,autoPlayInterval:t=4e3,showDots:n=!0,onClaim:r,onReady:i,onExhausted:o}){const a=g.useMemo(()=>(e??Man).map(Lan),[e]),[s,l]=g.useState(a),[c,u]=g.useState(0),[d,f]=g.useState(null),[p,h]=g.useState(!1),m=g.useRef(null),v=g.useRef(o),y=g.useRef(a),b=g.useRef(0);g.useEffect(()=>{v.current=o},[o]),g.useEffect(()=>{y.current=s},[s]),g.useEffect(()=>{b.current=c},[c]);const x=s.length,S=s[c];g.useEffect(()=>{h(!1)},[S==null?void 0:S.desc,S==null?void 0:S.name]);const _=g.useCallback(()=>{u(N=>(N+1)%Math.max(1,x))},[x]),C=g.useCallback(()=>{u(N=>(N-1+Math.max(1,x))%Math.max(1,x))},[x]),A=g.useCallback(N=>{const M=Math.max(1,x);u((N%M+M)%M)},[x]),E=g.useCallback(()=>{m.current&&clearInterval(m.current),t>0&&(m.current=setInterval(_,t))},[_,t]),I=g.useCallback(()=>{C(),E()},[C,E]),T=g.useCallback(()=>{_(),E()},[_,E]),$=g.useCallback(N=>{A(N),E()},[A,E]);g.useEffect(()=>(E(),()=>{m.current&&clearInterval(m.current)}),[E]),g.useEffect(()=>{const N=()=>{const k=Date.now(),O=y.current,j=b.current,z=O.filter(H=>{const W=B0e(H);return W==null||W>k});if(z.length!==O.length){const H=O[j];let W=j;z.length===0?W=0:H&&z.some(L=>L.name===H.name)?W=z.findIndex(L=>L.name===H.name):W=Math.min(j,z.length-1),l(z),u(W),y.current=z,b.current=W}const B=y.current[b.current],D=B?B0e(B):void 0;f(D!=null?Ran(D):null)};N();const M=setInterval(N,1e3);return()=>clearInterval(M)},[]),g.useEffect(()=>{var N;x===0&&((N=v.current)==null||N.call(v))},[x]),g.useEffect(()=>{i==null||i({next:T,prev:I,goTo:$})},[i,T,I,$]);const P=g.useCallback(()=>{if(S){if(r){r({message:S.name,agent_id:S.agent_id||S.agentId||"maiduo_global",playbook_id:S.playbook_id||S.playbookId||"",playbook_params:S.playbook_params??S.playbookParams,promo_id:S.promo_id||S.promoId||""},S,c);return}alert(`🎉 已为你开启「${S.name}」剧本
|
|
803
803
|
|
|
804
|
-
剧本已生成专属执行计划,可在「我的 → 剧本库」中查看并执行。`)}},[r,S,c]);return S?w.jsxs("div",{className:"wandox-promo-banner",children:[w.jsx("div",{className:`wandox-promo-banner__corner wandox-promo-banner__corner--${S.freeType==="limit"?"limit":"time"}`,children:Oan(S)}),w.jsx("div",{className:"wandox-promo-banner__glow wandox-promo-banner__glow--1"}),w.jsx("div",{className:"wandox-promo-banner__glow wandox-promo-banner__glow--2"}),w.jsx("div",{className:"wandox-promo-banner__glow wandox-promo-banner__glow--3"}),w.jsxs("div",{className:"wandox-promo-banner__inner",children:[w.jsx("div",{className:"wandox-promo-banner__info",children:w.jsxs("div",{className:"wandox-promo-banner__slide",children:[S.freeType==="limit"&&S.remain!=null&&w.jsxs("div",{className:"wandox-promo-banner__status",children:["今日剩余体验次数 ",w.jsx("b",{children:S.remain}),"(总计 ",S.total??S.remain,")"]}),w.jsx("div",{className:"wandox-promo-banner__title",children:S.name}),S.desc?w.jsx(kan,{className:"wandox-promo-banner__desc",ellipsis:{rows:2,expandable:"collapsible",expanded:p,symbol:N=>N?"收起":"展开",onExpand:(N,M)=>h(M.expanded)},children:S.desc}):null,w.jsxs("div",{className:"wandox-promo-banner__meta",children:["⚡ 已执行 ",w.jsx("b",{children:Dan(S.exec)})," 次"]})]},S.name)}),w.jsxs("div",{className:"wandox-promo-banner__right",children:[d?w.jsxs("div",{className:"wandox-promo-banner__countdown",children:[w.jsx("div",{className:"wandox-promo-banner__countdown-label",children:"⏰ 距活动结束"}),w.jsxs("div",{className:"wandox-promo-banner__countdown-time",children:[TP(d.d),w.jsx("span",{className:"wandox-promo-banner__unit",children:"天"}),w.jsx("b",{children:":"}),TP(d.h),w.jsx("span",{className:"wandox-promo-banner__unit",children:"时"}),w.jsx("b",{children:":"}),TP(d.m),w.jsx("span",{className:"wandox-promo-banner__unit",children:"分"}),w.jsx("b",{children:":"}),TP(d.s),w.jsx("span",{className:"wandox-promo-banner__unit",children:"秒"})]})]}):null,w.jsx("button",{type:"button",className:"wandox-promo-banner__cta",onClick:P,children:"立即体验 →"})]})]}),w.jsxs("div",{className:"wandox-promo-banner__bar",children:[n?w.jsx("div",{className:"wandox-promo-banner__dots",children:s.map((N,M)=>w.jsx("button",{type:"button",className:`wandox-promo-banner__dot${M===c?" wandox-promo-banner__dot--on":""}`,onClick:()=>$(M),"aria-label":`切换到第 ${M+1} 个`},N.name))}):w.jsx("div",{}),w.jsxs("div",{className:"wandox-promo-banner__arrows",children:[w.jsx("button",{type:"button",className:"wandox-promo-banner__arrow",onClick:I,"aria-label":"上一个",children:w.jsx("svg",{width:"15",height:"12",viewBox:"0 0 14 12",fill:"currentColor","aria-hidden":"true",children:w.jsx("path",{d:"M2 6 L9 1 L9 11 Z"})})}),w.jsx("button",{type:"button",className:"wandox-promo-banner__arrow",onClick:T,"aria-label":"下一个",children:w.jsx("svg",{width:"12",height:"12",viewBox:"0 0 8 12",fill:"currentColor","aria-hidden":"true",children:w.jsx("path",{d:"M8 6 L1 1 L1 11 Z"})})})]})]})]}):null}const zan=g.lazy(()=>Promise.resolve().then(()=>require("./V1WorkbenchStub-BcbRZKau.cjs"))),Ban=g.lazy(()=>Promise.resolve().then(()=>require("./V2Workbench-DAISzjAm.cjs")));function Fan(){return w.jsx("div",{className:"wandox-workbench-loading",role:"status","aria-live":"polite",children:"正在加载工作台..."})}function Van({version:e=2,agents:t,initialAgentId:n,initialPlaybookId:r,initialPlaybookParams:i,extraChatParams:o,onReady:a}){return w.jsx(g.Suspense,{fallback:w.jsx(Fan,{}),children:e===1?w.jsx(zan,{showAside:!0,presetAgents:t,initialAgentId:n,initialPlaybookId:r,initialPlaybookParams:i,onReady:a}):w.jsx(Ban,{agents:t,initialAgentId:n,initialPlaybookId:r,initialPlaybookParams:i,extraChatParams:o,onReady:a})})}const uze=e=>{if(e){if("enableCustomerService"in e)return e.enableCustomerService;if("enable_customer_service"in e)return e.enable_customer_service}},F0e=e=>{const t={};return("agentId"in e||"agent_id"in e)&&(t.agentId=Jt(e.agentId)||Jt(e.agent_id)||void 0),("playbookId"in e||"playbook_id"in e)&&(t.playbookId=Jt(e.playbookId)||Jt(e.playbook_id)||void 0),("playbookParams"in e||"playbook_params"in e)&&(t.playbookParams=e.playbookParams??e.playbook_params),"message"in e&&(t.message=e.message),t},V0e=e=>{const t=uze(e);return{hasExplicitTargetOptions:!!e&&["playbookId","playbook_id","playbookParams","playbook_params","message","agentId","agent_id"].some(r=>r in e),playbookId:Jt(e==null?void 0:e.playbookId)||Jt(e==null?void 0:e.playbook_id)||void 0,playbookParams:(e==null?void 0:e.playbookParams)??(e==null?void 0:e.playbook_params),message:e==null?void 0:e.message,agentId:Jt(e==null?void 0:e.agentId)||Jt(e==null?void 0:e.agent_id)||void 0,enableCustomerService:t,customerServiceUrl:(e==null?void 0:e.customerServiceUrl)||(e==null?void 0:e.customer_service_url)||void 0}},Han=e=>Array.isArray(e)?{agents:e,agentId:void 0,playbookId:void 0,playbookParams:void 0,extraChatParams:void 0}:{agents:e==null?void 0:e.agents,agentId:Jt(e==null?void 0:e.agentId)||Jt(e==null?void 0:e.agent_id)||void 0,playbookId:Jt(e==null?void 0:e.playbookId)||Jt(e==null?void 0:e.playbook_id)||void 0,playbookParams:Pr((e==null?void 0:e.playbookParams)??(e==null?void 0:e.playbook_params)),extraChatParams:Pr((e==null?void 0:e.extraChatParams)??(e==null?void 0:e.extra_chat_params))},Pr=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:void 0,dze=e=>Array.isArray(e)?e.map(t=>String(t||"").trim()).filter(Boolean):[],Kp=e=>typeof e=="string"&&e.trim()?e.trim():void 0,fze=(e={})=>{const t=e.dataParams||e.data_params||{};return{executionParams:dze(e.executionParams||e.execution_params||t.executionParams||t.execution_params),defaultParams:Pr(e.defaultParams||e.default_params||t.defaultParams||t.default_params),paramSchema:Pr(e.paramSchema||e.param_schema||t.paramSchema||t.param_schema),sdkConfig:e.sdkConfig||e.sdk_config||t.sdkConfig||t.sdk_config}},Wan=(e={})=>{const t=fze(e),n=Pr(e.playbookParams??e.playbook_params??e.params);return{...t.defaultParams||{},...n||{}}},pze=(e={})=>({agentId:Jt(e.agentId)||Jt(e.agent_id)||void 0,playbookId:Jt(e.playbookId)||Jt(e.playbook_id)||void 0,playbookParams:Wan(e),message:e.message,sessionId:Jt(e.sessionId)||Jt(e.session_id)||void 0}),Gan={bottomRight:"bottom-right",bottomLeft:"bottom-left",topRight:"top-right",topLeft:"top-left",center:"center","bottom-right":"bottom-right","bottom-left":"bottom-left","top-right":"top-right","top-left":"top-left"},Uan=e=>e&&Gan[e]||"bottom-right",H0e=e=>{if(!(e==null||e===""))return typeof e=="number"?`${e}px`:e},H1=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0)),IP=e=>{if(!(e==null||e==="")){if(e==="true")return!0;if(e==="false")return!1}},k5=e=>{if(!(e==null||e===""))return/^\d+$/.test(e)?Number(e):e},qan=e=>{const t=new Set,n=e.paramSchema||e.param_schema||{},r=e.executionParams||e.execution_params||[];for(const[i,o]of Object.entries(n))(o==null?void 0:o.source)==="runtime"&&t.add(i);for(const i of r){const o=String(i||"").trim();o&&t.add(o)}return Array.from(t).map(i=>({name:i,schema:n[i]||{}}))},hze=e=>{const t=(e||"").trim();if(!t)return{};let n;try{n=JSON.parse(t)}catch{n=tX(t)}const r=Pr(n);if(!r)throw new Error("[Wandox] data-params must be an object");return r},mze=e=>typeof e=="string"?{...hze(e)}:Pr(e)||{},M5=e=>{const t=mze(e),n=Pr(t.defaultParams||t.default_params);return{...Object.fromEntries(Object.entries(t).filter(([i])=>i!=="defaultParams"&&i!=="default_params")),...n||{}}},W0e=e=>{const t=Pr(e);return Pr(t==null?void 0:t.data)||t||{}},G0e=e=>{const t=Pr(e),n=Pr(t==null?void 0:t.response),r=n==null?void 0:n.data,i=t==null?void 0:t.data,o=r??i,a=Pr(o),s=Pr(a==null?void 0:a.data),c=[s==null?void 0:s.message,s==null?void 0:s.detail,s==null?void 0:s.error,a==null?void 0:a.message,a==null?void 0:a.detail,a==null?void 0:a.error,typeof o=="string"?o:void 0,t==null?void 0:t.message,t==null?void 0:t.detail,t==null?void 0:t.error,n==null?void 0:n.statusText,typeof e=="string"?e:void 0].find(u=>typeof u=="string"&&u.trim());return typeof c=="string"?c:"业务组件加载失败,请稍后重试"},U0e=()=>{const e=new Error("业务组件弹窗请求已取消");return e.name="AbortError",e},q0e=e=>{var t;return((t=Pr(e))==null?void 0:t.name)==="AbortError"},PP=e=>typeof e=="string"||typeof e=="number"?Jt(e):"",sx=e=>e.schema.label||e.name,K0e={string:"string",text:"string",textarea:"string",number:"number",integer:"integer",int:"integer",float:"float",boolean:"boolean",bool:"boolean",array:"array",list:"array",object:"object",file:"file",date:"date",daterange:"dateRange",date_range:"dateRange",datetime:"datetime",date_time:"datetime","date-time":"datetime",datetimerange:"datetimeRange",datetime_range:"datetimeRange",timerange:"timeRange",time_range:"timeRange",time:"time"},ty=e=>{const t=String(e.schema.type||"string").trim();return K0e[t]||K0e[t.toLowerCase()]||"string"},Y0e=e=>e.schema.placeholder||e.schema.description||`请输入${sx(e)}`,Ew=(e,t=ty(e))=>({type:t,format:typeof e.schema.format=="string"?e.schema.format:void 0,picker:typeof e.schema.picker=="string"?e.schema.picker:void 0,show_time:typeof e.schema.show_time=="boolean"?e.schema.show_time:void 0,range:typeof e.schema.range=="boolean"?e.schema.range:void 0}),gl=(e,t=ty(e))=>lu(Ew(e,t))||(t.startsWith("time")?"HH:mm:ss":"YYYY-MM-DD"),rte=e=>{const t=e.schema.max_files??e.schema.maxFiles??e.schema.maxCount??1,n=Number(t);return Number.isFinite(n)&&n>0?n:1},gze=e=>{const t=e.schema.file_type??e.schema.fileType??e.schema.accept;return(Array.isArray(t)?t:typeof t=="string"?[t]:[]).flatMap(r=>String(r||"").split(/[\s,]+/)).map(r=>r.trim()).filter(Boolean)},ite=e=>{const t=e.trim();return!t||t.includes("/")||t.startsWith(".")||t.includes("*")?t:`.${t}`},Kan=e=>{const t=gze(e).map(ite).filter(Boolean);return t.length>0?t.join(","):void 0},Yan=e=>e.map(ite).filter(Boolean).join("、"),Xan=(e,t)=>{if(t.length===0)return!0;const n=e.name.toLowerCase(),r=e.type.toLowerCase();return t.map(i=>ite(i).toLowerCase()).some(i=>!i||i==="*"||i==="*/*"?!0:i.endsWith("/*")?r.startsWith(i.slice(0,-1)):i.includes("/")?r===i:n.endsWith(i))},Zan=e=>{const t=e.schema.file_templates??e.schema.fileTemplates;return Array.isArray(t)?t.map(n=>{const r=Pr(n),i=Kp(r==null?void 0:r.path);return i?{name:Kp(r==null?void 0:r.name)||"下载模板",path:i}:null}).filter(n=>!!n):[]},W1=e=>!!e&&typeof e=="object"&&typeof e.format=="function",ZN=e=>{if(!e)return null;if(Nn.isDayjs(e))return e.isValid()?e:null;if(typeof e!="string"&&typeof e!="number"&&!(e instanceof Date))return null;const t=Nn(e);return t.isValid()?t:null},R5=e=>{if(!e)return null;if(Nn.isDayjs(e))return e.isValid()?e:null;if(typeof e!="string")return ZN(e);const t=e.includes(" ")?e:`2000-01-01 ${e}`,n=Nn(t);return n.isValid()?n:null},NP=(e,t)=>{const n=Array.isArray(e)?e:e&&typeof e=="object"&&("start"in e||"end"in e)?[e.start,e.end]:void 0;if(!n||n.length!==2)return null;const r=t(n[0]),i=t(n[1]);return r&&i?[r,i]:null},Qan=e=>{if(typeof e=="string")return e;if(e==null||e==="")return"";try{return JSON.stringify(e,null,2)}catch{return String(e)}},Jan=e=>(Array.isArray(e)?e:e?[e]:[]).map((n,r)=>{const i=Pr(n),o=String(i?i.url||i.response||"":n||""),a=String(i?i.name||o.split("/").pop()||`file_${r+1}`:o.split("/").pop()||n||`file_${r+1}`);return{uid:String((i==null?void 0:i.uid)||`runtime-file-${r}`),name:a,status:"done",url:o||void 0,response:i==null?void 0:i.response}}),vze=e=>!!e&&typeof e=="object"&&!Array.isArray(e)&&("fileList"in e||"manualUrl"in e),ote=e=>Array.isArray(e)?e:vze(e)&&Array.isArray(e.fileList)?e.fileList:[],yze=e=>vze(e)?String(e.manualUrl||""):"",QN=(e,t)=>({fileList:e,manualUrl:t}),esn=(e,t)=>{const n=t[e.name]??e.schema.defaultValue??e.schema.default,r=ty(e);if(n==null)return r==="boolean"?!1:r==="file"?QN([],""):"";if(r==="array"||r==="object")return Qan(n);if(r==="date"&&vw(Ew(e,r)))return NP(n,ZN);if(r==="time"&&vw(Ew(e,r)))return NP(n,R5);if(r==="date"||r==="datetime")return ZN(n);if(r==="dateRange"||r==="datetimeRange")return NP(n,ZN);if(r==="time")return R5(n);if(r==="timeRange")return NP(n,R5);if(r==="file"){const i=Jan(n);if(rte(e)<=1){const o=i[i.length-1];return QN([],o&&ate(o)||"")}return QN(i,"")}return n},ate=e=>{const t=Pr(e.response),n=Pr(t==null?void 0:t.data);return Kp(n==null?void 0:n.url)||Kp(t==null?void 0:t.url)||Kp(e.url)||Kp(e.response)},bze=(e,t)=>{const n=ty(e);if(n==="boolean")return!!t;if(n==="number"||n==="integer"||n==="float"){if(t===""||t==null)return;const r=Number(t);return Number.isNaN(r)?t:n==="integer"?Math.trunc(r):r}if(n==="array"||n==="object")return t===""||t==null?void 0:typeof t!="string"?t:JSON.parse(t);if((n==="date"||n==="time")&&vw(Ew(e,n)))return Array.isArray(t)?t.map(r=>W1(r)?r.format(gl(e,n)):r):t;if(n==="date"||n==="datetime")return W1(t)?t.format(gl(e,n)):t;if(n==="dateRange"||n==="datetimeRange")return Array.isArray(t)?t.map(r=>W1(r)?r.format(gl(e,n)):r):t;if(n==="time")return W1(t)?t.format(gl(e,n)):t;if(n==="timeRange")return Array.isArray(t)?t.map(r=>W1(r)?r.format(gl(e,n)):r):t;if(n==="file"){const r=ote(t),i=yze(t).trim(),o=r.map(ate).filter(Boolean);return i&&o.push(i),rte(e)<=1?o[o.length-1]:o}return t},xze=e=>e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0,tsn=async(e,t)=>{const n=ty(e),r=sx(e);if(n==="file"&&ote(t).some(o=>o.status==="uploading"))throw new Error(`${r}正在上传,请稍后`);let i;try{i=bze(e,t)}catch{throw new Error(n==="array"?`${r}必须是合法 JSON 数组`:`${r}必须是合法 JSON 对象`)}if(e.schema.required&&xze(i))throw new Error(`请输入${r}`);if(n==="array"&&i!==void 0&&!Array.isArray(i))throw new Error(`${r}必须是 JSON 数组`);if(n==="object"&&i!==void 0&&!Pr(i))throw new Error(`${r}必须是 JSON 对象`)};function nsn({field:e,value:t,onChange:n,customRequest:r}){const i=ote(t),o=yze(t),a=Zan(e),s=rte(e),l=s<=1,c=i.some(h=>h.status==="uploading"),u=gze(e),d=(h,m)=>{n==null||n(QN(h,m))},f=h=>{if(Xan(h,u))return!0;const m=Yan(u);return zt.warning(m?`${sx(e)}仅支持上传 ${m} 文件`:"文件类型不支持"),_v.LIST_IGNORE},p=({file:h,fileList:m})=>{if(!l){d(m,o);return}if(h.status==="done"){d([],ate(h)||o);return}if(h.status==="uploading"){d(m,o);return}d([],o)};return w.jsxs("div",{className:"wandox-sdk-runtime-file",children:[a.length>0&&w.jsx("div",{className:"wandox-sdk-runtime-file__templates",children:w.jsx("div",{className:"wandox-sdk-runtime-file__template-list",children:a.map((h,m)=>w.jsxs("a",{className:"wandox-sdk-runtime-file__template",href:h.path,target:"_blank",rel:"noreferrer",children:[w.jsx(AE,{}),w.jsx("span",{children:h.name})]},`${h.path}-${m}`))})}),w.jsxs("div",{className:"wandox-sdk-runtime-file__controls",children:[w.jsx(_v,{accept:Kan(e),beforeUpload:f,customRequest:r,fileList:l?i.filter(h=>h.status==="uploading"):i,maxCount:s,showUploadList:!l,onChange:p,children:w.jsx(qt,{icon:w.jsx(TE,{}),loading:l&&c,children:"点击上传"})}),w.jsx(_n,{value:o,placeholder:"或粘贴外网图片 / 文件地址",allowClear:!0,onChange:h=>d(i,h.target.value)})]})]})}function X0e({options:e,baseParams:t,fields:n,ssoToken:r,ssoDomain:i,ssoCompany:o,popup:a=!1,popupConfig:s,persistent:l=!1,onSubmit:c,onClose:u}){const d=g.useMemo(()=>Object.fromEntries(n.map(I=>[I.name,esn(I,t)])),[t,n]),[f]=Kr.useForm(),p=Uan(s==null?void 0:s.placement),h=(s==null?void 0:s.zIndex)??2147483e3,m=a?{width:H0e(s==null?void 0:s.width),height:H0e(s==null?void 0:s.height),zIndex:h}:void 0,v={zIndex:h>0?h-1:h},y=e.message||"填写场景参数",b=()=>async({file:I,onSuccess:T,onError:$})=>{try{const P=new FormData;P.append("file",I);const N=await fetch(`${_r()}/api/v1/oss/upload2`,{method:"POST",headers:{Authorization:`Bearer ${r}`,"X-Tenant-ID":o,"X-Domain":i},body:P}),M=await N.json();if(!N.ok||(M==null?void 0:M.success)===!1)throw new Error((M==null?void 0:M.message)||`HTTP ${N.status}`);T==null||T(M)}catch(P){$==null||$(P instanceof Error?P:new Error("文件上传失败"))}},x=I=>{const T={};for(const $ of n){const P=bze($,I[$.name]);xze(P)||(T[$.name]=P)}c(T)},S=I=>ty(I)==="boolean"?{valuePropName:"checked"}:{},_=I=>{const T=ty(I),$=sx(I),P=Array.isArray(I.schema.options)?I.schema.options:[];if(P.length>0)return w.jsx(Qn,{style:{width:"100%"},placeholder:I.schema.placeholder||`请选择${$}`,options:P.map(N=>{const M=Pr(N),k=M?M.value:N,O=String(M?M.label||k||"":N);return{value:k,label:O}})});switch(T){case"number":case"integer":case"float":return w.jsx(Sl,{style:{width:"100%"},precision:T==="integer"?0:void 0,placeholder:Y0e(I)});case"boolean":return w.jsx(rf,{children:"启用"});case"array":case"object":return w.jsx(_n.TextArea,{autoSize:!0,placeholder:I.schema.placeholder||"请输入 JSON"});case"file":return w.jsx(nsn,{field:I,customRequest:b()});case"date":{const N=Ew(I,T),M=gl(I,T),k={style:{width:"100%"},picker:yw(M,N.picker),showTime:TJ(N)?{format:ov(M)}:!1,format:M};return vw(N)?w.jsx(Zr.RangePicker,{...k,placeholder:["开始时间","结束时间"]}):w.jsx(Zr,{...k,placeholder:I.schema.placeholder||"选择日期"})}case"dateRange":{const N=gl(I,T);return w.jsx(Zr.RangePicker,{style:{width:"100%"},picker:yw(N),format:N,placeholder:["开始日期","结束日期"]})}case"datetime":{const N=gl(I,T);return w.jsx(Zr,{style:{width:"100%"},showTime:{format:ov(N)},format:N,placeholder:I.schema.placeholder||"选择日期时间"})}case"datetimeRange":{const N=gl(I,T);return w.jsx(Zr.RangePicker,{style:{width:"100%"},showTime:{format:ov(N)},format:N,placeholder:["开始日期时间","结束日期时间"]})}case"time":return vw(Ew(I,T))?w.jsx(da.RangePicker,{style:{width:"100%"},format:gl(I,T),placeholder:["开始时间","结束时间"]}):w.jsx(da,{style:{width:"100%"},format:gl(I,T),placeholder:I.schema.placeholder||"选择时间"});case"timeRange":return w.jsx(da.RangePicker,{style:{width:"100%"},format:gl(I,T),placeholder:["开始时间","结束时间"]});default:return w.jsx(_n.TextArea,{autoSize:!0,placeholder:Y0e(I)})}},C=w.jsxs(Kr,{form:f,layout:"vertical",className:`wandox-sdk-runtime-form${l?" wandox-sdk-runtime-form--persistent":""}`,initialValues:d,onFinish:x,children:[!l&&w.jsxs("div",{className:"wandox-playbook-params-drawer__intro",children:[w.jsx("span",{children:"填写本次运行需要的参数"}),w.jsxs("span",{children:[n.length," 项"]})]}),w.jsx("div",{className:`wandox-playbook-params-drawer__form wandox-sdk-runtime-form__fields${l?" wandox-sdk-runtime-form__fields--persistent":""}`,children:n.map(I=>{const T=Kp(I.schema.description)||Kp(I.schema.hint);return w.jsx(Kr.Item,{className:"wandox-sdk-runtime-field",name:I.name,label:w.jsxs("span",{className:"wandox-playbook-params-drawer__label",children:[sx(I),T?w.jsx(ir,{title:T,children:w.jsx(Gh,{"aria-label":`${sx(I)}说明`})}):null]}),required:!!I.schema.required,rules:[{validator:($,P)=>tsn(I,P)}],...S(I),children:_(I)},I.name)})}),l&&w.jsx("div",{className:"wandox-sdk-runtime-form__actions",children:w.jsx(qt,{type:"primary",htmlType:"submit",children:"执行"})})]});if(l)return w.jsx(Co,{getPopupContainer:I=>(I==null?void 0:I.closest(".wandox-sdk-persistent-run"))||document.body,children:w.jsx("div",{className:"wandox-sdk-persistent-run__params",children:C})});const A=w.jsxs("div",{className:`wandox-sdk-exec wandox-root${a?` wandox-sdk-exec--popup wandox-sdk-exec--${p}`:""}`,style:m,children:[a&&w.jsxs("div",{className:"wandox-sdk-exec__header",children:[w.jsx("div",{className:"wandox-sdk-exec__heading",children:w.jsx("div",{className:"wandox-sdk-exec__title",children:y})}),u&&w.jsx("button",{type:"button",className:"wandox-sdk-exec__close",onClick:u,"aria-label":"关闭",title:"关闭",children:w.jsx(ni,{})})]}),w.jsx("div",{className:"wandox-sdk-exec__body",children:C}),w.jsxs("div",{className:"wandox-sdk-exec__footer",children:[u&&w.jsx(qt,{onClick:u,children:"取消"}),w.jsx(qt,{type:"primary",onClick:()=>f.submit(),children:"开始执行"})]})]}),E=a?w.jsx(Co,{getPopupContainer:I=>(I==null?void 0:I.closest(".wandox-sdk-exec"))||document.body,children:A}):A;return a&&(s!=null&&s.mask)?w.jsxs(w.Fragment,{children:[s.maskClosable===!1?w.jsx("div",{className:"wandox-sdk-exec-mask",style:v,"aria-hidden":"true"}):w.jsx("button",{type:"button",className:"wandox-sdk-exec-mask",style:v,onClick:u,"aria-label":"关闭参数弹窗"}),E]}):E}function rsn({options:e,runtimeFields:t,ssoToken:n,ssoDomain:r,ssoCompany:i,defaultAgentId:o,defaultPlaybookId:a,popup:s=!1,popupConfig:l,persistentParams:c=!1,onClose:u,onReady:d}){const f=g.useMemo(()=>pze(e),[e]),[p,h]=g.useState(t.length>0?null:{}),[m,v]=g.useState(0),y=g.useRef(null),b={...f.playbookParams||{},...y.current||{}},x=g.useCallback(_=>{y.current=_,h(_),v(C=>C+1)},[]),S=g.useCallback(()=>{h(null)},[]);return c&&t.length>0?w.jsxs("div",{className:"wandox-sdk-persistent-run wandox-root",children:[w.jsx(X0e,{options:e,baseParams:b,fields:t,ssoToken:n,ssoDomain:r,ssoCompany:i,persistent:!0,onSubmit:x}),w.jsx("div",{className:"wandox-sdk-persistent-run__result",children:p===null?w.jsx("div",{className:"wandox-sdk-persistent-run__empty",children:"填写运行参数后开始执行"}):w.jsx(pU,{options:{...f,playbookParams:{...f.playbookParams||{},...p}},ssoToken:n,ssoDomain:r,ssoCompany:i,defaultAgentId:o,defaultPlaybookId:a,executionMode:"run",onReady:d},m)})]}):p===null?w.jsx(X0e,{options:e,baseParams:b,fields:t,ssoToken:n,ssoDomain:r,ssoCompany:i,popup:s,popupConfig:l,onClose:u,onSubmit:x}):w.jsx(pU,{options:{...f,playbookParams:{...f.playbookParams||{},...p}},ssoToken:n,ssoDomain:r,ssoCompany:i,defaultAgentId:o,defaultPlaybookId:a,popup:s,popupConfig:l,executionMode:"run",onClose:u,onRerun:t.length>0?S:void 0,onReady:d})}const ste={instance:null,floatingManager:null,init(e){const t=this;if(this.instance)return this.instance;if(!e.token||!e.domain)throw new Error("[Wandox] token and domain are required");const{enableCustomerService:n,enable_customer_service:r,agentId:i,agent_id:o,playbookId:a,playbook_id:s,customerServiceUrl:l,customer_service_url:c,...u}=e,d={...u},f=d.token,p=d.domain,h=d.companyCode||"",m=e.username||"",v=e.userId||e.user_id||"",y=sX();localStorage.setItem("sso_token",f),localStorage.setItem("sso_domain",p),m&&localStorage.setItem("sso_username",m),v&&localStorage.setItem("sso_user_id",v),h&&localStorage.setItem("sso_company",h),t.floatingManager=new Sje(f,p,h,y,l||c);const b=new Lqt(y),x=new wZt(y);let S=null;const _=new Map,C=new Map,A=new Map,E=new Map;let I=0,T=0,$=null,P=null,N=null;const M=new Set,k=new Map,O=new Map,j=new Map;let z=null,B=null,D=null;const H=new Map;let W=0;const L=new Map,R=new Map;let F=0;const V=(Z={})=>({page:Z.page||1,page_size:Z.pageSize||Z.page_size||99,status:Z.status,is_auth:Z.isAuth??Z.is_auth}),U=(Z={})=>{const se=V(Z),ce=JSON.stringify(se),ae=C.get(ce);if(ae)return ae;const we=sL(se).then(Ae=>Array.isArray(Ae.data)?Ae.data:[]).catch(Ae=>{throw C.delete(ce),Ae});return C.set(ce,we),we},G=Z=>{const se=Z.trim();if(!se)return Promise.reject(new Error("[Wandox] agentId is required"));const ce=_.get(se);if(ce)return ce;const ae=lX({agent_id:se}).then(we=>we.data||{}).catch(we=>{throw _.delete(se),we});return _.set(se,ae),ae},q=Z=>{if(typeof Z!="string")return Z;const se=document.querySelector(Z);if(!se)throw new Error(`[Wandox] Container ${Z} not found`);return se},X=Z=>{if(!Z)return document;if(typeof Z!="string")return Z;const se=document.querySelector(Z);if(!se)throw new Error(`[Wandox] Container ${Z} not found`);return se},Y=(Z,se,ce)=>({element:Z,abort:()=>{var ae;return(ae=se())==null?void 0:ae.abort()},rerun:()=>{var ae;return(ae=se())==null?void 0:ae.rerun()},minimize:()=>{var ae;return(ae=se())==null?void 0:ae.minimize()},restore:()=>{var ae;return(ae=se())==null?void 0:ae.restore()},destroy:ce}),K=(Z,se={},ce=!1,ae,we,Ae="chat",He)=>{var at;const Ve=pze(se);let Ke=A.get(Z);return Ke?(at=E.get(Z))==null||at.abort():(Ke=bl(Z),A.set(Z,Ke)),Ke.render(w.jsx(cu,{queryClient:y,children:w.jsx(pU,{options:Ve,ssoToken:f,ssoDomain:p,ssoCompany:h,popup:ce,popupConfig:we,executionMode:Ae,preflight:He,onClose:ae,onReady:Ne=>{E.set(Z,Ne),ce&&(N=Ne)}})})),Y(Z,()=>E.get(Z)||null,()=>{var Ne;(Ne=E.get(Z))==null||Ne.abort(),Ke==null||Ke.unmount(),A.delete(Z),E.delete(Z),ce&&P===Z&&($=null,N=null,P==null||P.remove(),P=null)})},ne=()=>{T+=1,N==null||N.abort(),$==null||$.unmount(),P&&(A.delete(P),E.delete(P),P.remove()),$=null,P=null,N=null},ee=(Z,se={},ce=!1,ae,we,Ae=!1)=>{var Ne;const He=fze(se),Ve=qan(He);if(Ve.length===0)return K(Z,se,ce,ae,we,"run");const Ke=++I;let at=A.get(Z);return at?(Ne=E.get(Z))==null||Ne.abort():(at=bl(Z),A.set(Z,at)),at.render(w.jsx(cu,{queryClient:y,children:w.jsx(rsn,{options:se,runtimeFields:Ve,ssoToken:f,ssoDomain:p,ssoCompany:h,popup:ce,popupConfig:we,persistentParams:Ae&&!ce,onClose:ae,onReady:Ue=>{E.set(Z,Ue),ce&&(N=Ue)}},Ke)})),Y(Z,()=>E.get(Z)||null,()=>{var Ue;(Ue=E.get(Z))==null||Ue.abort(),at==null||at.unmount(),A.delete(Z),E.delete(Z),ce&&P===Z&&($=null,N=null,P==null||P.remove(),P=null)})},Q=(Z,se={},ce)=>{var Ae,He,Ve,Ke,at,Ne,Ue;const ae=se.popup||{},we=Z.dataset;return H1({...(ce==null?void 0:ce.popup)||{},...ae,placement:we.popupPlacement||ae.placement||((Ae=ce==null?void 0:ce.popup)==null?void 0:Ae.placement),mask:IP(Z.getAttribute("data-popup-mask"))??ae.mask??((He=ce==null?void 0:ce.popup)==null?void 0:He.mask),maskClosable:IP(Z.getAttribute("data-popup-mask-closable"))??ae.maskClosable??((Ve=ce==null?void 0:ce.popup)==null?void 0:Ve.maskClosable),minimizable:IP(Z.getAttribute("data-popup-minimizable"))??ae.minimizable??((Ke=ce==null?void 0:ce.popup)==null?void 0:Ke.minimizable),width:k5(Z.getAttribute("data-popup-width"))??ae.width??((at=ce==null?void 0:ce.popup)==null?void 0:at.width),height:k5(Z.getAttribute("data-popup-height"))??ae.height??((Ne=ce==null?void 0:ce.popup)==null?void 0:Ne.height),zIndex:k5(Z.getAttribute("data-popup-z-index"))??ae.zIndex??((Ue=ce==null?void 0:ce.popup)==null?void 0:Ue.zIndex)})},te=(Z,se={})=>{const ce=Z.getAttribute("data-container"),ae=ce==null?void 0:ce.trim();return ae||se.container},ie=Z=>{var se;if(Z.hasAttribute("data-container"))return((se=Z.getAttribute("data-container"))==null?void 0:se.trim())||""},oe=(Z,se)=>{var Ke;const ce=hze(Z.getAttribute("data-params")),ae=ce.sdkConfig||ce.sdk_config||{},we=Z.dataset,Ae=te(Z,ae),He=Q(Z,ae,se),Ve={...ce,dataParams:ce,agentId:Jt(we.agentId)||Jt(ce.agentId)||Jt(ce.agent_id)||void 0,playbookId:Jt(we.playbookId)||Jt(ce.playbookId)||Jt(ce.playbook_id)||void 0,message:we.message||we.title||ce.message||((Ke=Z.textContent)==null?void 0:Ke.trim())||"场景执行"};return{container:Ae,options:Ve,popupConfig:He}},fe=Z=>{const se=Z.dataset;return Jt(Z.getAttribute("data-component-id"))||Jt(Z.getAttribute("data-component_id"))||Jt(se.componentId)||Jt(se.component_id)},ye=Z=>{const se=Z.getAttribute("data-default-params")||Z.getAttribute("data-default_params")||Z.getAttribute("data-params");return M5(se)},$e=(Z={},se={})=>H1({...Z,...se,popup:H1({...Z.popup||{},...se.popup||{}})}),be=(Z={})=>({componentId:Jt(Z.componentId)||Jt(Z.component_id)||void 0,defaultParams:M5(Z.defaultParams||Z.default_params||Z.params),agentId:Jt(Z.agentId)||Jt(Z.agent_id)||void 0,playbookId:Jt(Z.playbookId)||Jt(Z.playbook_id)||void 0,message:Z.message,persistentParams:Z.persistentParams??Z.persistent_params,sdkConfig:$e(Z.sdkConfig||Z.sdk_config||{})}),je=async(Z={})=>{const se=be(Z),ce=se.componentId;if(!ce)throw new Error("[Wandox] componentId is required");const ae=await oyt(ce),we=W0e(ae),Ae=mze(we.playbookParams||we.playbook_params),He=we.sdkConfig||we.sdk_config||Ae.sdkConfig||Ae.sdk_config||{},Ve=$e(He,se.sdkConfig),Ke=se.persistentParams??Ve.persistentParams??Ve.persistent_params??!1,at={...M5(Ae.defaultParams||Ae.default_params),...se.defaultParams,component_id:ce},Ne="container"in Z&&Z.container!==void 0?Z.container||void 0:Ve.container,Ue=H1({...Ve.popup||{},...Z.popupConfig||{}}),Ee={agentId:se.agentId||PP(we.agentId)||PP(we.agent_id)||void 0,playbookId:se.playbookId||PP(we.playbookId)||PP(we.playbook_id)||void 0,message:se.message||String(we.name||we.title||"场景执行"),executionParams:dze(Ae.executionParams||Ae.execution_params),defaultParams:at,paramSchema:Pr(Ae.paramSchema||Ae.param_schema),sdkConfig:Ve};return{container:Ne,options:Ee,popupConfig:Ue,persistentParams:Ke}},Oe=(Z,se)=>{var ae;const ce=Z.dataset;return{componentId:fe(Z),defaultParams:ye(Z),container:ie(Z),popupConfig:Q(Z,{},se),persistentParams:IP(Z.getAttribute("data-persistent-params")),agentId:ce.agentId,playbookId:ce.playbookId,message:ce.message||ce.title||((ae=Z.textContent)==null?void 0:ae.trim())||void 0}},Fe=Z=>{if(!Z.options.playbookId)throw new Error("[Wandox] playbookId is required");if(Z.container)return ee(q(Z.container),Z.options,!1,void 0,void 0,Z.persistentParams);ne();const se=document.createElement("div");se.id="wandox-playbook-execution-popup-root",document.body.appendChild(se),P=se;const ce=ee(se,Z.options,!0,ne,Z.popupConfig);return $=A.get(se)||null,ce},xe=async(Z={})=>{const se=be(Z),ce=H1({...se.sdkConfig.popup||{},...Z.popupConfig||{}});ne();const ae=++T,we=document.createElement("div");we.id="wandox-playbook-execution-popup-root",document.body.appendChild(we),P=we;const Ae={message:se.message||"场景执行"};K(we,Ae,!0,ne,ce,"run",{status:"loading"}),$=A.get(we)||null;try{const He=await je({...Z,container:"",popupConfig:Z.popupConfig});if(ae!==T||P!==we)throw U0e();if(!He.options.playbookId)throw new Error("[Wandox] playbookId is required");const Ve=ee(we,He.options,!0,ne,He.popupConfig,He.persistentParams);return $=A.get(we)||null,Ve}catch(He){throw ae===T&&P===we?(K(we,Ae,!0,ne,ce,"run",{status:"error",message:G0e(He)}),$=A.get(we)||null,He):q0e(He)?He:U0e()}},ue=async(Z,se={})=>{const ce=q(Z),we={message:be(se).message||"场景执行"};K(ce,we,!1,void 0,void 0,"run",{status:"loading"});try{const Ae=await je({...se,container:ce});if(!Ae.options.playbookId)throw new Error("[Wandox] playbookId is required");return ee(ce,Ae.options,!1,void 0,void 0,Ae.persistentParams)}catch(Ae){throw K(ce,we,!1,void 0,void 0,"run",{status:"error",message:G0e(Ae)}),Ae}},pe=(Z,se,ce=!1,ae,we)=>{var He;let Ae=k.get(Z);return Ae?(He=j.get(Z))==null||He.abort():(Ae=bl(Z),k.set(Z,Ae)),Ae.render(w.jsx(cu,{queryClient:y,children:w.jsx($an,{options:{componentId:se.componentId,defaultParams:se.defaultParams,executionTitle:se.executionTitle,flow:se.flow,retryRecordId:se.retryRecordId},ssoToken:f,ssoDomain:p,ssoCompany:h,popup:ce,popupConfig:we,onClose:ae,onReady:Ve=>{j.set(Z,Ve),ce&&(D=Ve)}})})),{element:Z,abort:()=>{var Ve;return(Ve=j.get(Z))==null?void 0:Ve.abort()},rerun:()=>{var Ve;return(Ve=j.get(Z))==null?void 0:Ve.rerun()},minimize:()=>{var Ve;return(Ve=j.get(Z))==null?void 0:Ve.minimize()},restore:()=>{var Ve;return(Ve=j.get(Z))==null?void 0:Ve.restore()},getFlowId:()=>{var Ve,Ke;return((Ke=(Ve=j.get(Z))==null?void 0:Ve.getFlowId)==null?void 0:Ke.call(Ve))??null},destroy:()=>{var Ve;(Ve=j.get(Z))==null||Ve.abort(),Ae==null||Ae.unmount(),k.delete(Z),j.delete(Z),ce&&B===Z&&(z=null,D=null,B==null||B.remove(),B=null)}}},Se=()=>{D==null||D.abort(),z==null||z.unmount(),B&&(k.delete(B),j.delete(B),B.remove()),z=null,B=null,D=null},Pe=async Z=>{var se;try{const ce=await ayt(Z),ae=W0e(ce);if(ae.component_type!=="banner")throw new Error(`[Wandox] 不支持的促销组件类型:${String(ae.component_type||"unknown")}`);if(!Array.isArray(ae.items))throw new Error("[Wandox] 促销组件返回的 items 格式无效");const we=Pr(ae.component_config);return{component_type:"banner",component_config:we?{auto_play:typeof we.auto_play=="boolean"?we.auto_play:void 0,interval:typeof we.interval=="number"&&Number.isFinite(we.interval)?we.interval:void 0,show_dots:typeof we.show_dots=="boolean"?we.show_dots:void 0}:void 0,items:ae.items}}catch(ce){if(ce instanceof Error)throw ce;const ae=Pr(ce),we=Pr(ae==null?void 0:ae.data)??Pr((se=Pr(ae==null?void 0:ae.response))==null?void 0:se.data)??ae,Ae=typeof(we==null?void 0:we.message)=="string"&&we.message.trim()?we.message:"促销组件加载失败,请稍后重试";throw new Error(Ae)}},_e=Z=>{var se;(se=L.get(Z))==null||se.unmount(),L.delete(Z),R.delete(Z)},Te=async(Z,se={})=>{var Ke,at,Ne;const ce=Jt(se.componentId)||Jt(se.component_id);let ae=se.items,we,Ae;if(ce){const Ue=await Pe(ce);ae=Ue.items,we=((Ke=Ue.component_config)==null?void 0:Ke.auto_play)===!1?0:((at=Ue.component_config)==null?void 0:at.interval)??5e3,Ae=((Ne=Ue.component_config)==null?void 0:Ne.show_dots)??!0}let He=L.get(Z);He||(He=bl(Z),L.set(Z,He));const Ve=++F;return He.render(w.jsx(cu,{queryClient:y,children:w.jsx(jan,{items:ae,autoPlayInterval:se.autoPlayInterval??we,showDots:se.showDots??Ae,onClaim:se.onClaim,onReady:Ue=>{R.set(Z,Ue)},onExhausted:()=>_e(Z)},Ve)})),{element:Z,next:()=>{var Ue;return(Ue=R.get(Z))==null?void 0:Ue.next()},prev:()=>{var Ue;return(Ue=R.get(Z))==null?void 0:Ue.prev()},goTo:Ue=>{var Ee;return(Ee=R.get(Z))==null?void 0:Ee.goTo(Ue)},destroy:()=>_e(Z)}},ve=(Z,se)=>{const ce=X(Z),ae=async Ae=>{const He=Ae.target;if(!(He instanceof Element))return;const Ve=He.closest('[data-action="playbook"], [data-action="page-component"], [data-action="agent-component"], [data-component-id], [data-component_id]');if(Ve instanceof HTMLElement&&!(ce instanceof HTMLElement&&!ce.contains(Ve))){Ae.preventDefault();try{const Ke=Ve.getAttribute("data-action"),at=fe(Ve);if(Ke==="agent-component"){const Ne=Ve.getAttribute("data-agent-component-id")||Ve.getAttribute("data-component-id")||Ve.getAttribute("data-component_id")||Ve.dataset.agentComponentId||"";if(!Ne)throw new Error("[Wandox] agent-component requires data-agent-component-id");const Ue=ye(Ve),Ee=Q(Ve,{},se);Se();const me=document.createElement("div");me.id="wandox-agent-component-popup-root",document.body.appendChild(me),B=me,pe(me,{componentId:Ne,defaultParams:Ue},!0,Se,Ee),z=k.get(me)||null;return}if(Ke==="page-component"||at){const Ne=Oe(Ve,se);Ne.container===""?await xe(Ne):Ne.container?await ue(Ne.container,Ne):Fe(await je(Ne));return}Fe(oe(Ve,se))}catch(Ke){if(q0e(Ke))return}}};ce.addEventListener("click",ae);const we={root:ce,destroy:()=>{ce.removeEventListener("click",ae),M.delete(we)}};return M.add(we),we},he=(Z,se,ce,ae,we,Ae)=>{const He=q(Z);let Ve=H.get(He);Ve||(Ve=bl(He),H.set(He,Ve));const Ke=`assistant-${++W}`;return S=null,Ve.render(w.jsx(cu,{queryClient:y,children:w.jsx(Van,{agents:se,initialAgentId:ce,initialPlaybookId:ae,initialPlaybookParams:we,extraChatParams:Ae,onReady:at=>{S=at}},Ke)})),He};return t.instance={config:d,mountAssistant(Z,se){const ce=Han(se),ae=ce.agentId,we=ae?ce.playbookId:void 0;return he(Z,ce.agents,ae,we,we?ce.playbookParams:void 0,ce.extraChatParams)},getAgents(Z){return U(Z)},getAgentDetail(Z){return G(Z)},async getAgentPlaybookGroups(Z){return(await G(Z)).playbook_groups||[]},enableFloatingBall(){t.floatingManager&&t.floatingManager.enable()},registerFloatingBall(Z){t.floatingManager&&t.floatingManager.registerFloatingBall(F0e(Z))},setFloatingBallConfig(Z){t.floatingManager&&t.floatingManager.setFloatingBallConfig(F0e(Z))},clearMessages(){t.floatingManager&&t.floatingManager.clearMessages()},getMessages(){return t.floatingManager?t.floatingManager.getMessages():[]},openDrawer(Z){if(t.floatingManager){const se=V0e(Z);t.floatingManager.openDrawer(se.playbookId,se.message,se.agentId,!se.hasExplicitTargetOptions,se.playbookParams,se.enableCustomerService,se.customerServiceUrl)}},openDrawerOnly(Z){if(t.floatingManager){const se=V0e(Z);t.floatingManager.openDrawerOnly(se.playbookId,se.message,se.agentId,!se.hasExplicitTargetOptions,se.playbookParams,se.enableCustomerService,se.customerServiceUrl)}},openAgentPanel(Z){return b.open(Z)},closeAgentPanel(){b.close()},openConversations(Z){return x.open(Z)},closeConversations(){x.close()},openDrawerWithPlaybook(Z){t.floatingManager&&t.floatingManager.openDrawerWithPlaybook({playbookId:Jt(Z.playbookId)||Jt(Z.playbook_id)||void 0,playbookParams:Z.playbookParams??Z.playbook_params,message:Z.message,agentId:Jt(Z.agentId)||Jt(Z.agent_id)||void 0,enableCustomerService:uze(Z),customerServiceUrl:Z.customerServiceUrl||Z.customer_service_url})},mountPlaybookExecution(Z,se){return K(q(Z),se)},openPlaybookExecution(Z,se){ne();const ce=document.createElement("div");return ce.id="wandox-playbook-execution-popup-root",document.body.appendChild(ce),P=ce,K(ce,Z,!0,ne,se),$=A.get(ce)||null,Y(ce,()=>N,ne)},mountPlaybookRun(Z,se){return ee(q(Z),se)},openPlaybookRun(Z,se){ne();const ce=document.createElement("div");return ce.id="wandox-playbook-execution-popup-root",document.body.appendChild(ce),P=ce,ee(ce,Z,!0,ne,se),$=A.get(ce)||null,Y(ce,()=>N,ne)},async mountPageComponentRun(Z,se){return ue(Z,se)},async openPageComponentRun(Z,se){return xe({...Z||{},popupConfig:se})},async mountAgentComponentRun(Z,se){if(!se.componentId)throw new Error("[Wandox] componentId is required");return pe(q(Z),se)},async openAgentComponentRun(Z,se){if(!Z.componentId)throw new Error("[Wandox] componentId is required");Se();const ce=document.createElement("div");ce.id="wandox-agent-component-popup-root",document.body.appendChild(ce),B=ce;const ae=pe(ce,Z,!0,Se,se);return z=k.get(ce)||null,ae},async openAgentComponentFlow(Z,se){if(!Z.componentId)throw new Error("[Wandox] componentId is required");Se();const ce=document.createElement("div");ce.id="wandox-agent-component-popup-root",document.body.appendChild(ce),B=ce;const ae=pe(ce,{...Z,flow:Z.flow??{mode:"mock"}},!0,Se,se);return z=k.get(ce)||null,ae},async mountAgentComponentFlowCenter(Z,se){const ce=q(Z);let ae=O.get(ce);ae||(ae=bl(ce),O.set(ce,ae));const we=(se==null?void 0:se.flow)||{mode:"mock"},Ae=Jje({mode:we.mode??"mock",componentId:se==null?void 0:se.componentId,businessCode:we.businessCode,sso:{token:f,domain:p,company:h}});return ae.render(w.jsx(cu,{queryClient:y,children:w.jsx(Nan,{componentId:se==null?void 0:se.componentId,store:Ae,sso:f?{token:f,domain:p,company:h}:void 0,onOpenFlow:se==null?void 0:se.onOpenFlow,defaultOpenFlow:He=>{var Ve;(Ve=t.instance)==null||Ve.openAgentComponentFlow(He)}})})),{destroy:()=>{ae==null||ae.unmount(),O.delete(ce)}}},async mountPromoBanner(Z,se){return Te(q(Z),se)},mountPlaybookActions(Z,se){return ve(Z,se)},bindPlaybookActions(Z,se){return ve(Z,se)},closeDrawer(){t.floatingManager&&t.floatingManager.closeDrawer()},showInspectionResults(Z){S?S.showInspectionResults(Z):t.floatingManager&&t.floatingManager.showInspectionResults(Z)},destroy(){b.destroy(),x.destroy(),t.floatingManager&&(t.floatingManager.destroy(),t.floatingManager=null),ne(),Se(),A.forEach((Z,se)=>{var ce;(ce=E.get(se))==null||ce.abort(),Z.unmount()}),A.clear(),E.clear(),k.forEach((Z,se)=>{var ce;(ce=j.get(se))==null||ce.abort(),Z.unmount()}),k.clear(),j.clear(),O.forEach(Z=>Z.unmount()),O.clear();for(const Z of H.values())Z.unmount();H.clear(),S=null;for(const Z of L.values())Z.unmount();L.clear(),R.clear();for(const Z of Array.from(M))Z.destroy();M.clear(),_.clear(),C.clear(),y.clear(),t.instance=null}},t.instance},getInstance(){return this.instance}};typeof window<"u"&&(window.wandox=ste);const isn=ste;exports.ActionDetailDrawer=NLe;exports.Alert=Nk;exports.AutoComplete=vO;exports.AutomationLoadingState=qj;exports.AutomationWorkbenchCompletion=rze;exports.AutomationWorkbenchFlow=ize;exports.AutomationWorkbenchParameters=oze;exports.AutomationWorkbenchStep=aze;exports.Badge=Fk;exports.Button=qt;exports.COMMENT=Qq;exports.CSSMotion=Gs;exports.Card=DA;exports.ChatHistoryLoading=HLe;exports.ChatInput=EJ;exports.ChatMessageList=BLe;exports.Checkbox=rf;exports.Col=Ww;exports.Collapse=W1e;exports.ConfigContext=jt;exports.ConfigProvider=Co;exports.ContextIsolator=Lu;exports.ConversationOutline=GLe;exports.DELETE_Api_V1_CustomAgents_Delete_ByAgentId=Bvt;exports.DELETE_Api_V1_CustomAgents_Executions_ByExecutionId=Kvt;exports.DELETE_Api_V1_CustomAgents_Schedules_Delete_ByScheduleId=Uvt;exports.DELETE_Api_V1_Notification_Agents_Webhook_Delete_ByAgentId=kvt;exports.DELETE_Api_V1_Notification_Schedules_Delete_ByScheduleId=UTe;exports.DELETE_Api_V1_Notification_Webhooks_Delete_ByWebhookId=Tvt;exports.DatePicker=Zr;exports.Descriptions=yc;exports.Dropdown=Gw;exports.EMPTY_SCHEDULE_DIALOG=KG;exports.Empty=os;exports.FloatingManager=Sje;exports.Form=Kr;exports.ForwardTable=Us;exports.GET_Api_V1_Agents_ActionExecutes=xvt;exports.GET_Api_V1_Agents_Detail=lX;exports.GET_Api_V1_Agents_List=sL;exports.GET_Api_V1_Agents_UserPlaybooks=bvt;exports.GET_Api_V1_Agents_Workspaces=wvt;exports.GET_Api_V1_CustomAgents=Lvt;exports.GET_Api_V1_CustomAgents_Detail_ByAgentId=jvt;exports.GET_Api_V1_CustomAgents_Executions=Fvt;exports.GET_Api_V1_CustomAgents_Executions_Detail_ByExecutionId=Vvt;exports.GET_Api_V1_CustomAgents_Market_TemplateRecommendations=ryt;exports.GET_Api_V1_CustomAgents_Market_Templates=tyt;exports.GET_Api_V1_CustomAgents_Results_Detail_ByResultId=Xvt;exports.GET_Api_V1_CustomAgents_Scenes_Available=Rvt;exports.GET_Api_V1_CustomAgents_Scenes_Playbooks_BySceneId=Dvt;exports.GET_Api_V1_CustomAgents_Schedules_ByAgentId=Hvt;exports.GET_Api_V1_CustomAgents_Transfers_Pending=Qvt;exports.GET_Api_V1_CustomAgents_Transfers_Sent=Jvt;exports.GET_Api_V1_Notification_Agents_Webhook_ByAgentId=Nvt;exports.GET_Api_V1_Notification_Schedules=WTe;exports.GET_Api_V1_Notification_Webhooks=VTe;exports.GET_Api_V1_Notification_Webhooks_Detail_ByWebhookId=$vt;exports.GET_Api_V1_Playbooks=Svt;exports.GET_Api_V1_Playbooks_Detail=aS;exports.GET_Api_V1_Playbooks_RecentExecuted=BTe;exports.GET_Api_V1_Users_SimpleList=Mvt;exports.HumanConfirmPanel=Hee;exports.Icon=xt;exports.Image=gY;exports.Input=_n;exports.KEYFRAMES=tK;exports.LAYER=ySe;exports.MEDIA=cVe;exports.Menu=py;exports.MessageToolbar=WLe;exports.Modal=ri;exports.NotificationScheduleModal=RLe;exports.POST_Api_V1_Agents_Messages_Feedback=zTe;exports.POST_Api_V1_CustomAgents_Executions_Cancel_ByExecutionId=qvt;exports.POST_Api_V1_CustomAgents_Market_Templates_Enable=iyt;exports.POST_Api_V1_CustomAgents_Market_Templates_Enable_ByTemplateId=nyt;exports.POST_Api_V1_CustomAgents_Results_Transfer_ByResultId=Zvt;exports.POST_Api_V1_CustomAgents_Save=Ovt;exports.POST_Api_V1_CustomAgents_Schedules_ByAgentId=Wvt;exports.POST_Api_V1_CustomAgents_Transfers_Reject_ByTransferId=eyt;exports.POST_Api_V1_Notification_Agents_Webhook=Pvt;exports.POST_Api_V1_Notification_Schedules=HTe;exports.POST_Api_V1_Notification_Webhooks=Avt;exports.POST_Api_V1_Notification_Webhooks_Test_ByWebhookId=Ivt;exports.POST_Api_V1_Oss_Upload2=cX;exports.POST_Api_V1_Usemap_Tree=qTe;exports.PUT_Api_V1_CustomAgents_Schedules_Update_ByScheduleId=Gvt;exports.PUT_Api_V1_CustomAgents_Update_ByAgentId=zvt;exports.PUT_Api_V1_Notification_Schedules_Update_ByScheduleId=GTe;exports.PUT_Api_V1_Notification_Webhooks_Update_ByWebhookId=Evt;exports.Pagination=yY;exports.PayloadRenderer=Yv;exports.PlaybookVideoModal=CJ;exports.Popconfirm=xY;exports.Popover=bE;exports.Portal=Dw;exports.Progress=LO;exports.Radio=_u;exports.ReactExports=ge;exports.RecommendationLoader=JLe;exports.RefIcon=yy;exports.RefIcon$1=by;exports.RefIcon$10=EE;exports.RefIcon$11=jO;exports.RefIcon$12=LY;exports.RefIcon$13=rEe;exports.RefIcon$14=BA;exports.RefIcon$15=Tf;exports.RefIcon$16=Qw;exports.RefIcon$17=ni;exports.RefIcon$18=Cf;exports.RefIcon$19=dEe;exports.RefIcon$2=TE;exports.RefIcon$20=HO;exports.RefIcon$21=SEe;exports.RefIcon$22=Gh;exports.RefIcon$23=Ef;exports.RefIcon$24=AE;exports.RefIcon$25=Zw;exports.RefIcon$26=bv;exports.RefIcon$27=tf;exports.RefIcon$28=xy;exports.RefIcon$29=OY;exports.RefIcon$3=dy;exports.RefIcon$4=pc;exports.RefIcon$5=fy;exports.RefIcon$6=xr;exports.RefIcon$7=Vx;exports.RefIcon$8=IEe;exports.RefIcon$9=sy;exports.Row=_E;exports.SCOPE=pVe;exports.SUPPORTS=dVe;exports.ScheduleFrequencyPicker=MLe;exports.SchemaDynamicForm=cD;exports.Segmented=lY;exports.Select=Qn;exports.Skeleton=Ju;exports.Space=Tl;exports.Spin=ju;exports.Statistic=Uw;exports.Steps=_Y;exports.Subscribable=iS;exports.Switch=Ah;exports.Tabs=NO;exports.Tag=Fo;exports.TemporalFieldControl=rje;exports.TimePicker=da;exports.Timeline=RY;exports.Tooltip=ir;exports.Tree=VO;exports.TypedInputNumber=Sl;exports.Typography=If;exports.Upload=_v;exports.WandoxCompanion=oU;exports.YAML=kE;exports.buildExecutionTitle=hon;exports.buildFallbackSteps=Zee;exports.buildHistoricalRunValues=bon;exports.buildLiveExecutionTraceSteps=Eon;exports.buildLiveRunRecord=Son;exports.buildResultDisplay=Lon;exports.buildRunInputParams=Gj;exports.buildWaitingSteps=J3e;exports.canShowWorkLiteButton=SJ;exports.canTransferRun=non;exports.clsx=re;exports.collectPlaybooksFromDetail=yje;exports.commonjsGlobal=gs;exports.compile=K6;exports.composeRef=Oi;exports.create=ZLe;exports.createExecutionStepSnapshots=Gon;exports.createHumanConfirmData=mT;exports.createOutputPayload=Rg;exports.createResultRendererPayload=Dg;exports.createStepOutputPayload=Y3e;exports.dayjs2=Nn;exports.dayjsAdvancedFormat=OCe;exports.dayjsCustomParseFormat=HK;exports.extractAgentInputConfig=G3e;exports.extractData=Hj;exports.extractPairsFromValue=Q3e;exports.extractRecentPlaybookValues=BGt;exports.fetchWaitingInputData=Uin;exports.formatDateTime=L3e;exports.formatRunParamValue=Kee;exports.genFocusStyle=vs;exports.genStyleHooks=gn;exports.getAddressInputFields=sUt;exports.getAgentPackageBenefit=lje;exports.getBaseURL=_r;exports.getBusinessStatusState=V3e;exports.getCompletedStepConfirmData=nte;exports.getCurrentExecutionStepId=$on;exports.getDateKeyFromDate=Jin;exports.getDefaultExportFromCjs=Go;exports.getDefaultState=OTe;exports.getErrorMessage=Yin;exports.getExecutionSummary=Wj;exports.getFieldLabelMap=Z3e;exports.getInputFieldLabelMap=gon;exports.getMessageFeedbackRating=ILe;exports.getMessagePlaybookId=_J;exports.getNextMessageFeedbackRating=PLe;exports.getPlaybookDetailFields=tje;exports.getResultStepCount=U3e;exports.getRunDate=z3e;exports.getRunFormGroupTitle=ron;exports.getStepError=q3e;exports.getTemplateDependencies=a4e;exports.getTemporalComponentType=mj;exports.getTransitionName=Du;exports.hasMeaningfulValue=xo;exports.hasRunInputDisplayValues=gT;exports.hasStoredRunParams=Xee;exports.hashKey=Gx;exports.isAddressInputField=aUt;exports.isRecord=Vt;exports.isRememberLastEnabled=W3e;exports.jsxRuntimeExports=w;exports.loadAgentSchemaOptions=Cb;exports.mapExecutionStatus=Gee;exports.merge=cn;exports.mergePlaybookDetail=$J;exports.mergeRunInputSnapshot=yon;exports.middleware=_Se;exports.noop=Ia;exports.normalizeAgentInputFields=sje;exports.normalizeExecutionSteps=Aon;exports.normalizeLegacyOutput=Jee;exports.normalizeResultHeading=gD;exports.normalizeRunInputValues=Yee;exports.normalizeSseExecutionSteps=K3e;exports.normalizeTemporalFieldType=oT;exports.notifyManager=vo;exports.padDateNumber=OU;exports.parseCron=kLe;exports.pickAttrs=Mr;exports.pickClosable=ef;exports.pickDisplayText=Xu;exports.pickFirstRunInput=von;exports.pickItems=Xin;exports.pickTotal=Zin;exports.pickVisibleText=zh;exports.reactExports=g;exports.removeLeadingResultHeading=tte;exports.resetComponent=$n;exports.resolveReExecuteStepId=Uon;exports.resolveReturnPreviousStepId=Gin;exports.runHasBackendFailedStatus=H3e;exports.serialize=Mx;exports.shallowEqualObjects=yM;exports.shouldThrowError=oX;exports.sortRunsByTimeline=eon;exports.staticMethods=zt;exports.staticMethods$1=ka;exports.stringify=Y6;exports.stringifyDetailValue=ton;exports.stringifyValue=By;exports.toIdString=Vj;exports.toNumberValue=Tb;exports.toValidDate=j3e;exports.unit=le;exports.unwrapOutputData=X3e;exports.uploadAgentSchemaFile=JR;exports.useChat=RJ;exports.useClosable=sO;exports.useComponentConfig=on;exports.useComposeRef=xf;exports.useDynamicFieldOptions=aje;exports.useEvent=It;exports.useFocusable=s_e;exports.useId=kc;exports.useLanguage=sS;exports.useLayoutEffect=nn;exports.useLockFocus=iSe;exports.useMergeSemantic=un;exports.useMergedMask=cK;exports.useMessageData=vje;exports.useOrientation=aE;exports.usePanelRef=u_e;exports.useQuery=Ur;exports.useQueryClient=aL;exports.useQuestionsStore=QLe;exports.useSize=Ei;exports.useWorkbenchFlowModel=eze;exports.useWorkbenchStageController=tze;exports.useZIndex=$f;exports.validateInputAddress=lUt;exports.version=MSe;exports.wandox=isn;exports.wandoxSDK=ste;exports.warningOnce=yr;exports.zIndexContext=sE;
|
|
804
|
+
剧本已生成专属执行计划,可在「我的 → 剧本库」中查看并执行。`)}},[r,S,c]);return S?w.jsxs("div",{className:"wandox-promo-banner",children:[w.jsx("div",{className:`wandox-promo-banner__corner wandox-promo-banner__corner--${S.freeType==="limit"?"limit":"time"}`,children:Oan(S)}),w.jsx("div",{className:"wandox-promo-banner__glow wandox-promo-banner__glow--1"}),w.jsx("div",{className:"wandox-promo-banner__glow wandox-promo-banner__glow--2"}),w.jsx("div",{className:"wandox-promo-banner__glow wandox-promo-banner__glow--3"}),w.jsxs("div",{className:"wandox-promo-banner__inner",children:[w.jsx("div",{className:"wandox-promo-banner__info",children:w.jsxs("div",{className:"wandox-promo-banner__slide",children:[S.freeType==="limit"&&S.remain!=null&&w.jsxs("div",{className:"wandox-promo-banner__status",children:["今日剩余体验次数 ",w.jsx("b",{children:S.remain}),"(总计 ",S.total??S.remain,")"]}),w.jsx("div",{className:"wandox-promo-banner__title",children:S.name}),S.desc?w.jsx(kan,{className:"wandox-promo-banner__desc",ellipsis:{rows:2,expandable:"collapsible",expanded:p,symbol:N=>N?"收起":"展开",onExpand:(N,M)=>h(M.expanded)},children:S.desc}):null,w.jsxs("div",{className:"wandox-promo-banner__meta",children:["⚡ 已执行 ",w.jsx("b",{children:Dan(S.exec)})," 次"]})]},S.name)}),w.jsxs("div",{className:"wandox-promo-banner__right",children:[d?w.jsxs("div",{className:"wandox-promo-banner__countdown",children:[w.jsx("div",{className:"wandox-promo-banner__countdown-label",children:"⏰ 距活动结束"}),w.jsxs("div",{className:"wandox-promo-banner__countdown-time",children:[TP(d.d),w.jsx("span",{className:"wandox-promo-banner__unit",children:"天"}),w.jsx("b",{children:":"}),TP(d.h),w.jsx("span",{className:"wandox-promo-banner__unit",children:"时"}),w.jsx("b",{children:":"}),TP(d.m),w.jsx("span",{className:"wandox-promo-banner__unit",children:"分"}),w.jsx("b",{children:":"}),TP(d.s),w.jsx("span",{className:"wandox-promo-banner__unit",children:"秒"})]})]}):null,w.jsx("button",{type:"button",className:"wandox-promo-banner__cta",onClick:P,children:"立即体验 →"})]})]}),w.jsxs("div",{className:"wandox-promo-banner__bar",children:[n?w.jsx("div",{className:"wandox-promo-banner__dots",children:s.map((N,M)=>w.jsx("button",{type:"button",className:`wandox-promo-banner__dot${M===c?" wandox-promo-banner__dot--on":""}`,onClick:()=>$(M),"aria-label":`切换到第 ${M+1} 个`},N.name))}):w.jsx("div",{}),w.jsxs("div",{className:"wandox-promo-banner__arrows",children:[w.jsx("button",{type:"button",className:"wandox-promo-banner__arrow",onClick:I,"aria-label":"上一个",children:w.jsx("svg",{width:"15",height:"12",viewBox:"0 0 14 12",fill:"currentColor","aria-hidden":"true",children:w.jsx("path",{d:"M2 6 L9 1 L9 11 Z"})})}),w.jsx("button",{type:"button",className:"wandox-promo-banner__arrow",onClick:T,"aria-label":"下一个",children:w.jsx("svg",{width:"12",height:"12",viewBox:"0 0 8 12",fill:"currentColor","aria-hidden":"true",children:w.jsx("path",{d:"M8 6 L1 1 L1 11 Z"})})})]})]})]}):null}const zan=g.lazy(()=>Promise.resolve().then(()=>require("./V1WorkbenchStub-BcbRZKau.cjs"))),Ban=g.lazy(()=>Promise.resolve().then(()=>require("./V2Workbench-D6dvEP4Z.cjs")));function Fan(){return w.jsx("div",{className:"wandox-workbench-loading",role:"status","aria-live":"polite",children:"正在加载工作台..."})}function Van({version:e=2,agents:t,initialAgentId:n,initialPlaybookId:r,initialPlaybookParams:i,extraChatParams:o,onReady:a}){return w.jsx(g.Suspense,{fallback:w.jsx(Fan,{}),children:e===1?w.jsx(zan,{showAside:!0,presetAgents:t,initialAgentId:n,initialPlaybookId:r,initialPlaybookParams:i,onReady:a}):w.jsx(Ban,{agents:t,initialAgentId:n,initialPlaybookId:r,initialPlaybookParams:i,extraChatParams:o,onReady:a})})}const uze=e=>{if(e){if("enableCustomerService"in e)return e.enableCustomerService;if("enable_customer_service"in e)return e.enable_customer_service}},F0e=e=>{const t={};return("agentId"in e||"agent_id"in e)&&(t.agentId=Jt(e.agentId)||Jt(e.agent_id)||void 0),("playbookId"in e||"playbook_id"in e)&&(t.playbookId=Jt(e.playbookId)||Jt(e.playbook_id)||void 0),("playbookParams"in e||"playbook_params"in e)&&(t.playbookParams=e.playbookParams??e.playbook_params),"message"in e&&(t.message=e.message),t},V0e=e=>{const t=uze(e);return{hasExplicitTargetOptions:!!e&&["playbookId","playbook_id","playbookParams","playbook_params","message","agentId","agent_id"].some(r=>r in e),playbookId:Jt(e==null?void 0:e.playbookId)||Jt(e==null?void 0:e.playbook_id)||void 0,playbookParams:(e==null?void 0:e.playbookParams)??(e==null?void 0:e.playbook_params),message:e==null?void 0:e.message,agentId:Jt(e==null?void 0:e.agentId)||Jt(e==null?void 0:e.agent_id)||void 0,enableCustomerService:t,customerServiceUrl:(e==null?void 0:e.customerServiceUrl)||(e==null?void 0:e.customer_service_url)||void 0}},Han=e=>Array.isArray(e)?{agents:e,agentId:void 0,playbookId:void 0,playbookParams:void 0,extraChatParams:void 0}:{agents:e==null?void 0:e.agents,agentId:Jt(e==null?void 0:e.agentId)||Jt(e==null?void 0:e.agent_id)||void 0,playbookId:Jt(e==null?void 0:e.playbookId)||Jt(e==null?void 0:e.playbook_id)||void 0,playbookParams:Pr((e==null?void 0:e.playbookParams)??(e==null?void 0:e.playbook_params)),extraChatParams:Pr((e==null?void 0:e.extraChatParams)??(e==null?void 0:e.extra_chat_params))},Pr=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:void 0,dze=e=>Array.isArray(e)?e.map(t=>String(t||"").trim()).filter(Boolean):[],Kp=e=>typeof e=="string"&&e.trim()?e.trim():void 0,fze=(e={})=>{const t=e.dataParams||e.data_params||{};return{executionParams:dze(e.executionParams||e.execution_params||t.executionParams||t.execution_params),defaultParams:Pr(e.defaultParams||e.default_params||t.defaultParams||t.default_params),paramSchema:Pr(e.paramSchema||e.param_schema||t.paramSchema||t.param_schema),sdkConfig:e.sdkConfig||e.sdk_config||t.sdkConfig||t.sdk_config}},Wan=(e={})=>{const t=fze(e),n=Pr(e.playbookParams??e.playbook_params??e.params);return{...t.defaultParams||{},...n||{}}},pze=(e={})=>({agentId:Jt(e.agentId)||Jt(e.agent_id)||void 0,playbookId:Jt(e.playbookId)||Jt(e.playbook_id)||void 0,playbookParams:Wan(e),message:e.message,sessionId:Jt(e.sessionId)||Jt(e.session_id)||void 0}),Gan={bottomRight:"bottom-right",bottomLeft:"bottom-left",topRight:"top-right",topLeft:"top-left",center:"center","bottom-right":"bottom-right","bottom-left":"bottom-left","top-right":"top-right","top-left":"top-left"},Uan=e=>e&&Gan[e]||"bottom-right",H0e=e=>{if(!(e==null||e===""))return typeof e=="number"?`${e}px`:e},H1=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0)),IP=e=>{if(!(e==null||e==="")){if(e==="true")return!0;if(e==="false")return!1}},k5=e=>{if(!(e==null||e===""))return/^\d+$/.test(e)?Number(e):e},qan=e=>{const t=new Set,n=e.paramSchema||e.param_schema||{},r=e.executionParams||e.execution_params||[];for(const[i,o]of Object.entries(n))(o==null?void 0:o.source)==="runtime"&&t.add(i);for(const i of r){const o=String(i||"").trim();o&&t.add(o)}return Array.from(t).map(i=>({name:i,schema:n[i]||{}}))},hze=e=>{const t=(e||"").trim();if(!t)return{};let n;try{n=JSON.parse(t)}catch{n=tX(t)}const r=Pr(n);if(!r)throw new Error("[Wandox] data-params must be an object");return r},mze=e=>typeof e=="string"?{...hze(e)}:Pr(e)||{},M5=e=>{const t=mze(e),n=Pr(t.defaultParams||t.default_params);return{...Object.fromEntries(Object.entries(t).filter(([i])=>i!=="defaultParams"&&i!=="default_params")),...n||{}}},W0e=e=>{const t=Pr(e);return Pr(t==null?void 0:t.data)||t||{}},G0e=e=>{const t=Pr(e),n=Pr(t==null?void 0:t.response),r=n==null?void 0:n.data,i=t==null?void 0:t.data,o=r??i,a=Pr(o),s=Pr(a==null?void 0:a.data),c=[s==null?void 0:s.message,s==null?void 0:s.detail,s==null?void 0:s.error,a==null?void 0:a.message,a==null?void 0:a.detail,a==null?void 0:a.error,typeof o=="string"?o:void 0,t==null?void 0:t.message,t==null?void 0:t.detail,t==null?void 0:t.error,n==null?void 0:n.statusText,typeof e=="string"?e:void 0].find(u=>typeof u=="string"&&u.trim());return typeof c=="string"?c:"业务组件加载失败,请稍后重试"},U0e=()=>{const e=new Error("业务组件弹窗请求已取消");return e.name="AbortError",e},q0e=e=>{var t;return((t=Pr(e))==null?void 0:t.name)==="AbortError"},PP=e=>typeof e=="string"||typeof e=="number"?Jt(e):"",sx=e=>e.schema.label||e.name,K0e={string:"string",text:"string",textarea:"string",number:"number",integer:"integer",int:"integer",float:"float",boolean:"boolean",bool:"boolean",array:"array",list:"array",object:"object",file:"file",date:"date",daterange:"dateRange",date_range:"dateRange",datetime:"datetime",date_time:"datetime","date-time":"datetime",datetimerange:"datetimeRange",datetime_range:"datetimeRange",timerange:"timeRange",time_range:"timeRange",time:"time"},ty=e=>{const t=String(e.schema.type||"string").trim();return K0e[t]||K0e[t.toLowerCase()]||"string"},Y0e=e=>e.schema.placeholder||e.schema.description||`请输入${sx(e)}`,Ew=(e,t=ty(e))=>({type:t,format:typeof e.schema.format=="string"?e.schema.format:void 0,picker:typeof e.schema.picker=="string"?e.schema.picker:void 0,show_time:typeof e.schema.show_time=="boolean"?e.schema.show_time:void 0,range:typeof e.schema.range=="boolean"?e.schema.range:void 0}),gl=(e,t=ty(e))=>lu(Ew(e,t))||(t.startsWith("time")?"HH:mm:ss":"YYYY-MM-DD"),rte=e=>{const t=e.schema.max_files??e.schema.maxFiles??e.schema.maxCount??1,n=Number(t);return Number.isFinite(n)&&n>0?n:1},gze=e=>{const t=e.schema.file_type??e.schema.fileType??e.schema.accept;return(Array.isArray(t)?t:typeof t=="string"?[t]:[]).flatMap(r=>String(r||"").split(/[\s,]+/)).map(r=>r.trim()).filter(Boolean)},ite=e=>{const t=e.trim();return!t||t.includes("/")||t.startsWith(".")||t.includes("*")?t:`.${t}`},Kan=e=>{const t=gze(e).map(ite).filter(Boolean);return t.length>0?t.join(","):void 0},Yan=e=>e.map(ite).filter(Boolean).join("、"),Xan=(e,t)=>{if(t.length===0)return!0;const n=e.name.toLowerCase(),r=e.type.toLowerCase();return t.map(i=>ite(i).toLowerCase()).some(i=>!i||i==="*"||i==="*/*"?!0:i.endsWith("/*")?r.startsWith(i.slice(0,-1)):i.includes("/")?r===i:n.endsWith(i))},Zan=e=>{const t=e.schema.file_templates??e.schema.fileTemplates;return Array.isArray(t)?t.map(n=>{const r=Pr(n),i=Kp(r==null?void 0:r.path);return i?{name:Kp(r==null?void 0:r.name)||"下载模板",path:i}:null}).filter(n=>!!n):[]},W1=e=>!!e&&typeof e=="object"&&typeof e.format=="function",ZN=e=>{if(!e)return null;if(Nn.isDayjs(e))return e.isValid()?e:null;if(typeof e!="string"&&typeof e!="number"&&!(e instanceof Date))return null;const t=Nn(e);return t.isValid()?t:null},R5=e=>{if(!e)return null;if(Nn.isDayjs(e))return e.isValid()?e:null;if(typeof e!="string")return ZN(e);const t=e.includes(" ")?e:`2000-01-01 ${e}`,n=Nn(t);return n.isValid()?n:null},NP=(e,t)=>{const n=Array.isArray(e)?e:e&&typeof e=="object"&&("start"in e||"end"in e)?[e.start,e.end]:void 0;if(!n||n.length!==2)return null;const r=t(n[0]),i=t(n[1]);return r&&i?[r,i]:null},Qan=e=>{if(typeof e=="string")return e;if(e==null||e==="")return"";try{return JSON.stringify(e,null,2)}catch{return String(e)}},Jan=e=>(Array.isArray(e)?e:e?[e]:[]).map((n,r)=>{const i=Pr(n),o=String(i?i.url||i.response||"":n||""),a=String(i?i.name||o.split("/").pop()||`file_${r+1}`:o.split("/").pop()||n||`file_${r+1}`);return{uid:String((i==null?void 0:i.uid)||`runtime-file-${r}`),name:a,status:"done",url:o||void 0,response:i==null?void 0:i.response}}),vze=e=>!!e&&typeof e=="object"&&!Array.isArray(e)&&("fileList"in e||"manualUrl"in e),ote=e=>Array.isArray(e)?e:vze(e)&&Array.isArray(e.fileList)?e.fileList:[],yze=e=>vze(e)?String(e.manualUrl||""):"",QN=(e,t)=>({fileList:e,manualUrl:t}),esn=(e,t)=>{const n=t[e.name]??e.schema.defaultValue??e.schema.default,r=ty(e);if(n==null)return r==="boolean"?!1:r==="file"?QN([],""):"";if(r==="array"||r==="object")return Qan(n);if(r==="date"&&vw(Ew(e,r)))return NP(n,ZN);if(r==="time"&&vw(Ew(e,r)))return NP(n,R5);if(r==="date"||r==="datetime")return ZN(n);if(r==="dateRange"||r==="datetimeRange")return NP(n,ZN);if(r==="time")return R5(n);if(r==="timeRange")return NP(n,R5);if(r==="file"){const i=Jan(n);if(rte(e)<=1){const o=i[i.length-1];return QN([],o&&ate(o)||"")}return QN(i,"")}return n},ate=e=>{const t=Pr(e.response),n=Pr(t==null?void 0:t.data);return Kp(n==null?void 0:n.url)||Kp(t==null?void 0:t.url)||Kp(e.url)||Kp(e.response)},bze=(e,t)=>{const n=ty(e);if(n==="boolean")return!!t;if(n==="number"||n==="integer"||n==="float"){if(t===""||t==null)return;const r=Number(t);return Number.isNaN(r)?t:n==="integer"?Math.trunc(r):r}if(n==="array"||n==="object")return t===""||t==null?void 0:typeof t!="string"?t:JSON.parse(t);if((n==="date"||n==="time")&&vw(Ew(e,n)))return Array.isArray(t)?t.map(r=>W1(r)?r.format(gl(e,n)):r):t;if(n==="date"||n==="datetime")return W1(t)?t.format(gl(e,n)):t;if(n==="dateRange"||n==="datetimeRange")return Array.isArray(t)?t.map(r=>W1(r)?r.format(gl(e,n)):r):t;if(n==="time")return W1(t)?t.format(gl(e,n)):t;if(n==="timeRange")return Array.isArray(t)?t.map(r=>W1(r)?r.format(gl(e,n)):r):t;if(n==="file"){const r=ote(t),i=yze(t).trim(),o=r.map(ate).filter(Boolean);return i&&o.push(i),rte(e)<=1?o[o.length-1]:o}return t},xze=e=>e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0,tsn=async(e,t)=>{const n=ty(e),r=sx(e);if(n==="file"&&ote(t).some(o=>o.status==="uploading"))throw new Error(`${r}正在上传,请稍后`);let i;try{i=bze(e,t)}catch{throw new Error(n==="array"?`${r}必须是合法 JSON 数组`:`${r}必须是合法 JSON 对象`)}if(e.schema.required&&xze(i))throw new Error(`请输入${r}`);if(n==="array"&&i!==void 0&&!Array.isArray(i))throw new Error(`${r}必须是 JSON 数组`);if(n==="object"&&i!==void 0&&!Pr(i))throw new Error(`${r}必须是 JSON 对象`)};function nsn({field:e,value:t,onChange:n,customRequest:r}){const i=ote(t),o=yze(t),a=Zan(e),s=rte(e),l=s<=1,c=i.some(h=>h.status==="uploading"),u=gze(e),d=(h,m)=>{n==null||n(QN(h,m))},f=h=>{if(Xan(h,u))return!0;const m=Yan(u);return zt.warning(m?`${sx(e)}仅支持上传 ${m} 文件`:"文件类型不支持"),_v.LIST_IGNORE},p=({file:h,fileList:m})=>{if(!l){d(m,o);return}if(h.status==="done"){d([],ate(h)||o);return}if(h.status==="uploading"){d(m,o);return}d([],o)};return w.jsxs("div",{className:"wandox-sdk-runtime-file",children:[a.length>0&&w.jsx("div",{className:"wandox-sdk-runtime-file__templates",children:w.jsx("div",{className:"wandox-sdk-runtime-file__template-list",children:a.map((h,m)=>w.jsxs("a",{className:"wandox-sdk-runtime-file__template",href:h.path,target:"_blank",rel:"noreferrer",children:[w.jsx(AE,{}),w.jsx("span",{children:h.name})]},`${h.path}-${m}`))})}),w.jsxs("div",{className:"wandox-sdk-runtime-file__controls",children:[w.jsx(_v,{accept:Kan(e),beforeUpload:f,customRequest:r,fileList:l?i.filter(h=>h.status==="uploading"):i,maxCount:s,showUploadList:!l,onChange:p,children:w.jsx(qt,{icon:w.jsx(TE,{}),loading:l&&c,children:"点击上传"})}),w.jsx(_n,{value:o,placeholder:"或粘贴外网图片 / 文件地址",allowClear:!0,onChange:h=>d(i,h.target.value)})]})]})}function X0e({options:e,baseParams:t,fields:n,ssoToken:r,ssoDomain:i,ssoCompany:o,popup:a=!1,popupConfig:s,persistent:l=!1,onSubmit:c,onClose:u}){const d=g.useMemo(()=>Object.fromEntries(n.map(I=>[I.name,esn(I,t)])),[t,n]),[f]=Kr.useForm(),p=Uan(s==null?void 0:s.placement),h=(s==null?void 0:s.zIndex)??2147483e3,m=a?{width:H0e(s==null?void 0:s.width),height:H0e(s==null?void 0:s.height),zIndex:h}:void 0,v={zIndex:h>0?h-1:h},y=e.message||"填写场景参数",b=()=>async({file:I,onSuccess:T,onError:$})=>{try{const P=new FormData;P.append("file",I);const N=await fetch(`${_r()}/api/v1/oss/upload2`,{method:"POST",headers:{Authorization:`Bearer ${r}`,"X-Tenant-ID":o,"X-Domain":i},body:P}),M=await N.json();if(!N.ok||(M==null?void 0:M.success)===!1)throw new Error((M==null?void 0:M.message)||`HTTP ${N.status}`);T==null||T(M)}catch(P){$==null||$(P instanceof Error?P:new Error("文件上传失败"))}},x=I=>{const T={};for(const $ of n){const P=bze($,I[$.name]);xze(P)||(T[$.name]=P)}c(T)},S=I=>ty(I)==="boolean"?{valuePropName:"checked"}:{},_=I=>{const T=ty(I),$=sx(I),P=Array.isArray(I.schema.options)?I.schema.options:[];if(P.length>0)return w.jsx(Qn,{style:{width:"100%"},placeholder:I.schema.placeholder||`请选择${$}`,options:P.map(N=>{const M=Pr(N),k=M?M.value:N,O=String(M?M.label||k||"":N);return{value:k,label:O}})});switch(T){case"number":case"integer":case"float":return w.jsx(Sl,{style:{width:"100%"},precision:T==="integer"?0:void 0,placeholder:Y0e(I)});case"boolean":return w.jsx(rf,{children:"启用"});case"array":case"object":return w.jsx(_n.TextArea,{autoSize:!0,placeholder:I.schema.placeholder||"请输入 JSON"});case"file":return w.jsx(nsn,{field:I,customRequest:b()});case"date":{const N=Ew(I,T),M=gl(I,T),k={style:{width:"100%"},picker:yw(M,N.picker),showTime:TJ(N)?{format:ov(M)}:!1,format:M};return vw(N)?w.jsx(Zr.RangePicker,{...k,placeholder:["开始时间","结束时间"]}):w.jsx(Zr,{...k,placeholder:I.schema.placeholder||"选择日期"})}case"dateRange":{const N=gl(I,T);return w.jsx(Zr.RangePicker,{style:{width:"100%"},picker:yw(N),format:N,placeholder:["开始日期","结束日期"]})}case"datetime":{const N=gl(I,T);return w.jsx(Zr,{style:{width:"100%"},showTime:{format:ov(N)},format:N,placeholder:I.schema.placeholder||"选择日期时间"})}case"datetimeRange":{const N=gl(I,T);return w.jsx(Zr.RangePicker,{style:{width:"100%"},showTime:{format:ov(N)},format:N,placeholder:["开始日期时间","结束日期时间"]})}case"time":return vw(Ew(I,T))?w.jsx(da.RangePicker,{style:{width:"100%"},format:gl(I,T),placeholder:["开始时间","结束时间"]}):w.jsx(da,{style:{width:"100%"},format:gl(I,T),placeholder:I.schema.placeholder||"选择时间"});case"timeRange":return w.jsx(da.RangePicker,{style:{width:"100%"},format:gl(I,T),placeholder:["开始时间","结束时间"]});default:return w.jsx(_n.TextArea,{autoSize:!0,placeholder:Y0e(I)})}},C=w.jsxs(Kr,{form:f,layout:"vertical",className:`wandox-sdk-runtime-form${l?" wandox-sdk-runtime-form--persistent":""}`,initialValues:d,onFinish:x,children:[!l&&w.jsxs("div",{className:"wandox-playbook-params-drawer__intro",children:[w.jsx("span",{children:"填写本次运行需要的参数"}),w.jsxs("span",{children:[n.length," 项"]})]}),w.jsx("div",{className:`wandox-playbook-params-drawer__form wandox-sdk-runtime-form__fields${l?" wandox-sdk-runtime-form__fields--persistent":""}`,children:n.map(I=>{const T=Kp(I.schema.description)||Kp(I.schema.hint);return w.jsx(Kr.Item,{className:"wandox-sdk-runtime-field",name:I.name,label:w.jsxs("span",{className:"wandox-playbook-params-drawer__label",children:[sx(I),T?w.jsx(ir,{title:T,children:w.jsx(Gh,{"aria-label":`${sx(I)}说明`})}):null]}),required:!!I.schema.required,rules:[{validator:($,P)=>tsn(I,P)}],...S(I),children:_(I)},I.name)})}),l&&w.jsx("div",{className:"wandox-sdk-runtime-form__actions",children:w.jsx(qt,{type:"primary",htmlType:"submit",children:"执行"})})]});if(l)return w.jsx(Co,{getPopupContainer:I=>(I==null?void 0:I.closest(".wandox-sdk-persistent-run"))||document.body,children:w.jsx("div",{className:"wandox-sdk-persistent-run__params",children:C})});const A=w.jsxs("div",{className:`wandox-sdk-exec wandox-root${a?` wandox-sdk-exec--popup wandox-sdk-exec--${p}`:""}`,style:m,children:[a&&w.jsxs("div",{className:"wandox-sdk-exec__header",children:[w.jsx("div",{className:"wandox-sdk-exec__heading",children:w.jsx("div",{className:"wandox-sdk-exec__title",children:y})}),u&&w.jsx("button",{type:"button",className:"wandox-sdk-exec__close",onClick:u,"aria-label":"关闭",title:"关闭",children:w.jsx(ni,{})})]}),w.jsx("div",{className:"wandox-sdk-exec__body",children:C}),w.jsxs("div",{className:"wandox-sdk-exec__footer",children:[u&&w.jsx(qt,{onClick:u,children:"取消"}),w.jsx(qt,{type:"primary",onClick:()=>f.submit(),children:"开始执行"})]})]}),E=a?w.jsx(Co,{getPopupContainer:I=>(I==null?void 0:I.closest(".wandox-sdk-exec"))||document.body,children:A}):A;return a&&(s!=null&&s.mask)?w.jsxs(w.Fragment,{children:[s.maskClosable===!1?w.jsx("div",{className:"wandox-sdk-exec-mask",style:v,"aria-hidden":"true"}):w.jsx("button",{type:"button",className:"wandox-sdk-exec-mask",style:v,onClick:u,"aria-label":"关闭参数弹窗"}),E]}):E}function rsn({options:e,runtimeFields:t,ssoToken:n,ssoDomain:r,ssoCompany:i,defaultAgentId:o,defaultPlaybookId:a,popup:s=!1,popupConfig:l,persistentParams:c=!1,onClose:u,onReady:d}){const f=g.useMemo(()=>pze(e),[e]),[p,h]=g.useState(t.length>0?null:{}),[m,v]=g.useState(0),y=g.useRef(null),b={...f.playbookParams||{},...y.current||{}},x=g.useCallback(_=>{y.current=_,h(_),v(C=>C+1)},[]),S=g.useCallback(()=>{h(null)},[]);return c&&t.length>0?w.jsxs("div",{className:"wandox-sdk-persistent-run wandox-root",children:[w.jsx(X0e,{options:e,baseParams:b,fields:t,ssoToken:n,ssoDomain:r,ssoCompany:i,persistent:!0,onSubmit:x}),w.jsx("div",{className:"wandox-sdk-persistent-run__result",children:p===null?w.jsx("div",{className:"wandox-sdk-persistent-run__empty",children:"填写运行参数后开始执行"}):w.jsx(pU,{options:{...f,playbookParams:{...f.playbookParams||{},...p}},ssoToken:n,ssoDomain:r,ssoCompany:i,defaultAgentId:o,defaultPlaybookId:a,executionMode:"run",onReady:d},m)})]}):p===null?w.jsx(X0e,{options:e,baseParams:b,fields:t,ssoToken:n,ssoDomain:r,ssoCompany:i,popup:s,popupConfig:l,onClose:u,onSubmit:x}):w.jsx(pU,{options:{...f,playbookParams:{...f.playbookParams||{},...p}},ssoToken:n,ssoDomain:r,ssoCompany:i,defaultAgentId:o,defaultPlaybookId:a,popup:s,popupConfig:l,executionMode:"run",onClose:u,onRerun:t.length>0?S:void 0,onReady:d})}const ste={instance:null,floatingManager:null,init(e){const t=this;if(this.instance)return this.instance;if(!e.token||!e.domain)throw new Error("[Wandox] token and domain are required");const{enableCustomerService:n,enable_customer_service:r,agentId:i,agent_id:o,playbookId:a,playbook_id:s,customerServiceUrl:l,customer_service_url:c,...u}=e,d={...u},f=d.token,p=d.domain,h=d.companyCode||"",m=e.username||"",v=e.userId||e.user_id||"",y=sX();localStorage.setItem("sso_token",f),localStorage.setItem("sso_domain",p),m&&localStorage.setItem("sso_username",m),v&&localStorage.setItem("sso_user_id",v),h&&localStorage.setItem("sso_company",h),t.floatingManager=new Sje(f,p,h,y,l||c);const b=new Lqt(y),x=new wZt(y);let S=null;const _=new Map,C=new Map,A=new Map,E=new Map;let I=0,T=0,$=null,P=null,N=null;const M=new Set,k=new Map,O=new Map,j=new Map;let z=null,B=null,D=null;const H=new Map;let W=0;const L=new Map,R=new Map;let F=0;const V=(Z={})=>({page:Z.page||1,page_size:Z.pageSize||Z.page_size||99,status:Z.status,is_auth:Z.isAuth??Z.is_auth}),U=(Z={})=>{const se=V(Z),ce=JSON.stringify(se),ae=C.get(ce);if(ae)return ae;const we=sL(se).then(Ae=>Array.isArray(Ae.data)?Ae.data:[]).catch(Ae=>{throw C.delete(ce),Ae});return C.set(ce,we),we},G=Z=>{const se=Z.trim();if(!se)return Promise.reject(new Error("[Wandox] agentId is required"));const ce=_.get(se);if(ce)return ce;const ae=lX({agent_id:se}).then(we=>we.data||{}).catch(we=>{throw _.delete(se),we});return _.set(se,ae),ae},q=Z=>{if(typeof Z!="string")return Z;const se=document.querySelector(Z);if(!se)throw new Error(`[Wandox] Container ${Z} not found`);return se},X=Z=>{if(!Z)return document;if(typeof Z!="string")return Z;const se=document.querySelector(Z);if(!se)throw new Error(`[Wandox] Container ${Z} not found`);return se},Y=(Z,se,ce)=>({element:Z,abort:()=>{var ae;return(ae=se())==null?void 0:ae.abort()},rerun:()=>{var ae;return(ae=se())==null?void 0:ae.rerun()},minimize:()=>{var ae;return(ae=se())==null?void 0:ae.minimize()},restore:()=>{var ae;return(ae=se())==null?void 0:ae.restore()},destroy:ce}),K=(Z,se={},ce=!1,ae,we,Ae="chat",He)=>{var at;const Ve=pze(se);let Ke=A.get(Z);return Ke?(at=E.get(Z))==null||at.abort():(Ke=bl(Z),A.set(Z,Ke)),Ke.render(w.jsx(cu,{queryClient:y,children:w.jsx(pU,{options:Ve,ssoToken:f,ssoDomain:p,ssoCompany:h,popup:ce,popupConfig:we,executionMode:Ae,preflight:He,onClose:ae,onReady:Ne=>{E.set(Z,Ne),ce&&(N=Ne)}})})),Y(Z,()=>E.get(Z)||null,()=>{var Ne;(Ne=E.get(Z))==null||Ne.abort(),Ke==null||Ke.unmount(),A.delete(Z),E.delete(Z),ce&&P===Z&&($=null,N=null,P==null||P.remove(),P=null)})},ne=()=>{T+=1,N==null||N.abort(),$==null||$.unmount(),P&&(A.delete(P),E.delete(P),P.remove()),$=null,P=null,N=null},ee=(Z,se={},ce=!1,ae,we,Ae=!1)=>{var Ne;const He=fze(se),Ve=qan(He);if(Ve.length===0)return K(Z,se,ce,ae,we,"run");const Ke=++I;let at=A.get(Z);return at?(Ne=E.get(Z))==null||Ne.abort():(at=bl(Z),A.set(Z,at)),at.render(w.jsx(cu,{queryClient:y,children:w.jsx(rsn,{options:se,runtimeFields:Ve,ssoToken:f,ssoDomain:p,ssoCompany:h,popup:ce,popupConfig:we,persistentParams:Ae&&!ce,onClose:ae,onReady:Ue=>{E.set(Z,Ue),ce&&(N=Ue)}},Ke)})),Y(Z,()=>E.get(Z)||null,()=>{var Ue;(Ue=E.get(Z))==null||Ue.abort(),at==null||at.unmount(),A.delete(Z),E.delete(Z),ce&&P===Z&&($=null,N=null,P==null||P.remove(),P=null)})},Q=(Z,se={},ce)=>{var Ae,He,Ve,Ke,at,Ne,Ue;const ae=se.popup||{},we=Z.dataset;return H1({...(ce==null?void 0:ce.popup)||{},...ae,placement:we.popupPlacement||ae.placement||((Ae=ce==null?void 0:ce.popup)==null?void 0:Ae.placement),mask:IP(Z.getAttribute("data-popup-mask"))??ae.mask??((He=ce==null?void 0:ce.popup)==null?void 0:He.mask),maskClosable:IP(Z.getAttribute("data-popup-mask-closable"))??ae.maskClosable??((Ve=ce==null?void 0:ce.popup)==null?void 0:Ve.maskClosable),minimizable:IP(Z.getAttribute("data-popup-minimizable"))??ae.minimizable??((Ke=ce==null?void 0:ce.popup)==null?void 0:Ke.minimizable),width:k5(Z.getAttribute("data-popup-width"))??ae.width??((at=ce==null?void 0:ce.popup)==null?void 0:at.width),height:k5(Z.getAttribute("data-popup-height"))??ae.height??((Ne=ce==null?void 0:ce.popup)==null?void 0:Ne.height),zIndex:k5(Z.getAttribute("data-popup-z-index"))??ae.zIndex??((Ue=ce==null?void 0:ce.popup)==null?void 0:Ue.zIndex)})},te=(Z,se={})=>{const ce=Z.getAttribute("data-container"),ae=ce==null?void 0:ce.trim();return ae||se.container},ie=Z=>{var se;if(Z.hasAttribute("data-container"))return((se=Z.getAttribute("data-container"))==null?void 0:se.trim())||""},oe=(Z,se)=>{var Ke;const ce=hze(Z.getAttribute("data-params")),ae=ce.sdkConfig||ce.sdk_config||{},we=Z.dataset,Ae=te(Z,ae),He=Q(Z,ae,se),Ve={...ce,dataParams:ce,agentId:Jt(we.agentId)||Jt(ce.agentId)||Jt(ce.agent_id)||void 0,playbookId:Jt(we.playbookId)||Jt(ce.playbookId)||Jt(ce.playbook_id)||void 0,message:we.message||we.title||ce.message||((Ke=Z.textContent)==null?void 0:Ke.trim())||"场景执行"};return{container:Ae,options:Ve,popupConfig:He}},fe=Z=>{const se=Z.dataset;return Jt(Z.getAttribute("data-component-id"))||Jt(Z.getAttribute("data-component_id"))||Jt(se.componentId)||Jt(se.component_id)},ye=Z=>{const se=Z.getAttribute("data-default-params")||Z.getAttribute("data-default_params")||Z.getAttribute("data-params");return M5(se)},$e=(Z={},se={})=>H1({...Z,...se,popup:H1({...Z.popup||{},...se.popup||{}})}),be=(Z={})=>({componentId:Jt(Z.componentId)||Jt(Z.component_id)||void 0,defaultParams:M5(Z.defaultParams||Z.default_params||Z.params),agentId:Jt(Z.agentId)||Jt(Z.agent_id)||void 0,playbookId:Jt(Z.playbookId)||Jt(Z.playbook_id)||void 0,message:Z.message,persistentParams:Z.persistentParams??Z.persistent_params,sdkConfig:$e(Z.sdkConfig||Z.sdk_config||{})}),je=async(Z={})=>{const se=be(Z),ce=se.componentId;if(!ce)throw new Error("[Wandox] componentId is required");const ae=await oyt(ce),we=W0e(ae),Ae=mze(we.playbookParams||we.playbook_params),He=we.sdkConfig||we.sdk_config||Ae.sdkConfig||Ae.sdk_config||{},Ve=$e(He,se.sdkConfig),Ke=se.persistentParams??Ve.persistentParams??Ve.persistent_params??!1,at={...M5(Ae.defaultParams||Ae.default_params),...se.defaultParams,component_id:ce},Ne="container"in Z&&Z.container!==void 0?Z.container||void 0:Ve.container,Ue=H1({...Ve.popup||{},...Z.popupConfig||{}}),Ee={agentId:se.agentId||PP(we.agentId)||PP(we.agent_id)||void 0,playbookId:se.playbookId||PP(we.playbookId)||PP(we.playbook_id)||void 0,message:se.message||String(we.name||we.title||"场景执行"),executionParams:dze(Ae.executionParams||Ae.execution_params),defaultParams:at,paramSchema:Pr(Ae.paramSchema||Ae.param_schema),sdkConfig:Ve};return{container:Ne,options:Ee,popupConfig:Ue,persistentParams:Ke}},Oe=(Z,se)=>{var ae;const ce=Z.dataset;return{componentId:fe(Z),defaultParams:ye(Z),container:ie(Z),popupConfig:Q(Z,{},se),persistentParams:IP(Z.getAttribute("data-persistent-params")),agentId:ce.agentId,playbookId:ce.playbookId,message:ce.message||ce.title||((ae=Z.textContent)==null?void 0:ae.trim())||void 0}},Fe=Z=>{if(!Z.options.playbookId)throw new Error("[Wandox] playbookId is required");if(Z.container)return ee(q(Z.container),Z.options,!1,void 0,void 0,Z.persistentParams);ne();const se=document.createElement("div");se.id="wandox-playbook-execution-popup-root",document.body.appendChild(se),P=se;const ce=ee(se,Z.options,!0,ne,Z.popupConfig);return $=A.get(se)||null,ce},xe=async(Z={})=>{const se=be(Z),ce=H1({...se.sdkConfig.popup||{},...Z.popupConfig||{}});ne();const ae=++T,we=document.createElement("div");we.id="wandox-playbook-execution-popup-root",document.body.appendChild(we),P=we;const Ae={message:se.message||"场景执行"};K(we,Ae,!0,ne,ce,"run",{status:"loading"}),$=A.get(we)||null;try{const He=await je({...Z,container:"",popupConfig:Z.popupConfig});if(ae!==T||P!==we)throw U0e();if(!He.options.playbookId)throw new Error("[Wandox] playbookId is required");const Ve=ee(we,He.options,!0,ne,He.popupConfig,He.persistentParams);return $=A.get(we)||null,Ve}catch(He){throw ae===T&&P===we?(K(we,Ae,!0,ne,ce,"run",{status:"error",message:G0e(He)}),$=A.get(we)||null,He):q0e(He)?He:U0e()}},ue=async(Z,se={})=>{const ce=q(Z),we={message:be(se).message||"场景执行"};K(ce,we,!1,void 0,void 0,"run",{status:"loading"});try{const Ae=await je({...se,container:ce});if(!Ae.options.playbookId)throw new Error("[Wandox] playbookId is required");return ee(ce,Ae.options,!1,void 0,void 0,Ae.persistentParams)}catch(Ae){throw K(ce,we,!1,void 0,void 0,"run",{status:"error",message:G0e(Ae)}),Ae}},pe=(Z,se,ce=!1,ae,we)=>{var He;let Ae=k.get(Z);return Ae?(He=j.get(Z))==null||He.abort():(Ae=bl(Z),k.set(Z,Ae)),Ae.render(w.jsx(cu,{queryClient:y,children:w.jsx($an,{options:{componentId:se.componentId,defaultParams:se.defaultParams,executionTitle:se.executionTitle,flow:se.flow,retryRecordId:se.retryRecordId},ssoToken:f,ssoDomain:p,ssoCompany:h,popup:ce,popupConfig:we,onClose:ae,onReady:Ve=>{j.set(Z,Ve),ce&&(D=Ve)}})})),{element:Z,abort:()=>{var Ve;return(Ve=j.get(Z))==null?void 0:Ve.abort()},rerun:()=>{var Ve;return(Ve=j.get(Z))==null?void 0:Ve.rerun()},minimize:()=>{var Ve;return(Ve=j.get(Z))==null?void 0:Ve.minimize()},restore:()=>{var Ve;return(Ve=j.get(Z))==null?void 0:Ve.restore()},getFlowId:()=>{var Ve,Ke;return((Ke=(Ve=j.get(Z))==null?void 0:Ve.getFlowId)==null?void 0:Ke.call(Ve))??null},destroy:()=>{var Ve;(Ve=j.get(Z))==null||Ve.abort(),Ae==null||Ae.unmount(),k.delete(Z),j.delete(Z),ce&&B===Z&&(z=null,D=null,B==null||B.remove(),B=null)}}},Se=()=>{D==null||D.abort(),z==null||z.unmount(),B&&(k.delete(B),j.delete(B),B.remove()),z=null,B=null,D=null},Pe=async Z=>{var se;try{const ce=await ayt(Z),ae=W0e(ce);if(ae.component_type!=="banner")throw new Error(`[Wandox] 不支持的促销组件类型:${String(ae.component_type||"unknown")}`);if(!Array.isArray(ae.items))throw new Error("[Wandox] 促销组件返回的 items 格式无效");const we=Pr(ae.component_config);return{component_type:"banner",component_config:we?{auto_play:typeof we.auto_play=="boolean"?we.auto_play:void 0,interval:typeof we.interval=="number"&&Number.isFinite(we.interval)?we.interval:void 0,show_dots:typeof we.show_dots=="boolean"?we.show_dots:void 0}:void 0,items:ae.items}}catch(ce){if(ce instanceof Error)throw ce;const ae=Pr(ce),we=Pr(ae==null?void 0:ae.data)??Pr((se=Pr(ae==null?void 0:ae.response))==null?void 0:se.data)??ae,Ae=typeof(we==null?void 0:we.message)=="string"&&we.message.trim()?we.message:"促销组件加载失败,请稍后重试";throw new Error(Ae)}},_e=Z=>{var se;(se=L.get(Z))==null||se.unmount(),L.delete(Z),R.delete(Z)},Te=async(Z,se={})=>{var Ke,at,Ne;const ce=Jt(se.componentId)||Jt(se.component_id);let ae=se.items,we,Ae;if(ce){const Ue=await Pe(ce);ae=Ue.items,we=((Ke=Ue.component_config)==null?void 0:Ke.auto_play)===!1?0:((at=Ue.component_config)==null?void 0:at.interval)??5e3,Ae=((Ne=Ue.component_config)==null?void 0:Ne.show_dots)??!0}let He=L.get(Z);He||(He=bl(Z),L.set(Z,He));const Ve=++F;return He.render(w.jsx(cu,{queryClient:y,children:w.jsx(jan,{items:ae,autoPlayInterval:se.autoPlayInterval??we,showDots:se.showDots??Ae,onClaim:se.onClaim,onReady:Ue=>{R.set(Z,Ue)},onExhausted:()=>_e(Z)},Ve)})),{element:Z,next:()=>{var Ue;return(Ue=R.get(Z))==null?void 0:Ue.next()},prev:()=>{var Ue;return(Ue=R.get(Z))==null?void 0:Ue.prev()},goTo:Ue=>{var Ee;return(Ee=R.get(Z))==null?void 0:Ee.goTo(Ue)},destroy:()=>_e(Z)}},ve=(Z,se)=>{const ce=X(Z),ae=async Ae=>{const He=Ae.target;if(!(He instanceof Element))return;const Ve=He.closest('[data-action="playbook"], [data-action="page-component"], [data-action="agent-component"], [data-component-id], [data-component_id]');if(Ve instanceof HTMLElement&&!(ce instanceof HTMLElement&&!ce.contains(Ve))){Ae.preventDefault();try{const Ke=Ve.getAttribute("data-action"),at=fe(Ve);if(Ke==="agent-component"){const Ne=Ve.getAttribute("data-agent-component-id")||Ve.getAttribute("data-component-id")||Ve.getAttribute("data-component_id")||Ve.dataset.agentComponentId||"";if(!Ne)throw new Error("[Wandox] agent-component requires data-agent-component-id");const Ue=ye(Ve),Ee=Q(Ve,{},se);Se();const me=document.createElement("div");me.id="wandox-agent-component-popup-root",document.body.appendChild(me),B=me,pe(me,{componentId:Ne,defaultParams:Ue},!0,Se,Ee),z=k.get(me)||null;return}if(Ke==="page-component"||at){const Ne=Oe(Ve,se);Ne.container===""?await xe(Ne):Ne.container?await ue(Ne.container,Ne):Fe(await je(Ne));return}Fe(oe(Ve,se))}catch(Ke){if(q0e(Ke))return}}};ce.addEventListener("click",ae);const we={root:ce,destroy:()=>{ce.removeEventListener("click",ae),M.delete(we)}};return M.add(we),we},he=(Z,se,ce,ae,we,Ae)=>{const He=q(Z);let Ve=H.get(He);Ve||(Ve=bl(He),H.set(He,Ve));const Ke=`assistant-${++W}`;return S=null,Ve.render(w.jsx(cu,{queryClient:y,children:w.jsx(Van,{agents:se,initialAgentId:ce,initialPlaybookId:ae,initialPlaybookParams:we,extraChatParams:Ae,onReady:at=>{S=at}},Ke)})),He};return t.instance={config:d,mountAssistant(Z,se){const ce=Han(se),ae=ce.agentId,we=ae?ce.playbookId:void 0;return he(Z,ce.agents,ae,we,we?ce.playbookParams:void 0,ce.extraChatParams)},getAgents(Z){return U(Z)},getAgentDetail(Z){return G(Z)},async getAgentPlaybookGroups(Z){return(await G(Z)).playbook_groups||[]},enableFloatingBall(){t.floatingManager&&t.floatingManager.enable()},registerFloatingBall(Z){t.floatingManager&&t.floatingManager.registerFloatingBall(F0e(Z))},setFloatingBallConfig(Z){t.floatingManager&&t.floatingManager.setFloatingBallConfig(F0e(Z))},clearMessages(){t.floatingManager&&t.floatingManager.clearMessages()},getMessages(){return t.floatingManager?t.floatingManager.getMessages():[]},openDrawer(Z){if(t.floatingManager){const se=V0e(Z);t.floatingManager.openDrawer(se.playbookId,se.message,se.agentId,!se.hasExplicitTargetOptions,se.playbookParams,se.enableCustomerService,se.customerServiceUrl)}},openDrawerOnly(Z){if(t.floatingManager){const se=V0e(Z);t.floatingManager.openDrawerOnly(se.playbookId,se.message,se.agentId,!se.hasExplicitTargetOptions,se.playbookParams,se.enableCustomerService,se.customerServiceUrl)}},openAgentPanel(Z){return b.open(Z)},closeAgentPanel(){b.close()},openConversations(Z){return x.open(Z)},closeConversations(){x.close()},openDrawerWithPlaybook(Z){t.floatingManager&&t.floatingManager.openDrawerWithPlaybook({playbookId:Jt(Z.playbookId)||Jt(Z.playbook_id)||void 0,playbookParams:Z.playbookParams??Z.playbook_params,message:Z.message,agentId:Jt(Z.agentId)||Jt(Z.agent_id)||void 0,enableCustomerService:uze(Z),customerServiceUrl:Z.customerServiceUrl||Z.customer_service_url})},mountPlaybookExecution(Z,se){return K(q(Z),se)},openPlaybookExecution(Z,se){ne();const ce=document.createElement("div");return ce.id="wandox-playbook-execution-popup-root",document.body.appendChild(ce),P=ce,K(ce,Z,!0,ne,se),$=A.get(ce)||null,Y(ce,()=>N,ne)},mountPlaybookRun(Z,se){return ee(q(Z),se)},openPlaybookRun(Z,se){ne();const ce=document.createElement("div");return ce.id="wandox-playbook-execution-popup-root",document.body.appendChild(ce),P=ce,ee(ce,Z,!0,ne,se),$=A.get(ce)||null,Y(ce,()=>N,ne)},async mountPageComponentRun(Z,se){return ue(Z,se)},async openPageComponentRun(Z,se){return xe({...Z||{},popupConfig:se})},async mountAgentComponentRun(Z,se){if(!se.componentId)throw new Error("[Wandox] componentId is required");return pe(q(Z),se)},async openAgentComponentRun(Z,se){if(!Z.componentId)throw new Error("[Wandox] componentId is required");Se();const ce=document.createElement("div");ce.id="wandox-agent-component-popup-root",document.body.appendChild(ce),B=ce;const ae=pe(ce,Z,!0,Se,se);return z=k.get(ce)||null,ae},async openAgentComponentFlow(Z,se){if(!Z.componentId)throw new Error("[Wandox] componentId is required");Se();const ce=document.createElement("div");ce.id="wandox-agent-component-popup-root",document.body.appendChild(ce),B=ce;const ae=pe(ce,{...Z,flow:Z.flow??{mode:"mock"}},!0,Se,se);return z=k.get(ce)||null,ae},async mountAgentComponentFlowCenter(Z,se){const ce=q(Z);let ae=O.get(ce);ae||(ae=bl(ce),O.set(ce,ae));const we=(se==null?void 0:se.flow)||{mode:"mock"},Ae=Jje({mode:we.mode??"mock",componentId:se==null?void 0:se.componentId,businessCode:we.businessCode,sso:{token:f,domain:p,company:h}});return ae.render(w.jsx(cu,{queryClient:y,children:w.jsx(Nan,{componentId:se==null?void 0:se.componentId,store:Ae,sso:f?{token:f,domain:p,company:h}:void 0,onOpenFlow:se==null?void 0:se.onOpenFlow,defaultOpenFlow:He=>{var Ve;(Ve=t.instance)==null||Ve.openAgentComponentFlow(He)}})})),{destroy:()=>{ae==null||ae.unmount(),O.delete(ce)}}},async mountPromoBanner(Z,se){return Te(q(Z),se)},mountPlaybookActions(Z,se){return ve(Z,se)},bindPlaybookActions(Z,se){return ve(Z,se)},closeDrawer(){t.floatingManager&&t.floatingManager.closeDrawer()},showInspectionResults(Z){S?S.showInspectionResults(Z):t.floatingManager&&t.floatingManager.showInspectionResults(Z)},destroy(){b.destroy(),x.destroy(),t.floatingManager&&(t.floatingManager.destroy(),t.floatingManager=null),ne(),Se(),A.forEach((Z,se)=>{var ce;(ce=E.get(se))==null||ce.abort(),Z.unmount()}),A.clear(),E.clear(),k.forEach((Z,se)=>{var ce;(ce=j.get(se))==null||ce.abort(),Z.unmount()}),k.clear(),j.clear(),O.forEach(Z=>Z.unmount()),O.clear();for(const Z of H.values())Z.unmount();H.clear(),S=null;for(const Z of L.values())Z.unmount();L.clear(),R.clear();for(const Z of Array.from(M))Z.destroy();M.clear(),_.clear(),C.clear(),y.clear(),t.instance=null}},t.instance},getInstance(){return this.instance}};typeof window<"u"&&(window.wandox=ste);const isn=ste;exports.ActionDetailDrawer=NLe;exports.Alert=Nk;exports.AutoComplete=vO;exports.AutomationLoadingState=qj;exports.AutomationWorkbenchCompletion=rze;exports.AutomationWorkbenchFlow=ize;exports.AutomationWorkbenchParameters=oze;exports.AutomationWorkbenchStep=aze;exports.Badge=Fk;exports.Button=qt;exports.COMMENT=Qq;exports.CSSMotion=Gs;exports.Card=DA;exports.ChatHistoryLoading=HLe;exports.ChatInput=EJ;exports.ChatMessageList=BLe;exports.Checkbox=rf;exports.Col=Ww;exports.Collapse=W1e;exports.ConfigContext=jt;exports.ConfigProvider=Co;exports.ContextIsolator=Lu;exports.ConversationOutline=GLe;exports.DELETE_Api_V1_CustomAgents_Delete_ByAgentId=Bvt;exports.DELETE_Api_V1_CustomAgents_Executions_ByExecutionId=Kvt;exports.DELETE_Api_V1_CustomAgents_Schedules_Delete_ByScheduleId=Uvt;exports.DELETE_Api_V1_Notification_Agents_Webhook_Delete_ByAgentId=kvt;exports.DELETE_Api_V1_Notification_Schedules_Delete_ByScheduleId=UTe;exports.DELETE_Api_V1_Notification_Webhooks_Delete_ByWebhookId=Tvt;exports.DatePicker=Zr;exports.Descriptions=yc;exports.Dropdown=Gw;exports.EMPTY_SCHEDULE_DIALOG=KG;exports.Empty=os;exports.FloatingManager=Sje;exports.Form=Kr;exports.ForwardTable=Us;exports.GET_Api_V1_Agents_ActionExecutes=xvt;exports.GET_Api_V1_Agents_Detail=lX;exports.GET_Api_V1_Agents_List=sL;exports.GET_Api_V1_Agents_UserPlaybooks=bvt;exports.GET_Api_V1_Agents_Workspaces=wvt;exports.GET_Api_V1_CustomAgents=Lvt;exports.GET_Api_V1_CustomAgents_Detail_ByAgentId=jvt;exports.GET_Api_V1_CustomAgents_Executions=Fvt;exports.GET_Api_V1_CustomAgents_Executions_Detail_ByExecutionId=Vvt;exports.GET_Api_V1_CustomAgents_Market_TemplateRecommendations=ryt;exports.GET_Api_V1_CustomAgents_Market_Templates=tyt;exports.GET_Api_V1_CustomAgents_Results_Detail_ByResultId=Xvt;exports.GET_Api_V1_CustomAgents_Scenes_Available=Rvt;exports.GET_Api_V1_CustomAgents_Scenes_Playbooks_BySceneId=Dvt;exports.GET_Api_V1_CustomAgents_Schedules_ByAgentId=Hvt;exports.GET_Api_V1_CustomAgents_Transfers_Pending=Qvt;exports.GET_Api_V1_CustomAgents_Transfers_Sent=Jvt;exports.GET_Api_V1_Notification_Agents_Webhook_ByAgentId=Nvt;exports.GET_Api_V1_Notification_Schedules=WTe;exports.GET_Api_V1_Notification_Webhooks=VTe;exports.GET_Api_V1_Notification_Webhooks_Detail_ByWebhookId=$vt;exports.GET_Api_V1_Playbooks=Svt;exports.GET_Api_V1_Playbooks_Detail=aS;exports.GET_Api_V1_Playbooks_RecentExecuted=BTe;exports.GET_Api_V1_Users_SimpleList=Mvt;exports.HumanConfirmPanel=Hee;exports.Icon=xt;exports.Image=gY;exports.Input=_n;exports.KEYFRAMES=tK;exports.LAYER=ySe;exports.MEDIA=cVe;exports.Menu=py;exports.MessageToolbar=WLe;exports.Modal=ri;exports.NotificationScheduleModal=RLe;exports.POST_Api_V1_Agents_Messages_Feedback=zTe;exports.POST_Api_V1_CustomAgents_Executions_Cancel_ByExecutionId=qvt;exports.POST_Api_V1_CustomAgents_Market_Templates_Enable=iyt;exports.POST_Api_V1_CustomAgents_Market_Templates_Enable_ByTemplateId=nyt;exports.POST_Api_V1_CustomAgents_Results_Transfer_ByResultId=Zvt;exports.POST_Api_V1_CustomAgents_Save=Ovt;exports.POST_Api_V1_CustomAgents_Schedules_ByAgentId=Wvt;exports.POST_Api_V1_CustomAgents_Transfers_Reject_ByTransferId=eyt;exports.POST_Api_V1_Notification_Agents_Webhook=Pvt;exports.POST_Api_V1_Notification_Schedules=HTe;exports.POST_Api_V1_Notification_Webhooks=Avt;exports.POST_Api_V1_Notification_Webhooks_Test_ByWebhookId=Ivt;exports.POST_Api_V1_Oss_Upload2=cX;exports.POST_Api_V1_Usemap_Tree=qTe;exports.PUT_Api_V1_CustomAgents_Schedules_Update_ByScheduleId=Gvt;exports.PUT_Api_V1_CustomAgents_Update_ByAgentId=zvt;exports.PUT_Api_V1_Notification_Schedules_Update_ByScheduleId=GTe;exports.PUT_Api_V1_Notification_Webhooks_Update_ByWebhookId=Evt;exports.Pagination=yY;exports.PayloadRenderer=Yv;exports.PlaybookVideoModal=CJ;exports.Popconfirm=xY;exports.Popover=bE;exports.Portal=Dw;exports.Progress=LO;exports.Radio=_u;exports.ReactExports=ge;exports.RecommendationLoader=JLe;exports.RefIcon=yy;exports.RefIcon$1=by;exports.RefIcon$10=EE;exports.RefIcon$11=jO;exports.RefIcon$12=LY;exports.RefIcon$13=rEe;exports.RefIcon$14=BA;exports.RefIcon$15=Tf;exports.RefIcon$16=Qw;exports.RefIcon$17=ni;exports.RefIcon$18=Cf;exports.RefIcon$19=dEe;exports.RefIcon$2=TE;exports.RefIcon$20=HO;exports.RefIcon$21=SEe;exports.RefIcon$22=Gh;exports.RefIcon$23=Ef;exports.RefIcon$24=AE;exports.RefIcon$25=Zw;exports.RefIcon$26=bv;exports.RefIcon$27=tf;exports.RefIcon$28=xy;exports.RefIcon$29=OY;exports.RefIcon$3=dy;exports.RefIcon$4=pc;exports.RefIcon$5=fy;exports.RefIcon$6=xr;exports.RefIcon$7=Vx;exports.RefIcon$8=IEe;exports.RefIcon$9=sy;exports.Row=_E;exports.SCOPE=pVe;exports.SUPPORTS=dVe;exports.ScheduleFrequencyPicker=MLe;exports.SchemaDynamicForm=cD;exports.Segmented=lY;exports.Select=Qn;exports.Skeleton=Ju;exports.Space=Tl;exports.Spin=ju;exports.Statistic=Uw;exports.Steps=_Y;exports.Subscribable=iS;exports.Switch=Ah;exports.Tabs=NO;exports.Tag=Fo;exports.TemporalFieldControl=rje;exports.TimePicker=da;exports.Timeline=RY;exports.Tooltip=ir;exports.Tree=VO;exports.TypedInputNumber=Sl;exports.Typography=If;exports.Upload=_v;exports.WandoxCompanion=oU;exports.YAML=kE;exports.buildExecutionTitle=hon;exports.buildFallbackSteps=Zee;exports.buildHistoricalRunValues=bon;exports.buildLiveExecutionTraceSteps=Eon;exports.buildLiveRunRecord=Son;exports.buildResultDisplay=Lon;exports.buildRunInputParams=Gj;exports.buildWaitingSteps=J3e;exports.canShowWorkLiteButton=SJ;exports.canTransferRun=non;exports.clsx=re;exports.collectPlaybooksFromDetail=yje;exports.commonjsGlobal=gs;exports.compile=K6;exports.composeRef=Oi;exports.create=ZLe;exports.createExecutionStepSnapshots=Gon;exports.createHumanConfirmData=mT;exports.createOutputPayload=Rg;exports.createResultRendererPayload=Dg;exports.createStepOutputPayload=Y3e;exports.dayjs2=Nn;exports.dayjsAdvancedFormat=OCe;exports.dayjsCustomParseFormat=HK;exports.extractAgentInputConfig=G3e;exports.extractData=Hj;exports.extractPairsFromValue=Q3e;exports.extractRecentPlaybookValues=BGt;exports.fetchWaitingInputData=Uin;exports.formatDateTime=L3e;exports.formatRunParamValue=Kee;exports.genFocusStyle=vs;exports.genStyleHooks=gn;exports.getAddressInputFields=sUt;exports.getAgentPackageBenefit=lje;exports.getBaseURL=_r;exports.getBusinessStatusState=V3e;exports.getCompletedStepConfirmData=nte;exports.getCurrentExecutionStepId=$on;exports.getDateKeyFromDate=Jin;exports.getDefaultExportFromCjs=Go;exports.getDefaultState=OTe;exports.getErrorMessage=Yin;exports.getExecutionSummary=Wj;exports.getFieldLabelMap=Z3e;exports.getInputFieldLabelMap=gon;exports.getMessageFeedbackRating=ILe;exports.getMessagePlaybookId=_J;exports.getNextMessageFeedbackRating=PLe;exports.getPlaybookDetailFields=tje;exports.getResultStepCount=U3e;exports.getRunDate=z3e;exports.getRunFormGroupTitle=ron;exports.getStepError=q3e;exports.getTemplateDependencies=a4e;exports.getTemporalComponentType=mj;exports.getTransitionName=Du;exports.hasMeaningfulValue=xo;exports.hasRunInputDisplayValues=gT;exports.hasStoredRunParams=Xee;exports.hashKey=Gx;exports.isAddressInputField=aUt;exports.isRecord=Vt;exports.isRememberLastEnabled=W3e;exports.jsxRuntimeExports=w;exports.loadAgentSchemaOptions=Cb;exports.mapExecutionStatus=Gee;exports.merge=cn;exports.mergePlaybookDetail=$J;exports.mergeRunInputSnapshot=yon;exports.middleware=_Se;exports.noop=Ia;exports.normalizeAgentInputFields=sje;exports.normalizeExecutionSteps=Aon;exports.normalizeLegacyOutput=Jee;exports.normalizeResultHeading=gD;exports.normalizeRunInputValues=Yee;exports.normalizeSseExecutionSteps=K3e;exports.normalizeTemporalFieldType=oT;exports.notifyManager=vo;exports.padDateNumber=OU;exports.parseCron=kLe;exports.pickAttrs=Mr;exports.pickClosable=ef;exports.pickDisplayText=Xu;exports.pickFirstRunInput=von;exports.pickItems=Xin;exports.pickTotal=Zin;exports.pickVisibleText=zh;exports.reactExports=g;exports.removeLeadingResultHeading=tte;exports.resetComponent=$n;exports.resolveReExecuteStepId=Uon;exports.resolveReturnPreviousStepId=Gin;exports.runHasBackendFailedStatus=H3e;exports.serialize=Mx;exports.shallowEqualObjects=yM;exports.shouldThrowError=oX;exports.sortRunsByTimeline=eon;exports.staticMethods=zt;exports.staticMethods$1=ka;exports.stringify=Y6;exports.stringifyDetailValue=ton;exports.stringifyValue=By;exports.toIdString=Vj;exports.toNumberValue=Tb;exports.toValidDate=j3e;exports.unit=le;exports.unwrapOutputData=X3e;exports.uploadAgentSchemaFile=JR;exports.useChat=RJ;exports.useClosable=sO;exports.useComponentConfig=on;exports.useComposeRef=xf;exports.useDynamicFieldOptions=aje;exports.useEvent=It;exports.useFocusable=s_e;exports.useId=kc;exports.useLanguage=sS;exports.useLayoutEffect=nn;exports.useLockFocus=iSe;exports.useMergeSemantic=un;exports.useMergedMask=cK;exports.useMessageData=vje;exports.useOrientation=aE;exports.usePanelRef=u_e;exports.useQuery=Ur;exports.useQueryClient=aL;exports.useQuestionsStore=QLe;exports.useSize=Ei;exports.useWorkbenchFlowModel=eze;exports.useWorkbenchStageController=tze;exports.useZIndex=$f;exports.validateInputAddress=lUt;exports.version=MSe;exports.wandox=isn;exports.wandoxSDK=ste;exports.warningOnce=yr;exports.zIndexContext=sE;
|