@next-bricks/ai-portal 0.57.0 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/bricks.json +24 -24
  2. package/dist/chunks/1488.89557180.js +2 -0
  3. package/dist/chunks/1488.89557180.js.map +1 -0
  4. package/dist/chunks/151.b87bccc0.js +2 -0
  5. package/dist/chunks/151.b87bccc0.js.map +1 -0
  6. package/dist/chunks/2232.75f1ab0f.js +2 -0
  7. package/dist/chunks/2232.75f1ab0f.js.map +1 -0
  8. package/dist/chunks/3848.01a4987f.js +3 -0
  9. package/dist/chunks/3848.01a4987f.js.map +1 -0
  10. package/dist/chunks/4002.68156a0e.js +3 -0
  11. package/dist/chunks/4002.68156a0e.js.map +1 -0
  12. package/dist/chunks/7041.d7408449.js +2 -0
  13. package/dist/chunks/7041.d7408449.js.map +1 -0
  14. package/dist/chunks/9496.08074e2b.js +2 -0
  15. package/dist/chunks/9496.08074e2b.js.map +1 -0
  16. package/dist/chunks/chat-box.1b2a4a02.js +2 -0
  17. package/dist/chunks/chat-box.1b2a4a02.js.map +1 -0
  18. package/dist/chunks/chat-input.3ca07b82.js +2 -0
  19. package/dist/chunks/chat-input.3ca07b82.js.map +1 -0
  20. package/dist/chunks/chat-stream.a7c4f58d.js +2 -0
  21. package/dist/chunks/chat-stream.a7c4f58d.js.map +1 -0
  22. package/dist/chunks/cruise-canvas.b444c4ca.js +2 -0
  23. package/dist/chunks/cruise-canvas.b444c4ca.js.map +1 -0
  24. package/dist/chunks/{main.a8c98afa.js → main.703a0465.js} +2 -2
  25. package/dist/chunks/{main.a8c98afa.js.map → main.703a0465.js.map} +1 -1
  26. package/dist/examples.json +20 -20
  27. package/dist/images/96be9327.png +0 -0
  28. package/dist/index.7d751c21.js +2 -0
  29. package/dist/index.7d751c21.js.map +1 -0
  30. package/dist/manifest.json +216 -199
  31. package/dist/types.json +1295 -546
  32. package/dist-types/chat-box/index.d.ts +3 -12
  33. package/dist-types/chat-input/index.d.ts +5 -2
  34. package/dist-types/chat-stream/ChatStream.d.ts +1 -1
  35. package/dist-types/chat-stream/UserMessage/UserMessage.d.ts +3 -2
  36. package/dist-types/chat-stream/index.d.ts +3 -1
  37. package/dist-types/chat-stream/interfaces.d.ts +2 -1
  38. package/dist-types/cruise-canvas/CanvasContext.d.ts +0 -2
  39. package/dist-types/cruise-canvas/CruiseCanvas.d.ts +1 -1
  40. package/dist-types/cruise-canvas/FileList/FileList.d.ts +2 -1
  41. package/dist-types/cruise-canvas/Nav/Nav.d.ts +3 -6
  42. package/dist-types/cruise-canvas/NodeRequirement/NodeRequirement.d.ts +3 -2
  43. package/dist-types/cruise-canvas/i18n.d.ts +0 -2
  44. package/dist-types/cruise-canvas/index.d.ts +3 -1
  45. package/dist-types/cruise-canvas/interfaces.d.ts +2 -5
  46. package/dist-types/cruise-canvas/useConversationDetail.d.ts +2 -2
  47. package/dist-types/cruise-canvas/useConversationGraph.d.ts +0 -1
  48. package/dist-types/shared/FilePreview/FilePreview.d.ts +9 -0
  49. package/dist-types/shared/FilePreview/FilePreviewDrawer.d.ts +6 -0
  50. package/dist-types/shared/FilePreview/i18n.d.ts +18 -0
  51. package/dist-types/shared/FileUpload/GlobalDragOverlay.d.ts +8 -0
  52. package/dist-types/shared/FileUpload/GlobalDragOverlay.spec.d.ts +1 -0
  53. package/dist-types/{chat-box → shared/FileUpload}/UploadButton.d.ts +2 -0
  54. package/dist-types/shared/FileUpload/UploadedFiles.d.ts +10 -0
  55. package/dist-types/shared/FileUpload/acceptFiles.d.ts +1 -0
  56. package/dist-types/shared/FileUpload/acceptFiles.spec.d.ts +1 -0
  57. package/dist-types/shared/FileUpload/i18n.d.ts +18 -0
  58. package/dist-types/{chat-box → shared/FileUpload}/interfaces.d.ts +1 -1
  59. package/dist-types/shared/PlanProgress/PlanProgress.d.ts +15 -0
  60. package/dist-types/shared/PlanProgress/i18n.d.ts +15 -0
  61. package/dist-types/shared/TaskContext.d.ts +4 -2
  62. package/dist-types/shared/bricks.d.ts +1 -0
  63. package/dist-types/shared/interfaces.d.ts +23 -5
  64. package/dist-types/shared/useFilesUploading.d.ts +12 -0
  65. package/dist-types/shared/useFilesUploading.spec.d.ts +1 -0
  66. package/dist-types/shared/useServiceFlowPlan.d.ts +2 -0
  67. package/dist-types/shared/useServiceFlowPlan.spec.d.ts +1 -0
  68. package/package.json +2 -2
  69. package/dist/chunks/1510.ba18a788.js +0 -2
  70. package/dist/chunks/1510.ba18a788.js.map +0 -1
  71. package/dist/chunks/161.6c50f07c.js +0 -3
  72. package/dist/chunks/161.6c50f07c.js.map +0 -1
  73. package/dist/chunks/1864.7e31d8fe.js +0 -2
  74. package/dist/chunks/1864.7e31d8fe.js.map +0 -1
  75. package/dist/chunks/6995.65da5073.js +0 -2
  76. package/dist/chunks/6995.65da5073.js.map +0 -1
  77. package/dist/chunks/7279.af201b60.js +0 -3
  78. package/dist/chunks/7279.af201b60.js.map +0 -1
  79. package/dist/chunks/7868.f4c744a7.js +0 -2
  80. package/dist/chunks/7868.f4c744a7.js.map +0 -1
  81. package/dist/chunks/9270.e909e789.js +0 -2
  82. package/dist/chunks/9270.e909e789.js.map +0 -1
  83. package/dist/chunks/chat-box.4d1d4fd9.js +0 -2
  84. package/dist/chunks/chat-box.4d1d4fd9.js.map +0 -1
  85. package/dist/chunks/chat-input.dd3d2035.js +0 -2
  86. package/dist/chunks/chat-input.dd3d2035.js.map +0 -1
  87. package/dist/chunks/chat-stream.9f07e680.js +0 -2
  88. package/dist/chunks/chat-stream.9f07e680.js.map +0 -1
  89. package/dist/chunks/cruise-canvas.eca7469a.js +0 -2
  90. package/dist/chunks/cruise-canvas.eca7469a.js.map +0 -1
  91. package/dist/index.b1550ef8.js +0 -2
  92. package/dist/index.b1550ef8.js.map +0 -1
  93. package/dist-types/chat-box/FileListComponent.d.ts +0 -8
  94. package/dist-types/cruise-canvas/FilePreview/FilePreview.d.ts +0 -6
  95. /package/dist/chunks/{7279.af201b60.js.LICENSE.txt → 3848.01a4987f.js.LICENSE.txt} +0 -0
  96. /package/dist/chunks/{161.6c50f07c.js.LICENSE.txt → 4002.68156a0e.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[7041],{17632:(e,t,n)=>{n.d(t,{K:()=>a,t:()=>r});var i=n(52616);let a=function(e){return e.UPLOAD_FILES="UPLOAD_FILES",e.UPLOADING="UPLOADING",e.UPLOAD_FAILED="UPLOAD_FAILED",e.DROP_FILES_HERE="DROP_FILES_HERE",e}({});const o="bricks/ai-portal/FileUpload",r=i.i18n.getFixedT(null,o);(0,i.initializeI18n)(o,{en:{UPLOAD_FILES:"Upload files",UPLOADING:"Uploading...",UPLOAD_FAILED:"Upload failed",DROP_FILES_HERE:"Drop files here"},zh:{UPLOAD_FILES:"上传文件",UPLOADING:"上传中...",UPLOAD_FAILED:"上传失败",DROP_FILES_HERE:"在此处拖放文件"}})},36190:(e,t,n)=>{n.d(t,{A:()=>l});var i=n(36758),a=n.n(i),o=n(40935),r=n.n(o)()(a());r.push([e.id,".overlay--SI1oXhAV{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,0.1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:9999}.title--FmBT01QV{font-weight:600;font-size:20px;color:rgba(0,0,0,0.88);line-height:28px;margin-top:17px}.description--Yhdhm5wT{color:rgba(0,0,0,0.45);font-size:14px;margin-top:11px}",""]),r.locals={overlay:"overlay--SI1oXhAV",title:"title--FmBT01QV",description:"description--Yhdhm5wT"};const l=r},45387:(e,t,n)=>{n.d(t,{C:()=>f});var i=n(89575),a=n(18769),o=n.n(a),r=n(53373),l=n.n(r),s=n(30981),c=n(60136),d=n(17632);const u=(0,s.wrapBrick)("eo-icon");function f(e){let{files:t,maxFiles:n,className:a,onRemove:r,onAdd:s}=e;const c=t.every((e=>e.file.type.startsWith("image/")));return o().createElement("ul",{className:l()("files",a),onClick:e=>{e.stopPropagation()}},t.map((e=>o().createElement(p,(0,i.A)({},e,{key:e.uid,showAsImage:c,onRemove:r})))),!n||t.length<n?o().createElement("li",null,o().createElement("button",{className:"btn-add-file",onClick:s},o().createElement(u,{lib:"antd",icon:"plus"}))):null)}function p(e){let{uid:t,file:n,status:i,abortController:r,showAsImage:s,onRemove:f}=e;const[p,m]=(0,c.NL)(n.type,n.name),g=(0,c.v7)(n.size),h=n.type.startsWith("image/"),[v,b]=(0,a.useState)();(0,a.useEffect)((()=>{if(h){const e=URL.createObjectURL(n);return b(e),()=>{URL.revokeObjectURL(e)}}b(void 0)}),[n,h]);const E=o().createElement("button",{className:"file-remove",onClick:()=>{f(t,r)}},o().createElement(u,{lib:"antd",theme:"filled",icon:"close-circle"}));return s?o().createElement("li",{className:l()("file as-image",{failed:"failed"===i})},o().createElement("img",{className:"file-image",src:v}),"uploading"===i&&o().createElement("div",{className:"file-overlay"},o().createElement(u,{lib:"antd",icon:"loading-3-quarters",spinning:!0})),"failed"===i&&o().createElement("div",{className:"file-overlay"},(0,d.t)(d.K.UPLOAD_FAILED)),E):o().createElement("li",{className:l()("file",{failed:"failed"===i})},h?o().createElement("img",{className:"file-image",src:v}):o().createElement("img",{className:"file-icon",src:m,width:26,height:32}),o().createElement("div",{className:"file-content"},o().createElement("div",{className:"file-name"},n.name),o().createElement("div",{className:"file-metadata"},o().createElement("span",{className:"file-status"},`${"uploading"===i?(0,d.t)(d.K.UPLOADING):"failed"===i?(0,d.t)(d.K.UPLOAD_FAILED):p}`),` · ${g}`)),E)}},45889:(e,t,n)=>{n.d(t,{O:()=>r});var i=n(18769),a=n(30348),o=n(22919);function r(e){const[t,n]=(0,i.useState)(),r=!!t&&t.length>0;(0,i.useEffect)((()=>{null==t||t.forEach((async e=>{if("ready"===e.status){const t=new AbortController;n((n=>null==n?void 0:n.map((n=>n.uid===e.uid?{...n,status:"uploading",abortController:t}:n))));try{const i=new FormData;i.append("file",e.file);const a=await o.http.request("api/gateway/logic.llm.aiops_service/api/v1/elevo/files/upload",{method:"POST",body:i,signal:t.signal});n((t=>null==t?void 0:t.map((t=>t.uid===e.uid?{...t,status:"done",fileInfo:a.data}:t))))}catch(t){n((t=>null==t?void 0:t.map((t=>t.uid===e.uid?{...t,status:"failed"}:t)))),(0,a.handleHttpError)(t)}}}))}),[t]);const[l,s]=(0,i.useState)(!0),[c,d]=(0,i.useState)(),u=(0,i.useRef)(!0);(0,i.useEffect)((()=>{const e=!t||t.every((e=>"done"===e.status));s(e),u.current?u.current=!1:e&&d(null==t?void 0:t.map((e=>e.fileInfo)))}),[t]);const f=(0,i.useCallback)((t=>{n((n=>{if(!t)return n;const i=[...null!=n?n:[],...t];return e&&i.length>e?i.slice(0,e):i}))}),[e]),p=(0,i.useCallback)((()=>{n(void 0)}),[]),m=(0,i.useCallback)((e=>{n((t=>null==t?void 0:t.filter((t=>t.uid!==e))))}),[]),g=!!e&&!!t&&t.length>=e;return{files:t,resetFiles:p,appendFiles:f,removeFile:m,hasFiles:r,allFilesDone:l,fileInfos:c,exceeded:g}}},51020:(e,t,n)=>{n.d(t,{A:()=>l});var i=n(36758),a=n.n(i),o=n(40935),r=n.n(o)()(a());r.push([e.id,".files{list-style:none;margin:0;padding:4px 0 0;position:absolute;display:flex;gap:8px;top:10px;left:16px;right:16px;overflow-x:auto}.file{background:rgba(0,0,0,0.04);border-radius:8px;display:flex;width:200px;height:60px;align-items:center;padding:0 8px;position:relative}.file-content{min-width:0;flex:1}.file-icon{margin:0 11px 0 6px}.file-image{margin-right:8px;object-fit:cover;border-radius:4px;max-width:44px;max-height:44px}.file-name,\n.file-metadata{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name{color:rgba(0,0,0,0.88)}.file-metadata{color:rgba(0,0,0,0.45);font-size:12px;margin-top:3px}.file-remove{position:absolute;top:-4px;right:-4px;font-size:12px;padding:1px;display:flex;color:rgba(0,0,0,0.88);cursor:pointer;background:#fff;border-radius:14px}.file:not(:hover) .file-remove{display:none}.btn-add-file{border-radius:8px;border:1px dashed rgba(0,0,0,0.1);color:rgba(0,0,0,0.45);font-size:16px;display:flex;width:60px;height:60px;align-items:center;justify-content:center;cursor:pointer}.btn-add-file:hover{background:rgba(0,0,0,0.04)}.file.failed .file-status{color:var(--color-error)}.file.as-image{width:60px;border:1px solid rgba(0,0,0,0.1);padding:0;background:none;justify-content:center}.file.as-image .file-image{max-width:100%;max-height:100%;margin:0;border-radius:8px}.file.as-image.failed{border-color:#f24c25}.file-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,10,26,0.45);border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:20px}.file.failed .file-overlay{background:rgba(0,10,26,0.7);color:#ff754f;font-size:12px}",""]);const l=r.toString()},57227:(e,t,n)=>{n.d(t,{Q:()=>d,s:()=>u});var i=n(18769),a=n.n(i),o=n(30981),r=n(17632);const l=(0,o.wrapBrick)("ai-portal.icon-button"),s={lib:"lucide",icon:"paperclip"};let c=0;function d(){return c++}const u=(0,i.forwardRef)(f);function f(e,t){let{accept:n,disabled:o,onChange:c}=e;const u=(0,i.useRef)(null);return(0,i.useImperativeHandle)(t,(()=>({requestUpload:()=>{var e;null===(e=u.current)||void 0===e||e.click()}}))),a().createElement(a().Fragment,null,a().createElement("input",{type:"file",accept:n,multiple:!0,hidden:!0,ref:u,onChange:e=>{const t=e.target.files;null==c||c(t?Array.from(t).map((e=>({uid:d(),file:e,status:"ready"}))):void 0),e.target.value=""},onClick:e=>{e.stopPropagation()}}),a().createElement(l,{variant:"light",className:"btn-upload",icon:s,tooltip:(0,r.t)(r.K.UPLOAD_FILES),disabled:o,onClick:e=>{var t;e.stopPropagation(),null===(t=u.current)||void 0===t||t.click()}}))}},80592:(e,t,n)=>{n.d(t,{w:()=>o});const i="\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n left: 0!important;\n pointer-events: none!important;\n",a=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"];function o(e){const t=window.getComputedStyle(e);return`${a.map((e=>`${e}:${t.getPropertyValue(e)}`)).join(";")};${i}`}},83403:(e,t,n)=>{n.d(t,{A:()=>A});var i=n(18769),a=n.n(i),o=n(59435),r=n(30348);const l=n.p+"images/96be9327.png";var s=n(17632),c=n(72591),d=n.n(c),u=n(1740),f=n.n(u),p=n(88128),m=n.n(p),g=n(30855),h=n.n(g),v=n(93051),b=n.n(v),E=n(73656),x=n.n(E),w=n(36190),y={};y.styleTagTransform=x(),y.setAttributes=h(),y.insert=m().bind(null,"head"),y.domAPI=f(),y.insertStyleElement=b(),d()(w.A,y);const L=w.A&&w.A.locals?w.A.locals:void 0;function A(e){let{disabled:t,accept:n,dragTips:c,onFilesDropped:d}=e;const[u,f]=(0,i.useState)(!1),p=(0,i.useRef)(0);return(0,i.useEffect)((()=>{if(t)return p.current=0,void f(!1);const e=e=>{var t;e.preventDefault(),e.stopPropagation();for(const t of e.composedPath())if(t instanceof HTMLElement&&("EO-DRAWER"===t.tagName||"EO-MODAL"===t.tagName))return;Array.from((null===(t=e.dataTransfer)||void 0===t?void 0:t.items)||[]).some((e=>"file"===e.kind))&&(p.current++,f(!0))},i=e=>{e.preventDefault(),e.stopPropagation(),p.current>0&&p.current--,0===p.current&&f(!1)},a=e=>{e.preventDefault(),e.stopPropagation()},o=e=>{e.preventDefault(),e.stopPropagation(),p.current=0,f(!1);const t=Array.from(e.dataTransfer.files);if(t.length>0){if(n){const e=function(e,t){const n=e.split(",").map((e=>e.trim()));return t.every((e=>{const t=e.type;return n.some((n=>{if("*/*"===n||"*"===n)return!0;if(n.startsWith("."))return e.name.toLowerCase().endsWith(n.toLowerCase());if(n.endsWith("/*")){const e=n.split("/")[0];return t.startsWith(`${e}/`)}return t===n}))}))}(n,t);if(!e)return void(0,r.handleHttpError)(c)}null==d||d(t)}};return window.addEventListener("dragenter",e),window.addEventListener("dragleave",i),window.addEventListener("dragover",a),window.addEventListener("drop",o),()=>{window.removeEventListener("dragenter",e),window.removeEventListener("dragleave",i),window.removeEventListener("dragover",a),window.removeEventListener("drop",o)}}),[n,t,c,d]),u?(0,o.createPortal)(a().createElement("div",{className:L.overlay},a().createElement("img",{src:l,width:"91",height:"79"}),a().createElement("div",{className:L.title},(0,s.t)(s.K.DROP_FILES_HERE)),a().createElement("div",{className:L.description},c)),document.body):null}},92879:(e,t,n)=>{n.d(t,{e:()=>d});var i=n(89575),a=n(18769),o=n(59435),r=n(99126),l=n(80592);let s;const c=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",d=a.forwardRef(u);function u(e,t){let{autoResize:n,minRows:d,maxRows:u,borderSize:f,paddingSize:p,containerRef:m,value:g,style:h,submitWhen:v,desiredSelectionRef:b,onChange:E,onSubmit:x,onKeyDown:w,onCompositionStart:y,onCompositionEnd:L,...A}=e;const S=null==n||n,[D,k]=(0,a.useState)(null!=g?g:""),P=(0,a.useRef)(null),[R,I]=(0,a.useState)(null);(0,a.useImperativeHandle)(t,(()=>({focus:()=>{const e=P.current;if(e){var t;const n=null===(t=e.value)||void 0===t?void 0:t.length;e.focus(),n&&e.setSelectionRange(n,n)}},element:P.current})),[]);const C=(0,a.useCallback)((()=>{const e=P.current;if(e&&S){const t=function(e,t){const{minRows:n=null,maxRows:i=null,borderSize:a=2,paddingSize:o=8}=null!=t?t:{};let r,c,d;s||(s=document.createElement("textarea"),s.setAttribute("tab-index","-1"),s.setAttribute("aria-hidden","true"),document.body.appendChild(s)),s.setAttribute("style",(0,l.w)(e)),s.value=e.value||e.placeholder||"";let u=s.scrollHeight+a;if(null!==n||null!==i){const e=parseFloat(window.getComputedStyle(s).getPropertyValue("line-height"));null!==n&&(r=e*n+o+a,u=Math.max(r,u)),null!==i&&(c=e*i+o+a,u<=c&&(d="hidden"),u=Math.min(c,u))}const f={height:u,overflowY:d,resize:"none"};return r&&(f.minHeight=r),c&&(f.maxHeight=c),f}(e,{minRows:d,maxRows:u,borderSize:f,paddingSize:p});(0,o.flushSync)((()=>{I(t)}))}}),[S,u,d,f,p]);(0,a.useEffect)((()=>{k(null!=g?g:"")}),[g]),(0,a.useEffect)((()=>{C()}),[C,D]);const F=(0,a.useRef)(!1),_=(0,a.useCallback)((e=>{F.current=!0,null==y||y(e)}),[y]),z=(0,a.useCallback)((e=>{F.current=!1,null==L||L(e)}),[L]),O=(0,a.useCallback)((e=>{F.current||!1!==(null==w?void 0:w(e))&&"Enter"===e.key&&("enter-without-shift"===v?!e.shiftKey:"enter-with-mod"===v&&e[c])&&(e.preventDefault(),e.stopPropagation(),null==x||x(e))}),[w,x,v]);return(0,a.useLayoutEffect)((()=>{const e=null==b?void 0:b.current,t=P.current;if(e&&t){const{start:n,end:i}=e;b.current=null,t.setSelectionRange(n,i)}}),[b,D]),(0,a.useEffect)((()=>{const e=null==m?void 0:m.current;if(!e||!S)return;let t;const n=new r.A((n=>{for(const i of n)if(i.target===e){const e=i.contentBoxSize?i.contentBoxSize[0]?i.contentBoxSize[0].inlineSize:i.contentBoxSize.inlineSize:i.contentRect.width;if(void 0!==e&&e!==t){const n=!t;t=e,n||requestAnimationFrame(C)}}}));return n.observe(e),()=>{n.disconnect()}}),[S,m,C]),a.createElement("textarea",(0,i.A)({},A,{ref:P,value:D,style:{...h,...R},onChange:e=>{k(e.target.value),null==E||E(e)},onCompositionStart:_,onCompositionEnd:z,onKeyDown:O}))}}}]);
2
+ //# sourceMappingURL=7041.d7408449.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/7041.d7408449.js","mappings":"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","sources":["webpack:///./src/shared/FileUpload/i18n.ts","webpack:///./src/shared/FileUpload/GlobalDragOverlay.module.css","webpack:///./src/shared/FileUpload/UploadedFiles.tsx","webpack:///./src/shared/useFilesUploading.ts","webpack:///./src/shared/FileUpload/UploadedFiles.shadow.css","webpack:///./src/shared/FileUpload/UploadButton.tsx","webpack:///../../../src/utils/getMirroredStyle.ts","webpack:///./src/shared/FileUpload/GlobalDragOverlay.module.css?40e0","webpack:///./src/shared/FileUpload/GlobalDragOverlay.tsx","webpack:///./src/shared/FileUpload/acceptFiles.ts","webpack:///../../../src/utils/calculateAutoSizeStyle.ts","webpack:///../../src/TextareaAutoResize.tsx"],"sourcesContent":["import { i18n, initializeI18n } from \"@next-core/i18n\";\n\nexport enum K {\n UPLOAD_FILES = \"UPLOAD_FILES\",\n UPLOADING = \"UPLOADING\",\n UPLOAD_FAILED = \"UPLOAD_FAILED\",\n DROP_FILES_HERE = \"DROP_FILES_HERE\",\n}\n\nconst en: Locale = {\n UPLOAD_FILES: \"Upload files\",\n UPLOADING: \"Uploading...\",\n UPLOAD_FAILED: \"Upload failed\",\n DROP_FILES_HERE: \"Drop files here\",\n};\n\nconst zh: Locale = {\n UPLOAD_FILES: \"上传文件\",\n UPLOADING: \"上传中...\",\n UPLOAD_FAILED: \"上传失败\",\n DROP_FILES_HERE: \"在此处拖放文件\",\n};\n\nexport const NS = \"bricks/ai-portal/FileUpload\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n\ninitializeI18n(NS, locales);\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.overlay--SI1oXhAV{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,0.1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:9999}.title--FmBT01QV{font-weight:600;font-size:20px;color:rgba(0,0,0,0.88);line-height:28px;margin-top:17px}.description--Yhdhm5wT{color:rgba(0,0,0,0.45);font-size:14px;margin-top:11px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"overlay\": `overlay--SI1oXhAV`,\n\t\"title\": `title--FmBT01QV`,\n\t\"description\": `description--Yhdhm5wT`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { FileItem } from \"./interfaces\";\nimport {\n formatFileSize,\n getFileTypeAndIcon,\n} from \"../../cruise-canvas/utils/file\";\nimport { K, t } from \"./i18n\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface UploadedFilesProps {\n files: FileItem[];\n maxFiles?: number;\n className?: string;\n onRemove: (uid: number, abortController: AbortController | undefined) => void;\n onAdd: () => void;\n}\n\nexport function UploadedFiles({\n files,\n maxFiles,\n className,\n onRemove,\n onAdd,\n}: UploadedFilesProps) {\n const showAsImage = files.every((file) =>\n file.file.type.startsWith(\"image/\")\n );\n\n return (\n <ul\n className={classNames(\"files\", className)}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {files.map((file) => (\n <FileComponent\n {...file}\n key={file.uid}\n showAsImage={showAsImage}\n onRemove={onRemove}\n />\n ))}\n {!maxFiles || files.length < maxFiles ? (\n <li>\n <button className=\"btn-add-file\" onClick={onAdd}>\n <WrappedIcon lib=\"antd\" icon=\"plus\" />\n </button>\n </li>\n ) : null}\n </ul>\n );\n}\n\ninterface FileComponentProps extends FileItem {\n showAsImage?: boolean;\n onRemove: (uid: number, abortController: AbortController | undefined) => void;\n}\n\nfunction FileComponent({\n uid,\n file,\n status,\n abortController,\n showAsImage,\n onRemove,\n}: FileComponentProps) {\n const [type, icon] = getFileTypeAndIcon(file.type, file.name);\n const size = formatFileSize(file.size);\n const isImage = file.type.startsWith(\"image/\");\n const [image, setImage] = useState<string | undefined>();\n\n useEffect(() => {\n if (isImage) {\n const url = URL.createObjectURL(file);\n setImage(url);\n return () => {\n URL.revokeObjectURL(url);\n };\n } else {\n setImage(undefined);\n }\n }, [file, isImage]);\n\n const buttonRemove = (\n <button\n className=\"file-remove\"\n onClick={() => {\n onRemove(uid, abortController);\n }}\n >\n <WrappedIcon lib=\"antd\" theme=\"filled\" icon=\"close-circle\" />\n </button>\n );\n\n if (showAsImage) {\n return (\n <li\n className={classNames(\"file as-image\", { failed: status === \"failed\" })}\n >\n <img className=\"file-image\" src={image} />\n {status === \"uploading\" && (\n <div className=\"file-overlay\">\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n )}\n {status === \"failed\" && (\n <div className=\"file-overlay\">{t(K.UPLOAD_FAILED)}</div>\n )}\n {buttonRemove}\n </li>\n );\n }\n\n return (\n <li className={classNames(\"file\", { failed: status === \"failed\" })}>\n {isImage ? (\n <img className=\"file-image\" src={image} />\n ) : (\n <img className=\"file-icon\" src={icon} width={26} height={32} />\n )}\n <div className=\"file-content\">\n <div className=\"file-name\">{file.name}</div>\n <div className=\"file-metadata\">\n <span className=\"file-status\">\n {`${status === \"uploading\" ? t(K.UPLOADING) : status === \"failed\" ? t(K.UPLOAD_FAILED) : type}`}\n </span>\n {` · ${size}`}\n </div>\n </div>\n {buttonRemove}\n </li>\n );\n}\n","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { http } from \"@next-core/http\";\nimport type { FileItem } from \"./FileUpload/interfaces\";\nimport type { UploadFileInfo } from \"./interfaces\";\n\nexport function useFilesUploading(maxFiles?: number) {\n const [files, setFiles] = useState<FileItem[] | undefined>();\n const hasFiles = !!files && files.length > 0;\n\n useEffect(() => {\n files?.forEach(async (fileItem) => {\n if (fileItem.status === \"ready\") {\n const abortController = new AbortController();\n\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return { ...item, status: \"uploading\", abortController };\n }\n return item;\n });\n });\n\n try {\n const formData = new FormData();\n formData.append(\"file\", fileItem.file);\n\n const response = await http.request<{ data: UploadFileInfo }>(\n \"api/gateway/logic.llm.aiops_service/api/v1/elevo/files/upload\",\n {\n method: \"POST\",\n body: formData,\n signal: abortController.signal,\n }\n );\n\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return {\n ...item,\n status: \"done\",\n fileInfo: response.data,\n };\n }\n return item;\n });\n });\n } catch (error) {\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return { ...item, status: \"failed\" };\n }\n return item;\n });\n });\n handleHttpError(error);\n }\n }\n });\n }, [files]);\n\n const [allFilesDone, setAllFilesDone] = useState(true);\n const [fileInfos, setFileInfos] = useState<UploadFileInfo[] | undefined>();\n const initialRef = useRef(true);\n\n useEffect(() => {\n const allFilesDone =\n !files || files.every((file) => file.status === \"done\");\n setAllFilesDone(allFilesDone);\n if (initialRef.current) {\n initialRef.current = false;\n return;\n }\n if (allFilesDone) {\n setFileInfos(files?.map((file) => file.fileInfo!));\n }\n }, [files]);\n\n const appendFiles = useCallback(\n (newFiles: FileItem[] | undefined) => {\n setFiles((prev) => {\n if (!newFiles) {\n return prev;\n }\n const list = [...(prev ?? []), ...newFiles];\n if (maxFiles && list.length > maxFiles) {\n return list.slice(0, maxFiles);\n }\n return list;\n });\n },\n [maxFiles]\n );\n\n const resetFiles = useCallback(() => {\n setFiles(undefined);\n }, []);\n\n const removeFile = useCallback((uid: number) => {\n setFiles((prev) => prev?.filter((file) => file.uid !== uid));\n }, []);\n\n const exceeded = !!maxFiles && !!files && files.length >= maxFiles;\n\n return {\n files,\n resetFiles,\n appendFiles,\n removeFile,\n hasFiles,\n allFilesDone,\n fileInfos,\n exceeded,\n };\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files{list-style:none;margin:0;padding:4px 0 0;position:absolute;display:flex;gap:8px;top:10px;left:16px;right:16px;overflow-x:auto}.file{background:rgba(0,0,0,0.04);border-radius:8px;display:flex;width:200px;height:60px;align-items:center;padding:0 8px;position:relative}.file-content{min-width:0;flex:1}.file-icon{margin:0 11px 0 6px}.file-image{margin-right:8px;object-fit:cover;border-radius:4px;max-width:44px;max-height:44px}.file-name,\n.file-metadata{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name{color:rgba(0,0,0,0.88)}.file-metadata{color:rgba(0,0,0,0.45);font-size:12px;margin-top:3px}.file-remove{position:absolute;top:-4px;right:-4px;font-size:12px;padding:1px;display:flex;color:rgba(0,0,0,0.88);cursor:pointer;background:#fff;border-radius:14px}.file:not(:hover) .file-remove{display:none}.btn-add-file{border-radius:8px;border:1px dashed rgba(0,0,0,0.1);color:rgba(0,0,0,0.45);font-size:16px;display:flex;width:60px;height:60px;align-items:center;justify-content:center;cursor:pointer}.btn-add-file:hover{background:rgba(0,0,0,0.04)}.file.failed .file-status{color:var(--color-error)}.file.as-image{width:60px;border:1px solid rgba(0,0,0,0.1);padding:0;background:none;justify-content:center}.file.as-image .file-image{max-width:100%;max-height:100%;margin:0;border-radius:8px}.file.as-image.failed{border-color:#f24c25}.file-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,10,26,0.45);border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:20px}.file.failed .file-overlay{background:rgba(0,10,26,0.7);color:#ff754f;font-size:12px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, { forwardRef, useImperativeHandle, useRef } from \"react\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { IconButton, IconButtonProps } from \"../../icon-button\";\nimport type { FileItem } from \"./interfaces\";\nimport { K, t } from \"./i18n\";\n\nconst WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n\nconst ICON_UPLOAD: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"paperclip\",\n};\n\nlet uid = 0;\n\nexport function getNextUid() {\n return uid++;\n}\n\nexport interface UploadButtonProps {\n accept?: string;\n disabled?: boolean;\n onChange?: (files: FileItem[] | undefined) => void;\n}\n\nexport interface UploadButtonRef {\n requestUpload: () => void;\n}\n\nexport const UploadButton = forwardRef(LegacyUploadButton);\n\nfunction LegacyUploadButton(\n { accept, disabled, onChange }: UploadButtonProps,\n ref: React.Ref<UploadButtonRef>\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files;\n onChange?.(\n files\n ? Array.from(files).map((file) => ({\n uid: getNextUid(),\n file,\n status: \"ready\",\n }))\n : undefined\n );\n e.target.value = \"\";\n };\n\n useImperativeHandle(ref, () => ({\n requestUpload: () => {\n inputRef.current?.click();\n },\n }));\n\n return (\n <>\n <input\n type=\"file\"\n accept={accept}\n multiple\n hidden\n ref={inputRef}\n onChange={handleInputChange}\n onClick={(e) => {\n e.stopPropagation();\n }}\n />\n <WrappedIconButton\n variant=\"light\"\n className=\"btn-upload\"\n icon={ICON_UPLOAD}\n tooltip={t(K.UPLOAD_FILES)}\n disabled={disabled}\n onClick={(e) => {\n e.stopPropagation();\n inputRef.current?.click();\n }}\n />\n </>\n );\n}\n","const HIDDEN_STYLE = `\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n left: 0!important;\n pointer-events: none!important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\n\n/**\n * 创建一个镜像元素,用于计算光标位置或文本尺寸。\n */\nexport function getMirroredStyle(element: HTMLElement) {\n const uiTextNodeStyle = window.getComputedStyle(element);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n return `${sizingStyle};${HIDDEN_STYLE}`;\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./GlobalDragOverlay.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./GlobalDragOverlay.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport dragImage from \"./drag-file@2x.png\";\nimport { K, t } from \"./i18n\";\nimport styles from \"./GlobalDragOverlay.module.css\";\nimport { acceptFiles } from \"./acceptFiles\";\n\nexport interface GlobalDragOverlayProps {\n disabled?: boolean;\n accept?: string;\n dragTips?: string;\n onFilesDropped?: (files: File[]) => void;\n}\n\nexport default function GlobalDragOverlay({\n disabled,\n accept,\n dragTips,\n onFilesDropped,\n}: GlobalDragOverlayProps) {\n const [isDragging, setIsDragging] = useState(false);\n const dragCounterRef = useRef(0);\n\n useEffect(() => {\n if (disabled) {\n dragCounterRef.current = 0;\n setIsDragging(false);\n return;\n }\n\n const handleDragEnter = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n for (const target of e.composedPath()) {\n if (\n target instanceof HTMLElement &&\n (target.tagName === \"EO-DRAWER\" || target.tagName === \"EO-MODAL\")\n ) {\n return;\n }\n }\n\n // 只在拖入文件时触发(排除文字、链接等)\n const hasFiles = Array.from(e.dataTransfer?.items || []).some(\n (item) => item.kind === \"file\"\n );\n if (!hasFiles) return;\n\n dragCounterRef.current++;\n setIsDragging(true);\n };\n\n const handleDragLeave = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (dragCounterRef.current > 0) {\n dragCounterRef.current--;\n }\n if (dragCounterRef.current === 0) setIsDragging(false);\n };\n\n const handleDragOver = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const handleDrop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n dragCounterRef.current = 0;\n setIsDragging(false);\n\n const files = Array.from(e.dataTransfer!.files);\n if (files.length > 0) {\n if (accept) {\n const allFilesAccepted = acceptFiles(accept, files);\n if (!allFilesAccepted) {\n handleHttpError(dragTips);\n return;\n }\n }\n onFilesDropped?.(files);\n }\n };\n\n window.addEventListener(\"dragenter\", handleDragEnter);\n window.addEventListener(\"dragleave\", handleDragLeave);\n window.addEventListener(\"dragover\", handleDragOver);\n window.addEventListener(\"drop\", handleDrop);\n\n return () => {\n window.removeEventListener(\"dragenter\", handleDragEnter);\n window.removeEventListener(\"dragleave\", handleDragLeave);\n window.removeEventListener(\"dragover\", handleDragOver);\n window.removeEventListener(\"drop\", handleDrop);\n };\n }, [accept, disabled, dragTips, onFilesDropped]);\n\n if (!isDragging) {\n return null;\n }\n\n return createPortal(\n <div className={styles.overlay}>\n <img src={dragImage} width=\"91\" height=\"79\" />\n <div className={styles.title}>{t(K.DROP_FILES_HERE)}</div>\n <div className={styles.description}>{dragTips}</div>\n </div>,\n document.body\n );\n}\n","export function acceptFiles(accept: string, files: File[]) {\n const acceptedTypes = accept.split(\",\").map((type) => type.trim());\n const allFilesAccepted = files.every((file) => {\n const mimeType = file.type;\n return acceptedTypes.some((type) => {\n if (type === \"*/*\" || type === \"*\") {\n return true;\n }\n if (type.startsWith(\".\")) {\n return file.name.toLowerCase().endsWith(type.toLowerCase());\n }\n if (type.endsWith(\"/*\")) {\n const baseType = type.split(\"/\")[0];\n return mimeType.startsWith(`${baseType}/`);\n }\n return mimeType === type;\n });\n });\n return allFilesAccepted;\n}\n","// istanbul ignore file\nimport type React from \"react\";\nimport { getMirroredStyle } from \"./getMirroredStyle.js\";\n\nlet hiddenTextarea: HTMLTextAreaElement | undefined;\n\nexport interface AutoSizeOptions {\n minRows?: number | null;\n maxRows?: number | null;\n borderSize?: number;\n paddingSize?: number;\n}\n\n/**\n * 计算 textarea 高度\n * https://github.com/react-component/textarea/blob/1c0026fbe30e5f7dff1fca695b2cf262246381ca/src/calculateNodeHeight.tsx\n */\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n options?: AutoSizeOptions\n): React.CSSProperties {\n const {\n minRows = null,\n maxRows = null,\n borderSize = 2,\n paddingSize = 8,\n } = options ?? {};\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n // equal style\n hiddenTextarea.setAttribute(\"style\", getMirroredStyle(uiTextNode));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined;\n let maxHeight: number | undefined;\n let overflowY: React.CSSProperties[\"overflowY\"];\n\n let height = hiddenTextarea.scrollHeight + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n const singleRowHeight =\n process.env.NODE_ENV === \"test\"\n ? 22\n : parseFloat(\n window\n .getComputedStyle(hiddenTextarea)\n .getPropertyValue(\"line-height\")\n );\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows + paddingSize + borderSize;\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows + paddingSize + borderSize;\n if (height <= maxHeight) {\n overflowY = \"hidden\";\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY,\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { flushSync } from \"react-dom\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport calculateAutoSizeStyle from \"./utils/calculateAutoSizeStyle.js\";\n\n// istanbul ignore next\nconst modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n\nexport interface TextareaAutoResizeProps\n extends React.DetailedHTMLProps<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n > {\n /** @default true */\n autoResize?: boolean;\n minRows?: number | null;\n maxRows?: number | null;\n /** @default 2 */\n borderSize?: number;\n /** @default 8 */\n paddingSize?: number;\n containerRef?: React.RefObject<HTMLElement>;\n submitWhen?: \"enter-without-shift\" | \"enter-with-mod\";\n desiredSelectionRef?: React.MutableRefObject<{\n start: number;\n end: number;\n } | null>;\n onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;\n /**\n * The handler can return false to prevent default behavior (submit)\n */\n onKeyDown?: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void | false;\n}\n\nexport interface TextareaAutoResizeRef {\n focus(): void;\n element: HTMLTextAreaElement | null;\n}\n\nexport const TextareaAutoResize = React.forwardRef<\n TextareaAutoResizeRef,\n TextareaAutoResizeProps\n>(LegacyTextareaAutoResize);\n\nfunction LegacyTextareaAutoResize(\n {\n autoResize: _autoResize,\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n containerRef,\n value: propValue,\n style,\n submitWhen,\n desiredSelectionRef,\n onChange,\n onSubmit,\n onKeyDown,\n onCompositionStart,\n onCompositionEnd,\n ...props\n }: TextareaAutoResizeProps,\n ref: React.ForwardedRef<TextareaAutoResizeRef>\n): React.JSX.Element {\n const autoResize = _autoResize ?? true;\n const [value, setValue] = useState(propValue ?? \"\");\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const [autoStyle, setAutoStyle] = useState<React.CSSProperties | null>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus: () => {\n const textarea = textareaRef.current;\n // istanbul ignore else: defensive check\n if (textarea) {\n const valueLength = textarea.value?.length;\n textarea.focus();\n valueLength && textarea.setSelectionRange(valueLength, valueLength);\n }\n },\n element: textareaRef.current,\n }),\n []\n );\n\n const doAutoResize = useCallback(() => {\n const textarea = textareaRef.current;\n if (textarea && autoResize) {\n const style = calculateAutoSizeStyle(textarea, {\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n });\n // istanbul ignore next\n if (process.env.NODE_ENV === \"test\") {\n setAutoStyle(style);\n } else {\n flushSync(() => {\n setAutoStyle(style);\n });\n }\n }\n }, [autoResize, maxRows, minRows, borderSize, paddingSize]);\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLTextAreaElement>\n ): void => {\n setValue(e.target.value);\n onChange?.(e);\n };\n\n useEffect(() => {\n setValue(propValue ?? \"\");\n }, [propValue]);\n\n useEffect(() => {\n doAutoResize();\n }, [doAutoResize, value]);\n\n const compositionRef = useRef(false);\n\n const handleCompositionStart = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = true;\n onCompositionStart?.(e);\n },\n [onCompositionStart]\n );\n\n const handleCompositionEnd = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = false;\n onCompositionEnd?.(e);\n },\n [onCompositionEnd]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (compositionRef.current) {\n // Ignore key events during composition\n return;\n }\n\n if (onKeyDown?.(e) === false) {\n return;\n }\n\n if (\n e.key === \"Enter\" &&\n (submitWhen === \"enter-without-shift\"\n ? !e.shiftKey\n : submitWhen === \"enter-with-mod\" && e[modKey])\n ) {\n e.preventDefault();\n e.stopPropagation();\n onSubmit?.(e);\n }\n },\n [onKeyDown, onSubmit, submitWhen]\n );\n\n useLayoutEffect(() => {\n const desiredSelection = desiredSelectionRef?.current;\n const textarea = textareaRef.current;\n if (desiredSelection && textarea) {\n const { start, end } = desiredSelection;\n desiredSelectionRef.current = null;\n textarea.setSelectionRange(start, end);\n }\n }, [desiredSelectionRef, value]);\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container || !autoResize) {\n return;\n }\n let previousInlineSize: number | undefined;\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n // istanbul ignore next: compatibility\n const currentInlineSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n if (\n currentInlineSize !== undefined &&\n currentInlineSize !== previousInlineSize\n ) {\n const isInitial = !previousInlineSize;\n previousInlineSize = currentInlineSize;\n if (!isInitial) {\n requestAnimationFrame(doAutoResize);\n }\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, [autoResize, containerRef, doAutoResize]);\n\n return (\n <textarea\n {...props}\n ref={textareaRef}\n value={value}\n style={{\n ...style,\n ...autoStyle,\n }}\n onChange={handleInputChange}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n onKeyDown={handleKeyDown}\n />\n );\n}\n"],"names":["K","NS","t","i18n","getFixedT","initializeI18n","en","UPLOAD_FILES","UPLOADING","UPLOAD_FAILED","DROP_FILES_HERE","zh","___CSS_LOADER_EXPORT___","push","module","id","locals","WrappedIcon","wrapBrick","UploadedFiles","_ref","files","maxFiles","className","onRemove","onAdd","showAsImage","every","file","type","startsWith","React","classNames","onClick","e","stopPropagation","map","FileComponent","_extends","key","uid","length","lib","icon","_ref2","status","abortController","getFileTypeAndIcon","name","size","formatFileSize","isImage","image","setImage","useState","useEffect","url","URL","createObjectURL","revokeObjectURL","undefined","buttonRemove","theme","failed","src","spinning","width","height","useFilesUploading","setFiles","hasFiles","forEach","async","fileItem","AbortController","prevFiles","item","formData","FormData","append","response","http","request","method","body","signal","fileInfo","data","error","handleHttpError","allFilesDone","setAllFilesDone","fileInfos","setFileInfos","initialRef","useRef","current","appendFiles","useCallback","newFiles","prev","list","slice","resetFiles","removeFile","filter","exceeded","toString","WrappedIconButton","ICON_UPLOAD","getNextUid","UploadButton","forwardRef","LegacyUploadButton","ref","accept","disabled","onChange","inputRef","useImperativeHandle","requestUpload","_inputRef$current","click","multiple","hidden","target","Array","from","value","variant","tooltip","_inputRef$current2","HIDDEN_STYLE","SIZING_STYLE","getMirroredStyle","element","uiTextNodeStyle","window","getComputedStyle","getPropertyValue","join","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","GlobalDragOverlay","dragTips","onFilesDropped","isDragging","setIsDragging","dragCounterRef","handleDragEnter","_e$dataTransfer","preventDefault","composedPath","HTMLElement","tagName","dataTransfer","items","some","kind","handleDragLeave","handleDragOver","handleDrop","allFilesAccepted","acceptedTypes","split","trim","mimeType","toLowerCase","endsWith","baseType","acceptFiles","addEventListener","removeEventListener","createPortal","styles","overlay","dragImage","title","description","document","hiddenTextarea","modKey","test","navigator","platform","TextareaAutoResize","LegacyTextareaAutoResize","autoResize","_autoResize","minRows","maxRows","borderSize","paddingSize","containerRef","propValue","style","submitWhen","desiredSelectionRef","onSubmit","onKeyDown","onCompositionStart","onCompositionEnd","props","setValue","textareaRef","autoStyle","setAutoStyle","focus","textarea","_textarea$value","valueLength","setSelectionRange","doAutoResize","uiTextNode","minHeight","maxHeight","overflowY","createElement","setAttribute","appendChild","placeholder","scrollHeight","singleRowHeight","parseFloat","Math","max","min","resize","calculateAutoSizeStyle","flushSync","compositionRef","handleCompositionStart","handleCompositionEnd","handleKeyDown","shiftKey","useLayoutEffect","desiredSelection","start","end","container","previousInlineSize","observer","ResizeObserver","entries","entry","currentInlineSize","contentBoxSize","inlineSize","contentRect","isInitial","requestAnimationFrame","observe","disconnect"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[9496],{3921:(e,t,n)=>{e.exports=n.p+"images/f85dd9e6.png"},7017:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a)()(r());s.push([e.id,".container--nviLvTo4{position:absolute;right:0;top:72px;bottom:72px;padding:48px 0;overflow-y:auto;scrollbar-width:none;pointer-events:none}.nav--lm9zwHhG{list-style:none;margin:0;padding:20px 0;background:rgba(255,255,255,0);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto}.container--nviLvTo4,\n.nav--lm9zwHhG{border-radius:8px 0px 0px 8px}.link--sJDeRfjL{display:flex;align-items:center;width:170px;height:36px;border-radius:18px 0 0 18px;padding:0 24px 0 16px;font-size:13px}.link--sJDeRfjL,\n.link--sJDeRfjL:hover{color:rgba(93,105,126,0.7)}.link--sJDeRfjL.disabled--UpGab11N{cursor:default}.item--B4GvcxMx:not(:first-child){margin-top:12px}.icon--YLvYVRdC{margin-right:12px;font-size:14px;color:#abaab7}.text--PwKz_ODc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link--sJDeRfjL:not(.disabled--UpGab11N):hover,\n.item--B4GvcxMx.active--DwuLIQY_ .link--sJDeRfjL{background-color:rgba(255,255,255,0.2)}.item--B4GvcxMx.active--DwuLIQY_ .link--sJDeRfjL{font-size:14px;color:#424a58;padding-right:16px}.completed--ZPZ8DEeN .icon--YLvYVRdC{color:#0fbe59}.failed--dxvB8UKT .icon--YLvYVRdC{color:#f24c25}.working--IbqFvpPm .icon--YLvYVRdC{color:var(--elevo-color-brand)}.input-required--zcO5ZufK .icon--YLvYVRdC{color:#12aacc}.canceled--GqvLm_YF .icon--YLvYVRdC{color:#fcaa07}@media (max-height: 639px){.container--nviLvTo4{padding:0}}@media (max-width: 719px){.container--nviLvTo4{display:none}}",""]),s.locals={container:"container--nviLvTo4",nav:"nav--lm9zwHhG",link:"link--sJDeRfjL",disabled:"disabled--UpGab11N",item:"item--B4GvcxMx",icon:"icon--YLvYVRdC",text:"text--PwKz_ODc",active:"active--DwuLIQY_",completed:"completed--ZPZ8DEeN",failed:"failed--dxvB8UKT",working:"working--IbqFvpPm","input-required":"input-required--zcO5ZufK",canceled:"canceled--GqvLm_YF"};const i=s},24105:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a)()(r());s.push([e.id,".loading--LlSQxd6c{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:rgba(69,94,255,0.5);border-radius:24px;animation:loading--LlSQxd6c 1s infinite linear}.inner--I4b7rAPw{width:12px;height:12px;background:rgb(69,94,255);border-radius:12px}@keyframes loading--LlSQxd6c{0%{transform:scale(1);opacity:1}100%{transform:scale(1.5);opacity:0}}",""]),s.locals={loading:"loading--LlSQxd6c",inner:"inner--I4b7rAPw"};const i=s},24863:(e,t,n)=>{n.d(t,{B:()=>Ht});var o=n(18769),r=n.n(o),a=n(30348),s=(n(34419),n(53373)),i=n.n(s),l=n(99126),c=n(67566),d=n(8324);function u(e){let t=1/0,n=1/0,o=-1/0,r=-1/0;for(const a of e){const e=a.x+a.width,s=a.y+a.height;a.x<t&&(t=a.x),e>o&&(o=e),a.y<n&&(n=a.y),s>r&&(r=s)}return{x:t,y:n,width:o-t,height:r-n}}var p=n(72591),m=n.n(p),f=n(1740),b=n.n(f),v=n(88128),g=n.n(v),h=n(30855),x=n.n(h),y=n(93051),w=n.n(y),k=n(73656),E=n.n(k),A=n(27110),P={};P.styleTagTransform=E(),P.setAttributes=x(),P.insert=g().bind(null,"head"),P.domAPI=b(),P.insertStyleElement=w(),m()(A.A,P);const T=A.A&&A.A.locals?A.A.locals:void 0;var S,N,C;const I=.5,j=2,R="<START>",L="<END>",M="<FEEDBACK>",z="<LOADING>",B="<REPLAY>",_=20,F=20,D=122,V=160,H=40,O=42,Y=10,W=/mac/i.test(null!==(S=null!==(N=null===(C=navigator.userAgentData)||void 0===C?void 0:C.platform)&&void 0!==N?N:navigator.platform)&&void 0!==S?S:navigator.userAgent);var U=n(57617),G={};G.styleTagTransform=E(),G.setAttributes=x(),G.insert=g().bind(null,"head"),G.domAPI=b(),G.insertStyleElement=w(),m()(U.A,G);const K=U.A&&U.A.locals?U.A.locals:void 0;function q(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey&&W?10:1)}var J=n(57586),$=n.n(J);function Z(e,t){return t?{x:e.x+t.x,y:e.y+t.y}:{x:e.x,y:e.y}}var Q=n(67101),X=n(50045),ee=n(83865),te={};te.styleTagTransform=E(),te.setAttributes=x(),te.insert=g().bind(null,"head"),te.domAPI=b(),te.insertStyleElement=w(),m()(ee.A,te);const ne=ee.A&&ee.A.locals?ee.A.locals:void 0;var oe=n(86767),re=n(30672),ae=n(2901),se=n(40177);const ie={lib:"easyops",icon:"back-to-center"},le={lib:"antd",icon:"minus-circle"},ce={lib:"antd",icon:"plus-circle"};function de(e){let{scale:t,showUiSwitch:n,onScaleChange:a,onReCenter:s,onSwitchToChat:i}=e;const l=(0,o.useCallback)((()=>{null==a||a(t+.1)}),[a,t]),c=(0,o.useCallback)((()=>{null==a||a(t-.1)}),[a,t]);return r().createElement("div",{className:`${oe.A.toolbar} ${ne["zoom-bar"]}`},n&&r().createElement(r().Fragment,null,r().createElement(re.Py,{variant:"mini",icon:se.$g,onClick:i}),r().createElement("div",{className:oe.A.divider})),r().createElement(re.Py,{variant:"mini",icon:ie,onClick:s,title:(0,ae.t)(ae.K.BACK_TO_CENTER)}),r().createElement("div",{className:oe.A.divider}),r().createElement(re.Py,{variant:"mini",icon:le,onClick:c,title:(0,ae.t)(ae.K.ZOOM_OUT)}),r().createElement(re.Py,{variant:"mini",icon:ce,onClick:l,title:(0,ae.t)(ae.K.ZOOM_IN)}))}var ue=n(58905),pe={};pe.styleTagTransform=E(),pe.setAttributes=x(),pe.insert=g().bind(null,"head"),pe.domAPI=b(),pe.insertStyleElement=w(),m()(ue.A,pe);const me=ue.A&&ue.A.locals?ue.A.locals:void 0;function fe(){return r().createElement("div",{className:me["node-start"]},r().createElement("div",{className:me.icon}))}var be=n(30981),ve=n(21302),ge=n.n(ve),he=n(36137),xe={};xe.styleTagTransform=E(),xe.setAttributes=x(),xe.insert=g().bind(null,"head"),xe.domAPI=b(),xe.insertStyleElement=w(),m()(he.A,xe);const ye=he.A&&he.A.locals?he.A.locals:void 0;var we=n(77388),ke=n(45403),Ee=n(76720);const Ae=(0,be.wrapBrick)("eo-easyops-avatar");function Pe(e){let{username:t,content:n,startTime:a,active:s,cmd:l,files:c}=e;const{setActiveFile:d}=(0,o.useContext)(Ee.j);return r().createElement("div",{className:i()(ye["node-requirement"],{[ye.active]:s})},r().createElement("div",{className:ye.heading},r().createElement(Ae,{className:ye.avatar,nameOrInstanceId:t,showName:!0,size:"xs"}),r().createElement("div",{className:ye.time},a&&ge()(1e3*a).format("MM-DD HH:mm"))),r().createElement("div",{className:ye.body},l&&r().createElement(we._,{cmd:l,size:"small"}),n,null!=c&&c.length?r().createElement(ke.$,{files:c,onFileClick:d}):null))}var Te=n(65005),Se={};Se.styleTagTransform=E(),Se.setAttributes=x(),Se.insert=g().bind(null,"head"),Se.domAPI=b(),Se.insertStyleElement=w(),m()(Te.A,Se);const Ne=Te.A&&Te.A.locals?Te.A.locals:void 0;var Ce=n(36903);function Ie(e){let{content:t,loading:n}=e;return r().createElement("div",{className:Ne["node-instruction"]},r().createElement("div",{className:i()(Ne.text,{[Ce.A["shine-text"]]:n}),title:t},t))}var je=n(89575),Re=n(39649),Le=n(69606),Me=n(42854),ze=n(35430),Be=n(11879);const _e=n.p+"images/8834094d.png";var Fe=n(25313),De={};De.styleTagTransform=E(),De.setAttributes=x(),De.insert=g().bind(null,"head"),De.domAPI=b(),De.insertStyleElement=w(),m()(Fe.A,De);const Ve=Fe.A&&Fe.A.locals?Fe.A.locals:void 0,He=(0,be.wrapBrick)("eo-avatar"),Oe=new Map;function Ye(e){let{aiEmployeeId:t}=e;return r().createElement(o.Suspense,{fallback:r().createElement(He,{className:Ve.avatar,showName:!0,size:"xs",name:t,src:_e})},r().createElement(We,{aiEmployeeId:t}))}function We(e){let{aiEmployeeId:t}=e;const n=(0,o.useMemo)((()=>{const e=Oe.get(t);if(e)return e;const n=async function(e){var t;const n=null===(t=(await(0,Be.v)({employeeId:e})).list)||void 0===t?void 0:t[0];return(null==n?void 0:n.employeeId)===e?n:void 0}(t);return Oe.set(t,n),n}),[t]),a=(0,o.use)(n),s=(0,o.useMemo)((()=>{if(!a)return{name:t,src:_e};const{name:e,avatar:n}=a;return{name:e,src:n?new URL(n,location.origin).toString():_e}}),[a,t]);return r().createElement(He,(0,je.A)({className:Ve.avatar,showName:!0,size:"xs"},s))}var Ue=n(86976),Ge=n(31078),Ke=n(89064);const qe=/^\s*\|(?:\s*:?-+:?\s*\|){4,}\s*$/m;function Je(e){var t,n;let{job:a,active:s,isLeaf:l}=e;const c=null===(t=a.toolCall)||void 0===t?void 0:t.name,[d,u,p,m]=(0,o.useMemo)((()=>{var e;const t=[],n=[],o=[];let r="llm_answer"===c;null===(e=a.messages)||void 0===e||e.forEach((e=>{if("tool"===e.role)for(const i of e.parts){var a;if("data"===i.type)switch(null===(a=i.data)||void 0===a?void 0:a.type){case"markdown":t.push(i.data.content);break;case"cmdb_instance_detail":var s;n.push(i.data),r||(r=Object.keys("object"===(null===(s=i.data)||void 0===s||null===(s=s.outputSchema)||void 0===s?void 0:s.type)?i.data.outputSchema.properties:i.data.detail).length>6)}else"file"===i.type&&o.push(i.file)}}));const s=t.join("");return r=r||qe.test(s),[s,n,o,r]}),[a.messages,c]),[f,b]=(0,o.useState)("medium"),v=(0,o.useCallback)((e=>{b(e)}),[]),{setActiveFile:g}=(0,o.useContext)(Ee.j);return r().createElement("div",{className:i()(K["node-job"],{[K.error]:a.isError,[K.active]:s,[K.large]:m||"large"===f})},r().createElement("div",{className:K.background}),a.aiEmployeeId?r().createElement("div",{className:K.heading},r().createElement(Ye,{aiEmployeeId:a.aiEmployeeId}),a.generatedView?r().createElement(Ke.v,{job:a}):null):null,r().createElement("div",{className:K.body},a.toolCall&&r().createElement(Re.t,{job:a}),null===(n=a.messages)||void 0===n?void 0:n.map(((e,t)=>{var n;return"tool"===e.role?null:r().createElement("div",{key:t,className:i()(K.message,Ce.A.markdown,{[K["role-user"]]:"tool"===e.role||"user"===e.role})},null===(n=e.parts)||void 0===n?void 0:n.map(((e,t)=>r().createElement(r().Fragment,{key:t},"text"===e.type&&r().createElement(Le.w,{className:Ce.A["markdown-wrapper"],content:e.text})))))})),d&&r().createElement("div",{className:i()(K.message,Ce.A.markdown),style:{padding:"0 8px"}},r().createElement(Le.w,{className:Ce.A["markdown-wrapper"],content:d})),u.map(((e,t)=>r().createElement(Me.H,(0,je.A)({key:t},e)))),p.length>0&&r().createElement(ke.$,{files:p,large:m,onFileClick:g}),l&&!a.humanAction&&a.requestHumanAction&&("working"===a.state||"input-required"===a.state)&&r().createElement(ze.n,{action:a.requestHumanAction})),a.generatedView?r().createElement($e,{job:a,onSizeChange:v}):null)}function $e(e){let{job:t,onSizeChange:n}=e;const a=(0,o.useRef)(null),{setHoverOnScrollableContent:s}=(0,o.useContext)(Ge.Q),i=(0,o.useCallback)((e=>{let t,n=!1;for(const o of e.nativeEvent.composedPath()){if(o===a.current)break;if(o instanceof HTMLElement)if("PRE"===o.tagName){if(o.scrollWidth>o.clientWidth){n=!0;break}}else if(o.classList.contains("ant-table-content"))t=o;else if(o.classList.contains("ant-table")&&o.classList.contains("ant-table-scroll-horizontal")&&t&&t.scrollWidth>t.clientWidth){n=!0;break}}s(n)}),[s]),l=(0,o.useCallback)((()=>{s(!1)}),[s]);return r().createElement("div",{className:K["view-container"],ref:a,onMouseMove:i,onMouseLeave:l},r().createElement(Ue.y,{job:t,noHeading:!0,onSizeChange:n}))}var Ze=n(77221),Qe={};Qe.styleTagTransform=E(),Qe.setAttributes=x(),Qe.insert=g().bind(null,"head"),Qe.domAPI=b(),Qe.insertStyleElement=w(),m()(Ze.A,Qe);const Xe=Ze.A&&Ze.A.locals?Ze.A.locals:void 0;function et(){const{onShare:e,replay:t}=(0,o.useContext)(Ee.j);return r().createElement("div",{className:Xe["node-end"]},t&&r().createElement("div",{className:Xe.content},r().createElement("span",{className:Xe.icon},r().createElement(re.Bj,{lib:"fa",prefix:"fas",icon:"check"})),r().createElement("span",{className:Xe.text},(0,ae.t)(ae.K.TASK_COMPLETED))),!t&&r().createElement("button",{className:Xe.button,onClick:e},(0,ae.t)(ae.K.SHARE)))}var tt=n(87545),nt={};nt.styleTagTransform=E(),nt.setAttributes=x(),nt.insert=g().bind(null,"head"),nt.domAPI=b(),nt.insertStyleElement=w(),m()(tt.A,nt);const ot=tt.A&&tt.A.locals?tt.A.locals:void 0;var rt=n(39439),at=n(20555);function st(){const{innerWidth:e}=window;return e<800?Math.min(500,e):e<1e3?.8*e:800}function it(e){var t;let{job:n}=e;const{setActiveDetail:a}=(0,o.useContext)(Ee.j),s=n.toolCall,l=null===(t=s.annotations)||void 0===t?void 0:t.title,[c,d,u]=(0,o.useMemo)((()=>{var e;const t=null===(e=n.messages)||void 0===e?void 0:e.filter((e=>"tool"===e.role)),o=[],r=[];let a;for(const e of null!=t?t:[])for(const t of e.parts){var s;if("data"===t.type)switch(null===(s=t.data)||void 0===s?void 0:s.type){case"progress":a=t;continue;case"markdown":case"cmdb_instance_detail":case"static_data_view":continue;default:o.push(t);continue}else if("file"===t.type)continue;r.push(t)}return[a,o,r]}),[n.messages]),p=(0,o.useCallback)((()=>{setTimeout((()=>{a(null)}),300)}),[a]),m=(0,o.useRef)(null);(0,o.useEffect)((()=>{setTimeout((()=>{var e;null===(e=m.current)||void 0===e||e.open()}))}),[]);const[f,b]=(0,o.useState)(st);(0,o.useEffect)((()=>{const e=()=>{b(st)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);const v=d.length>0||!!c,g=u.length>0,h=["working","input-required"].includes(n.state)&&v||g?"completed":n.state,x=n.isError||"failed"===h;return r().createElement(re.xb,{ref:m,customTitle:l||s.name,width:f,closable:!0,mask:!0,maskClosable:!0,keyboard:!0,themeVariant:"elevo",onClose:p},r().createElement(Re.t,{job:n,variant:"read-only"}),r().createElement("div",{className:ot.detail},r().createElement("div",{className:ot.heading},(0,ae.t)(ae.K.ARGUMENTS),":"),r().createElement("div",{className:`${ot.body} ${Ce.A.markdown}`},r().createElement(lt,{content:s.originalArguments,maybeJson:!0,fallbackAsMarkdown:!0}))),v&&r().createElement("div",{className:ot.detail},r().createElement("div",{className:ot.heading},(0,ae.t)(ae.K.PROCESS),":"),r().createElement("div",{className:ot.body},d.map(((e,t)=>{var n;return"stream"===(null===(n=e.data)||void 0===n?void 0:n.type)?r().createElement("div",{key:t,className:i()(ot["stream-message"],Ce.A.markdown)},r().createElement(Le.w,{className:Ce.A["markdown-wrapper"],content:e.data.message})):r().createElement("div",{key:t,className:Ce.A.markdown},r().createElement(lt,{content:JSON.stringify(e)}))})),!!c&&r().createElement("div",{className:i()(ot["progress-container"],{[ot["progress-fallback"]]:x})},r().createElement(rt.W,{progress:c,failed:x})))),g&&r().createElement("div",{className:ot.detail},r().createElement("div",{className:ot.heading},(0,ae.t)(ae.K.RESPONSE),":"),r().createElement("div",{className:`${ot.body} ${Ce.A.markdown}`},u.map(((e,t)=>{var n;return"data"===e.type&&"progress"===(null===(n=e.data)||void 0===n?void 0:n.type)?null:r().createElement(lt,{key:t,content:"text"===e.type?e.text:JSON.stringify(e),maybeJson:"text"===e.type})})))))}function lt(e){let{content:t,maybeJson:n,fallbackAsMarkdown:a}=e;const[s,i,l]=(0,o.useMemo)((()=>{if(n&&t)try{const e=JSON.parse(t);return[JSON.stringify(e,null,2),!1,!1]}catch{if(a)return[t,!1,!0]}return[t,!0,!1]}),[t,a,n]);return l?r().createElement("div",{className:ot["markdown-block"]},r().createElement(Le.w,{className:Ce.A["markdown-wrapper"],content:s})):i?r().createElement("div",{className:ot["code-fallback"]},r().createElement(at.j,null,r().createElement("code",null,s))):r().createElement(re.yQ,{className:ot["code-block"],source:s,language:"json",themeVariant:"elevo"})}var ct=n(41030);function dt(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}var ut=n(62309),pt=n(7017),mt={};mt.styleTagTransform=E(),mt.setAttributes=x(),mt.insert=g().bind(null,"head"),mt.domAPI=b(),mt.insertStyleElement=w(),m()(pt.A,mt);const ft=pt.A&&pt.A.locals?pt.A.locals:void 0;function bt(e){let{nav:t,currentNavId:n,taskState:a,onClick:s}=e;const i=(0,o.useRef)(null);return(0,o.useEffect)((()=>{var e;const t=i.current;t&&n&&(null===(e=t.querySelector(`[data-job-id="${n}"]`))||void 0===e||e.scrollIntoView({behavior:"smooth",block:"nearest"}))}),[n]),(0,o.useEffect)((()=>{const e=i.current;if(!e||n)return;const o=null==t?void 0:t.findLast((e=>se.QB.includes(e.state||"unknown")||"working"===e.state||"input-required"===e.state));var r;o&&(null===(r=e.querySelector(`[data-job-id="${o.id}"]`))||void 0===r||r.scrollIntoView({behavior:"smooth",block:"nearest"}))}),[n,t]),r().createElement("div",{className:ft.container},r().createElement("ul",{className:ft.nav,ref:i},null==t?void 0:t.map((e=>r().createElement(vt,(0,je.A)({key:e.id},e,{currentNavId:n,taskState:a,onClick:s}))))))}function vt(e){let{id:t,title:n,state:a,level:s,taskState:l,currentNavId:c,disabled:d,onClick:u}=e;const{className:p,icon:m}=(0,o.useMemo)((()=>function(e,t){switch(e){case"completed":return{className:ft.completed,icon:{lib:"fa",prefix:"fas",icon:"check"}};case"submitted":case"working":return"terminated"===t?{icon:{lib:"fa",prefix:"far",icon:"circle-stop"}}:{className:ft.working,icon:{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}};case"input-required":return{className:ft["input-required"],icon:{lib:"fa",prefix:"far",icon:"circle-user"}};case"failed":return{className:ft.failed,icon:{lib:"fa",prefix:"fas",icon:"xmark"}};case"canceled":case"terminated":return{className:ft.canceled,icon:{lib:"fa",prefix:"far",icon:"circle-stop"}};case"skipped":return{icon:{lib:"fa",prefix:"fas",icon:"ban"}};default:return{icon:{lib:"fa",prefix:"far",icon:"clock"}}}}(a,l)),[a,l]);return r().createElement("li",{className:i()(ft.item,{[ft.active]:c===t}),style:{marginLeft:20*s+"px"}},r().createElement("a",{className:i()(ft.link,p,{[ft.disabled]:d}),"data-job-id":t,title:n,onClick:()=>{d||u(t)}},r().createElement(re.Bj,(0,je.A)({className:ft.icon},m)),r().createElement("span",{className:ft.text},n)))}var gt=n(70046),ht=n(94625),xt=n(24105),yt={};yt.styleTagTransform=E(),yt.setAttributes=x(),yt.insert=g().bind(null,"head"),yt.domAPI=b(),yt.insertStyleElement=w(),m()(xt.A,yt);const wt=xt.A&&xt.A.locals?xt.A.locals:void 0;function kt(){return r().createElement("div",{className:wt.loading},r().createElement("div",{className:wt.inner}))}var Et=n(60709),At=n(54998),Pt={};Pt.styleTagTransform=E(),Pt.setAttributes=x(),Pt.insert=g().bind(null,"head"),Pt.domAPI=b(),Pt.insertStyleElement=w(),m()(At.A,Pt);const Tt=At.A&&At.A.locals?At.A.locals:void 0;var St=n(75321);const Nt=[{filePath:"/node_modules/next-tsx/components.d.ts",content:'/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-empty-object-type */\n\nexport interface ViewProps {\n title: string;\n}\n\nexport interface BaseProps {\n key?: string | number;\n}\n\nexport interface TableProps<T extends object> extends BaseProps {\n dataSource: {\n list: T[];\n page?: number;\n pageSize?: number;\n total?: number;\n };\n columns: TableColumn<T>[];\n rowKey: string;\n rowSelection?: boolean;\n sort?: TableSort | null;\n pagination?: boolean;\n onSelect?: (event: CustomEvent<T[]>) => void;\n onPaginate?: (event: CustomEvent<{ page: number; pageSize: number }>) => void;\n onSort?: (event: CustomEvent<TableSort | null>) => void;\n}\n\nexport interface ListProps extends BaseProps {\n dataSource: object[];\n fields?: {\n title?: string;\n icon?: string;\n url?: string;\n };\n variant?: "default" | "navigation" | "ranking";\n}\n\nexport interface DescriptionsProps<T extends object> extends BaseProps {\n title?: string;\n dataSource?: T;\n list: Array<\n | {\n label: string;\n text: string;\n }\n | {\n label: string;\n /** 数据字段,多级字段使用点号分隔 */\n field: string;\n }\n | {\n label: string;\n render: (record: T) => any;\n }\n >;\n}\n\nexport interface ButtonProps extends BaseProps {\n type?: "default" | "primary";\n icon?: IconProps;\n onClick?: (e: Event) => void;\n}\n\nexport interface SearchProps extends BaseProps {\n placeholder?: string;\n onSearch?: (e: CustomEvent<string>) => void;\n}\n\nexport interface FormProps<T extends object> extends BaseProps {\n values?: T;\n onValidateSuccess?: (e: CustomEvent<T>) => void;\n ref?: {\n readonly current: FormRef;\n };\n}\n\nexport interface FormRef {\n validate: () => void;\n reset: () => void;\n}\n\nexport interface InputProps extends FormItemProps {\n placeholder?: string;\n}\n\nexport interface NumberInputProps extends InputProps {\n min?: number;\n max?: number;\n}\n\nexport interface TextareaProps extends InputProps {}\n\nexport interface SelectProps extends InputProps {\n options: (FormItemOptions | string)[];\n onChange?: (e: CustomEvent<string | number | boolean | null>) => void;\n}\n\nexport interface RadioProps extends SelectProps {}\n\nexport interface CheckboxProps extends SelectProps {}\n\nexport interface SwitchProps extends FormItemProps {}\n\nexport interface DatePickerProps extends FormItemProps {}\n\nexport interface TimePickerProps extends FormItemProps {}\n\nexport interface DashboardProps extends BaseProps {\n dataSource: Array<object>;\n groupField?: string;\n widgets: Array<DashboardWidget>;\n}\n\nexport interface ModalProps extends BaseProps {\n title: string;\n confirmText?: string;\n cancelText?: string;\n onConfirm?: () => void;\n ref?: {\n readonly current: ModalRef;\n };\n}\n\nexport interface ModalRef {\n open: () => void;\n close: () => void;\n}\n\nexport interface CardProps extends BaseProps {\n title?: string;\n}\n\nexport interface TagProps extends BaseProps {\n color?: string;\n outline?: boolean;\n}\n\nexport interface LinkProps extends BaseProps {\n /** 站外链接 */\n href?: string;\n\n /** 站内链接 */\n url?: string;\n\n target?: "_blank" | "_self";\n}\n\nexport interface AvatarProps extends BaseProps {\n size?: "large" | "medium" | "small";\n name?: string;\n src?: string;\n}\n\nexport interface AvatarGroupProps extends BaseProps {\n size?: "large" | "medium" | "small";\n}\n\nexport interface CodeBlockProps extends BaseProps {\n source: string;\n language: string;\n}\n\nexport interface PlaintextProps extends BaseProps {\n /** Related advisory information */\n title?: string;\n}\n\nexport interface DashboardWidget {\n widget: "chart";\n type: "line" | "area";\n title?: string;\n metric: {\n id: string;\n unit: string;\n };\n precision?: number;\n}\n\nexport interface FormItemProps extends BaseProps {\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\n}\n\nexport interface FormItemOptions {\n label: string;\n value: string;\n}\n\nexport interface IconProps {\n lib: "fa";\n prefix: "fas" | "far";\n icon: string;\n}\n\nexport interface TableColumn<T extends object> {\n key: string;\n /** 数据索引,多级索引使用数组 */\n dataIndex: string | string[];\n title: string;\n sortable?: boolean;\n render?: (value: any, record: T) => any;\n}\n\nexport interface TableSort {\n columnKey: string | number;\n order: "ascend" | "descend";\n}\n\ndeclare const View: (props: ViewProps) => any;\ndeclare const Table: <T extends object>(props: TableProps<T>) => any;\ndeclare const List: (props: ListProps) => any;\ndeclare const Descriptions: <T extends object>(\n props: DescriptionsProps<T>\n) => any;\ndeclare const Button: (props: ButtonProps) => any;\ndeclare const Toolbar: (props: BaseProps) => any;\ndeclare const Search: (props: SearchProps) => any;\ndeclare const Form: <T extends object>(props: FormProps<T>) => any;\ndeclare const Input: (props: InputProps) => any;\ndeclare const NumberInput: (props: NumberInputProps) => any;\ndeclare const Textarea: (props: TextareaProps) => any;\ndeclare const Select: (props: SelectProps) => any;\ndeclare const Radio: (props: RadioProps) => any;\ndeclare const Checkbox: (props: CheckboxProps) => any;\ndeclare const Switch: (props: SwitchProps) => any;\ndeclare const DatePicker: (props: DatePickerProps) => any;\ndeclare const TimePicker: (props: TimePickerProps) => any;\ndeclare const Dashboard: (props: DashboardProps) => any;\ndeclare const Modal: (props: ModalProps) => any;\ndeclare const Card: (props: CardProps) => any;\ndeclare const Output: (props: BaseProps) => any;\ndeclare const Tag: (props: TagProps) => any;\ndeclare const Link: (props: LinkProps) => any;\ndeclare const Avatar: (props: AvatarProps) => any;\ndeclare const AvatarGroup: (props: AvatarGroupProps) => any;\ndeclare const CodeBlock: (props: CodeBlockProps) => any;\ndeclare const Plaintext: (props: PlaintextProps) => any;\ndeclare const Fragment: (props: { key?: string | number }) => any;\n'.replaceAll("export interface","interface")},{filePath:"/node_modules/next-tsx/package.json",content:JSON.stringify({name:"next-tsx",types:"./index.d.ts"})},{filePath:"/node_modules/next-tsx/index.d.ts",content:'/** 返回一个有状态的值和一个更新它的函数。 */\nexport const useState: <T>(\n initialValue?: T\n) => [value: T, setter: (value: T) => void];\n\n/** 异步获取资源,返回获取到的数据、以及一个重新拉取数据的函数 */\nexport const useResource: <T = any>(\n fetcher: () => Promise<T>,\n options?: {\n // 不启用则直接返回 fallback\n enabled?: boolean;\n fallback?: unknown;\n }\n) => [data: T, refetch: () => void];\n\n/** 返回一个可变的 ref 对象,其 `.current` 属性初始化为传入的参数 (`initialValue`) */\nexport const useRef: <T>(initialValue: T) => {\n current: T;\n};\n\n/** 获取当前的 URL search 参数 */\nexport const useQuery: () => {\n readonly [key: string]: string | undefined;\n};\n\n/** 更新当前的 URL search 参数 */\nexport const pushQuery: (\n newQuery: Record<string, string | null>,\n options?: {\n clear?: boolean; // 是否清除已有参数,默认 false\n notify?: boolean; // 是否通知路由变化,默认 true\n }\n) => void;\n\n/** 调用指定的 Provider 接口 */\nexport const callApi: <T extends keyof ContractMap>(\n api: T,\n params: Parameters<ContractMap[T]>[0]\n) => Promise<ReturnType<ContractMap[T]>>;\n\n/** 调用指定的 HTTP 接口 */\nexport const callHttp: <T = any>(url: string, init?: RequestInit) => Promise<T>;\n\n/** 调用指定的工具函数 */\nexport const callTool: <T = any, P = any>(\n conversationId: string,\n stepId: string,\n params: P\n) => Promise<T>;\n\n/** 提示用户操作结果 */\nexport const showMessage: (options: {\n type: "success" | "error";\n content: string;\n}) => void;\n'},{filePath:"/node_modules/next-tsx/contracts.d.ts",content:"type ContractMap = Record<string, any>;"}],Ct=r().lazy((async()=>({default:await(0,Et.asyncWrapBrick)("vs.code-editor",{onCodeChange:"code.change"})})));function It(){var e,t;const{workspace:n,manuallyUpdatedViews:a,updateView:s,activeJsxEditorJob:i,setActiveJsxEditorJob:l}=(0,o.useContext)(Ee.j),c=null!==(e=null==a?void 0:a.get(i.id))&&void 0!==e?e:i.generatedView,d=c.code,[u,p]=(0,o.useState)(d),m=(0,o.useMemo)((()=>{var e;const t=Nt;return null!==(e=c.withContexts)&&void 0!==e&&e.RESPONSE?[...t,{filePath:"tsx-view/response.d.ts",content:`const RESPONSE_VALUE = ${JSON.stringify(c.withContexts.RESPONSE,null,2)};\n\ndeclare const RESPONSE: typeof RESPONSE_VALUE;`}]:t}),[null===(t=c.withContexts)||void 0===t?void 0:t.RESPONSE]);return r().createElement("div",{className:Tt.container},r().createElement("div",{className:Tt.editor},r().createElement("div",{className:Tt.header},r().createElement("span",{className:Tt.title},"JSX Editor"),r().createElement(re.Py,{icon:se.LQ,onClick:()=>{null==l||l(void 0)}})),r().createElement("div",{className:Tt.body},r().createElement("div",{className:Tt.content},r().createElement(o.Suspense,{fallback:"Loading..."},r().createElement(Ct,{value:d,onCodeChange:e=>{p(e.detail)},language:"typescript",uri:"file:///view.tsx",automaticLayout:"fit-container",theme:"tm-vs-dark",extraLibs:m,"data-override-theme":"dark-v2"})))),r().createElement("div",{className:Tt.footer},r().createElement(re.Gx,{themeVariant:"elevo",type:"primary",onClick:()=>{const e={...c,code:u};e.asyncConstructedView=(0,St.e)(e,n),null==s||s(i.id,e),null==l||l(void 0)}},"Save"))))}var jt=n(91417),Rt={};Rt.styleTagTransform=E(),Rt.setAttributes=x(),Rt.insert=g().bind(null,"head"),Rt.domAPI=b(),Rt.insertStyleElement=w(),m()(jt.A,Rt);const Lt=jt.A&&jt.A.locals?jt.A.locals:void 0;function Mt(e){let{content:t}=e;return r().createElement("div",{className:i()(K["node-job"],K.error)},r().createElement("div",{className:Lt.error},t))}var zt=n(98153),Bt=n(88253),_t=n(2367);function Ft(e){let{type:t,active:n,flow:o,activity:a}=e;return r().createElement("div",{className:i()(K["node-job"],{[K.active]:n})},r().createElement("div",{className:K.background}),r().createElement("div",{className:K.body},"flow"===t?(0,ae.t)(ae.K.INITIATING_SERVICE_FLOW,{name:o.name}):(0,ae.t)(ae.K.STARTING_SERVICE_FLOW_ACTIVITY,{name:a.name})))}var Dt=n(86241);const Vt=(0,o.memo)(Ot);function Ht(e,t){var n;let{conversationId:s,initialRequest:l,replay:p,replayDelay:m,supports:f,showHiddenJobs:b,showHumanActions:v,showFeedback:g,showFeedbackAfterFailed:h,showFeedbackOnView:x,showUiSwitch:y,showJsxEditor:w,previewUrlTemplate:k,showCases:E,exampleProjects:A,tryItOutUrl:P,separateInstructions:S,uploadOptions:N,onShare:C,onTerminate:U,onSubmitFeedback:G,onSwitchToChat:J,onFeedbackOnView:ee,onDetailChange:te}=e;const ne=(0,o.useRef)(null),{conversation:oe,tasks:ae,serviceFlows:ie,errors:le,humanInputRef:ce,skipToResults:ue,watchAgain:pe}=(0,Q.u)(s,l,p,m),{flowMap:me,activityMap:fe}=(0,Bt.o)(ie),be=function(e,t,n,r,a,s){const{showHumanActions:i,separateInstructions:l}=null!=s?s:{};return(0,o.useMemo)((()=>{if(!e)return null;const{chunks:o,jobMap:s}=(0,X.a)(t,n,r,a),c=[],d=[],u=[],p=[],m=new Map,f=[];let b,v;for(const e of o){const t=[];if("job"===e.type){var g;const n=e.job;m.set(n.id,e.level);const{messages:r}=n,a=Array.isArray(r)&&r.length>0||n.toolCall,s=null==r||null===(g=r.find((e=>"user"===e.role)))||void 0===g||null===(g=g.parts)||void 0===g||null===(g=g.find((e=>"text"===e.type)))||void 0===g?void 0:g.text;if(void 0===s||e!==o[0]&&1!==r.length){var h;if(n.instruction){if(l||!n.toolCall){const e=`instruction:${n.id}`;c.push({type:"instruction",id:e,job:n,state:n.state}),t.push(e)}u.push({id:n.id,title:n.instruction,state:n.state,level:e.level})}else null!==(h=n.toolCall)&&void 0!==h&&null!==(h=h.annotations)&&void 0!==h&&h.title&&u.push({id:n.id,title:n.toolCall.annotations.title,state:n.state,level:e.level});const o=`job:${n.id}`;a&&(c.push({type:"job",id:o,job:n,state:n.state}),t.push(o));const r=n.generatedView;if(r&&p.push({id:n.id,view:r}),i&&n.humanAction){const e=`human-action:${n.id}`;c.push({type:"requirement",id:e,content:n.humanAction,username:b}),t.push(e)}0===t.length&&(c.push({type:"job",id:o,job:n,state:n.state}),t.push(o)),void 0!==s&&"completed"===n.state&&f.push(t[t.length-1])}else{const e=`requirement:${n.id}`;b=n.username,c.push({type:"requirement",id:e,content:s,username:b,cmd:n.cmd,files:null==r?void 0:r.filter((e=>"user"===e.role)).flatMap((e=>e.parts)).filter((e=>"file"===e.type)).map((e=>e.file))}),t.push(e),f.push(e)}}else if("error"===e.type){const n=`error:${c.length}`;c.push({type:"error",id:n,content:e.error}),t.push(n)}else{const n=`${e.type}:${e.task.id}`;c.push({type:e.type,id:n,taskId:e.task.id,flow:e.flow,..."activity"===e.type?{activity:e.activity}:null}),t.push(n)}for(let e=1;e<t.length;e++)d.push({source:t[e-1],target:t[e]});t.length>0&&(v&&d.push({source:v,target:t[0]}),v=t[t.length-1])}if("terminated"!==e.state&&"failed"!==e.state)if(0===c.length)c.push({type:"loading",id:z});else{let e=0;for(const t of f)if(!d.some((e=>e.source===t))){const n=`${z}:${e++}`;c.push({type:"loading",id:n}),d.push({source:t,target:n})}}return{nodes:c,edges:d,nav:u,views:p,jobMap:s}}),[e,n,l,i,t,r,a])}(oe,ae,le,me,fe,{showHiddenJobs:b,showHumanActions:v,separateInstructions:S}),ve=null==be?void 0:be.nodes,ge=null==be?void 0:be.edges,he=null==be?void 0:be.nav,xe=null==be?void 0:be.views,ye=null==be?void 0:be.jobMap,we=null!==(n=null==oe?void 0:oe.title)&&void 0!==n?n:"",ke=null==oe?void 0:oe.state,[Ae,Pe]=(0,o.useState)(null),Te=(0,o.useMemo)((()=>{if(Ae){const[e,t]=Ae.split(":");if("job"===e||"view"===e)return t}return null}),[Ae]);(0,o.useEffect)((()=>{te({projectId:null==oe?void 0:oe.projectId})}),[te,null==oe?void 0:oe.projectId]);const[Se,Ne]=(0,o.useState)(!1),[Ce,Ie]=(0,o.useState)(!1),[je,Re]=(0,o.useState)(!!g);(0,o.useEffect)((()=>{Re(!!g)}),[g]);const[Le,Me]=(0,o.useState)(),ze=(0,o.useCallback)((e=>{Ne(!0),G(e)}),[G]);(0,o.useImperativeHandle)(t,(()=>({feedbackSubmitDone:()=>{Ie(!0),setTimeout((()=>{Re(!1)}),3e3)},feedbackSubmitFailed:()=>{Ne(!1)},feedbackOnViewDone:e=>{Me((t=>{const n=new Set(t);return n.add(e),n}))}})),[]);const Be=(0,o.useRef)(!1);(0,o.useEffect)((()=>{const e=setTimeout((()=>{Be.current=!0}),3e3);return()=>{clearTimeout(e)}}),[]),(0,o.useEffect)((()=>{(0,a.getRuntime)().applyPageTitle(we)}),[we]);const _e=(0,o.useCallback)(((e,t,n)=>{var o;null===(o=ce.current)||void 0===o||o.call(ce,e,t,n)}),[ce]),[Fe,De]=(0,o.useState)(null),Ve=(0,o.useCallback)(((e,t)=>{De((n=>{if(!t){if(!n)return null;const t=new Map(n);return t.delete(e)?t:n}return n?new Map(n).set(e,t):new Map([[e,t]])}))}),[]),{sizeReady:He,nodes:Oe,edges:Ye}=function(e){let{rawNodes:t,rawEdges:n,sizeMap:r,completed:a,failed:s,finished:i,showFeedback:l,showFeedbackAfterFailed:c,replay:d}=e;const u=(0,o.useRef)(null),{initialNodes:p,initialEdges:m}=(0,o.useMemo)((()=>{const e=[{type:"start",id:R}],o=[],r=[],p=null!=t?t:[],m=null!=n?n:[],f=new Set(m.map((e=>e.target))),b=s&&l&&c,v=d?i:a||b,g=v?new Set(m.map((e=>e.source))):null;for(const e of p)f.has(e.id)||o.push({source:R,target:e.id}),v&&!g.has(e.id)&&r.push(e.id);if(e.push(...p),o.push(...m),r.length>0){let t=r;if(d)i&&(e.push({id:L,type:"end"}),o.push(...t.map((e=>({source:e,target:L})))),e.push({id:B,type:"replay"}),o.push({source:L,target:B}));else if(a&&(e.push({id:L,type:"end"}),o.push(...t.map((e=>({source:e,target:L})))),t=[L]),l&&(a||b)){e.push({id:M,type:"feedback"});for(const e of t)o.push({source:e,target:M})}}const h=u.current;if(h)for(const t of e){const e=h.get(t.id);e&&(t.view=e)}return{initialNodes:e,initialEdges:o}}),[t,n,a,s,i,l,c,d]),f=(0,o.useRef)(null);return(0,o.useMemo)((()=>{var e;for(const e of p)if(null==r||!r.has(e.id))return{sizeReady:!1,nodes:p,edges:[]};const t=new($().graphlib.Graph);t.setGraph({rankdir:"TB",nodesep:O,edgesep:Y,ranksep:H}),t.setDefaultEdgeLabel((function(){return{}}));for(const e of m)t.setEdge(e.source,e.target);for(const e of p){const[n,o]=r.get(e.id);t.setNode(e.id,{id:e.id,width:n,height:o})}$().layout(t);let n=null;const o=p.map((e=>{const o=t.node(e.id),r=o.x-o.width/2,a=o.y-o.height/2;return"start"===e.type&&(f.current?n={x:f.current.x-r,y:f.current.y-a}:f.current={x:r,y:a}),{...e,view:{x:r,y:a,width:o.width,height:o.height}}}));if(n)for(const e of o)Object.assign(e.view,Z(e.view,n));const a=null!==(e=u.current)&&void 0!==e?e:u.current=new Map;for(const e of o){const{x:t,y:n}=e.view;a.set(e.id,{x:t,y:n})}return{sizeReady:!0,nodes:o,edges:m.map((e=>{const o=t.node(e.source),r=Z(o,n),a=t.node(e.target),s=Z(a,n),i=s.y-(a.height+H)/2,l=[{x:r.x,y:r.y+o.height/2},{x:r.x,y:i},{x:s.x,y:i},{x:s.x,y:s.y-a.height/2}];return{...e,points:l}}))}}),[m,p,r])}({rawNodes:ve,rawEdges:ge,completed:"completed"===ke,failed:"failed"===ke,finished:null==oe?void 0:oe.finished,sizeMap:Fe,showFeedback:je,showFeedbackAfterFailed:h,replay:p}),We=(0,o.useRef)(!1),Ue=(0,o.useRef)(!1),[Ke,qe]=(0,o.useState)(!1),{grabbing:Je,transform:$e,transformRef:Ze,zoomer:Qe}=function(e){let{rootRef:t,zoomable:n,scrollable:r,pannable:a,pannableWithCtrl:s,scaleRange:i,manualScrolledUpRef:l,onSwitchActiveTarget:u}=e;const[p,m]=(0,o.useState)(!1),[f,b]=(0,o.useState)({k:1,x:0,y:0}),v=(0,o.useRef)(f),g=(0,o.useMemo)((()=>null!=i?i:[I,j]),[i]),h=(0,o.useMemo)((()=>(0,d.s_)().wheelDelta(q)),[]);return(0,o.useEffect)((()=>{let e=!1;h.scaleExtent(n?g:[1,1]).on("start",(()=>{e=!1,m(!0)})).on("zoom",(t=>{e=!0,b(t.transform),v.current=t.transform})).on("end",(()=>{m(!1),e||null==u||u(null)})).filter((e=>("wheel"===e.type?e.ctrlKey:s?a||e.ctrlKey:!e.ctrlKey)&&!e.button))}),[u,g,n,h,s,a]),(0,o.useEffect)((()=>{if(s){const e=e=>{e.ctrlKey&&e.preventDefault()};return document.addEventListener("contextmenu",e,!0),()=>{document.removeEventListener("contextmenu",e,!0)}}}),[s]),(0,o.useEffect)((()=>{const e=t.current;if(!e)return;const o=(0,c.A)(e),i=()=>{o.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(n||r||a)return(n||r)&&o.on("wheel.zoom.custom",(e=>{if(!e.ctrlKey&&r){const t=e.target.closest(`.${K.body}`);if(t&&function(e,t){if(!t)return!1;if(t>0){const t=e.scrollHeight-e.clientHeight;return e.scrollTop<=t-1}return e.scrollTop>=1}(t,e.deltaY))return;e.cancelable&&(e.deltaY<0&&(l.current=!0),e.preventDefault(),h.translateBy(o,e.wheelDeltaX/5,e.wheelDeltaY/5))}})),o.call(h).on("wheel",(e=>{(r||n&&e.ctrlKey)&&e.preventDefault()})).on("dblclick.zoom",null),a||s||o.on("mousedown.zoom",null),a||o.on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),i;i()}),[s,a,t,l,r,n,h]),{grabbing:p,transform:f,transformRef:v,zoomer:h,scaleRange:g}}({rootRef:ne,zoomable:He,scrollable:He&&!Ke,pannable:He,manualScrolledUpRef:Ue}),Xe=(0,o.useRef)(!1),et=(0,o.useMemo)((()=>{let e=null;const t=n=>{const o=Ze.current,r="function"==typeof n?n(o):n;if(!r)return;const{transform:a,translateBy:s}=r;let i=(0,c.A)(ne.current);var l,u,p,m,f,b;Be.current&&0!==r.duration&&(Xe.current=!0,i=i.transition().duration(null!==(l=r.duration)&&void 0!==l?l:300).ease((e=>e*(2-e))).on("end",(()=>{if(Xe.current=!1,e){const n=e;e=null,t(n)}}))),a?Qe.transform(i,new d.uV(null!==(u=a.k)&&void 0!==u?u:o.k,null!==(p=a.x)&&void 0!==p?p:o.x,null!==(m=a.y)&&void 0!==m?m:o.y)):Qe.translateBy(i,null!==(f=s[0])&&void 0!==f?f:0,null!==(b=s[1])&&void 0!==b?b:0)};return n=>{Xe.current?e=n:t(n)}}),[Ze,Qe]),{centered:tt,setCentered:nt,reCenterRef:ot}=function(e){let{nodes:t,sizeReady:n,zoomer:r,rootRef:a,pushZoomTransition:s}=e;const[i,l]=(0,o.useState)(!1),c=(0,o.useRef)(!1);return(0,o.useEffect)((()=>{const e=a.current;if(n&&e&&!i&&t.length>0){const{x:n,y:o,width:r,height:a}=u(t.map((e=>e.view))),i=n+r,d=o+a,p=(e.clientWidth-(i+n))/2;let m=30;if(c.current){const t=d-o+D-e.clientHeight;m=t>0?-t-o:(e.clientHeight-(d+o))/2}s({transform:{k:1,x:p,y:m},duration:c.current?void 0:0}),l(!0)}c.current=!1}),[i,t,a,n,r,s]),{centered:i,setCentered:l,reCenterRef:c}}({nodes:Oe,sizeReady:He,zoomer:Qe,rootRef:ne,pushZoomTransition:et}),rt=se.QB.includes(ke)||"input-required"===ke,at=(0,o.useMemo)((()=>new Set(Ye.map((e=>e.source)))),[Ye]),st=(0,o.useMemo)((()=>{if(!He)return null;const e=[];for(const t of Oe)at.has(t.id)||e.push(t);return e.length>0?Math.max(...e.map((e=>e.view.y+e.view.height))):null}),[Oe,at,He]),lt=(0,o.useRef)(null);(0,o.useEffect)((()=>{lt.current=st}),[st]),(0,o.useEffect)((()=>{const e=ne.current;!e||null===st||We.current&&Ue.current||et((t=>{const{offsetHeight:n}=e,o=st*t.k+t.y,r=n-D-o;return r<0?{transform:{y:t.y+r},duration:r>-100?100:r<-500?300:200}:null}))}),[st,et]),(0,o.useEffect)((()=>{const e=lt.current,t=ne.current;if(!t||null===e||Xe.current)return;const{offsetHeight:n}=t,o=e*$e.k+$e.y,r=n-D-o;We.current=r<0}),[$e,Qe]);const pt=(0,o.useCallback)((()=>{ot.current=!0,nt(!1)}),[ot,nt]),mt=(0,o.useCallback)((e=>{Qe.scaleTo((0,c.A)(ne.current),e)}),[Qe]),ft=(0,o.useMemo)((()=>He?u(Oe.map((e=>e.view))):null),[Oe,He]);(0,o.useEffect)((()=>{if(!ft)return;const e=ne.current;if(!e)return;const{offsetWidth:t,offsetHeight:n}=e,o=t/$e.k,r=n/$e.k,a=-(o-20-ft.x),s=o-20+(ft.x+ft.width),i=-(r-20-ft.y),l=r-20+(ft.y+ft.height);Qe.translateExtent([[a,i],[s,l]])}),[Qe,$e.k,ft]);const vt=(0,o.useCallback)((e=>{let{nodeId:t,jobId:n,behavior:o,block:r}=e;const a=ne.current,s=Oe.filter((e=>{var o;return!(t&&e.id!==t||n&&(null===(o=e.job)||void 0===o?void 0:o.id)!==n)}));if(!a||0===s.length)return;const i=u(s.map((e=>e.view))),{x:l,y:c}=function(e,t,n,o,r){const[a,s]=t,[i,l,c,d]=n,{x:u,y:p,width:m,height:f}=e,b=u+m,v=p+f,g=i-(p*o.k+o.y),h=s-c-(v*o.k+o.y),x=g>0||"start"===r?g/o.k:h<0?h/o.k:0,y=d-(u*o.k+o.x),w=a-l-(b*o.k+o.x);return{x:y>0?y/o.k:w<0?w/o.k:0,y:x}}(i,[a.offsetWidth,a.offsetHeight],[_,F,D,V],Ze.current,r);(l||c)&&et({translateBy:[l,c],duration:"instant"===o?0:void 0})}),[Oe,et,Ze]),ht=(0,o.useCallback)(((e,t)=>{const n=ne.current;if(!n||!He)return;let o,r=0,a=0,s=300;const i="left"===e||"right"===e;if("line"===t)o=40*("up"===e||"left"===e?1:-1),s=150;else if("page"===t)o=(n.offsetHeight-D)*("up"===e?-1:1);else{const{y:t,height:r}=u(Oe.map((e=>e.view)));if("down"===e){const e=t+r-t+D;o=n.offsetHeight-e-Ze.current.y}else o=t+_-Ze.current.y}i?r=o:a=o,(r||a)&&et({translateBy:[r,a],duration:s})}),[Oe,et,He,Ze]),[xt,yt]=(0,o.useState)(null),[wt,kt]=(0,o.useState)(null),[Et,At]=(0,o.useState)(null),[Pt,Tt]=r().useState(null),[St,Nt]=(0,o.useState)(),[Ct,jt]=(0,o.useState)(),Rt=(0,o.useCallback)(((e,t)=>{jt((n=>{const o=new Map(n);return o.set(e,t),o}))}),[]),Lt=null==ve?void 0:ve[0],Mt=(0,o.useMemo)((()=>{if("requirement"===(null==Lt?void 0:Lt.type))return Lt.content}),[Lt]),Ft=s,Ht=(0,o.useMemo)((()=>({conversationId:s,conversationState:ke,tasks:ae,errors:le,workspace:Ft,previewUrlTemplate:k,replay:p,showCases:E,exampleProjects:A,uploadOptions:N,humanInput:_e,onShare:C,onTerminate:U,supports:f,activeExpandedViewJobId:Et,setActiveExpandedViewJobId:At,activeDetail:xt,setActiveDetail:yt,subActiveDetail:wt,setSubActiveDetail:kt,submittingFeedback:Se,submittedFeedback:Ce,onSubmitFeedback:ze,setShowFeedback:Re,showJsxEditor:w,activeJsxEditorJob:St,setActiveJsxEditorJob:Nt,manuallyUpdatedViews:Ct,updateView:Rt,showFeedbackOnView:x,onFeedbackOnView:ee,feedbackDoneViews:Le,skipToResults:ue,watchAgain(){pe(),nt(!1)},tryItOut(){const e=window.open(`${(0,a.getBasePath)().slice(0,-1)}${null!=P?P:"/elevo"}`,"_blank");e&&(e.__elevo_try_it_out={content:Mt})},separateInstructions:S,setActiveFile:Tt})),[s,ke,ae,le,Ft,k,p,E,A,N,_e,U,C,f,Et,xt,wt,Se,Ce,ze,w,St,Ct,Rt,x,ee,Le,ue,pe,nt,Mt,P,S]),Ot=(0,o.useMemo)((()=>({onNodeResize:Ve,setActiveNodeId:Pe,hoverOnScrollableContent:Ke,setHoverOnScrollableContent:qe})),[Ke,Ve]),Yt=(0,_t.U)(xt,ye,me,fe),Wt=(0,o.useCallback)((e=>{for(const t of e.nativeEvent.composedPath()){if(t instanceof HTMLElement&&t.classList.contains(T.node))return;if(t===ne.current)break}Pe(null)}),[]);return(0,o.useEffect)((()=>{const e=ne.current;if(!e||Yt||Et||Pt)return;const t=t=>{if(document.activeElement&&document.activeElement!==document.body&&document.activeElement!==e)return;const n=function(e,t){let{activeNodeId:n,nodes:o}=t;if(e.ctrlKey||e.altKey)return;const r=n?o.find((e=>e.id===n)):null,a=e.key;if(!r){if(" "===a&&!e.metaKey)return{action:"scroll",direction:e.shiftKey?"down":"up",range:"page"};if(e.shiftKey||!W&&e.metaKey)return;switch(a){case"Home":return{action:"scroll",direction:"up",range:"document"};case"End":return{action:"scroll",direction:"down",range:"document"};case"ArrowUp":case"ArrowDown":{const t="ArrowUp"===a?"up":"down";return e.metaKey?{action:"scroll",direction:t,range:"document"}:{action:"scroll",direction:t,range:"line"}}case"ArrowLeft":case"ArrowRight":if(!e.metaKey)return{action:"scroll",direction:"ArrowLeft"===a?"left":"right",range:"line"}}return}if(e.shiftKey||!W&&e.metaKey)return;const s=(t,n)=>{if(e.metaKey&&"x"===t)return;const a="x"===t?"y":"x",s=dt(r.view),i=o.filter((e=>{let o,i;return e!==r&&"start"!==e.type&&"end"!==e.type&&"feedback"!==e.type&&"error"!==e.type&&"replay"!==e.type&&"instruction"!==e.type&&(i=dt(e.view),o=(i[t]-s[t])*n,o>0)&&o>Math.abs(s[a]-i[a])}));return(e.metaKey?ct.maxBy:ct.minBy)(i,(e=>{const n=dt(e.view);return(s[a]-n[a])**2+(s[t]-n[t])**2}))};let i,l;switch(a){case"ArrowLeft":l="switch-active-node",i=s("x",-1);break;case"ArrowUp":l="switch-active-node",i=s("y",-1);break;case"ArrowRight":l="switch-active-node",i=s("x",1);break;case"ArrowDown":l="switch-active-node",i=s("y",1);break;case"Escape":l="switch-active-node",i=null;break;case"Enter":l="enter",i=r}return l&&void 0!==i?{action:l,node:i}:void 0}(t,{activeNodeId:Ae,nodes:Oe});if(!n)return;const{action:o,node:r}=n;if("scroll"===o)ht(n.direction,n.range);else if("enter"===o&&"job"!==r.type)return;t.preventDefault(),t.stopPropagation(),"enter"===o?"job"===r.type&&yt({type:r.type,id:r.job.id}):"switch-active-node"===o&&(r?(Pe(r.id),"job"===r.type?vt({jobId:r.job.id,behavior:"smooth"}):vt({nodeId:r.id,behavior:"smooth"})):Pe(null))};return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}}),[xt,Yt,Ae,Et,Pt,Oe,vt,ht]),r().createElement(Ee.j.Provider,{value:Ht},r().createElement(Ge.Q.Provider,{value:Ot},r().createElement("div",{className:i()(T.root,{[T.loading]:!oe}),ref:ne,style:{cursor:Je?"grabbing":"grab"},tabIndex:-1,onClick:Wt},!oe&&r().createElement("div",{className:T["loading-icon"]},r().createElement(re.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),r().createElement("div",{className:i()(T.canvas,{[T.ready]:He&&tt}),style:{transform:`translate3d(${$e.x}px, ${$e.y}px, 0) scale(${$e.k})`}},r().createElement("svg",{className:T.edges},Ye.map((e=>e.target===L||e.target===B||e.target===M?null:r().createElement("path",{className:T.edge,key:`${e.source}-${e.target}`,d:e.points.map(((e,t)=>{let{x:n,y:o}=e;return`${0===t?"M":"L"}${n},${o}`})).join(" ")})))),Oe.map((e=>{var t,n;return r().createElement(Vt,{key:e.id,id:e.id,type:e.type,username:e.username,content:e.content,cmd:e.cmd,files:e.files,job:e.job,flow:e.flow,activity:e.activity,startTime:null==oe?void 0:oe.startTime,instructionLoading:"instruction"===e.type&&!at.has(e.id)&&!se.QB.includes(e.state)&&!se.X4.includes(ke),isLeaf:!at.has(e.id),x:null===(t=e.view)||void 0===t?void 0:t.x,y:null===(n=e.view)||void 0===n?void 0:n.y,active:Ae===e.id})})))),r().createElement("div",{className:T.widgets},r().createElement(bt,{nav:he,currentNavId:Te,taskState:ke,onClick:e=>{Pe(`job:${e}`),vt({jobId:e,block:"start"})}}),r().createElement(de,{scale:$e.k,showUiSwitch:y,onScaleChange:mt,onReCenter:pt,onSwitchToChat:J}),p?!(null!=oe&&oe.finished)&&r().createElement("div",{className:T["footer-container"]},r().createElement(zt.A,null)):null!=f&&f.chat?r().createElement("div",{className:T["footer-container"]},r().createElement(gt.s,{state:ke,canChat:rt})):null),"job"===(null==Yt?void 0:Yt.type)&&r().createElement(it,{job:Yt.job}),Et&&r().createElement(ut.f,{views:xe}),Pt&&r().createElement(Dt.s,{file:Pt}),w&&St&&r().createElement(It,null)))}function Ot(e){let{id:t,type:n,job:a,flow:s,activity:c,username:d,content:u,startTime:p,instructionLoading:m,isLeaf:f,x:b,y:v,active:g,cmd:h,files:x}=e;const y=(0,o.useRef)(null),{onNodeResize:w,setActiveNodeId:k}=(0,o.useContext)(Ge.Q);(0,o.useEffect)((()=>{const e=y.current;if(!e)return;const n=new l.A((()=>{w(t,[e.offsetWidth,e.offsetHeight])}));return n.observe(e),()=>{n.disconnect(),w(t,null)}}),[t,w]),(0,o.useEffect)((()=>{const e=y.current;if(!e)return;const t=e=>{e.stopPropagation()};return e.addEventListener("mousedown",t),()=>{e.removeEventListener("mousedown",t)}}),[]);const E=(0,o.useCallback)((()=>{"start"!==n&&"instruction"!==n&&k(t)}),[t,k,n]);return r().createElement("div",{className:i()(T.node,{[T.ready]:null!=b&&null!=v}),ref:y,style:{left:b,top:v},onClick:E},"start"===n?r().createElement(fe,null):"end"===n?r().createElement(et,null):"feedback"===n?r().createElement(ht.k,null):"requirement"===n?r().createElement(Pe,{username:d,content:u,startTime:p,active:g,cmd:h,files:x}):"loading"===n?r().createElement(kt,null):"error"===n?r().createElement(Mt,{content:u}):"replay"===n?r().createElement(zt.A,{finished:!0}):"flow"===n||"activity"===n?r().createElement(Ft,{type:n,active:g,flow:s,activity:c}):"instruction"===n?r().createElement(Ie,{content:a.instruction,loading:m}):r().createElement(Je,{job:a,active:g,isLeaf:f}))}},25313:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a)()(r());s.push([e.id,".avatar--v2FiKghW::part(avatar){background-color:rgb(213,214,230);padding:1px}",""]),s.locals={avatar:"avatar--v2FiKghW"};const i=s},27110:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a),i=n(20062),l=n.n(i),c=new URL(n(3921),n.b),d=s()(r()),u=l()(c);d.push([e.id,`ai-portal\\.cruise-canvas{display:block;position:relative;width:100%;height:100%;overflow:hidden;background-color:#fff;background-image:url(${u});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;--cruise-canvas-node-border:1px solid gray;--cruise-canvas-node-width-small:330px;--cruise-canvas-node-width-medium:453px;--cruise-canvas-node-width-large:800px;--cruise-canvas-primary-color:var(--elevo-color-brand);--cruise-canvas-input-background:rgba(255,255,255,0.8);--cruise-canvas-input-box-shadow:0px 1px 0px 0px #ffffff,inset 0px 2px 4px 0px #b3bcf9}.root--z6jdb_BU{width:100%;height:100%;position:relative}.widgets--r6lUPOu2{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-user-select:none;user-select:none}.root--z6jdb_BU.loading--m5r507Hp .canvas--u6C26uH_,\n.root--z6jdb_BU.loading--m5r507Hp + .widgets--r6lUPOu2{visibility:hidden}.loading-icon--UkRBMlBy{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;color:#fff}.widgets--r6lUPOu2 > *{pointer-events:auto;-webkit-user-select:text;user-select:text}.canvas--u6C26uH_,\n.edges--uNPQGWZg{width:100%;height:100%;position:absolute;transform-origin:0% 0%;-webkit-user-select:none;user-select:none}.node--IBGywwp4{position:absolute;-webkit-user-select:text;user-select:text;cursor:auto}.node--IBGywwp4:not(.ready--pmh440go),\n.canvas--u6C26uH_:not(.ready--pmh440go) > .edges--uNPQGWZg{visibility:hidden}svg.edges--uNPQGWZg{pointer-events:none;overflow:visible}.edge--muRUWYG1{fill:none;stroke-width:2px;stroke:rgba(255,255,255,0.6);stroke-dasharray:5,5}.go-back--myNmSpSv{position:absolute;top:20px;left:20px}.go-back--myNmSpSv::part(link){width:32px;height:32px;display:flex;justify-content:center;align-items:center;background:rgba(255,255,255,0.7);box-shadow:0px 3px 14px 0px rgba(0,0,0,0.1),0px 1px 4px 0px rgba(0,0,0,0.06);border-radius:8px;border:1px solid rgba(255,255,255,0.3);color:inherit;box-sizing:border-box}.go-back--myNmSpSv::part(link):hover{background:rgba(255,255,255,0.5)}.go-back--myNmSpSv::part(link):active{background:rgba(255,255,255,0.3)}.footer-container--sTjEGP7I{position:absolute;bottom:28px;left:50%;transform:translate(-50%,0);width:var(--cruise-canvas-node-width-large);max-width:80%}`,""]),d.locals={root:"root--z6jdb_BU",widgets:"widgets--r6lUPOu2",loading:"loading--m5r507Hp",canvas:"canvas--u6C26uH_","loading-icon":"loading-icon--UkRBMlBy",edges:"edges--uNPQGWZg",node:"node--IBGywwp4",ready:"ready--pmh440go",edge:"edge--muRUWYG1","go-back":"go-back--myNmSpSv","footer-container":"footer-container--sTjEGP7I"};const p=d},36137:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a),i=n(20062),l=n.n(i),c=new URL(n(91776),n.b),d=s()(r()),u=l()(c);d.push([e.id,`.node-requirement--aVjY3LFY{width:var(--cruise-canvas-node-width-medium);max-width:90vw;background-color:rgba(255,255,255,0.4);background-image:url(${u});background-position:center bottom;background-size:var(--cruise-canvas-node-width-medium) 128px;background-repeat:no-repeat;box-shadow:0px 4px 10px 0px rgba(54,64,80,0.18);border-radius:12px;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,0.4);padding:8px;white-space:pre-wrap;position:relative}.node-requirement--aVjY3LFY.active--aEZLkOZe{border-color:#a1b5ff}.heading--F8b1aIJT{display:flex;align-items:center;margin-bottom:11px;font-size:13px}.avatar--BbtS9D46{flex:1;min-width:0}.avatar--BbtS9D46::part(avatar){border:1px solid #fff}.time--IRwoiblW{color:#8c8c8c}.body--JYv_r9n_{background:#f1f6ff;box-shadow:0px 1px 0px 0px #ffffff;border-radius:9px;padding:15px 10px;overflow-wrap:break-word}`,""]),d.locals={"node-requirement":"node-requirement--aVjY3LFY",active:"active--aEZLkOZe",heading:"heading--F8b1aIJT",avatar:"avatar--BbtS9D46",time:"time--IRwoiblW",body:"body--JYv_r9n_"};const p=d},36811:(e,t,n)=>{e.exports=n.p+"images/d4ea5a5c.png"},54998:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a)()(r());s.push([e.id,".container--qJxxNcfJ{position:fixed;top:0;right:0;bottom:0;left:0;padding:20px;background-color:var(--mask-bg)}.editor--SCuHEqYM{height:100%;max-width:1200px;margin:0 auto;background:#ffffff;box-shadow:1px 1px 10px 0px rgba(0,10,26,0.1);border-radius:12px;display:flex;flex-direction:column}.header--nRP4oDyL{height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.15);padding:0 20px}.title--Tq8TUpVz{font-weight:500;font-size:16px;color:#262626}.body--uTZ0qYhS{flex:1;min-height:0;padding:20px;display:flex;flex-direction:column}.content--_WNf_qJr{height:100%}.footer--cblnjGHn{padding:12px 20px;border-top:1px solid rgba(0,0,0,0.15)}",""]),s.locals={container:"container--qJxxNcfJ",editor:"editor--SCuHEqYM",header:"header--nRP4oDyL",title:"title--Tq8TUpVz",body:"body--uTZ0qYhS",content:"content--_WNf_qJr",footer:"footer--cblnjGHn"};const i=s},57617:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a),i=n(20062),l=n.n(i),c=new URL(n(63747),n.b),d=s()(r()),u=l()(c);d.push([e.id,`.node-job--soTYrcA7{width:var(--cruise-canvas-node-width-medium);max-width:90vw;background:linear-gradient(180deg,#f5f8ff 0%,#edf0f9 100%);box-shadow:0px 4px 10px 0px rgba(177,149,207,0.4),0px 2px 4px 0px rgba(0,0,0,0.06);border-radius:12px;border:1px solid rgba(255,255,255,0.5);padding:8px;position:relative}.node-job--soTYrcA7.active--WIcgH7xW{border-color:#a1b5ff}.background--CKldFV7M{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background-image:url(${u});background-repeat:no-repeat;background-position:top right;z-index:0;transition:opacity 0.15s;opacity:0}.node-job--soTYrcA7.active--WIcgH7xW .background--CKldFV7M,\n.node-job--soTYrcA7:hover .background--CKldFV7M{opacity:1}.background--CKldFV7M ~ *{position:relative;z-index:1}.fit-content--HuAZHd31{min-width:var(--cruise-canvas-node-width-medium);width:min-content}.node-job--soTYrcA7.large--bn_n8RL5{width:var(--cruise-canvas-node-width-large)}.error--IwtdD0T6{box-shadow:inset 0px 0px 8px 2px rgba(242,76,37,0.6);border-color:rgba(242,76,37,0.6)}.heading--GZqrhPqL{display:flex;align-items:center;justify-content:space-between;padding:0 5px 5px;font-size:13px;color:#8c8c8c}.body--V34MsV9R{padding:9px 4px 4px}.scrollable--LudR_5Pj{max-height:462px;overflow-y:auto}.message--iVQBlD6k:not(:first-child){margin-top:6px}.role-assistant--Y8vd9Oms,\n.role-user--nAW4Hzsu{background:var(--cruise-canvas-input-background);border-radius:9px;border:1px solid #ccd1de;padding:6px 16px}.role-user--nAW4Hzsu{white-space:pre-wrap}.role-user--nAW4Hzsu:empty{display:none}.human-input--wFc6ovnT{margin-top:1em;display:block;width:100%;padding:10px 16px;color:inherit;background:var(--cruise-canvas-input-background);box-shadow:var(--cruise-canvas-input-box-shadow);border-radius:9px;border:none;font-size:14px;line-height:22px;height:64px}.human-input--wFc6ovnT:focus{outline:none}.human-input--wFc6ovnT::placeholder{color:#bfbfbf}.node-job--soTYrcA7 *::-webkit-scrollbar{width:5px;height:5px;background:transparent}.node-job--soTYrcA7 *::-webkit-scrollbar-thumb{background-color:#d8d8d8;border-radius:3px}.node-job--soTYrcA7 *::-webkit-scrollbar-track{background:transparent}.view-container--ra1sVc4C{margin-top:10px}`,""]),d.locals={"node-job":"node-job--soTYrcA7",active:"active--WIcgH7xW",background:"background--CKldFV7M","fit-content":"fit-content--HuAZHd31",large:"large--bn_n8RL5",error:"error--IwtdD0T6",heading:"heading--GZqrhPqL",body:"body--V34MsV9R",scrollable:"scrollable--LudR_5Pj",message:"message--iVQBlD6k","role-assistant":"role-assistant--Y8vd9Oms","role-user":"role-user--nAW4Hzsu","human-input":"human-input--wFc6ovnT","view-container":"view-container--ra1sVc4C"};const p=d},58905:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a),i=n(20062),l=n.n(i),c=new URL(n(36811),n.b),d=s()(r()),u=l()(c);d.push([e.id,`.node-start--Mrh1iP5r{width:65px;height:65px;position:relative;overflow:visible}.icon--NxC4u6Wl{width:75px;height:75px;background-image:url(${u});background-size:75px 75px;background-repeat:no-repeat;background-position:center;position:absolute;left:-5px;top:-1px}`,""]),d.locals={"node-start":"node-start--Mrh1iP5r",icon:"icon--NxC4u6Wl"};const p=d},63747:(e,t,n)=>{e.exports=n.p+"images/98d93242.png"},65005:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a)()(r());s.push([e.id,".node-instruction--Gu7k6RDs{max-width:437px;max-width:min(437px,90vw);background:rgba(255,255,255,0.2);box-shadow:0px 4px 10px 0px rgba(54,64,80,0.08);border-radius:9999px;border:1px solid rgba(255,255,255,0.284);padding:6px 16px;color:rgba(0,0,0,0.45)}.text--jsSeLl7B{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;--shine-text-color:rgba(0,0,0,0.45);--shine-text-highlight-color:#dcdcdc}",""]),s.locals={"node-instruction":"node-instruction--Gu7k6RDs",text:"text--jsSeLl7B"};const i=s},77221:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a)()(r());s.push([e.id,".node-end--yzRaOZnC{display:flex;flex-direction:column;align-items:center;gap:20px}.content--iXSH199p{display:flex;align-items:center}.icon--IVcHjGFO{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#fff;background:#29cc49;border-radius:18px;font-size:14px;margin-right:6px}.text--dW7Y74et{font-weight:500}.button--mkIwsPzt{width:120px;height:30px;background:rgba(0,0,0,0.04);border:none;border-radius:15px;text-align:center;cursor:pointer}.button--mkIwsPzt:hover{background:rgba(0,0,0,0.08)}.button--mkIwsPzt:active{background:rgba(0,0,0,0.15)}.button--mkIwsPzt:focus{outline:none}",""]),s.locals={"node-end":"node-end--yzRaOZnC",content:"content--iXSH199p",icon:"icon--IVcHjGFO",text:"text--dW7Y74et",button:"button--mkIwsPzt"};const i=s},83865:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a)()(r());s.push([e.id,".zoom-bar--MTw5VGPl{left:20px;bottom:20px}@media (max-width: 1123px){.zoom-bar--MTw5VGPl{left:auto;bottom:auto;top:20px;right:20px}}",""]),s.locals={"zoom-bar":"zoom-bar--MTw5VGPl"};const i=s},87545:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a)()(r());s.push([e.id,'.detail--JiiWugxP{margin-top:20px;color:#595959;margin-bottom:7px}.code-block--wccWPbbW::part(pre){border:1px solid #ccd1de}.code-fallback--a8nCduaZ [class*="code-wrapper--"]::part(pre){white-space:pre-wrap;background:#fef5f3!important}.progress-container--tFUAQo73,\n.stream-message--G0tAm9aa{border-radius:9px;border:1px solid #ccd1de;background:#fff}.progress-container--tFUAQo73{padding:6px 2px}.progress-fallback--Xto82BYu{background:#fef5f3}.stream-message--G0tAm9aa{padding:1em;margin:0.5em 0}.markdown-block--C3siNgW9{border:1px solid #ccd1de;border-radius:9px;padding:1em;background:#fff}',""]),s.locals={detail:"detail--JiiWugxP","code-block":"code-block--wccWPbbW","code-fallback":"code-fallback--a8nCduaZ","progress-container":"progress-container--tFUAQo73","stream-message":"stream-message--G0tAm9aa","progress-fallback":"progress-fallback--Xto82BYu","markdown-block":"markdown-block--C3siNgW9"};const i=s},91417:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(36758),r=n.n(o),a=n(40935),s=n.n(a)()(r());s.push([e.id,".error--D_UJOZDA{color:var(--color-error);padding:8px;white-space:pre-wrap;word-break:break-word}",""]),s.locals={error:"error--D_UJOZDA"};const i=s},91776:(e,t,n)=>{e.exports=n.p+"images/a1d108f4.png"}}]);
2
+ //# sourceMappingURL=9496.08074e2b.js.map