@next-bricks/ai-portal 0.58.2 → 0.58.3

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 (55) hide show
  1. package/dist/bricks.json +43 -39
  2. package/dist/chunks/1488.d2c97a97.js +2 -0
  3. package/dist/chunks/1488.d2c97a97.js.map +1 -0
  4. package/dist/chunks/151.a5affad6.js +2 -0
  5. package/dist/chunks/151.a5affad6.js.map +1 -0
  6. package/dist/chunks/2232.fa4338ad.js +2 -0
  7. package/dist/chunks/2232.fa4338ad.js.map +1 -0
  8. package/dist/chunks/2324.c7c2427a.js +2 -0
  9. package/dist/chunks/2324.c7c2427a.js.map +1 -0
  10. package/dist/chunks/9496.9bf2d483.js +2 -0
  11. package/dist/chunks/9496.9bf2d483.js.map +1 -0
  12. package/dist/chunks/chat-box.041da849.js +2 -0
  13. package/dist/chunks/chat-box.041da849.js.map +1 -0
  14. package/dist/chunks/chat-input.2c5e645b.js +2 -0
  15. package/dist/chunks/chat-input.2c5e645b.js.map +1 -0
  16. package/dist/chunks/chat-stream.6ca6e5c4.js +2 -0
  17. package/dist/chunks/chat-stream.6ca6e5c4.js.map +1 -0
  18. package/dist/chunks/cruise-canvas.12cab553.js +2 -0
  19. package/dist/chunks/cruise-canvas.12cab553.js.map +1 -0
  20. package/dist/chunks/{main.f26590db.js → main.17b51dc3.js} +2 -2
  21. package/dist/chunks/{main.f26590db.js.map → main.17b51dc3.js.map} +1 -1
  22. package/dist/chunks/notice-dropdown.37b8ffb2.js.map +1 -1
  23. package/dist/examples.json +18 -18
  24. package/dist/{index.734b36bb.js → index.fd3d8371.js} +2 -2
  25. package/dist/{index.734b36bb.js.map → index.fd3d8371.js.map} +1 -1
  26. package/dist/manifest.json +320 -300
  27. package/dist/types.json +1500 -1387
  28. package/dist-types/chat-stream/ChatStream.d.ts +2 -1
  29. package/dist-types/chat-stream/index.d.ts +5 -1
  30. package/dist-types/cruise-canvas/CruiseCanvas.d.ts +1 -1
  31. package/dist-types/cruise-canvas/index.d.ts +7 -0
  32. package/dist-types/notice-dropdown/index.d.ts +1 -12
  33. package/dist-types/shared/FileUpload/UploadButton.d.ts +1 -3
  34. package/dist-types/shared/bricks.d.ts +10 -0
  35. package/dist-types/shared/interfaces.d.ts +7 -0
  36. package/dist-types/shared/useFilesUploading.d.ts +5 -3
  37. package/package.json +2 -2
  38. package/dist/chunks/1488.7acd87b5.js +0 -2
  39. package/dist/chunks/1488.7acd87b5.js.map +0 -1
  40. package/dist/chunks/151.b87bccc0.js +0 -2
  41. package/dist/chunks/151.b87bccc0.js.map +0 -1
  42. package/dist/chunks/2232.8b3d46e2.js +0 -2
  43. package/dist/chunks/2232.8b3d46e2.js.map +0 -1
  44. package/dist/chunks/7041.ff8d9ead.js +0 -2
  45. package/dist/chunks/7041.ff8d9ead.js.map +0 -1
  46. package/dist/chunks/9496.9be62b7c.js +0 -2
  47. package/dist/chunks/9496.9be62b7c.js.map +0 -1
  48. package/dist/chunks/chat-box.1b2a4a02.js +0 -2
  49. package/dist/chunks/chat-box.1b2a4a02.js.map +0 -1
  50. package/dist/chunks/chat-input.3ca07b82.js +0 -2
  51. package/dist/chunks/chat-input.3ca07b82.js.map +0 -1
  52. package/dist/chunks/chat-stream.a7c4f58d.js +0 -2
  53. package/dist/chunks/chat-stream.a7c4f58d.js.map +0 -1
  54. package/dist/chunks/cruise-canvas.b444c4ca.js +0 -2
  55. package/dist/chunks/cruise-canvas.b444c4ca.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/2324.c7c2427a.js","mappings":"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","sources":["webpack:///./src/shared/FileUpload/i18n.ts","webpack:///./src/shared/FileUpload/GlobalDragOverlay.module.css?40e0","webpack:///./src/shared/FileUpload/GlobalDragOverlay.tsx","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/shared/FileUpload/acceptFiles.ts","webpack:///../../../src/utils/getMirroredStyle.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","\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","// 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\n className={classNames(\"file\", {\n failed: status === \"failed\",\n uploading: status === \"uploading\",\n })}\n >\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, UploadOptions } from \"./interfaces\";\nimport { acceptFiles } from \"./FileUpload/acceptFiles\";\n// import { getNextUid } from \"./FileUpload/UploadButton\";\n\nlet uid = 0;\n\nexport function getNextUid() {\n return uid++;\n}\n\nexport function useFilesUploading(options?: UploadOptions) {\n const enabled = options?.enabled;\n const accept = options?.accept;\n const maxFiles = options?.maxFiles;\n const dragTips = options?.dragTips;\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: File[]) => {\n setFiles((prev) => {\n const list = [\n ...(prev ?? []),\n ...newFiles.map<FileItem>((file) => ({\n uid: getNextUid(),\n file,\n status: \"ready\",\n })),\n ];\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 const paste = useCallback(\n (e: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (!enabled) {\n return;\n }\n const fileList = e.clipboardData.files;\n if (fileList.length > 0 && enabled) {\n e.preventDefault();\n e.stopPropagation();\n const files = [...fileList];\n if (accept) {\n const allFilesAccepted = acceptFiles(accept, files);\n if (!allFilesAccepted) {\n handleHttpError(dragTips!);\n return;\n }\n }\n appendFiles(files);\n }\n },\n [enabled, accept, dragTips, appendFiles]\n );\n\n return {\n files,\n resetFiles,\n appendFiles,\n removeFile,\n hasFiles,\n allFilesDone,\n fileInfos,\n exceeded,\n paste,\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:6px;display:flex;width:200px;height:60px;align-items:center;padding:0 8px;position:relative}.file.uploading::before{content:\"\";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,0.06);border-radius:6px;animation:loadingAnimation 1.5s linear infinite}@keyframes loadingAnimation{0%{right:100%}100%{right:0}}.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:6px;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:6px}.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:6px;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 { 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\nexport interface UploadButtonProps {\n accept?: string;\n disabled?: boolean;\n onChange?: (files: File[]) => 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 if (files) {\n onChange?.(Array.from(files));\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","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","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","// 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","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","GlobalDragOverlay","_ref","disabled","accept","dragTips","onFilesDropped","isDragging","setIsDragging","useState","dragCounterRef","useRef","useEffect","current","handleDragEnter","e","_e$dataTransfer","preventDefault","stopPropagation","target","composedPath","HTMLElement","tagName","Array","from","dataTransfer","items","some","item","kind","handleDragLeave","handleDragOver","handleDrop","files","length","acceptFiles","handleHttpError","window","addEventListener","removeEventListener","createPortal","React","className","styles","overlay","src","dragImage","width","height","title","description","document","body","___CSS_LOADER_EXPORT___","push","module","id","WrappedIcon","wrapBrick","UploadedFiles","maxFiles","onRemove","onAdd","showAsImage","every","file","type","startsWith","classNames","onClick","map","FileComponent","_extends","key","uid","lib","icon","_ref2","status","abortController","getFileTypeAndIcon","name","size","formatFileSize","isImage","image","setImage","url","URL","createObjectURL","revokeObjectURL","buttonRemove","theme","failed","spinning","uploading","useFilesUploading","enabled","setFiles","hasFiles","forEach","async","fileItem","AbortController","prevFiles","formData","FormData","append","response","http","request","method","signal","fileInfo","data","error","allFilesDone","setAllFilesDone","fileInfos","setFileInfos","initialRef","appendFiles","useCallback","newFiles","prev","list","slice","resetFiles","removeFile","filter","exceeded","paste","fileList","clipboardData","toString","WrappedIconButton","ICON_UPLOAD","UploadButton","forwardRef","LegacyUploadButton","ref","onChange","inputRef","useImperativeHandle","requestUpload","_inputRef$current","click","multiple","hidden","value","variant","tooltip","_inputRef$current2","acceptedTypes","split","trim","mimeType","toLowerCase","endsWith","baseType","HIDDEN_STYLE","SIZING_STYLE","getMirroredStyle","element","uiTextNodeStyle","getComputedStyle","getPropertyValue","join","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:()=>s});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a)()(r());i.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}}",""]),i.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 s=i},24105:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a)()(r());i.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}}",""]),i.locals={loading:"loading--LlSQxd6c",inner:"inner--I4b7rAPw"};const s=i},24863:(e,t,n)=>{n.d(t,{B:()=>Vt});var o=n(18769),r=n.n(o),a=n(30348),i=(n(34419),n(53373)),s=n.n(i),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,i=a.y+a.height;a.x<t&&(t=a.x),e>o&&(o=e),a.y<n&&(n=a.y),i>r&&(r=i)}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),x=n(30855),h=n.n(x),y=n(93051),w=n.n(y),k=n(73656),E=n.n(k),A=n(27110),P={};P.styleTagTransform=E(),P.setAttributes=h(),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>",z="<FEEDBACK>",M="<LOADING>",B="<REPLAY>",_=20,F=20,D=122,V=160,H=40,O=42,Y=10,U=/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 W=n(57617),q={};q.styleTagTransform=E(),q.setAttributes=h(),q.insert=g().bind(null,"head"),q.domAPI=b(),q.insertStyleElement=w(),m()(W.A,q);const G=W.A&&W.A.locals?W.A.locals:void 0;function K(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey&&U?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=h(),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),ie=n(40177);const se={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:i,onSwitchToChat:s}=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:ie.$g,onClick:s}),r().createElement("div",{className:oe.A.divider})),r().createElement(re.Py,{variant:"mini",icon:se,onClick:i,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=h(),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),xe=n(36137),he={};he.styleTagTransform=E(),he.setAttributes=h(),he.insert=g().bind(null,"head"),he.domAPI=b(),he.insertStyleElement=w(),m()(xe.A,he);const ye=xe.A&&xe.A.locals?xe.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:i,cmd:l,mentionedAiEmployeeId:c,files:d}=e;const{setActiveFile:u}=(0,o.useContext)(Ee.j);return r().createElement("div",{className:s()(ye["node-requirement"],{[ye.active]:i})},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||c)&&r().createElement(we._,{cmd:l,mentionedAiEmployeeId:c,size:"small"}),n,null!=d&&d.length?r().createElement(ke.$,{files:d,onFileClick:u}):null))}var Te=n(65005),Se={};Se.styleTagTransform=E(),Se.setAttributes=h(),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:s()(Ne.text,{[Ce.A["shine-text"]]:n}),title:t},t))}var je=n(89575),Re=n(39649),Le=n(29386),ze=n(42854),Me=n(35430);const Be=n.p+"images/8834094d.png";var _e=n(25313),Fe={};Fe.styleTagTransform=E(),Fe.setAttributes=h(),Fe.insert=g().bind(null,"head"),Fe.domAPI=b(),Fe.insertStyleElement=w(),m()(_e.A,Fe);const De=_e.A&&_e.A.locals?_e.A.locals:void 0;var Ve=n(24564);const He=(0,be.wrapBrick)("eo-avatar");function Oe(e){let{aiEmployeeId:t}=e;return r().createElement(o.Suspense,{fallback:r().createElement(He,{className:De.avatar,showName:!0,size:"xs",name:t,src:Be})},r().createElement(Ye,{aiEmployeeId:t}))}function Ye(e){let{aiEmployeeId:t}=e;const n=(0,o.useMemo)((()=>(0,Ve.v)(t)),[t]),a=(0,o.use)(n),i=(0,o.useMemo)((()=>{if(!a)return{name:t,src:Be};const{name:e,avatar:n}=a;return{name:e,src:n?new URL(n,location.origin).toString():Be}}),[a,t]);return r().createElement(He,(0,je.A)({className:De.avatar,showName:!0,size:"xs"},i))}var Ue=n(86976),We=n(31078),qe=n(89064);const Ge=/^\s*\|(?:\s*:?-+:?\s*\|){4,}\s*$/m;function Ke(e){var t,n;let{job:a,active:i,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 s of e.parts){var a;if("data"===s.type)switch(null===(a=s.data)||void 0===a?void 0:a.type){case"markdown":t.push(s.data.content);break;case"cmdb_instance_detail":var i;n.push(s.data),r||(r=Object.keys("object"===(null===(i=s.data)||void 0===i||null===(i=i.outputSchema)||void 0===i?void 0:i.type)?s.data.outputSchema.properties:s.data.detail).length>6)}else"file"===s.type&&o.push(s.file)}}));const i=t.join("");return r=r||Ge.test(i),[i,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:s()(G["node-job"],{[G.error]:a.isError,[G.active]:i,[G.large]:m||"large"===f})},r().createElement("div",{className:G.background}),a.aiEmployeeId?r().createElement("div",{className:G.heading},r().createElement(Oe,{aiEmployeeId:a.aiEmployeeId}),a.generatedView?r().createElement(qe.v,{job:a}):null):null,r().createElement("div",{className:G.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:s()(G.message,Ce.A.markdown,{[G["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:s()(G.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(ze.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(Me.n,{action:a.requestHumanAction})),a.generatedView?r().createElement(Je,{job:a,onSizeChange:v}):null)}function Je(e){let{job:t,onSizeChange:n}=e;const a=(0,o.useRef)(null),{setHoverOnScrollableContent:i}=(0,o.useContext)(We.Q),s=(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}}i(n)}),[i]),l=(0,o.useCallback)((()=>{i(!1)}),[i]);return r().createElement("div",{className:G["view-container"],ref:a,onMouseMove:s,onMouseLeave:l},r().createElement(Ue.y,{job:t,noHeading:!0,onSizeChange:n}))}var $e=n(77221),Ze={};Ze.styleTagTransform=E(),Ze.setAttributes=h(),Ze.insert=g().bind(null,"head"),Ze.domAPI=b(),Ze.insertStyleElement=w(),m()($e.A,Ze);const Qe=$e.A&&$e.A.locals?$e.A.locals:void 0;function Xe(){const{onShare:e,replay:t}=(0,o.useContext)(Ee.j);return r().createElement("div",{className:Qe["node-end"]},t&&r().createElement("div",{className:Qe.content},r().createElement("span",{className:Qe.icon},r().createElement(re.Bj,{lib:"fa",prefix:"fas",icon:"check"})),r().createElement("span",{className:Qe.text},(0,ae.t)(ae.K.TASK_COMPLETED))),!t&&r().createElement("button",{className:Qe.button,onClick:e},(0,ae.t)(ae.K.SHARE)))}var et=n(87545),tt={};tt.styleTagTransform=E(),tt.setAttributes=h(),tt.insert=g().bind(null,"head"),tt.domAPI=b(),tt.insertStyleElement=w(),m()(et.A,tt);const nt=et.A&&et.A.locals?et.A.locals:void 0;var ot=n(39439),rt=n(20555);function at(){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),i=n.toolCall,l=null===(t=i.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 i;if("data"===t.type)switch(null===(i=t.data)||void 0===i?void 0:i.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)(at);(0,o.useEffect)((()=>{const e=()=>{b(at)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);const v=d.length>0||!!c,g=u.length>0,x=["working","input-required"].includes(n.state)&&v||g?"completed":n.state,h=n.isError||"failed"===x;return r().createElement(re.xb,{ref:m,customTitle:l||i.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:nt.detail},r().createElement("div",{className:nt.heading},(0,ae.t)(ae.K.ARGUMENTS),":"),r().createElement("div",{className:`${nt.body} ${Ce.A.markdown}`},r().createElement(st,{content:i.originalArguments,maybeJson:!0,fallbackAsMarkdown:!0}))),v&&r().createElement("div",{className:nt.detail},r().createElement("div",{className:nt.heading},(0,ae.t)(ae.K.PROCESS),":"),r().createElement("div",{className:nt.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:s()(nt["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(st,{content:JSON.stringify(e)}))})),!!c&&r().createElement("div",{className:s()(nt["progress-container"],{[nt["progress-fallback"]]:h})},r().createElement(ot.W,{progress:c,failed:h})))),g&&r().createElement("div",{className:nt.detail},r().createElement("div",{className:nt.heading},(0,ae.t)(ae.K.RESPONSE),":"),r().createElement("div",{className:`${nt.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(st,{key:t,content:"text"===e.type?e.text:JSON.stringify(e),maybeJson:"text"===e.type})})))))}function st(e){let{content:t,maybeJson:n,fallbackAsMarkdown:a}=e;const[i,s,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:nt["markdown-block"]},r().createElement(Le.w,{className:Ce.A["markdown-wrapper"],content:i})):s?r().createElement("div",{className:nt["code-fallback"]},r().createElement(rt.j,null,r().createElement("code",null,i))):r().createElement(re.yQ,{className:nt["code-block"],source:i,language:"json",themeVariant:"elevo"})}var lt=n(41030);function ct(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}var dt=n(62309),ut=n(7017),pt={};pt.styleTagTransform=E(),pt.setAttributes=h(),pt.insert=g().bind(null,"head"),pt.domAPI=b(),pt.insertStyleElement=w(),m()(ut.A,pt);const mt=ut.A&&ut.A.locals?ut.A.locals:void 0;function ft(e){let{nav:t,currentNavId:n,taskState:a,onClick:i}=e;const s=(0,o.useRef)(null);return(0,o.useEffect)((()=>{var e;const t=s.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=s.current;if(!e||n)return;const o=null==t?void 0:t.findLast((e=>ie.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:mt.container},r().createElement("ul",{className:mt.nav,ref:s},null==t?void 0:t.map((e=>r().createElement(bt,(0,je.A)({key:e.id},e,{currentNavId:n,taskState:a,onClick:i}))))))}function bt(e){let{id:t,title:n,state:a,level:i,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:mt.completed,icon:{lib:"fa",prefix:"fas",icon:"check"}};case"submitted":case"working":return"terminated"===t?{icon:{lib:"fa",prefix:"far",icon:"circle-stop"}}:{className:mt.working,icon:{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}};case"input-required":return{className:mt["input-required"],icon:{lib:"fa",prefix:"far",icon:"circle-user"}};case"failed":return{className:mt.failed,icon:{lib:"fa",prefix:"fas",icon:"xmark"}};case"canceled":case"terminated":return{className:mt.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:s()(mt.item,{[mt.active]:c===t}),style:{marginLeft:20*i+"px"}},r().createElement("a",{className:s()(mt.link,p,{[mt.disabled]:d}),"data-job-id":t,title:n,onClick:()=>{d||u(t)}},r().createElement(re.Bj,(0,je.A)({className:mt.icon},m)),r().createElement("span",{className:mt.text},n)))}var vt=n(70046),gt=n(94625),xt=n(24105),ht={};ht.styleTagTransform=E(),ht.setAttributes=h(),ht.insert=g().bind(null,"head"),ht.domAPI=b(),ht.insertStyleElement=w(),m()(xt.A,ht);const yt=xt.A&&xt.A.locals?xt.A.locals:void 0;function wt(){return r().createElement("div",{className:yt.loading},r().createElement("div",{className:yt.inner}))}var kt=n(60709),Et=n(54998),At={};At.styleTagTransform=E(),At.setAttributes=h(),At.insert=g().bind(null,"head"),At.domAPI=b(),At.insertStyleElement=w(),m()(Et.A,At);const Pt=Et.A&&Et.A.locals?Et.A.locals:void 0;var Tt=n(75321);const St=[{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>;"}],Nt=r().lazy((async()=>({default:await(0,kt.asyncWrapBrick)("vs.code-editor",{onCodeChange:"code.change"})})));function Ct(){var e,t;const{workspace:n,manuallyUpdatedViews:a,updateView:i,activeJsxEditorJob:s,setActiveJsxEditorJob:l}=(0,o.useContext)(Ee.j),c=null!==(e=null==a?void 0:a.get(s.id))&&void 0!==e?e:s.generatedView,d=c.code,[u,p]=(0,o.useState)(d),m=(0,o.useMemo)((()=>{var e;const t=St;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:Pt.container},r().createElement("div",{className:Pt.editor},r().createElement("div",{className:Pt.header},r().createElement("span",{className:Pt.title},"JSX Editor"),r().createElement(re.Py,{icon:ie.LQ,onClick:()=>{null==l||l(void 0)}})),r().createElement("div",{className:Pt.body},r().createElement("div",{className:Pt.content},r().createElement(o.Suspense,{fallback:"Loading..."},r().createElement(Nt,{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:Pt.footer},r().createElement(re.Gx,{themeVariant:"elevo",type:"primary",onClick:()=>{const e={...c,code:u};e.asyncConstructedView=(0,Tt.e)(e,n),null==i||i(s.id,e),null==l||l(void 0)}},"Save"))))}var It=n(91417),jt={};jt.styleTagTransform=E(),jt.setAttributes=h(),jt.insert=g().bind(null,"head"),jt.domAPI=b(),jt.insertStyleElement=w(),m()(It.A,jt);const Rt=It.A&&It.A.locals?It.A.locals:void 0;function Lt(e){let{content:t}=e;return r().createElement("div",{className:s()(G["node-job"],G.error)},r().createElement("div",{className:Rt.error},t))}var zt=n(98153),Mt=n(88253),Bt=n(2367);function _t(e){let{type:t,active:n,flow:o,activity:a}=e;return r().createElement("div",{className:s()(G["node-job"],{[G.active]:n})},r().createElement("div",{className:G.background}),r().createElement("div",{className:G.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 Ft=n(86241);const Dt=(0,o.memo)(Ht);function Vt(e,t){var n;let{conversationId:i,initialRequest:l,replay:p,replayDelay:m,supports:f,showHiddenJobs:b,showHumanActions:v,showFeedback:g,showFeedbackAfterFailed:x,showFeedbackOnView:h,showUiSwitch:y,showJsxEditor:w,previewUrlTemplate:k,showCases:E,exampleProjects:A,tryItOutUrl:P,separateInstructions:S,uploadOptions:N,toolbarBrick:C,onShare:W,onTerminate:q,onSubmitFeedback:J,onSwitchToChat:ee,onFeedbackOnView:te,onDetailChange:ne}=e;const oe=(0,o.useRef)(null),{conversation:ae,tasks:se,serviceFlows:le,errors:ce,humanInputRef:ue,skipToResults:pe,watchAgain:me}=(0,Q.u)(i,l,p,m),{flowMap:fe,activityMap:be}=(0,Mt.o)(le),ve=function(e,t,n,r,a,i){const{showHumanActions:s,separateInstructions:l}=null!=i?i:{};return(0,o.useMemo)((()=>{if(!e)return null;const{chunks:o,jobMap:i}=(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,i=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===i||e!==o[0]&&1!==r.length){var x;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!==(x=n.toolCall)&&void 0!==x&&null!==(x=x.annotations)&&void 0!==x&&x.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}),s&&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!==i&&"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:i,username:b,cmd:n.cmd,mentionedAiEmployeeId:n.mentionedAiEmployeeId,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:M});else{let e=0;for(const t of f)if(!d.some((e=>e.source===t))){const n=`${M}:${e++}`;c.push({type:"loading",id:n}),d.push({source:t,target:n})}}return{nodes:c,edges:d,nav:u,views:p,jobMap:i}}),[e,n,l,s,t,r,a])}(ae,se,ce,fe,be,{showHiddenJobs:b,showHumanActions:v,separateInstructions:S}),ge=null==ve?void 0:ve.nodes,xe=null==ve?void 0:ve.edges,he=null==ve?void 0:ve.nav,ye=null==ve?void 0:ve.views,we=null==ve?void 0:ve.jobMap,ke=null!==(n=null==ae?void 0:ae.title)&&void 0!==n?n:"",Ae=null==ae?void 0:ae.state,[Pe,Te]=(0,o.useState)(null),Se=(0,o.useMemo)((()=>{if(Pe){const[e,t]=Pe.split(":");if("job"===e||"view"===e)return t}return null}),[Pe]);(0,o.useEffect)((()=>{ne({projectId:null==ae?void 0:ae.projectId})}),[ne,null==ae?void 0:ae.projectId]);const[Ne,Ce]=(0,o.useState)(!1),[Ie,je]=(0,o.useState)(!1),[Re,Le]=(0,o.useState)(!!g);(0,o.useEffect)((()=>{Le(!!g)}),[g]);const[ze,Me]=(0,o.useState)(),Be=(0,o.useCallback)((e=>{Ce(!0),J(e)}),[J]);(0,o.useImperativeHandle)(t,(()=>({feedbackSubmitDone:()=>{je(!0),setTimeout((()=>{Le(!1)}),3e3)},feedbackSubmitFailed:()=>{Ce(!1)},feedbackOnViewDone:e=>{Me((t=>{const n=new Set(t);return n.add(e),n}))}})),[]);const _e=(0,o.useRef)(!1);(0,o.useEffect)((()=>{const e=setTimeout((()=>{_e.current=!0}),3e3);return()=>{clearTimeout(e)}}),[]),(0,o.useEffect)((()=>{(0,a.getRuntime)().applyPageTitle(ke)}),[ke]);const Fe=(0,o.useCallback)(((e,t,n)=>{var o;null===(o=ue.current)||void 0===o||o.call(ue,e,t,n)}),[ue]),[De,Ve]=(0,o.useState)(null),He=(0,o.useCallback)(((e,t)=>{Ve((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:Oe,nodes:Ye,edges:Ue}=function(e){let{rawNodes:t,rawEdges:n,sizeMap:r,completed:a,failed:i,finished:s,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=i&&l&&c,v=d?s: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)s&&(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:z,type:"feedback"});for(const e of t)o.push({source:e,target:z})}}const x=u.current;if(x)for(const t of e){const e=x.get(t.id);e&&(t.view=e)}return{initialNodes:e,initialEdges:o}}),[t,n,a,i,s,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),i=Z(a,n),s=i.y-(a.height+H)/2,l=[{x:r.x,y:r.y+o.height/2},{x:r.x,y:s},{x:i.x,y:s},{x:i.x,y:i.y-a.height/2}];return{...e,points:l}}))}}),[m,p,r])}({rawNodes:ge,rawEdges:xe,completed:"completed"===Ae,failed:"failed"===Ae,finished:null==ae?void 0:ae.finished,sizeMap:De,showFeedback:Re,showFeedbackAfterFailed:x,replay:p}),qe=(0,o.useRef)(!1),Ge=(0,o.useRef)(!1),[Ke,Je]=(0,o.useState)(!1),{grabbing:$e,transform:Ze,transformRef:Qe,zoomer:Xe}=function(e){let{rootRef:t,zoomable:n,scrollable:r,pannable:a,pannableWithCtrl:i,scaleRange:s,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!=s?s:[I,j]),[s]),x=(0,o.useMemo)((()=>(0,d.s_)().wheelDelta(K)),[]);return(0,o.useEffect)((()=>{let e=!1;x.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:i?a||e.ctrlKey:!e.ctrlKey)&&!e.button))}),[u,g,n,x,i,a]),(0,o.useEffect)((()=>{if(i){const e=e=>{e.ctrlKey&&e.preventDefault()};return document.addEventListener("contextmenu",e,!0),()=>{document.removeEventListener("contextmenu",e,!0)}}}),[i]),(0,o.useEffect)((()=>{const e=t.current;if(!e)return;const o=(0,c.A)(e),s=()=>{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(`.${G.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(),x.translateBy(o,e.wheelDeltaX/5,e.wheelDeltaY/5))}})),o.call(x).on("wheel",(e=>{(r||n&&e.ctrlKey)&&e.preventDefault()})).on("dblclick.zoom",null),a||i||o.on("mousedown.zoom",null),a||o.on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),s;s()}),[i,a,t,l,r,n,x]),{grabbing:p,transform:f,transformRef:v,zoomer:x,scaleRange:g}}({rootRef:oe,zoomable:Oe,scrollable:Oe&&!Ke,pannable:Oe,manualScrolledUpRef:Ge}),et=(0,o.useRef)(!1),tt=(0,o.useMemo)((()=>{let e=null;const t=n=>{const o=Qe.current,r="function"==typeof n?n(o):n;if(!r)return;const{transform:a,translateBy:i}=r;let s=(0,c.A)(oe.current);var l,u,p,m,f,b;_e.current&&0!==r.duration&&(et.current=!0,s=s.transition().duration(null!==(l=r.duration)&&void 0!==l?l:300).ease((e=>e*(2-e))).on("end",(()=>{if(et.current=!1,e){const n=e;e=null,t(n)}}))),a?Xe.transform(s,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)):Xe.translateBy(s,null!==(f=i[0])&&void 0!==f?f:0,null!==(b=i[1])&&void 0!==b?b:0)};return n=>{et.current?e=n:t(n)}}),[Qe,Xe]),{centered:nt,setCentered:ot,reCenterRef:rt}=function(e){let{nodes:t,sizeReady:n,zoomer:r,rootRef:a,pushZoomTransition:i}=e;const[s,l]=(0,o.useState)(!1),c=(0,o.useRef)(!1);return(0,o.useEffect)((()=>{const e=a.current;if(n&&e&&!s&&t.length>0){const{x:n,y:o,width:r,height:a}=u(t.map((e=>e.view))),s=n+r,d=o+a,p=(e.clientWidth-(s+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}i({transform:{k:1,x:p,y:m},duration:c.current?void 0:0}),l(!0)}c.current=!1}),[s,t,a,n,r,i]),{centered:s,setCentered:l,reCenterRef:c}}({nodes:Ye,sizeReady:Oe,zoomer:Xe,rootRef:oe,pushZoomTransition:tt}),at=ie.QB.includes(Ae)||"input-required"===Ae,st=(0,o.useMemo)((()=>new Set(Ue.map((e=>e.source)))),[Ue]),ut=(0,o.useMemo)((()=>{if(!Oe)return null;const e=[];for(const t of Ye)st.has(t.id)||e.push(t);return e.length>0?Math.max(...e.map((e=>e.view.y+e.view.height))):null}),[Ye,st,Oe]),pt=(0,o.useRef)(null);(0,o.useEffect)((()=>{pt.current=ut}),[ut]),(0,o.useEffect)((()=>{const e=oe.current;!e||null===ut||qe.current&&Ge.current||tt((t=>{const{offsetHeight:n}=e,o=ut*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}))}),[ut,tt]),(0,o.useEffect)((()=>{const e=pt.current,t=oe.current;if(!t||null===e||et.current)return;const{offsetHeight:n}=t,o=e*Ze.k+Ze.y,r=n-D-o;qe.current=r<0}),[Ze,Xe]);const mt=(0,o.useCallback)((()=>{rt.current=!0,ot(!1)}),[rt,ot]),bt=(0,o.useCallback)((e=>{Xe.scaleTo((0,c.A)(oe.current),e)}),[Xe]),gt=(0,o.useMemo)((()=>Oe?u(Ye.map((e=>e.view))):null),[Ye,Oe]);(0,o.useEffect)((()=>{if(!gt)return;const e=oe.current;if(!e)return;const{offsetWidth:t,offsetHeight:n}=e,o=t/Ze.k,r=n/Ze.k,a=-(o-20-gt.x),i=o-20+(gt.x+gt.width),s=-(r-20-gt.y),l=r-20+(gt.y+gt.height);Xe.translateExtent([[a,s],[i,l]])}),[Xe,Ze.k,gt]);const xt=(0,o.useCallback)((e=>{let{nodeId:t,jobId:n,behavior:o,block:r}=e;const a=oe.current,i=Ye.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===i.length)return;const s=u(i.map((e=>e.view))),{x:l,y:c}=function(e,t,n,o,r){const[a,i]=t,[s,l,c,d]=n,{x:u,y:p,width:m,height:f}=e,b=u+m,v=p+f,g=s-(p*o.k+o.y),x=i-c-(v*o.k+o.y),h=g>0||"start"===r?g/o.k:x<0?x/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:h}}(s,[a.offsetWidth,a.offsetHeight],[_,F,D,V],Qe.current,r);(l||c)&&tt({translateBy:[l,c],duration:"instant"===o?0:void 0})}),[Ye,tt,Qe]),ht=(0,o.useCallback)(((e,t)=>{const n=oe.current;if(!n||!Oe)return;let o,r=0,a=0,i=300;const s="left"===e||"right"===e;if("line"===t)o=40*("up"===e||"left"===e?1:-1),i=150;else if("page"===t)o=(n.offsetHeight-D)*("up"===e?-1:1);else{const{y:t,height:r}=u(Ye.map((e=>e.view)));if("down"===e){const e=t+r-t+D;o=n.offsetHeight-e-Qe.current.y}else o=t+_-Qe.current.y}s?r=o:a=o,(r||a)&&tt({translateBy:[r,a],duration:i})}),[Ye,tt,Oe,Qe]),[yt,wt]=(0,o.useState)(null),[Et,At]=(0,o.useState)(null),[Pt,Tt]=(0,o.useState)(null),[St,Nt]=r().useState(null),[It,jt]=(0,o.useState)(),[Rt,Lt]=(0,o.useState)(),_t=(0,o.useCallback)(((e,t)=>{Lt((n=>{const o=new Map(n);return o.set(e,t),o}))}),[]),Vt=null==ge?void 0:ge[0],Ht=(0,o.useMemo)((()=>{if("requirement"===(null==Vt?void 0:Vt.type))return Vt.content}),[Vt]),Ot=i,Yt=(0,o.useMemo)((()=>({conversationId:i,conversationState:Ae,tasks:se,errors:ce,workspace:Ot,previewUrlTemplate:k,replay:p,showCases:E,exampleProjects:A,uploadOptions:N,humanInput:Fe,onShare:W,onTerminate:q,supports:f,activeExpandedViewJobId:Pt,setActiveExpandedViewJobId:Tt,activeDetail:yt,setActiveDetail:wt,subActiveDetail:Et,setSubActiveDetail:At,submittingFeedback:Ne,submittedFeedback:Ie,onSubmitFeedback:Be,setShowFeedback:Le,showJsxEditor:w,activeJsxEditorJob:It,setActiveJsxEditorJob:jt,manuallyUpdatedViews:Rt,updateView:_t,showFeedbackOnView:h,onFeedbackOnView:te,feedbackDoneViews:ze,skipToResults:pe,watchAgain(){me(),ot(!1)},tryItOut(){const e=window.open(`${(0,a.getBasePath)().slice(0,-1)}${null!=P?P:"/elevo"}`,"_blank");e&&(e.__elevo_try_it_out={content:Ht})},separateInstructions:S,setActiveFile:Nt})),[i,Ae,se,ce,Ot,k,p,E,A,N,Fe,q,W,f,Pt,yt,Et,Ne,Ie,Be,w,It,Rt,_t,h,te,ze,pe,me,ot,Ht,P,S]),Ut=(0,o.useMemo)((()=>({onNodeResize:He,setActiveNodeId:Te,hoverOnScrollableContent:Ke,setHoverOnScrollableContent:Je})),[Ke,He]),Wt=(0,Bt.U)(yt,we,fe,be),qt=(0,o.useCallback)((e=>{for(const t of e.nativeEvent.composedPath()){if(t instanceof HTMLElement&&t.classList.contains(T.node))return;if(t===oe.current)break}Te(null)}),[]);return(0,o.useEffect)((()=>{const e=oe.current;if(!e||Wt||Pt||St)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||!U&&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||!U&&e.metaKey)return;const i=(t,n)=>{if(e.metaKey&&"x"===t)return;const a="x"===t?"y":"x",i=ct(r.view),s=o.filter((e=>{let o,s;return e!==r&&"start"!==e.type&&"end"!==e.type&&"feedback"!==e.type&&"error"!==e.type&&"replay"!==e.type&&"instruction"!==e.type&&(s=ct(e.view),o=(s[t]-i[t])*n,o>0)&&o>Math.abs(i[a]-s[a])}));return(e.metaKey?lt.maxBy:lt.minBy)(s,(e=>{const n=ct(e.view);return(i[a]-n[a])**2+(i[t]-n[t])**2}))};let s,l;switch(a){case"ArrowLeft":l="switch-active-node",s=i("x",-1);break;case"ArrowUp":l="switch-active-node",s=i("y",-1);break;case"ArrowRight":l="switch-active-node",s=i("x",1);break;case"ArrowDown":l="switch-active-node",s=i("y",1);break;case"Escape":l="switch-active-node",s=null;break;case"Enter":l="enter",s=r}return l&&void 0!==s?{action:l,node:s}:void 0}(t,{activeNodeId:Pe,nodes:Ye});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&&wt({type:r.type,id:r.job.id}):"switch-active-node"===o&&(r?(Te(r.id),"job"===r.type?xt({jobId:r.job.id,behavior:"smooth"}):xt({nodeId:r.id,behavior:"smooth"})):Te(null))};return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}}),[yt,Wt,Pe,Pt,St,Ye,xt,ht]),r().createElement(Ee.j.Provider,{value:Yt},r().createElement(We.Q.Provider,{value:Ut},r().createElement("div",{className:s()(T.root,{[T.loading]:!ae}),ref:oe,style:{cursor:$e?"grabbing":"grab"},tabIndex:-1,onClick:qt},!ae&&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:s()(T.canvas,{[T.ready]:Oe&&nt}),style:{transform:`translate3d(${Ze.x}px, ${Ze.y}px, 0) scale(${Ze.k})`}},r().createElement("svg",{className:T.edges},Ue.map((e=>e.target===L||e.target===B||e.target===z?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(" ")})))),Ye.map((e=>{var t,n;return r().createElement(Dt,{key:e.id,id:e.id,type:e.type,username:e.username,content:e.content,cmd:e.cmd,mentionedAiEmployeeId:e.mentionedAiEmployeeId,files:e.files,job:e.job,flow:e.flow,activity:e.activity,startTime:null==ae?void 0:ae.startTime,instructionLoading:"instruction"===e.type&&!st.has(e.id)&&!ie.QB.includes(e.state)&&!ie.X4.includes(Ae),isLeaf:!st.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:Pe===e.id})})))),C&&r().createElement("div",{className:T.toolbar},r().createElement(kt.ReactUseMultipleBricks,{useBrick:C.useBrick})),r().createElement("div",{className:T.widgets},r().createElement(ft,{nav:he,currentNavId:Se,taskState:Ae,onClick:e=>{Te(`job:${e}`),xt({jobId:e,block:"start"})}}),r().createElement(de,{scale:Ze.k,showUiSwitch:y,onScaleChange:bt,onReCenter:mt,onSwitchToChat:ee}),p?!(null!=ae&&ae.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(vt.s,{state:Ae,canChat:at})):null),"job"===(null==Wt?void 0:Wt.type)&&r().createElement(it,{job:Wt.job}),Pt&&r().createElement(dt.f,{views:ye}),St&&r().createElement(Ft.s,{file:St}),w&&It&&r().createElement(Ct,null)))}function Ht(e){let{id:t,type:n,job:a,flow:i,activity:c,username:d,content:u,startTime:p,instructionLoading:m,isLeaf:f,x:b,y:v,active:g,cmd:x,mentionedAiEmployeeId:h,files:y}=e;const w=(0,o.useRef)(null),{onNodeResize:k,setActiveNodeId:E}=(0,o.useContext)(We.Q);(0,o.useEffect)((()=>{const e=w.current;if(!e)return;const n=new l.A((()=>{k(t,[e.offsetWidth,e.offsetHeight])}));return n.observe(e),()=>{n.disconnect(),k(t,null)}}),[t,k]),(0,o.useEffect)((()=>{const e=w.current;if(!e)return;const t=e=>{e.stopPropagation()};return e.addEventListener("mousedown",t),()=>{e.removeEventListener("mousedown",t)}}),[]);const A=(0,o.useCallback)((()=>{"start"!==n&&"instruction"!==n&&E(t)}),[t,E,n]);return r().createElement("div",{className:s()(T.node,{[T.ready]:null!=b&&null!=v}),ref:w,style:{left:b,top:v},onClick:A},"start"===n?r().createElement(fe,null):"end"===n?r().createElement(Xe,null):"feedback"===n?r().createElement(gt.k,null):"requirement"===n?r().createElement(Pe,{username:d,content:u,startTime:p,active:g,cmd:x,mentionedAiEmployeeId:h,files:y}):"loading"===n?r().createElement(wt,null):"error"===n?r().createElement(Lt,{content:u}):"replay"===n?r().createElement(zt.A,{finished:!0}):"flow"===n||"activity"===n?r().createElement(_t,{type:n,active:g,flow:i,activity:c}):"instruction"===n?r().createElement(Ie,{content:a.instruction,loading:m}):r().createElement(Ke,{job:a,active:g,isLeaf:f}))}},25313:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a)()(r());i.push([e.id,".avatar--v2FiKghW::part(avatar){background-color:rgb(213,214,230);padding:1px}",""]),i.locals={avatar:"avatar--v2FiKghW"};const s=i},27110:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a),s=n(20062),l=n.n(s),c=new URL(n(3921),n.b),d=i()(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}.toolbar--acU9Vqvm{position:absolute;display:flex;align-items:center;top:7px;right:14px;padding:6px 10px 6px 8px;transition:opacity 0.2s ease-in-out;background:rgba(255,255,255,0);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2}.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",toolbar:"toolbar--acU9Vqvm",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),i=n.n(a),s=n(20062),l=n.n(s),c=new URL(n(91776),n.b),d=i()(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:()=>s});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a)()(r());i.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)}",""]),i.locals={container:"container--qJxxNcfJ",editor:"editor--SCuHEqYM",header:"header--nRP4oDyL",title:"title--Tq8TUpVz",body:"body--uTZ0qYhS",content:"content--_WNf_qJr",footer:"footer--cblnjGHn"};const s=i},57617:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a),s=n(20062),l=n.n(s),c=new URL(n(63747),n.b),d=i()(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),i=n.n(a),s=n(20062),l=n.n(s),c=new URL(n(36811),n.b),d=i()(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:()=>s});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a)()(r());i.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}",""]),i.locals={"node-instruction":"node-instruction--Gu7k6RDs",text:"text--jsSeLl7B"};const s=i},77221:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a)()(r());i.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}",""]),i.locals={"node-end":"node-end--yzRaOZnC",content:"content--iXSH199p",icon:"icon--IVcHjGFO",text:"text--dW7Y74et",button:"button--mkIwsPzt"};const s=i},83865:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a)()(r());i.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}}",""]),i.locals={"zoom-bar":"zoom-bar--MTw5VGPl"};const s=i},87545:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a)()(r());i.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}',""]),i.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 s=i},91417:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a)()(r());i.push([e.id,".error--D_UJOZDA{color:var(--color-error);padding:8px;white-space:pre-wrap;word-break:break-word}",""]),i.locals={error:"error--D_UJOZDA"};const s=i},91776:(e,t,n)=>{e.exports=n.p+"images/a1d108f4.png"}}]);
2
+ //# sourceMappingURL=9496.9bf2d483.js.map