@next-bricks/ai-portal 0.65.3 → 0.65.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +33 -31
- package/dist/chunks/1999.f9846bc3.js +2 -0
- package/dist/chunks/1999.f9846bc3.js.map +1 -0
- package/dist/chunks/{2742.3340a00e.js → 2742.64fa013f.js} +2 -2
- package/dist/chunks/2742.64fa013f.js.map +1 -0
- package/dist/chunks/3186.f231329a.js +2 -0
- package/dist/chunks/3186.f231329a.js.map +1 -0
- package/dist/chunks/4208.a1a0dfdd.js +2 -0
- package/dist/chunks/4208.a1a0dfdd.js.map +1 -0
- package/dist/chunks/4864.1a321da4.js +2 -0
- package/dist/chunks/4864.1a321da4.js.map +1 -0
- package/dist/chunks/{5452.e451b025.js → 5452.bb5140b0.js} +2 -2
- package/dist/chunks/5452.bb5140b0.js.map +1 -0
- package/dist/chunks/{chat-panel.e8afa537.js → chat-panel.3b7afbd5.js} +2 -2
- package/dist/chunks/chat-panel.3b7afbd5.js.map +1 -0
- package/dist/chunks/{chat-stream.cef88ead.js → chat-stream.393c8241.js} +2 -2
- package/dist/chunks/{chat-stream.cef88ead.js.map → chat-stream.393c8241.js.map} +1 -1
- package/dist/chunks/{main.abe54caf.js → main.77fb9cf6.js} +2 -2
- package/dist/chunks/{main.abe54caf.js.map → main.77fb9cf6.js.map} +1 -1
- package/dist/examples.json +12 -12
- package/dist/index.2865b625.js +2 -0
- package/dist/{index.d03181ae.js.map → index.2865b625.js.map} +1 -1
- package/dist/manifest.json +318 -318
- package/dist/types.json +295 -295
- package/dist-types/chat-stream/StreamContext.d.ts +1 -0
- package/dist-types/chat-stream/useConversationStream.d.ts +4 -1
- package/dist-types/shared/AskUser/AskUser.d.ts +4 -2
- package/dist-types/shared/AskUser/i18n.d.ts +15 -0
- package/dist-types/shared/getFlatChunks.d.ts +11 -3
- package/package.json +2 -2
- package/dist/chunks/2742.3340a00e.js.map +0 -1
- package/dist/chunks/3186.81f0a2f0.js +0 -2
- package/dist/chunks/3186.81f0a2f0.js.map +0 -1
- package/dist/chunks/4208.002ac189.js +0 -2
- package/dist/chunks/4208.002ac189.js.map +0 -1
- package/dist/chunks/4577.66294512.js +0 -2
- package/dist/chunks/4577.66294512.js.map +0 -1
- package/dist/chunks/4864.03882076.js +0 -2
- package/dist/chunks/4864.03882076.js.map +0 -1
- package/dist/chunks/5452.e451b025.js.map +0 -1
- package/dist/chunks/chat-panel.e8afa537.js.map +0 -1
- package/dist/index.d03181ae.js +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/5452.e451b025.js","mappings":"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","sources":["webpack:///./src/shared/useFulfilledActiveDetail.ts","webpack:///./src/cruise-canvas/ToolCallDetail/ToolCallDetail.module.css?7f00","webpack:///./src/cruise-canvas/ToolCallDetail/i18n.ts","webpack:///./src/cruise-canvas/ToolCallDetail/ToolCallDetail.tsx","webpack:///./src/shared/NodeFeedback/NodeFeedback.module.css","webpack:///./src/shared/ChatBox/ChatBox.module.css","webpack:///./src/shared/useHandleEscape.ts","webpack:///./src/cruise-canvas/ToolProgressLine/ToolProgressLine.module.css?1d0e","webpack:///./src/cruise-canvas/ToolProgressLine/ToolProgressLine.tsx","webpack:///./src/cruise-canvas/ToolCallStatus/ToolCallStatus.module.css?6208","webpack:///./src/cruise-canvas/utils/getToolDataProgress.ts","webpack:///./src/cruise-canvas/ToolCallStatus/ToolCallStatus.tsx","webpack:///./src/cruise-canvas/ToolCallStatus/ToolCallStatus.module.css","webpack:///./src/shared/ExpandedView/ExpandedView.module.css?985a","webpack:///./src/shared/ExpandedView/ExpandedView.tsx","webpack:///../../../src/i18n/constants.ts","webpack:///../../../../src/i18n/locales/en.ts","webpack:///../../../../src/i18n/locales/zh.ts","webpack:///../../../src/i18n/index.ts","webpack:///../../src/humanizeTime.ts","webpack:///./src/cruise-canvas/ToolProgressLine/ToolProgressLine.module.css","webpack:///./src/cruise-canvas/NodeReplay/NodeReplay.module.css","webpack:///./src/shared/ExpandedView/ExpandedView.module.css","webpack:///./src/cruise-canvas/ToolCallDetail/ToolCallDetail.module.css","webpack:///./src/shared/useFlowAndActivityMap.ts","webpack:///./src/shared/NodeFeedback/NodeFeedback.module.css?99d4","webpack:///./src/shared/NodeFeedback/i18n.ts","webpack:///./src/shared/NodeFeedback/NodeFeedback.tsx","webpack:///./src/shared/ChatBox/i18n.ts","webpack:///./src/shared/ChatBox/ChatBox.module.css?ebca","webpack:///./src/shared/ChatBox/ChatBox.tsx","webpack:///./src/cruise-canvas/NodeReplay/NodeReplay.module.css?d0bd","webpack:///./src/cruise-canvas/NodeReplay/i18n.ts","webpack:///./src/cruise-canvas/NodeReplay/NodeReplay.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport type {\n ActiveDetail,\n ActivityWithFlow,\n FulfilledActiveDetail,\n Job,\n ServiceFlowRun,\n Task,\n} from \"./interfaces\";\n\nexport function useFulfilledActiveDetail(\n activeDetail: ActiveDetail | null,\n tasks: Task[],\n jobMap: Map<string, Job> | undefined,\n flowMap: Map<string, ServiceFlowRun>,\n activityMap: Map<string, ActivityWithFlow>\n) {\n return useMemo<FulfilledActiveDetail | null>(() => {\n if (!activeDetail) {\n return null;\n }\n switch (activeDetail.type) {\n case \"job\": {\n const job = jobMap?.get(activeDetail.id);\n if (job) {\n return {\n type: \"job\",\n job,\n };\n }\n break;\n }\n case \"task\": {\n const task = tasks.find((t) => t.id === activeDetail.id);\n if (task) {\n return {\n type: \"task\",\n task,\n };\n }\n break;\n }\n case \"flow\": {\n const flow = flowMap?.get(activeDetail.id);\n if (flow) {\n return {\n type: \"flow\",\n flow,\n };\n }\n break;\n }\n case \"activity\": {\n const activityWithFlow = activityMap?.get(activeDetail.id);\n if (activityWithFlow) {\n return {\n type: \"activity\",\n flow: activityWithFlow.flow,\n activity: activityWithFlow.activity,\n };\n }\n break;\n }\n }\n return null;\n }, [activeDetail, activityMap, flowMap, jobMap, tasks]);\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./ToolCallDetail.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]!./ToolCallDetail.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ARGUMENTS = \"ARGUMENTS\",\n PROCESS = \"PROCESS\",\n RESPONSE = \"RESPONSE\",\n}\n\nconst en: Locale = {\n ARGUMENTS: \"Arguments\",\n PROCESS: \"Process\",\n RESPONSE: \"Response\",\n};\n\nconst zh: Locale = {\n ARGUMENTS: \"参数\",\n PROCESS: \"过程\",\n RESPONSE: \"响应\",\n};\n\nexport const NS = \"bricks/ai-portal/ToolCallDetail\";\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","import React, { useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { DataPart, Job, Part } from \"../../shared/interfaces\";\nimport { WrappedCodeBlock } from \"../../shared/bricks\";\nimport styles from \"./ToolCallDetail.module.css\";\nimport sharedStyles from \"../shared.module.css\";\nimport { K, t, locales, NS } from \"./i18n\";\nimport { ToolProgressLine } from \"../ToolProgressLine/ToolProgressLine\";\nimport { EnhancedMarkdown } from \"../EnhancedMarkdown/EnhancedMarkdown\";\nimport { MarkdownPre } from \"../../shared/MarkdownPre\";\n\ninitializeI18n(NS, locales);\n\nexport interface ToolCallDetailProps {\n job: Job;\n}\n\nexport function ToolCallDetail({ job }: ToolCallDetailProps): JSX.Element {\n const toolCall = job.toolCall!;\n\n const [progress, intermediateParts, responseParts] = useMemo(() => {\n const toolCallMessages = job.messages?.filter((msg) => msg.role === \"tool\");\n const intermediateParts: DataPart[] = [];\n const responseParts: Part[] = [];\n let progress: DataPart | undefined;\n for (const message of toolCallMessages ?? []) {\n for (const part of message.parts) {\n if (part.type === \"data\") {\n switch (part.data?.type) {\n case \"progress\":\n // Take the last progress part\n progress = part;\n continue;\n case \"markdown\":\n case \"cmdb_instance_detail\":\n case \"static_data_view\":\n continue;\n default:\n intermediateParts.push(part);\n continue;\n }\n } else if (part.type === \"file\") {\n continue;\n }\n responseParts.push(part);\n }\n }\n return [progress, intermediateParts, responseParts];\n }, [job.messages]);\n\n const hasProcessParts = intermediateParts.length > 0 || !!progress;\n const hasResponseParts = responseParts.length > 0;\n const toolState =\n ([\"working\", \"input-required\"].includes(job.state) && hasProcessParts) ||\n hasResponseParts\n ? \"completed\"\n : job.state;\n\n const failed = job.isError || toolState === \"failed\";\n\n return (\n <>\n <div className={styles.detail}>\n <div className={styles.heading}>{t(K.ARGUMENTS)}:</div>\n <div className={`${styles.body} ${sharedStyles.markdown}`}>\n <PreComponent\n content={toolCall.originalArguments}\n maybeJson\n fallbackAsMarkdown\n />\n </div>\n </div>\n {hasProcessParts && (\n <div className={styles.detail}>\n <div className={styles.heading}>{t(K.PROCESS)}:</div>\n <div className={styles.body}>\n {intermediateParts.map((part, partIndex) =>\n part.data?.type === \"stream\" ? (\n <div\n key={partIndex}\n className={classNames(\n styles[\"stream-message\"],\n sharedStyles.markdown\n )}\n >\n <EnhancedMarkdown\n className={sharedStyles[\"markdown-wrapper\"]}\n content={part.data.message}\n />\n </div>\n ) : (\n <div key={partIndex} className={sharedStyles.markdown}>\n <PreComponent content={JSON.stringify(part)} />\n </div>\n )\n )}\n {!!progress && (\n <div\n className={classNames(styles[\"progress-container\"], {\n [styles[\"progress-fallback\"]]: failed,\n })}\n >\n <ToolProgressLine progress={progress} failed={failed} />\n </div>\n )}\n </div>\n </div>\n )}\n {hasResponseParts && (\n <div className={styles.detail}>\n <div className={styles.heading}>{t(K.RESPONSE)}:</div>\n <div className={`${styles.body} ${sharedStyles.markdown}`}>\n {responseParts.map((part, partIndex) =>\n part.type === \"data\" && part.data?.type === \"progress\" ? null : (\n <PreComponent\n key={partIndex}\n content={\n part.type === \"text\" ? part.text : JSON.stringify(part)\n }\n maybeJson={part.type === \"text\"}\n />\n )\n )}\n </div>\n </div>\n )}\n </>\n );\n}\n\nfunction PreComponent({\n content,\n maybeJson,\n fallbackAsMarkdown,\n}: {\n content?: string;\n maybeJson?: boolean;\n fallbackAsMarkdown?: boolean;\n}): JSX.Element | null {\n const [refinedContent, fallback, asMarkdown] = useMemo(() => {\n if (maybeJson && content) {\n try {\n const json = JSON.parse(content);\n return [JSON.stringify(json, null, 2), false, false];\n } catch {\n // Fallback to original content\n if (fallbackAsMarkdown) {\n return [content, false, true];\n }\n }\n }\n return [content, true, false];\n }, [content, fallbackAsMarkdown, maybeJson]);\n\n return asMarkdown ? (\n <div className={styles[\"markdown-block\"]}>\n <EnhancedMarkdown\n className={sharedStyles[\"markdown-wrapper\"]}\n content={refinedContent}\n />\n </div>\n ) : fallback ? (\n <div className={styles[\"code-fallback\"]}>\n <MarkdownPre>\n <code>{refinedContent}</code>\n </MarkdownPre>\n </div>\n ) : (\n <WrappedCodeBlock\n className={styles[\"code-block\"]}\n source={refinedContent!}\n language=\"json\"\n themeVariant=\"elevo\"\n />\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, `.node-feedback--qSAvjvCa{width:var(--cruise-canvas-node-width-medium);background:rgba(255,255,255,0.2);border-radius:12px;border:1px solid rgba(255,255,255,0.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px 28px}.heading--zbbPDsFk{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.title--l9cmJRhB{font-weight:500}.form-item--wtgYuM1v{font-size:12px;line-height:17px;color:rgba(0,0,0,0.88)}.form-item--wtgYuM1v.horizontal--zqc5U1Jh{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:1em}.form-item--wtgYuM1v.vertical--i26lXOiT{margin-top:16px}.form-item--wtgYuM1v.vertical--i26lXOiT label{display:block;color:rgba(0,0,0,0.45);margin-bottom:8px}.form-item--wtgYuM1v textarea{width:100%;background:none;border-radius:8px;border:1px solid rgba(0,0,0,0.15);padding:8px;color:#262626}.form-item--wtgYuM1v textarea:focus{outline:none;border-color:rgba(0,0,0,0.25)}.options--Cak4FPTk{display:flex;align-items:center}.radio--P5Vo_D45{position:relative;cursor:pointer}.radio--P5Vo_D45 input{width:0px;height:0px;position:absolute;-webkit-appearance:none;-moz-appearance:none;appearance:none}.radio--P5Vo_D45 span{display:flex;align-items:center;justify-content:center;width:64px;height:28px;border-radius:8px;background:none;border:1px solid rgba(0,0,0,0.15)}.radio--P5Vo_D45 input:checked + span{background:rgba(255,255,255,0.5);border:none}.radio--P5Vo_D45 input:not(:checked) + span:hover{background:rgba(255,255,255,0.3);border:none}.radio--P5Vo_D45 + .radio--P5Vo_D45{margin-left:8px}.submit--eCyA49Nq{display:flex;justify-content:end;margin-top:18px;gap:8px}.validate--krlXob4C .form-item--wtgYuM1v:has(input:invalid) .label--U8YsN4Mm{color:#f24c25}.submitted--XxktB9y5{background:#d0e7d6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;font-weight:500;color:#009929;padding:17px;text-align:center}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"node-feedback\": `node-feedback--qSAvjvCa`,\n\t\"heading\": `heading--zbbPDsFk`,\n\t\"title\": `title--l9cmJRhB`,\n\t\"form-item\": `form-item--wtgYuM1v`,\n\t\"horizontal\": `horizontal--zqc5U1Jh`,\n\t\"vertical\": `vertical--i26lXOiT`,\n\t\"options\": `options--Cak4FPTk`,\n\t\"radio\": `radio--P5Vo_D45`,\n\t\"submit\": `submit--eCyA49Nq`,\n\t\"validate\": `validate--krlXob4C`,\n\t\"label\": `label--U8YsN4Mm`,\n\t\"submitted\": `submitted--XxktB9y5`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.button--Fe8aCvnf{background:rgba(255,255,255,0.5);box-shadow:0px 4px 8px 0px rgba(0,0,0,0.06);border:1px solid rgba(255,255,255,0.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:5px;height:40px;border-radius:20px;padding:0 16px;color:#262626;cursor:pointer;margin:0 auto}.button--Fe8aCvnf:focus{outline:none}.button--Fe8aCvnf[disabled]{color:rgba(0,0,0,0.45);cursor:default}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"button\": `button--Fe8aCvnf`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { useEffect, useRef } from \"react\";\nimport type { TaskContextValue } from \"./TaskContext\";\n\nexport function useHandleEscape({\n activeDetail,\n activeExpandedViewJobId,\n activeFile,\n activeImages,\n subActiveDetail,\n setActiveFile,\n setActiveImages,\n setActiveExpandedViewJobId,\n setActiveDetail,\n setSubActiveDetail,\n}: TaskContextValue) {\n const compositionRef = useRef(false);\n\n useEffect(() => {\n const onCompositionStart = () => {\n compositionRef.current = true;\n };\n const onCompositionEnd = () => {\n compositionRef.current = false;\n };\n document.addEventListener(\"compositionstart\", onCompositionStart);\n document.addEventListener(\"compositionend\", onCompositionEnd);\n return () => {\n document.removeEventListener(\"compositionstart\", onCompositionStart);\n document.removeEventListener(\"compositionend\", onCompositionEnd);\n };\n }, []);\n\n useEffect(() => {\n const onKeyDown = (e: KeyboardEvent) => {\n if (compositionRef.current) {\n // Ignore key events during composition\n return;\n }\n if (e.key === \"Escape\") {\n if (activeFile) {\n setActiveFile(null);\n } else if (activeImages) {\n setActiveImages(null);\n } else if (activeExpandedViewJobId) {\n setActiveExpandedViewJobId(null);\n } else if (subActiveDetail) {\n setSubActiveDetail(null);\n } else if (activeDetail) {\n setActiveDetail(null);\n }\n }\n };\n\n document.addEventListener(\"keydown\", onKeyDown);\n return () => {\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [\n activeDetail,\n activeExpandedViewJobId,\n activeFile,\n activeImages,\n subActiveDetail,\n setActiveFile,\n setActiveImages,\n setActiveExpandedViewJobId,\n setActiveDetail,\n setSubActiveDetail,\n ]);\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./ToolProgressLine.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]!./ToolProgressLine.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./ToolProgressLine.module.css\";\nimport { DataPart } from \"../../shared/interfaces\";\n\nexport interface ToolProgressLineProps {\n progress: DataPart;\n /**\n * 暂定失败肯定是最后一个\n */\n failed?: boolean;\n}\n\nexport function ToolProgressLine({\n progress,\n failed,\n}: ToolProgressLineProps): JSX.Element {\n const data = progress.data;\n\n return (\n <div\n className={classNames(styles[\"progress-line\"], {\n [styles[\"failed\"]]: failed,\n })}\n >\n <div className={classNames(styles.step)} key={data.progress}>\n <div className={styles.axis}>\n <div className={styles.line} />\n <div className={styles.dot} />\n </div>\n <div className={styles.progress}>\n <span className={styles.count}>{data.progress}</span>\n <span>/</span>\n <span className={styles.total}>{data.total}</span>\n </div>\n <div className={styles.description}>{data.message}</div>\n </div>\n </div>\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./ToolCallStatus.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]!./ToolCallStatus.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import type { DataPart, Message } from \"../../shared/interfaces\";\n\nexport const getToolDataProgress = (\n toolCallMessages: Message[] | undefined\n): DataPart | undefined => {\n let progressPart: DataPart | undefined;\n toolCallMessages?.findLast((message) => {\n progressPart = message.parts?.findLast((part) => {\n return part.type === \"data\" && part.data?.type === \"progress\";\n }) as DataPart | undefined;\n return !!progressPart;\n });\n return progressPart;\n};\n","import React, { useCallback, useContext, useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport moment from \"moment\";\nimport { isEqual } from \"lodash\";\nimport { humanizeTime, HumanizeTimeFormat } from \"@next-shared/datetime\";\nimport styles from \"./ToolCallStatus.module.css\";\nimport { WrappedIcon } from \"../../shared/bricks\";\nimport { TaskContext } from \"../../shared/TaskContext\";\nimport { ToolProgressLine } from \"../ToolProgressLine/ToolProgressLine\";\nimport { getToolDataProgress } from \"../utils/getToolDataProgress\";\nimport type { ActiveDetail, Job, JobState } from \"../../shared/interfaces\";\n\nexport interface NodeJobToolCallProps {\n job: Job;\n variant?: \"default\" | \"read-only\";\n}\n\nexport function ToolCallStatus({\n job,\n variant,\n}: NodeJobToolCallProps): JSX.Element {\n const { setActiveDetail, separateInstructions } = useContext(TaskContext);\n const toolCall = job.toolCall!;\n const toolTitle = toolCall.annotations?.title || toolCall.name;\n const jobTitle = separateInstructions\n ? toolTitle\n : job.instruction || toolTitle;\n const [progress, hasToolCallResponse] = useMemo(() => {\n const toolCallMessages = job.messages?.filter((msg) => msg.role === \"tool\");\n return [\n getToolDataProgress(toolCallMessages),\n toolCallMessages?.some((msg) =>\n msg.parts.some((part) => part.type === \"text\")\n ),\n ];\n }, [job.messages]);\n\n const readOnly = useMemo(() => {\n return variant === \"read-only\";\n }, [variant]);\n\n const handleClick = useCallback(() => {\n if (variant === \"read-only\") {\n return;\n }\n const newActiveDetail: ActiveDetail = {\n type: \"job\",\n id: job.id,\n };\n setActiveDetail((prev) =>\n isEqual(prev, newActiveDetail) ? prev : newActiveDetail\n );\n }, [job.id, variant, setActiveDetail]);\n\n const toolState =\n [\"working\", \"input-required\"].includes(job.state) && hasToolCallResponse\n ? \"completed\"\n : job.state;\n\n const failed = job.isError || toolState === \"failed\";\n\n return (\n <div\n className={classNames(styles[\"tool-call\"], {\n [styles.failed]: failed,\n [styles[\"read-only\"]]: readOnly,\n })}\n onClick={handleClick}\n >\n <div className={classNames(styles.status)}>\n {job.isError || toolState === \"failed\" ? (\n <WrappedIcon\n className={styles.icon}\n lib=\"fa\"\n prefix=\"fas\"\n icon=\"xmark\"\n />\n ) : toolState === \"completed\" ? (\n <WrappedIcon\n className={styles.icon}\n lib=\"fa\"\n prefix=\"fas\"\n icon=\"check\"\n />\n ) : toolState === \"working\" ? (\n <WrappedIcon\n className={styles.icon}\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n ) : toolState === \"input-required\" ? (\n <WrappedIcon\n className={styles.icon}\n lib=\"fa\"\n prefix=\"far\"\n icon=\"circle-user\"\n />\n ) : toolState === \"canceled\" ||\n toolState === (\"terminated\" as JobState) ? (\n <WrappedIcon\n className={styles.icon}\n lib=\"fa\"\n prefix=\"far\"\n icon=\"circle-stop\"\n />\n ) : (\n <WrappedIcon\n className={styles.icon}\n lib=\"fa\"\n prefix=\"far\"\n icon=\"clock\"\n />\n )}\n <span className={styles.name}>\n {variant === \"read-only\" ? toolTitle : jobTitle}\n </span>\n {job.startTime ? (\n <span className={styles.timing}>\n {`${humanizeTime(job.startTime * 1000, HumanizeTimeFormat.accurate)}${\n job.endTime\n ? ` (${moment.duration(job.endTime * 1000 - job.startTime * 1000).humanize({ ss: -1 })})`\n : \"\"\n }`}\n </span>\n ) : null}\n </div>\n {!!progress && !readOnly && (\n <ToolProgressLine progress={progress} failed={failed} />\n )}\n </div>\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, `.tool-call--aTh276av{--failed-color:#f24c25;--border-color:#e2e2ec;--status-border-color:rgba(226,226,236,0.8);font-size:13px;color:#595959;border-radius:10px;border:1px solid var(--border-color);background:#e6e9f3}.tool-call--aTh276av:not(.read-only--xWUswNds):hover{background:#e4e9fb;border:1px solid #b8c1ff}.tool-call--aTh276av:not(:last-child){margin-bottom:10px}.tool-call--aTh276av:not(.read-only--xWUswNds){cursor:pointer}.tool-call--aTh276av .status--V5ZXGYOG:not(:last-child){border-bottom:1px solid var(--status-border-color)}.read-only--xWUswNds{font-size:14px;padding:4px}.failed--sz70SlSa{background:#fef5f3}.failed--sz70SlSa:not(.read-only--xWUswNds):hover{background:#fee7e1;border:1px solid #ffc3b5}.failed--sz70SlSa .status--V5ZXGYOG:not(:last-child){border-bottom:1px solid rgba(253,225,218,0.8)}.status--V5ZXGYOG{height:24px;display:flex;align-items:center;padding:0 12px;color:#262626}.timing--GjuZkMuV{display:none;color:#8c8c8c}.read-only--xWUswNds .timing--GjuZkMuV,\n[class^=\"node-job--\"]:hover .timing--GjuZkMuV,\n.status--V5ZXGYOG:hover .timing--GjuZkMuV{display:block}.icon--LTp5Jjna{margin-right:8px;color:#8c8c8c}.failed--sz70SlSa .icon--LTp5Jjna{color:var(--failed-color)}.name--FwiqyIlQ{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"tool-call\": `tool-call--aTh276av`,\n\t\"read-only\": `read-only--xWUswNds`,\n\t\"status\": `status--V5ZXGYOG`,\n\t\"failed\": `failed--sz70SlSa`,\n\t\"timing\": `timing--GjuZkMuV`,\n\t\"icon\": `icon--LTp5Jjna`,\n\t\"name\": `name--FwiqyIlQ`\n};\nexport default ___CSS_LOADER_EXPORT___;\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]!./ExpandedView.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]!./ExpandedView.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { getBasePath, unstable_createRoot } from \"@next-core/runtime\";\nimport { uniqueId } from \"lodash\";\nimport { convertView } from \"@next-tsx/converter\";\nimport type { GraphGeneratedView } from \"../../cruise-canvas/interfaces\";\nimport styles from \"./ExpandedView.module.css\";\nimport { WrappedIcon, WrappedIconButton } from \"../../shared/bricks\";\nimport { createPortal } from \"../../cruise-canvas/utils/createPortal\";\nimport { ICON_CLOSE, ICON_EXTERNAL_LINK, ICON_FEEDBACK } from \"../constants\";\nimport { TaskContext } from \"../TaskContext\";\nimport { useViewFeedbackDone } from \"../useViewFeedbackDone\";\nimport { parseTemplate } from \"../parseTemplate\";\nimport type { ParsedView } from \"../interfaces\";\nimport type { ModulePartOfComponent } from \"@next-tsx/parser\";\n\nexport interface ExpandedViewProps {\n views: GraphGeneratedView[];\n}\n\nexport function ExpandedView({ views }: ExpandedViewProps) {\n const rootId = useMemo(() => uniqueId(), []);\n const {\n workspace,\n previewUrlTemplate,\n activeExpandedViewJobId,\n setActiveExpandedViewJobId,\n manuallyUpdatedViews,\n showFeedbackOnView,\n onFeedbackOnView,\n feedbackDoneViews,\n } = useContext(TaskContext);\n const containerRef = useRef<HTMLDivElement>(null);\n const rootRef = useRef<Awaited<\n ReturnType<typeof unstable_createRoot>\n > | null>(null);\n const generatedView = activeExpandedViewJobId\n ? (manuallyUpdatedViews?.get(activeExpandedViewJobId) ??\n views.find((v) => v.id === activeExpandedViewJobId)?.view)\n : null;\n const feedbackDone =\n useViewFeedbackDone(generatedView?.viewId, showFeedbackOnView) ||\n (generatedView && feedbackDoneViews?.has(generatedView.viewId));\n const [view, setView] = useState<ParsedView | null>(null);\n const canFeedback =\n !!view && !!generatedView?.viewId && generatedView.from !== \"config\";\n const [viewsWithTitle, setViewsWithTitle] = useState<\n Array<\n GraphGeneratedView & {\n title?: string;\n }\n >\n >(views);\n\n useEffect(() => {\n setView(null);\n let ignore = false;\n generatedView?.asyncConstructedView?.then((view) => {\n if (!ignore) {\n setView(view);\n }\n });\n return () => {\n ignore = true;\n };\n }, [generatedView]);\n\n useEffect(() => {\n Promise.all(\n views.map(async (v) => {\n const view = await v.view.asyncConstructedView;\n return {\n ...v,\n title: (view?.entry?.defaultExport as ModulePartOfComponent)?.title,\n };\n })\n ).then((result) => {\n setViewsWithTitle(result);\n });\n }, [views]);\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) {\n return;\n }\n const portal = createPortal(rootId);\n const root = unstable_createRoot(container, {\n portal,\n supportsUseChildren: true,\n } as any);\n rootRef.current = root;\n\n return () => {\n root.unmount();\n portal.remove();\n rootRef.current = null;\n };\n }, [rootId]);\n\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n setLoading(true);\n if (!view) {\n return;\n }\n let ignore = false;\n (async () => {\n try {\n const convertedView = await convertView(view, {\n rootId,\n workspace,\n expanded: true,\n withContexts: view.withContexts,\n });\n if (ignore) {\n return;\n }\n const { brick, context, functions, templates } = convertedView;\n await rootRef.current?.render(brick, { context, functions, templates });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to render view:\", error);\n }\n if (!ignore) {\n setLoading(false);\n }\n })();\n\n return () => {\n ignore = true;\n };\n }, [rootId, workspace, view]);\n\n const handleClose = useCallback(() => {\n setActiveExpandedViewJobId(null);\n }, [setActiveExpandedViewJobId]);\n\n return (\n <div className={styles[\"expanded-view\"]}>\n {loading && (\n <div className={styles.loading}>\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n )}\n <div\n className={classNames(styles.body, {\n // [styles.small]: sizeSmall,\n })}\n ref={containerRef}\n data-root-id={rootId}\n />\n <ul className={styles.nav}>\n {viewsWithTitle.map((view) => (\n <li key={view.id}>\n <button\n className={classNames(styles[\"nav-button\"], {\n [styles.active]: activeExpandedViewJobId === view.id,\n })}\n onClick={() => setActiveExpandedViewJobId(view.id)}\n >\n {view.title ?? \"…\"}\n </button>\n </li>\n ))}\n </ul>\n <div className={styles.buttons}>\n {showFeedbackOnView && !feedbackDone && canFeedback && (\n <WrappedIconButton\n icon={ICON_FEEDBACK}\n onClick={() => onFeedbackOnView?.(generatedView.viewId)}\n />\n )}\n {!!(\n generatedView?.viewId &&\n !generatedView.withContexts &&\n previewUrlTemplate\n ) && (\n <WrappedIconButton\n icon={ICON_EXTERNAL_LINK}\n onClick={() => {\n window.open(\n `${getBasePath().slice(0, -1)}${parseTemplate(\n previewUrlTemplate,\n {\n viewId: generatedView.viewId,\n }\n )}`,\n \"_blank\"\n );\n }}\n />\n )}\n <WrappedIconButton icon={ICON_CLOSE} onClick={handleClose} />\n </div>\n </div>\n );\n}\n","export const NS_LIBS_DATETIME = \"libs-datetime\";\n\nexport enum K {\n TODAY = \"TODAY\",\n YESTERDAY = \"YESTERDAY\",\n FUTURE_AFTER = \"FUTURE_AFTER\",\n FORMAT_MEDIUM_DATETIME = \"FORMAT_MEDIUM_DATETIME\",\n FORMAT_MEDIUM_DATE = \"FORMAT_MEDIUM_DATE\",\n FORMAT_SHORT_DATETIME = \"FORMAT_SHORT_DATETIME\",\n FORMAT_SHORT_DATE = \"FORMAT_SHORT_DATE\",\n FORMAT_SHORT_DAY_DATETIME = \"FORMAT_SHORT_DAY_DATETIME\",\n FORMAT_SHORT_DAY_DATE = \"FORMAT_SHORT_DAY_DATE\",\n SECONDS = \"SECONDS\",\n MILL_SECONDS = \"MILL_SECONDS\",\n MINUTES = \"MINUTES\",\n HOURS = \"HOURS\",\n DAYS = \"DARS\",\n MONTHS = \"MONTHS\",\n}\n\nexport type Locale = { [key in K]: string };\n","import { Locale, K } from \"../constants.js\";\n\nconst locale: Locale = {\n [K.YESTERDAY]: \"Yesterday\",\n [K.TODAY]: \"Today\",\n [K.FUTURE_AFTER]: \"After {{time}}\",\n [K.FORMAT_MEDIUM_DATETIME]: \"LLL\",\n [K.FORMAT_MEDIUM_DATE]: \"LL\",\n [K.FORMAT_SHORT_DATETIME]: \"MMM D ah:mm\",\n [K.FORMAT_SHORT_DATE]: \"MMM D\",\n [K.FORMAT_SHORT_DAY_DATETIME]: \"MMM D HH:mm\",\n [K.FORMAT_SHORT_DAY_DATE]: \"MMM D\",\n [K.MONTHS]: \"months\",\n [K.HOURS]: \"hours\",\n [K.SECONDS]: \"seconds\",\n [K.MILL_SECONDS]: \"millseconds\",\n [K.DAYS]: \"days\",\n [K.MINUTES]: \"minutes\",\n};\n\nexport default locale;\n","import { Locale, K } from \"../constants.js\";\n\nconst locale: Locale = {\n [K.YESTERDAY]: \"昨天\",\n [K.TODAY]: \"今天\",\n [K.FUTURE_AFTER]: \"{{time}}后\",\n [K.FORMAT_MEDIUM_DATETIME]: \"LL ah:mm\",\n [K.FORMAT_MEDIUM_DATE]: \"LL\",\n [K.FORMAT_SHORT_DATETIME]: \"MMMD日 ah:mm\",\n [K.FORMAT_SHORT_DATE]: \"MMMD日\",\n [K.FORMAT_SHORT_DAY_DATETIME]: \"MMMD日 HH:mm\",\n [K.FORMAT_SHORT_DAY_DATE]: \"MMMD日\",\n [K.MONTHS]: \"个月\",\n [K.HOURS]: \"小时\",\n [K.SECONDS]: \"秒\",\n [K.MILL_SECONDS]: \"毫秒\",\n [K.DAYS]: \"天\",\n [K.MINUTES]: \"分钟\",\n};\n\nexport default locale;\n","import { initializeI18n } from \"@next-core/i18n\";\nimport { NS_LIBS_DATETIME } from \"./constants.js\";\nimport en from \"./locales/en.js\";\nimport zh from \"./locales/zh.js\";\n\nexport function addResourceBundle(): void {\n initializeI18n(NS_LIBS_DATETIME, { en, zh });\n}\n","import moment from \"moment\";\nimport { i18n } from \"@next-core/i18n\";\nimport { NS_LIBS_DATETIME, K } from \"./i18n/constants.js\";\nimport { addResourceBundle } from \"./i18n/index.js\";\n\naddResourceBundle();\n\nconst TIME_OFFSET = 0;\n\nexport enum HumanizeTimeFormat {\n full = \"full\",\n default = \"default\",\n relative = \"relative\",\n past = \"past\",\n future = \"future\",\n accurate = \"accurate\",\n auto = \"auto\",\n}\n\nexport const humanizeTime = (\n time: moment.MomentInput,\n format: HumanizeTimeFormat = HumanizeTimeFormat.auto,\n /** 默认为 \"datetime\" */\n type?: \"datetime\" | \"date\"\n): string | null => {\n if (\n time === undefined ||\n time === null ||\n time === -Infinity ||\n time === Infinity\n ) {\n return null;\n }\n const m = moment(time);\n const now = moment().add(TIME_OFFSET);\n const fFull = type === \"date\" ? \"LL\" : \"LL HH:mm\";\n const fMedium = i18n.t(\n `${NS_LIBS_DATETIME}:${type === \"date\" ? K.FORMAT_MEDIUM_DATE : K.FORMAT_MEDIUM_DATETIME}`\n );\n const fShort = i18n.t(\n `${NS_LIBS_DATETIME}:${type === \"date\" ? K.FORMAT_SHORT_DATE : K.FORMAT_SHORT_DATETIME}`\n );\n const fShort24 = i18n.t(\n `${NS_LIBS_DATETIME}:${type === \"date\" ? K.FORMAT_SHORT_DAY_DATE : K.FORMAT_SHORT_DAY_DATETIME}`\n );\n const fDefault = type === \"date\" ? \"LL\" : \"LL HH:mm:ss\";\n const fHourMinute = \"HH:mm\";\n let text;\n\n /* 用于精确显示时间的参数\n * 今天与昨天,显示:今天(昨天)x:x的格式,如:今天12:21、昨天16:33\n * 昨天以前的时间,显示:x月x日x时:x分,如:11月23日11:22\n * 今年以前的时间,显示:x年x月x日x时:x分,如:2016年11月11日11:11\n */\n const getAccurateTime = () => {\n const diff = +m.diff(now, \"days\", true).toFixed(1);\n let _text = \"\";\n const retVal =\n m.year() < now.year()\n ? \"lastYear\"\n : diff < -2 || m.isBefore(now.clone().add(-1, \"day\"), \"day\")\n ? \"twoDaysBefore\"\n : m.isSame(now.clone().add(-1, \"day\"), \"day\")\n ? \"yesterday\"\n : m.isSame(now, \"day\")\n ? \"sameDay\"\n : diff < 2 && m.isSame(now.clone().add(1, \"day\"), \"day\")\n ? \"nextDay\"\n : diff < 7\n ? \"nextWeek\"\n : \"default\";\n switch (retVal) {\n case \"sameDay\":\n case \"yesterday\":\n _text = `${i18n.t(`${NS_LIBS_DATETIME}:${retVal === \"yesterday\" ? K.YESTERDAY : K.TODAY}`)}${\n type === \"date\" ? \"\" : ` ${m.format(fHourMinute)}`\n }`;\n break;\n case \"lastYear\":\n _text = m.format(fFull);\n break;\n case \"twoDaysBefore\":\n _text = m.format(fShort24);\n break;\n default:\n _text = m.format(fFull);\n }\n\n return _text;\n };\n\n switch (format) {\n case HumanizeTimeFormat.full:\n text = m.format(fFull);\n break;\n case HumanizeTimeFormat.default:\n text = m.format(fDefault);\n break;\n case HumanizeTimeFormat.relative: {\n const diff = +m - +now;\n text =\n diff <= 0\n ? moment.duration(diff).humanize(true)\n : i18n.t(`${NS_LIBS_DATETIME}:${K.FUTURE_AFTER}`, {\n time: moment.duration(diff).humanize(),\n });\n break;\n }\n case HumanizeTimeFormat.past:\n text = moment.duration(Math.min(+m - +now, 0)).humanize(true);\n break;\n case HumanizeTimeFormat.future:\n text = i18n.t(`${NS_LIBS_DATETIME}:${K.FUTURE_AFTER}`, {\n time: moment.duration(Math.max(+m - +now, 0)).humanize(),\n });\n break;\n case HumanizeTimeFormat.accurate:\n text = getAccurateTime();\n break;\n default:\n text = m.format(m.year() === now.year() ? fShort : fMedium);\n }\n return text;\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, `.progress-line--CX_xuAHC{--breathing-color:rgba(205,205,217,0.7);--breathing-color-2:rgba(205,205,217,0);display:flex;flex-direction:column}.progress-line--CX_xuAHC .step--YXd66tSR{position:relative;display:flex;align-items:center;padding:10px 4px 10px 16px;color:rgba(0,0,0,0.5)}.progress-line--CX_xuAHC .step--YXd66tSR .axis--T4nVxQt5{position:absolute;top:0;bottom:0;left:14px;width:1px}.progress-line--CX_xuAHC .step--YXd66tSR .axis--T4nVxQt5 .line--BUSBjzxD{width:1px;height:100%;background:linear-gradient(172deg,rgba(205,205,217,0) 0%,#cdcdd9 46%,rgba(205,205,217,0) 100%)}.progress-line--CX_xuAHC .step--YXd66tSR .axis--T4nVxQt5 .dot--TPMEta87{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;background:rgba(205,205,217,1);border-radius:50%}.progress-line--CX_xuAHC .step--YXd66tSR .progress--alc7SspF{padding:3px;margin:0 8px 0 12px;border-radius:10px;line-height:1;background:#ffffff}.progress-line--CX_xuAHC .step--YXd66tSR .progress--alc7SspF .count--RdZcMYhZ{font-weight:400}.progress-line--CX_xuAHC .step--YXd66tSR .progress--alc7SspF .total--BKoLTm8c{opacity:0.6}.progress-line--CX_xuAHC .step--YXd66tSR .description--AyfMh1_M{flex:1;color:#999}.progress-line--CX_xuAHC .step--YXd66tSR:last-child .progress--alc7SspF .count--RdZcMYhZ{font-weight:600}.failed--Q9TADo_k .step--YXd66tSR:last-child .axis--T4nVxQt5 .line--BUSBjzxD{background:linear-gradient(172deg,rgba(242,76,37,0) 0%,rgba(242,76,37,0.3) 47%,rgba(242,76,37,0) 100%)}.failed--Q9TADo_k .step--YXd66tSR:last-child .axis--T4nVxQt5 .dot--TPMEta87{background:rgba(255,154,120,1)}.failed--Q9TADo_k .step--YXd66tSR:last-child .progress--alc7SspF{background:#ffd6d6}.failed--Q9TADo_k .step--YXd66tSR:last-child .progress--alc7SspF .count--RdZcMYhZ{color:#f44336}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"progress-line\": `progress-line--CX_xuAHC`,\n\t\"step\": `step--YXd66tSR`,\n\t\"axis\": `axis--T4nVxQt5`,\n\t\"line\": `line--BUSBjzxD`,\n\t\"dot\": `dot--TPMEta87`,\n\t\"progress\": `progress--alc7SspF`,\n\t\"count\": `count--RdZcMYhZ`,\n\t\"total\": `total--BKoLTm8c`,\n\t\"description\": `description--AyfMh1_M`,\n\t\"failed\": `failed--Q9TADo_k`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.node-replay--RJPyOwC6{width:var(--cruise-canvas-node-width-large);max-width:100%;background:rgba(255,255,255,0.5);border-radius:12px;border:1px solid rgba(255,255,255,0.4);padding:4px}.finished--DCI6ewIN:not(.chat--YJT4RmwA){max-width:90vw}.node-replay--RJPyOwC6.chat--YJT4RmwA{margin-top:14px}.bar--Pae7qP58{background:rgba(184,187,205,0.3);border-radius:8px;border:1px solid rgba(255,255,255,0.4);-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.buttons--m0009sdd{display:flex;align-items:center;gap:8px}.label--VlLhkZeC{font-weight:500}.cases--czpvOoLX,\n.projects--W1KI5fUu{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.content--rFWHJyEy{padding:0 16px 16px}.heading--jlFUCX5n{margin:26px 0 10px;color:rgba(0,0,0,0.6);line-height:20px}.tips--FzM5aSiq{font-size:12px;line-height:20px;color:rgba(0,0,0,0.35);margin:-3px 0 10px}.project--BSu5VIGZ{width:100%}.project--BSu5VIGZ::part(link){height:48px;background:rgba(255,255,255,0.5);border-radius:12px;border:1px solid rgba(255,255,255,0.4);display:flex;align-items:center;padding:0 16px;gap:6px;font-weight:500;color:#262626}.project--BSu5VIGZ::part(link):hover{color:var(--elevo-color-brand)}.tag--Hp8eFjie{display:inline-block;padding:0 4px;background:rgba(37,64,255,0.1);border-radius:4px;color:var(--elevo-color-brand)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"node-replay\": `node-replay--RJPyOwC6`,\n\t\"finished\": `finished--DCI6ewIN`,\n\t\"chat\": `chat--YJT4RmwA`,\n\t\"bar\": `bar--Pae7qP58`,\n\t\"buttons\": `buttons--m0009sdd`,\n\t\"label\": `label--VlLhkZeC`,\n\t\"cases\": `cases--czpvOoLX`,\n\t\"projects\": `projects--W1KI5fUu`,\n\t\"content\": `content--rFWHJyEy`,\n\t\"heading\": `heading--jlFUCX5n`,\n\t\"tips\": `tips--FzM5aSiq`,\n\t\"project\": `project--BSu5VIGZ`,\n\t\"tag\": `tag--Hp8eFjie`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.expanded-view--Pl3PL2nR{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;background:rgba(247,248,250,0.5);-webkit-backdrop-filter:blur(74px);backdrop-filter:blur(74px);padding:106px var(--page-padding-right) 40px var(--page-padding-left);overflow-y:auto;display:flex;flex-direction:column;align-items:center}.nav--dLWwzH3E{position:absolute;top:39px;left:50%;transform:translate(-50%,0);list-style:none;margin:0 0 25px;padding:4px;display:flex;justify-content:start;align-items:center;background:rgba(2,0,102,0.05);box-shadow:inset 0px 1px 2px 0px #cdd1d7;border-radius:21px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.nav-button--zv2Yj10m{display:flex;align-items:center;height:34px;padding:0 26px;background:none;border:none;color:#595959;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.nav-button--zv2Yj10m:not(:last-child){margin-right:12px}.nav-button--zv2Yj10m.active--MHyqtaKu{background:rgba(255,255,255,0.6);border-radius:20px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);color:var(--elevo-color-brand);text-shadow:-0.02ex 0 0 currentColor,0.02ex 0 0 currentColor}.nav-button--zv2Yj10m:hover{color:var(--elevo-color-brand)}.body--edodw95r{width:100%;max-width:1556px}.body--edodw95r.small--Y90AL_bt{max-width:804px}.loading--UxfFogUY{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;color:#fff}.buttons--ZZYyY2LU{position:absolute;top:24px;right:24px;display:flex;gap:12px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"expanded-view\": `expanded-view--Pl3PL2nR`,\n\t\"nav\": `nav--dLWwzH3E`,\n\t\"nav-button\": `nav-button--zv2Yj10m`,\n\t\"active\": `active--MHyqtaKu`,\n\t\"body\": `body--edodw95r`,\n\t\"small\": `small--Y90AL_bt`,\n\t\"loading\": `loading--UxfFogUY`,\n\t\"buttons\": `buttons--ZZYyY2LU`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.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}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"detail\": `detail--JiiWugxP`,\n\t\"code-block\": `code-block--wccWPbbW`,\n\t\"code-fallback\": `code-fallback--a8nCduaZ`,\n\t\"progress-container\": `progress-container--tFUAQo73`,\n\t\"stream-message\": `stream-message--G0tAm9aa`,\n\t\"progress-fallback\": `progress-fallback--Xto82BYu`,\n\t\"markdown-block\": `markdown-block--C3siNgW9`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { useMemo } from \"react\";\nimport type { ActivityWithFlow, ServiceFlowRun } from \"./interfaces\";\n\nexport function useFlowAndActivityMap(serviceFlows: ServiceFlowRun[]) {\n return useMemo(() => {\n const flowMap = new Map<string, ServiceFlowRun>();\n const activityMap = new Map<string, ActivityWithFlow>();\n\n for (const flow of serviceFlows) {\n if (flow.taskId) {\n flowMap.set(flow.taskId, flow);\n }\n for (const stage of flow.spec) {\n for (const activity of stage.serviceFlowActivities) {\n if (activity.taskId) {\n activityMap.set(activity.taskId, { activity, flow });\n }\n }\n }\n }\n\n return { flowMap, activityMap };\n }, [serviceFlows]);\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./NodeFeedback.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]!./NodeFeedback.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n YES = \"YES\",\n NO = \"NO\",\n SUBMIT = \"SUBMIT\",\n RESET = \"RESET\",\n FEEDBACK_NODE_TITLE = \"FEEDBACK_NODE_TITLE\",\n PROBLEM_FEEDBACK = \"PROBLEM_FEEDBACK\",\n PROBLEM_FEEDBACK_PLACEHOLDER = \"PROBLEM_FEEDBACK_PLACEHOLDER\",\n IS_THE_TASK_PLAN_COMPLETE = \"IS_THE_TASK_PLAN_COMPLETE\",\n IS_THE_TASK_PLAN_LOGICALLY_CORRECT = \"IS_THE_TASK_PLAN_LOGICALLY_CORRECT\",\n ARE_THE_TASK_PLAN_STEPS_CONCISE = \"ARE_THE_TASK_PLAN_STEPS_CONCISE\",\n ARE_THE_ANALYTICAL_CONCLUSIONS_ACCURATE = \"ARE_THE_ANALYTICAL_CONCLUSIONS_ACCURATE\",\n IS_THE_EVIDENCE_SUPPORTING_THE_CONCLUSIONS_SUFFICIENT = \"IS_THE_EVIDENCE_SUPPORTING_THE_CONCLUSIONS_SUFFICIENT\",\n THANKS_FOR_YOUR_FEEDBACK = \"THANKS_FOR_YOUR_FEEDBACK\",\n}\n\nconst en: Locale = {\n YES: \"Yes\",\n NO: \"No\",\n SUBMIT: \"Submit\",\n RESET: \"Reset\",\n FEEDBACK_NODE_TITLE: \"How do you think Elevo has done this task?\",\n PROBLEM_FEEDBACK: \"Problem feedback\",\n PROBLEM_FEEDBACK_PLACEHOLDER: \"Please describe the problem you encountered.\",\n IS_THE_TASK_PLAN_COMPLETE: \"Is the task plan complete:\",\n IS_THE_TASK_PLAN_LOGICALLY_CORRECT: \"Is the task plan logically correct:\",\n ARE_THE_TASK_PLAN_STEPS_CONCISE: \"Are the task plan steps concise:\",\n ARE_THE_ANALYTICAL_CONCLUSIONS_ACCURATE:\n \"Are the analytical conclusions accurate:\",\n IS_THE_EVIDENCE_SUPPORTING_THE_CONCLUSIONS_SUFFICIENT:\n \"Is the evidence supporting the conclusions sufficient:\",\n THANKS_FOR_YOUR_FEEDBACK: \"Thank you for helping us become better.\",\n};\n\nconst zh: Locale = {\n YES: \"是\",\n NO: \"否\",\n SUBMIT: \"提交\",\n RESET: \"重置\",\n FEEDBACK_NODE_TITLE: \"Elevo 完成这项任务的效果如何?\",\n PROBLEM_FEEDBACK: \"问题反馈\",\n PROBLEM_FEEDBACK_PLACEHOLDER: \"欢迎留下您的意见\",\n IS_THE_TASK_PLAN_COMPLETE: \"任务计划是否完备:\",\n IS_THE_TASK_PLAN_LOGICALLY_CORRECT: \"任务计划是否逻辑正确:\",\n ARE_THE_TASK_PLAN_STEPS_CONCISE: \"任务计划步骤是否精简:\",\n ARE_THE_ANALYTICAL_CONCLUSIONS_ACCURATE: \"分析结论是否准确:\",\n IS_THE_EVIDENCE_SUPPORTING_THE_CONCLUSIONS_SUFFICIENT:\n \"结论的支撑证据是否充足:\",\n THANKS_FOR_YOUR_FEEDBACK: \"感谢你帮我们变得更好。\",\n};\n\nexport const NS = \"bricks/ai-portal/NodeFeedback\";\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","// istanbul ignore file: experimental\nimport React, { useCallback, useContext, useRef, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport styles from \"./NodeFeedback.module.css\";\nimport { K, locales, NS, t } from \"./i18n\";\nimport { WrappedButton, WrappedIconButton } from \"../bricks\";\nimport { ICON_CLOSE } from \"../constants\";\nimport { TaskContext } from \"../TaskContext\";\n\ninitializeI18n(NS, locales);\n\nlet checks:\n | Array<{\n label: string;\n value: string;\n group: \"plan\" | \"result\";\n }>\n | undefined;\n\nfunction getChecks() {\n if (!checks) {\n checks = [\n {\n label: `1. ${t(K.IS_THE_TASK_PLAN_COMPLETE)}`,\n value: \"计划完备\",\n group: \"plan\",\n },\n {\n label: `2. ${t(K.IS_THE_TASK_PLAN_LOGICALLY_CORRECT)}`,\n value: \"逻辑正确\",\n group: \"plan\",\n },\n {\n label: `3. ${t(K.ARE_THE_TASK_PLAN_STEPS_CONCISE)}`,\n value: \"步骤精简\",\n group: \"plan\",\n },\n {\n label: `4. ${t(K.ARE_THE_ANALYTICAL_CONCLUSIONS_ACCURATE)}`,\n value: \"结论准确\",\n group: \"result\",\n },\n {\n label: `5. ${t(K.IS_THE_EVIDENCE_SUPPORTING_THE_CONCLUSIONS_SUFFICIENT)}`,\n value: \"支撑证据充足\",\n group: \"result\",\n },\n ];\n }\n return checks;\n}\n\nexport interface NodeFeedbackProps {\n className?: string;\n}\n\nexport function NodeFeedback({ className }: NodeFeedbackProps): JSX.Element {\n const {\n submittingFeedback,\n submittedFeedback,\n setShowFeedback,\n onSubmitFeedback,\n } = useContext(TaskContext);\n const formRef = useRef<HTMLFormElement>(null);\n const checks = getChecks();\n const [triedSubmit, setTriedSubmit] = useState(false);\n\n const handleSubmit = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n setTriedSubmit(true);\n if (!formRef.current?.reportValidity()) {\n return;\n }\n const formData = new FormData(formRef.current!);\n const plan: string[] = [];\n const result: string[] = [];\n for (let i = 0; i < checks.length; i++) {\n const value = formData.get(`feedback-check-${i}`);\n if (value) {\n if (checks[i].group === \"plan\") {\n plan.push(value as string);\n } else {\n result.push(value as string);\n }\n }\n }\n onSubmitFeedback({\n plan,\n result,\n feedback: (formData.get(\"feedback\") ?? \"\") as string,\n });\n },\n [checks, onSubmitFeedback]\n );\n\n const handleReset = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n setTriedSubmit(false);\n formRef.current?.reset();\n }, []);\n\n if (submittedFeedback) {\n return (\n <div\n className={classNames(\n styles[\"node-feedback\"],\n styles.submitted,\n className\n )}\n >\n {t(K.THANKS_FOR_YOUR_FEEDBACK)}\n </div>\n );\n }\n\n return (\n <div className={classNames(styles[\"node-feedback\"], className)}>\n <div className={styles.heading}>\n <div className={styles.title}>{t(K.FEEDBACK_NODE_TITLE)}</div>\n <WrappedIconButton\n icon={ICON_CLOSE}\n variant=\"mini\"\n onClick={() => setShowFeedback(false)}\n />\n </div>\n <form\n className={classNames(styles.form, { [styles.validate]: triedSubmit })}\n ref={formRef}\n >\n {checks.map((check, index) => (\n <div\n key={index}\n className={`${styles[\"form-item\"]} ${styles.horizontal}`}\n >\n <div className={styles.label}>{check.label}</div>\n <div className={styles.options}>\n <label className={styles.radio}>\n <input\n type=\"radio\"\n required\n name={`feedback-check-${index}`}\n value={check.value}\n />\n <span>{t(K.YES)}</span>\n </label>\n <label className={styles.radio}>\n <input\n type=\"radio\"\n required\n name={`feedback-check-${index}`}\n value=\"\"\n />\n <span>{t(K.NO)}</span>\n </label>\n </div>\n </div>\n ))}\n <div className={`${styles[\"form-item\"]} ${styles.vertical}`}>\n <label htmlFor=\"feedback-content\">{t(K.PROBLEM_FEEDBACK)}</label>\n <textarea\n id=\"feedback-content\"\n name=\"feedback\"\n placeholder={t(K.PROBLEM_FEEDBACK_PLACEHOLDER)}\n rows={2}\n />\n </div>\n <div className={styles.submit}>\n <WrappedButton themeVariant=\"elevo\" type=\"text\" onClick={handleReset}>\n {t(K.RESET)}\n </WrappedButton>\n <WrappedButton\n themeVariant=\"elevo\"\n type=\"primary\"\n shape=\"round\"\n onClick={handleSubmit}\n disabled={submittingFeedback}\n >\n {t(K.SUBMIT)}\n </WrappedButton>\n </div>\n </form>\n </div>\n );\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n SEND_MESSAGE = \"SEND_MESSAGE\",\n CONFIRM_TO_TERMINATE_THE_TASK_TITLE = \"CONFIRM_TO_TERMINATE_THE_TASK_TITLE\",\n CONFIRM_TO_TERMINATE_THE_TASK_DESCRIPTION = \"CONFIRM_TO_TERMINATE_THE_TASK_DESCRIPTION\",\n TERMINATE_THE_TASK = \"TERMINATE_THE_TASK\",\n}\n\nconst en: Locale = {\n SEND_MESSAGE: \"Send message\",\n CONFIRM_TO_TERMINATE_THE_TASK_TITLE: \"Are you sure to terminate the task?\",\n CONFIRM_TO_TERMINATE_THE_TASK_DESCRIPTION:\n \"After terminating the task, Elevo will no longer proceed with your request. Please confirm.\",\n TERMINATE_THE_TASK: \"Terminate the task\",\n};\n\nconst zh: Locale = {\n SEND_MESSAGE: \"发送消息\",\n CONFIRM_TO_TERMINATE_THE_TASK_TITLE: \"确定终止任务吗?\",\n CONFIRM_TO_TERMINATE_THE_TASK_DESCRIPTION:\n \"终止任务后 Elevo 将不会继续执行您的请求,请确认。\",\n TERMINATE_THE_TASK: \"终止任务\",\n};\n\nexport const NS = \"bricks/ai-portal/ChatBox\";\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","\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]!./ChatBox.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]!./ChatBox.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useCallback, useContext, useEffect, useState } from \"react\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { showDialog, WrappedChatInput, WrappedIcon } from \"../bricks\";\nimport { K, locales, NS, t } from \"./i18n\";\nimport { TaskContext } from \"../TaskContext\";\nimport type { ConversationState } from \"../interfaces\";\nimport styles from \"./ChatBox.module.css\";\nimport { ICON_STOP } from \"../constants\";\n\ninitializeI18n(NS, locales);\n\nexport interface ChatBoxProps {\n state: ConversationState | undefined;\n canChat: boolean;\n showInput?: \"auto\" | \"always\" | \"never\";\n className?: string;\n}\n\nexport function ChatBox({\n state,\n canChat,\n showInput,\n className,\n}: ChatBoxProps): JSX.Element {\n const {\n humanInput,\n onTerminate,\n supports,\n aiEmployees,\n commands,\n uploadOptions,\n } = useContext(TaskContext);\n\n const [terminating, setTerminating] = useState(false);\n\n useEffect(() => {\n setTerminating(false);\n }, [state]);\n\n const handleTerminate = useCallback(async () => {\n try {\n await showDialog({\n type: \"confirm\",\n title: t(K.CONFIRM_TO_TERMINATE_THE_TASK_TITLE),\n content: t(K.CONFIRM_TO_TERMINATE_THE_TASK_DESCRIPTION),\n });\n } catch {\n return;\n }\n onTerminate();\n setTerminating(true);\n }, [onTerminate]);\n\n if (\n showInput === \"never\" ||\n (!canChat && supports?.intercept && showInput !== \"always\")\n ) {\n return (\n <button\n className={styles.button}\n onClick={handleTerminate}\n disabled={terminating || canChat}\n >\n <WrappedIcon {...ICON_STOP} />\n {t(K.TERMINATE_THE_TASK)}\n </button>\n );\n }\n\n return (\n <WrappedChatInput\n placeholder={t(K.SEND_MESSAGE)}\n autoFocus\n autoFade\n aiEmployees={aiEmployees}\n commands={commands}\n suggestionsPlacement=\"top\"\n uploadOptions={uploadOptions}\n className={className}\n onChatSubmit={(e) => {\n const { content, ...extra } = e.detail;\n humanInput(content, undefined, extra);\n }}\n onTerminate={handleTerminate}\n />\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./NodeReplay.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]!./NodeReplay.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n WATCH_AGAIN = \"WATCH_AGAIN\",\n TRY_IT_OUT = \"TRY_IT_OUT\",\n CASE_REPLAYING = \"CASE_REPLAYING\",\n CASE_REPLAY_FINISHED = \"CASE_REPLAY_FINISHED\",\n SKIP_TO_RESULTS = \"SKIP_TO_RESULTS\",\n OTHER_CASES = \"OTHER_CASES\",\n PROJECT_TIPS = \"PROJECT_TIPS\",\n GET_STARTED_WITH_PROJECTS_PREFIX = \"GET_STARTED_WITH_PROJECTS_PREFIX\",\n PROJECTS = \"PROJECTS\",\n GET_STARTED_WITH_PROJECTS_SUFFIX = \"GET_STARTED_WITH_PROJECTS_SUFFIX\",\n}\n\nconst en: Locale = {\n WATCH_AGAIN: \"Watch again\",\n TRY_IT_OUT: \"Try it out\",\n CASE_REPLAYING: \"The case is replaying...\",\n CASE_REPLAY_FINISHED: \"The case replay has finished.\",\n SKIP_TO_RESULTS: \"Skip to results\",\n OTHER_CASES: \"Other cases\",\n PROJECT_TIPS:\n \"Start your project collaboration journey and achieve shared goals with team members and AI employees.\",\n GET_STARTED_WITH_PROJECTS_PREFIX: \"Get started with \",\n PROJECTS: \"Projects\",\n GET_STARTED_WITH_PROJECTS_SUFFIX: \"\",\n};\n\nconst zh: Locale = {\n WATCH_AGAIN: \"再次观看\",\n TRY_IT_OUT: \"尝试同款\",\n CASE_REPLAYING: \"案例回放中...\",\n CASE_REPLAY_FINISHED: \"案例回放完成\",\n SKIP_TO_RESULTS: \"跳转到结果\",\n OTHER_CASES: \"其他案例\",\n PROJECT_TIPS:\n \"开启项目协作之旅,和团队成员及多位AI数字人一起实现共同制定的目标。\",\n GET_STARTED_WITH_PROJECTS_PREFIX: \"开启 \",\n PROJECTS: \"项目\",\n GET_STARTED_WITH_PROJECTS_SUFFIX: \" 体验\",\n};\n\nexport const NS = \"bricks/ai-portal/NodeReplay\";\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","import React, { useContext } from \"react\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport styles from \"./NodeReplay.module.css\";\nimport {\n WrappedButton,\n WrappedIcon,\n WrappedLink,\n WrappedShowCase,\n} from \"../../shared/bricks\";\nimport { TaskContext } from \"../../shared/TaskContext\";\nimport { ICON_LOADING } from \"../../shared/constants\";\nimport { K, locales, NS, t } from \"./i18n\";\nimport projectIcon from \"./project@2x.png\";\nimport classNames from \"classnames\";\n\ninitializeI18n(NS, locales);\n\nexport interface NodeReplayProps {\n finished?: boolean;\n ui?: \"chat\" | \"canvas\";\n}\n\nexport function NodeReplay({ finished, ui }: NodeReplayProps) {\n const {\n conversationId,\n showCases,\n exampleProjects,\n skipToResults,\n watchAgain,\n tryItOut,\n } = useContext(TaskContext);\n\n return (\n <div\n className={classNames(styles[\"node-replay\"], {\n [styles.finished]: finished,\n [styles.chat]: ui === \"chat\",\n })}\n >\n <div className={styles.bar}>\n <div className={styles.label}>\n {finished ? t(K.CASE_REPLAY_FINISHED) : t(K.CASE_REPLAYING)}\n </div>\n <div className={styles.buttons}>\n {finished ? (\n <WrappedButton themeVariant=\"elevo\" onClick={watchAgain}>\n {t(K.WATCH_AGAIN)}\n </WrappedButton>\n ) : (\n <WrappedButton themeVariant=\"elevo\" onClick={skipToResults}>\n {t(K.SKIP_TO_RESULTS)}\n </WrappedButton>\n )}\n <WrappedButton type=\"primary\" themeVariant=\"elevo\" onClick={tryItOut}>\n {t(K.TRY_IT_OUT)}\n </WrappedButton>\n </div>\n </div>\n {finished && !!(showCases?.length || exampleProjects?.length) && (\n <div className={styles.content}>\n {!showCases ||\n (showCases.length > 0 && (\n <>\n <div className={styles.heading}>{t(K.OTHER_CASES)}</div>\n {showCases ? (\n <ul className={styles.cases}>\n {showCases\n .filter((item) => item.conversationId !== conversationId)\n .slice(0, 3)\n .map((item) => (\n <li key={item.conversationId}>\n <WrappedShowCase\n caseTitle={item.title}\n summary={item.summary}\n url={item.url}\n />\n </li>\n ))}\n </ul>\n ) : (\n <WrappedIcon className={styles.loading} {...ICON_LOADING} />\n )}\n </>\n ))}\n {!exampleProjects ||\n (exampleProjects.length > 0 && (\n <>\n <div className={styles.heading}>\n {t(K.GET_STARTED_WITH_PROJECTS_PREFIX)}\n <span className={styles.tag}>{t(K.PROJECTS)}</span>\n {t(K.GET_STARTED_WITH_PROJECTS_SUFFIX)}\n </div>\n <div className={styles.tips}>{t(K.PROJECT_TIPS)}</div>\n {exampleProjects ? (\n <ul className={styles.projects}>\n {exampleProjects.slice(0, 2).map((item) => (\n <li key={item.instanceId}>\n <WrappedLink className={styles.project} url={item.url}>\n <img src={projectIcon} width={16} height={16} />\n {item.name}\n </WrappedLink>\n </li>\n ))}\n </ul>\n ) : (\n <WrappedIcon className={styles.loading} {...ICON_LOADING} />\n )}\n </>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"names":["useFulfilledActiveDetail","activeDetail","tasks","jobMap","flowMap","activityMap","useMemo","type","job","get","id","task","find","t","flow","activityWithFlow","activity","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","K","NS","i18n","getFixedT","ToolCallDetail","_ref","toolCall","progress","intermediateParts","responseParts","_job$messages","toolCallMessages","messages","filter","msg","role","message","part","parts","_part$data","data","push","hasProcessParts","length","hasResponseParts","toolState","includes","state","failed","isError","React","className","styles","detail","heading","ARGUMENTS","body","sharedStyles","markdown","PreComponent","content","originalArguments","maybeJson","fallbackAsMarkdown","PROCESS","map","partIndex","_part$data2","key","classNames","EnhancedMarkdown","JSON","stringify","ToolProgressLine","RESPONSE","_part$data3","text","_ref2","refinedContent","fallback","asMarkdown","json","parse","MarkdownPre","WrappedCodeBlock","source","language","themeVariant","initializeI18n","en","zh","___CSS_LOADER_EXPORT___","module","useHandleEscape","activeExpandedViewJobId","activeFile","activeImages","subActiveDetail","setActiveFile","setActiveImages","setActiveExpandedViewJobId","setActiveDetail","setSubActiveDetail","compositionRef","useRef","useEffect","onCompositionStart","current","onCompositionEnd","document","addEventListener","removeEventListener","onKeyDown","e","step","axis","line","dot","count","total","description","getToolDataProgress","progressPart","findLast","_message$parts","ToolCallStatus","_toolCall$annotations","variant","separateInstructions","useContext","TaskContext","toolTitle","annotations","title","name","jobTitle","instruction","hasToolCallResponse","some","readOnly","handleClick","useCallback","newActiveDetail","prev","isEqual","onClick","status","WrappedIcon","icon","lib","prefix","theme","spinning","startTime","timing","humanizeTime","HumanizeTimeFormat","accurate","endTime","moment","humanize","ss","ExpandedView","_manuallyUpdatedViews","_views$find","views","rootId","uniqueId","workspace","previewUrlTemplate","manuallyUpdatedViews","showFeedbackOnView","onFeedbackOnView","feedbackDoneViews","containerRef","rootRef","generatedView","v","view","feedbackDone","useViewFeedbackDone","viewId","has","setView","useState","canFeedback","from","viewsWithTitle","setViewsWithTitle","_generatedView$asyncC","ignore","asyncConstructedView","then","Promise","all","async","_view$entry","entry","defaultExport","result","container","portal","createPortal","root","unstable_createRoot","supportsUseChildren","unmount","remove","loading","setLoading","_rootRef$current","convertedView","convertView","expanded","withContexts","brick","context","functions","templates","render","error","console","handleClose","ref","nav","_view$title","active","buttons","WrappedIconButton","ICON_FEEDBACK","ICON_EXTERNAL_LINK","window","open","getBasePath","slice","parseTemplate","ICON_CLOSE","NS_LIBS_DATETIME","YESTERDAY","TODAY","FUTURE_AFTER","FORMAT_MEDIUM_DATETIME","FORMAT_MEDIUM_DATE","FORMAT_SHORT_DATETIME","FORMAT_SHORT_DATE","FORMAT_SHORT_DAY_DATETIME","FORMAT_SHORT_DAY_DATE","MONTHS","HOURS","SECONDS","MILL_SECONDS","DAYS","MINUTES","time","format","arguments","auto","Infinity","m","now","add","fFull","fMedium","fShort","fShort24","fDefault","full","default","relative","diff","past","Math","min","future","max","getAccurateTime","toFixed","_text","retVal","year","isBefore","clone","isSame","useFlowAndActivityMap","serviceFlows","Map","taskId","set","stage","spec","serviceFlowActivities","checks","getChecks","label","IS_THE_TASK_PLAN_COMPLETE","value","group","IS_THE_TASK_PLAN_LOGICALLY_CORRECT","ARE_THE_TASK_PLAN_STEPS_CONCISE","ARE_THE_ANALYTICAL_CONCLUSIONS_ACCURATE","IS_THE_EVIDENCE_SUPPORTING_THE_CONCLUSIONS_SUFFICIENT","NodeFeedback","submittingFeedback","submittedFeedback","setShowFeedback","onSubmitFeedback","formRef","triedSubmit","setTriedSubmit","handleSubmit","_formRef$current","_formData$get","preventDefault","reportValidity","formData","FormData","plan","i","feedback","handleReset","_formRef$current2","reset","submitted","THANKS_FOR_YOUR_FEEDBACK","FEEDBACK_NODE_TITLE","form","validate","check","index","horizontal","radio","required","YES","NO","vertical","htmlFor","PROBLEM_FEEDBACK","placeholder","PROBLEM_FEEDBACK_PLACEHOLDER","rows","submit","WrappedButton","RESET","shape","disabled","SUBMIT","ChatBox","canChat","showInput","humanInput","onTerminate","supports","aiEmployees","commands","uploadOptions","terminating","setTerminating","handleTerminate","showDialog","CONFIRM_TO_TERMINATE_THE_TASK_TITLE","CONFIRM_TO_TERMINATE_THE_TASK_DESCRIPTION","intercept","button","ICON_STOP","TERMINATE_THE_TASK","WrappedChatInput","SEND_MESSAGE","autoFocus","autoFade","suggestionsPlacement","onChatSubmit","extra","NodeReplay","finished","ui","conversationId","showCases","exampleProjects","skipToResults","watchAgain","tryItOut","chat","bar","CASE_REPLAY_FINISHED","CASE_REPLAYING","WATCH_AGAIN","SKIP_TO_RESULTS","TRY_IT_OUT","OTHER_CASES","cases","item","WrappedShowCase","caseTitle","summary","url","_extends","ICON_LOADING","GET_STARTED_WITH_PROJECTS_PREFIX","tag","PROJECTS","GET_STARTED_WITH_PROJECTS_SUFFIX","tips","PROJECT_TIPS","projects","instanceId","WrappedLink","project","src","projectIcon","width","height"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-panel.e8afa537.js","mappings":"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","sources":["webpack:///./src/chat-panel/styles.module.css?bf50","webpack:///./src/chat-panel/index.tsx","webpack:///./src/chat-panel/styles.module.css"],"sourcesContent":["\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]!./styles.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]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n Modal,\n ModalProps,\n ModalEvents,\n ModalMapEvents,\n} from \"@next-bricks/containers/modal\";\nimport { http } from \"@next-core/http\";\nimport type { UseBrickConf } from \"@next-core/types\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport styles from \"./styles.module.css\";\nimport type { ChatInput } from \"../chat-input\";\nimport type {\n ActiveImages,\n ChatPayload,\n CommandPayload,\n ExtraChatPayload,\n FileInfo,\n RequestStore,\n UploadOptions,\n} from \"../shared/interfaces\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { useConversationDetail } from \"../cruise-canvas/useConversationDetail\";\nimport { useConversationStream } from \"../chat-stream/useConversationStream\";\nimport { preloadHighlighter } from \"@next-shared/markdown\";\nimport { useAutoScroll } from \"../chat-stream/useAutoScroll\";\nimport { UserMessage } from \"../chat-stream/UserMessage/UserMessage\";\nimport { AssistantMessage } from \"../chat-stream/AssistantMessage/AssistantMessage\";\nimport scrollStyles from \"../chat-stream/ScrollDownButton.module.css\";\nimport floatingStyles from \"../shared/FloatingButton.module.css\";\nimport backgroundImage from \"../home-container/images/background.png\";\nimport { DONE_STATES, NON_WORKING_STATES } from \"../shared/constants\";\nimport { WrappedChatInput, WrappedIcon } from \"../shared/bricks\";\nimport { FilePreview } from \"../shared/FilePreview/FilePreview.js\";\nimport { ImagesPreview } from \"../shared/FilePreview/ImagesPreview.js\";\nimport { TaskContext, type TaskContextValue } from \"../shared/TaskContext\";\nimport { StreamContext } from \"../chat-stream/StreamContext\";\n\nconst WrappedModal = wrapBrick<\n Modal,\n ModalProps & {\n themeVariant?: \"default\" | \"elevo\";\n height?: string | number;\n noFooter?: boolean;\n headerBordered?: boolean;\n background?: string;\n fullscreenButton?: boolean;\n },\n ModalEvents,\n ModalMapEvents\n>(\"eo-modal\", {\n onClose: \"close\",\n onConfirm: \"confirm\",\n onCancel: \"cancel\",\n onOpen: \"open\",\n});\n\nconst { defineElement, property, method } = createDecorators();\n\nexport interface ChatPanelProps {\n panelTitle?: string;\n aiEmployeeId?: string;\n cmd?: CommandPayload;\n width?: string | number;\n height?: string | number;\n placeholder?: string;\n uploadOptions?: UploadOptions;\n help?: { useBrick: UseBrickConf };\n maskClosable?: boolean;\n}\n\nconst ChatPanelComponent = forwardRef(LegacyChatPanelComponent);\n\n/**\n * 弹出式对话面板。\n */\nexport\n@defineElement(\"ai-portal.chat-panel\", {\n shadowOptions: false,\n})\nclass ChatPanel extends ReactNextElement implements ChatPanelProps {\n @property()\n accessor panelTitle: string | undefined;\n\n @property()\n accessor aiEmployeeId: string | undefined;\n\n @property({ attribute: false })\n accessor cmd: CommandPayload | undefined;\n\n @property({ attribute: false }) accessor width: string | number | undefined;\n\n @property({ attribute: false }) accessor height: string | number | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({ attribute: false })\n accessor uploadOptions: UploadOptions | undefined;\n\n /**\n * Show help messages when no conversation exists.\n */\n @property({ attribute: false })\n accessor help: { useBrick: UseBrickConf } | undefined;\n\n /**\n * Whether to close the panel when clicking the mask.\n *\n * @default false\n */\n @property({ type: Boolean })\n accessor maskClosable: boolean | undefined;\n\n #ref = createRef<ChatPanelRef>();\n\n @method()\n open() {\n this.#ref.current?.open();\n }\n\n @method()\n close() {\n this.#ref.current?.close();\n }\n\n @method()\n setInputValue(content: string) {\n this.#ref.current?.setInputValue(content);\n }\n\n @method()\n send(payload: ChatPayload) {\n this.#ref.current?.send(payload);\n }\n\n @method()\n showFile(file: FileInfo) {\n this.#ref.current?.showFile(file);\n }\n\n render() {\n return (\n <ChatPanelComponent\n ref={this.#ref}\n panelTitle={this.panelTitle}\n aiEmployeeId={this.aiEmployeeId}\n cmd={this.cmd}\n width={this.width}\n height={this.height}\n placeholder={this.placeholder}\n uploadOptions={this.uploadOptions}\n help={this.help}\n maskClosable={this.maskClosable}\n />\n );\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface ChatPanelComponentProps extends ChatPanelProps {\n // Define react event handlers here.\n}\n\ninterface ChatPanelRef {\n open: () => void;\n close: () => void;\n setInputValue: (content: string) => void;\n send: (payload: ChatPayload) => void;\n showFile: (file: FileInfo) => void;\n}\n\nfunction LegacyChatPanelComponent(\n {\n panelTitle,\n aiEmployeeId,\n cmd,\n width,\n height,\n placeholder,\n uploadOptions,\n help,\n maskClosable,\n }: ChatPanelComponentProps,\n ref: React.Ref<ChatPanelRef>\n) {\n const modalRef = useRef<Modal>(null);\n const inputRef = useRef<ChatInput>(null);\n\n const [submitDisabled, setSubmitDisabled] = useState(false);\n\n const [conversationId, setConversationId] = useState<string | null>(null);\n const [initialRequest, setInitialRequest] = useState<RequestStore | null>(\n null\n );\n\n const { conversation, tasks, errors, humanInputRef } = useConversationDetail(\n conversationId,\n initialRequest\n );\n const conversationAvailable = !!conversation;\n const conversationState = conversation?.state;\n const conversationDone = DONE_STATES.includes(conversationState!);\n const conversationFinished = conversation?.finished;\n const earlyFinished =\n conversation?.finished &&\n conversation.mode !== \"resume\" &&\n !NON_WORKING_STATES.includes(conversationState!);\n\n const canChat =\n !conversationId ||\n conversationDone ||\n conversationState === \"input-required\";\n\n const { messages, jobMap } = useConversationStream(\n conversationAvailable,\n conversationState,\n tasks,\n errors,\n { showHumanActions: true, skipActivitySubTasks: true }\n );\n\n const humanInput = useCallback(\n (input: string | null, action?: string, extra?: ExtraChatPayload) => {\n humanInputRef.current?.(input, action, extra);\n },\n [humanInputRef]\n );\n\n const [depsReady, setDepsReady] = useState(false);\n useEffect(() => {\n let ignore = false;\n Promise.race([\n preloadHighlighter(\"light-plus\"),\n // Wait at most 5s\n new Promise((resolve) => setTimeout(resolve, 5000)),\n ]).finally(() => {\n if (!ignore) {\n setDepsReady(true);\n }\n });\n return () => {\n ignore = true;\n };\n }, []);\n\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const scrollContentRef = useRef<HTMLDivElement>(null);\n\n const { scrollable, scrollToBottom, toggleAutoScroll } = useAutoScroll(\n conversationAvailable && depsReady,\n scrollContainerRef,\n scrollContentRef\n );\n\n const handleChatSubmit = useCallback(\n async (payload: ChatPayload) => {\n if (conversationId) {\n const { content, ...extra } = payload;\n // For follow-up messages, do not pass aiEmployeeId and cmd again,\n // unless passed explicitly.\n humanInput(content, undefined, extra);\n return;\n }\n setSubmitDisabled(true);\n try {\n const res = await http.post<{\n data: { conversationId: string };\n }>(\n \"api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations\",\n {}\n );\n const conversationId = res.data.conversationId;\n setConversationId(conversationId);\n setInitialRequest({\n ...payload,\n ...(aiEmployeeId ? { aiEmployeeId } : null),\n ...(cmd ? { cmd } : null),\n conversationId: conversationId,\n });\n } catch (e) {\n handleHttpError(e);\n } finally {\n setSubmitDisabled(false);\n }\n },\n [aiEmployeeId, cmd, conversationId, humanInput]\n );\n\n const [activeFile, setActiveFile] = useState<FileInfo | null>(null);\n const [activeImages, setActiveImages] = useState<ActiveImages | null>(null);\n\n const taskContextValue = useMemo(\n () =>\n ({\n conversationState,\n finished: conversationFinished,\n earlyFinished,\n tasks,\n jobMap,\n errors,\n setActiveFile,\n setActiveImages,\n humanInput,\n }) as TaskContextValue,\n [\n conversationState,\n humanInput,\n jobMap,\n tasks,\n errors,\n conversationFinished,\n earlyFinished,\n ]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n open: () => {\n modalRef.current?.open();\n },\n close: () => {\n modalRef.current?.close();\n },\n setInputValue: (content: string) => {\n inputRef.current?.setValue(content);\n },\n send: (payload: ChatPayload) => {\n handleChatSubmit(payload);\n },\n showFile: (file: FileInfo) => {\n setActiveFile(file);\n },\n }),\n [handleChatSubmit]\n );\n\n const streamContextValue = useMemo(\n () => ({\n lastDetail: null,\n toggleAutoScroll,\n setUserClosedAside: () => {},\n }),\n [toggleAutoScroll]\n );\n\n return (\n <TaskContext.Provider value={taskContextValue}>\n <StreamContext.Provider value={streamContextValue}>\n <WrappedModal\n modalTitle={panelTitle}\n width={width}\n height={height}\n themeVariant=\"elevo\"\n maskClosable={maskClosable}\n noFooter\n headerBordered\n fullscreenButton\n background={`fixed url(${backgroundImage}) center center / cover no-repeat`}\n onOpen={() => {\n setTimeout(() => {\n inputRef.current?.focus();\n }, 100);\n }}\n ref={modalRef}\n >\n <div className={styles.panel}>\n {!conversationId ? (\n <div className={styles.main}>\n <div className={styles.chat}>\n <div className={styles.narrow}>\n {help ? (\n <ReactUseMultipleBricks useBrick={help.useBrick} />\n ) : null}\n </div>\n </div>\n </div>\n ) : conversationAvailable && depsReady ? (\n <div className={styles.main}>\n <div className={styles.chat} ref={scrollContainerRef}>\n <div className={styles.narrow}>\n <div className={styles.messages} ref={scrollContentRef}>\n {messages.map((msg, index, list) => (\n <div className={styles.message} key={index}>\n {msg.role === \"user\" ? (\n <UserMessage\n content={msg.content}\n files={msg.files}\n />\n ) : (\n <AssistantMessage\n chunks={msg.chunks}\n scopeState={conversation.state}\n isLatest={\n index === list.length - 1 && !earlyFinished\n }\n finished={conversation.finished}\n />\n )}\n </div>\n ))}\n {earlyFinished && (\n <div className={styles.message}>\n <AssistantMessage earlyFinished />\n </div>\n )}\n </div>\n </div>\n </div>\n <button\n className={`${scrollStyles[\"scroll-down\"]} ${floatingStyles[\"floating-button\"]}`}\n style={{ bottom: \"30px\" }}\n hidden={!scrollable}\n onClick={scrollToBottom}\n >\n <WrappedIcon lib=\"antd\" icon=\"down\" />\n </button>\n </div>\n ) : (\n <div className={styles[\"loading-icon\"]}>\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n )}\n <div className={styles.narrow}>\n <WrappedChatInput\n ref={inputRef}\n placeholder={placeholder}\n suggestionsPlacement=\"top\"\n submitDisabled={submitDisabled || !canChat}\n supportsTerminate\n uploadOptions={uploadOptions}\n onChatSubmit={(e) => handleChatSubmit(e.detail)}\n />\n </div>\n </div>\n </WrappedModal>\n {activeFile && <FilePreview file={activeFile} fromModal />}\n {activeImages && <ImagesPreview images={activeImages} fromModal />}\n </StreamContext.Provider>\n </TaskContext.Provider>\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, `.panel--ukaGUcR2{display:flex;flex-direction:column;min-height:300px;height:100%}.narrow--NBtGp4vW{width:100%;max-width:800px;margin:0 auto}.main--K5R8dLH9{position:relative;flex:1;min-height:0}.chat--Drl2ThnZ{padding:0 0 20px;height:100%;overflow-y:auto}.messages--Bhaarj69{width:100%;margin:0 auto}.message--TP5bdFpZ + .message--TP5bdFpZ{margin-top:40px}.loading-icon--BjI0pCV1{flex:1;display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"panel\": `panel--ukaGUcR2`,\n\t\"narrow\": `narrow--NBtGp4vW`,\n\t\"main\": `main--K5R8dLH9`,\n\t\"chat\": `chat--Drl2ThnZ`,\n\t\"messages\": `messages--Bhaarj69`,\n\t\"message\": `message--TP5bdFpZ`,\n\t\"loading-icon\": `loading-icon--BjI0pCV1`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","WrappedModal","wrapBrick","onClose","onConfirm","onCancel","onOpen","defineElement","property","method","createDecorators","ChatPanelComponent","forwardRef","LegacyChatPanelComponent","_ChatPanel","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_ref","ChatPanel","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","_initProto","_init_panelTitle","_init_extra_panelTitle","_init_aiEmployeeId","_init_extra_aiEmployeeId","_init_cmd","_init_extra_cmd","_init_width","_init_extra_width","_init_height","_init_extra_height","_init_placeholder","_init_extra_placeholder","_init_uploadOptions","_init_extra_uploadOptions","_init_help","_init_extra_help","_init_maskClosable","_init_extra_maskClosable","createRef","panelTitle","_classPrivateFieldGet","v","_classPrivateFieldSet","aiEmployeeId","cmd","width","height","placeholder","uploadOptions","help","maskClosable","open","_classPrivateFieldGet2","this","current","close","_classPrivateFieldGet3","setInputValue","content","_classPrivateFieldGet4","send","payload","_classPrivateFieldGet5","showFile","file","_classPrivateFieldGet6","render","React","ref","_ref2","modalRef","useRef","inputRef","submitDisabled","setSubmitDisabled","useState","conversationId","setConversationId","initialRequest","setInitialRequest","conversation","tasks","errors","humanInputRef","useConversationDetail","conversationAvailable","conversationState","state","conversationDone","DONE_STATES","includes","conversationFinished","finished","earlyFinished","mode","NON_WORKING_STATES","canChat","messages","jobMap","useConversationStream","showHumanActions","skipActivitySubTasks","humanInput","useCallback","input","action","extra","_humanInputRef$curren","call","depsReady","setDepsReady","useEffect","ignore","Promise","race","preloadHighlighter","resolve","setTimeout","finally","scrollContainerRef","scrollContentRef","scrollable","scrollToBottom","toggleAutoScroll","useAutoScroll","handleChatSubmit","async","http","post","data","e","handleHttpError","activeFile","setActiveFile","activeImages","setActiveImages","taskContextValue","useMemo","useImperativeHandle","_modalRef$current","_modalRef$current2","_inputRef$current","setValue","streamContextValue","lastDetail","setUserClosedAside","TaskContext","Provider","value","StreamContext","modalTitle","themeVariant","noFooter","headerBordered","fullscreenButton","background","backgroundImage","_inputRef$current2","focus","className","styles","panel","main","chat","narrow","map","msg","index","list","message","key","role","UserMessage","files","AssistantMessage","chunks","scopeState","isLatest","length","scrollStyles","floatingStyles","style","bottom","hidden","onClick","WrappedIcon","lib","icon","theme","spinning","ReactUseMultipleBricks","useBrick","WrappedChatInput","suggestionsPlacement","supportsTerminate","onChatSubmit","detail","FilePreview","fromModal","ImagesPreview","images","_ChatPanel2","c","_initClass","_applyDecs","shadowOptions","attribute","type","Boolean","___CSS_LOADER_EXPORT___","push","module","id"],"sourceRoot":""}
|
package/dist/index.d03181ae.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e,t,r,a,n,o,l,i,c,s,d,f,h,u,b,m,p,v,P,g,x,y,w,k={2693:(e,t,r)=>{var a={"./cruise-canvas":()=>Promise.all([r.e(1341),r.e(3793),r.e(7888),r.e(3840),r.e(8324),r.e(3363),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(410),r.e(1302),r.e(128),r.e(2919),r.e(1321),r.e(1919),r.e(5188),r.e(4208),r.e(5452),r.e(8796),r.e(3186),r.e(2267)]).then((()=>()=>r(99631))),"./stat-with-mini-chart":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7345)]).then((()=>()=>r(45657))),"./icon-button":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(1541)]).then((()=>()=>r(68845))),"./home-container":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(3172)]).then((()=>()=>r(6492))),"./show-cases":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(4332)]).then((()=>()=>r(64604))),"./mcp-tools":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(7087)]).then((()=>()=>r(91375))),"./chat-stream":()=>Promise.all([r.e(1341),r.e(3793),r.e(7888),r.e(3840),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(410),r.e(1302),r.e(128),r.e(2919),r.e(1321),r.e(1919),r.e(5188),r.e(4208),r.e(4864),r.e(5452),r.e(4577),r.e(366)]).then((()=>()=>r(23182))),"./ai-employees":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(6729)]).then((()=>()=>r(80749))),"./elevo-sidebar":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(128),r.e(2919),r.e(5411),r.e(7771)]).then((()=>()=>r(17295))),"./chat-box":()=>Promise.all([r.e(1341),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(410),r.e(128),r.e(2919),r.e(1919),r.e(9435),r.e(9271),r.e(6573)]).then((()=>()=>r(94669))),"./ai-agents":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(304)]).then((()=>()=>r(50520))),"./call-tool":()=>Promise.all([r.e(410),r.e(2919),r.e(5234)]).then((()=>()=>r(24963))),"./save-request-store":()=>Promise.all([r.e(410),r.e(8539)]).then((()=>()=>r(93291))),"./load-request-store":()=>Promise.all([r.e(410),r.e(8539)]).then((()=>()=>r(93291))),"./clear-request-store":()=>Promise.all([r.e(410),r.e(8539)]).then((()=>()=>r(93291))),"./set-chat-command":()=>Promise.all([r.e(410),r.e(5944)]).then((()=>()=>r(93757))),"./page-container":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(128),r.e(5020)]).then((()=>()=>r(7476))),"./tab-list":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(9873)]).then((()=>()=>r(48581))),"./dropdown-select":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(9053)]).then((()=>()=>r(26001))),"./preview-container":()=>Promise.all([r.e(3793),r.e(7888),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(410),r.e(128),r.e(1321),r.e(5188),r.e(8775)]).then((()=>()=>r(54519))),"./action-buttons":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(6109)]).then((()=>()=>r(27725))),"./goal-card-list":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(4322)]).then((()=>()=>r(96318))),"./project-conversations":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(1302),r.e(2697)]).then((()=>()=>r(36709))),"./project-knowledges":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(1302),r.e(7908)]).then((()=>()=>r(73388))),"./activity-timeline":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(1302),r.e(9576)]).then((()=>()=>r(59544))),"./chat-input":()=>Promise.all([r.e(1341),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(128),r.e(2919),r.e(1919),r.e(9435),r.e(9271),r.e(7218)]).then((()=>()=>r(45962))),"./elevo-logo":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(5064)]).then((()=>()=>r(52404))),"./show-case":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(3901)]).then((()=>()=>r(2865))),"./blank-state":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(1291)]).then((()=>()=>r(3019))),"./sticky-container":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(5144)]).then((()=>()=>r(46544))),"./elevo-card":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7923)]).then((()=>()=>r(5527))),"./flow-tabs":()=>Promise.all([r.e(1341),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(5764)]).then((()=>()=>r(42252))),"./stage-flow":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(410),r.e(7195)]).then((()=>()=>r(68268))),"./running-flow":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(9789)]).then((()=>()=>r(69897))),"./notice-dropdown":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(4595)]).then((()=>()=>r(72419))),"./notice-list":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(1302),r.e(4595),r.e(9780)]).then((()=>()=>r(70976))),"./chat-panel":()=>Promise.all([r.e(1341),r.e(3793),r.e(7888),r.e(3840),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7177),r.e(1030),r.e(410),r.e(128),r.e(2919),r.e(1321),r.e(1919),r.e(5188),r.e(4208),r.e(4864),r.e(8796),r.e(288)]).then((()=>()=>r(11552)))},n=(e,t)=>(r.R=t,t=r.o(a,e)?a[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),r.R=void 0,t),o=(e,t)=>{if(r.S){var a="default",n=r.S[a];if(n&&n!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return r.S[a]=e,r.I(a,t)}};r.d(t,{get:()=>n,init:()=>o})}},j={};function S(e){var t=j[e];if(void 0!==t)return t.exports;var r=j[e]={id:e,loaded:!1,exports:{}};return k[e].call(r.exports,r,r.exports,S),r.loaded=!0,r.exports}S.m=k,S.c=j,S.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return S.d(t,{a:t}),t},S.d=(e,t)=>{for(var r in t)S.o(t,r)&&!S.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((t,r)=>(S.f[r](e,t),t)),[])),S.u=e=>"chunks/"+({288:"chat-panel",304:"ai-agents",366:"chat-stream",1291:"blank-state",1541:"icon-button",2267:"cruise-canvas",2697:"project-conversations",3172:"home-container",3901:"show-case",4322:"goal-card-list",4332:"show-cases",4595:"notice-dropdown",5020:"page-container",5064:"elevo-logo",5144:"sticky-container",5234:"call-tool",5764:"flow-tabs",5944:"set-chat-command",6109:"action-buttons",6573:"chat-box",6729:"ai-employees",7087:"mcp-tools",7195:"stage-flow",7218:"chat-input",7345:"stat-with-mini-chart",7771:"elevo-sidebar",7908:"project-knowledges",7923:"elevo-card",8539:"load-request-store",8775:"preview-container",9053:"dropdown-select",9576:"activity-timeline",9780:"notice-list",9789:"running-flow",9873:"tab-list"}[e]||e)+"."+{114:"af61e48a",288:"e8afa537",304:"cffd08a0",366:"cef88ead",721:"f43de0ef",726:"392de709",871:"42c14164",879:"a469d051",948:"e601f18c",1045:"0906fc23",1120:"fd177648",1122:"95231c39",1136:"456f1c68",1215:"78630d79",1291:"648eea95",1341:"bd8f14f2",1541:"545ffb24",1889:"b7766f77",1931:"2abee15e",1940:"afcdea49",2052:"ef23d12a",2260:"9564eb16",2267:"bfae3138",2277:"b026624f",2357:"b6f1e719",2432:"352ae272",2449:"b46fc22a",2508:"15c05669",2510:"91062655",2593:"783fb42e",2697:"4cc72f40",3003:"a607b32b",3144:"4088b5d1",3171:"45ef4669",3172:"f1829834",3186:"81f0a2f0",3208:"0796f5be",3331:"bb7b4c1c",3363:"d64d8e2a",3419:"28287d23",3744:"ed6d0719",3793:"03162dd0",3816:"fc867cd4",3840:"6080d56e",3901:"44e995fc",3935:"3b6a2f5d",4041:"6b503155",4190:"7612613e",4208:"002ac189",4228:"ea602510",4281:"ddad94d5",4306:"9e8251b7",4322:"74ab5767",4332:"c3921ea0",4474:"5fd3e9c8",4491:"539d30f8",4577:"66294512",4595:"63cb2415",4609:"e21567a0",4658:"18d5ee4d",4735:"24157512",4765:"03d9c7c5",4837:"570099ad",4864:"03882076",5020:"2185f2e0",5032:"2e4fb116",5064:"25e3b889",5065:"9616e9d3",5144:"d3f7054e",5191:"ce5dfec4",5234:"a3219d5e",5250:"5294dc23",5307:"28ab7643",5384:"564ae2e4",5399:"501fc322",5411:"095a6093",5452:"e451b025",5498:"298984c7",5548:"498b312d",5552:"09658542",5727:"93a1388d",5764:"ee1290c2",5807:"0b926b80",5936:"5bba7f2f",5944:"182747cc",6023:"843ea4a1",6029:"6fe4c192",6109:"68666920",6161:"d7e3ea42",6450:"9e9165f9",6519:"3ce478ef",6530:"3c295a95",6573:"3ae83b4f",6729:"267c3626",6773:"afd27a30",7087:"f132c502",7146:"b327120d",7195:"9b6fad93",7218:"e913e9ed",7302:"3117acc5",7345:"1509cf8c",7353:"02afd00b",7367:"d389861e",7721:"c985db03",7729:"1ccf3e2a",7733:"dbb66cbc",7771:"fba49f67",7842:"d5a94411",7888:"61a7cdf2",7908:"51731410",7923:"49b42ed0",8231:"89b65f56",8263:"d9eaafab",8311:"69ab488d",8324:"5ac013ff",8348:"2fbb3b7e",8539:"a6effafd",8588:"0bce58e7",8633:"1b8bb39e",8755:"1525c38d",8757:"5cde95c7",8775:"a0ca6e2f",8936:"b9a73775",8989:"ddf83737",9034:"7ff08734",9053:"336442ba",9251:"52df4857",9263:"affcdb7b",9271:"2786528c",9515:"b58eb80e",9559:"3db56cb0",9576:"96e7aaea",9599:"02a5e6e3",9634:"71192f72",9780:"9a78cc87",9789:"37a428cf",9831:"f659ce60",9844:"c3062a6b",9873:"ee97567f"}[e]+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/ai-portal:",S.l=(r,a,n,o)=>{if(e[r])e[r].push(a);else{var l,i;if(void 0!==n)for(var c=document.getElementsByTagName("script"),s=0;s<c.length;s++){var d=c[s];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==t+n){l=d;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,S.nc&&l.setAttribute("nonce",S.nc),l.setAttribute("data-webpack",t+n),l.src=r),e[r]=[a];var f=(t,a)=>{l.onerror=l.onload=null,clearTimeout(h);var n=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(a))),t)return t(a)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),i&&document.head.appendChild(l)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},S.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{S.S={};var e={},t={};S.I=(r,a)=>{a||(a=[]);var n=t[r];if(n||(n=t[r]={}),!(a.indexOf(n)>=0)){if(a.push(n),e[r])return e[r];S.o(S.S,r)||(S.S[r]={});var o=S.S[r],l="@next-bricks/ai-portal",i=(e,t,r,a)=>{var n=o[e]=o[e]||{},i=n[t];(!i||!i.loaded&&(!a!=!i.eager?a:l>i.from))&&(n[t]={get:r,from:l,eager:!!a})},c=[];return"default"===r&&(i("@babel/parser","7.27.2",(()=>S.e(6773).then((()=>()=>S(46773))))),i("@easyops-cn/brick-next-pipes","0.7.6",(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(34306))))),i("@next-core/cook","2.5.12",(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(61122))))),i("@next-core/element","1.2.19",(()=>S.e(1045).then((()=>()=>S(21045))))),i("@next-core/http","1.2.14",(()=>S.e(8989).then((()=>()=>S(48989))))),i("@next-core/i18n","1.0.87",(()=>Promise.all([S.e(7177),S.e(410),S.e(671),S.e(5552)]).then((()=>()=>S(75552))))),i("@next-core/inject","1.0.62",(()=>Promise.all([S.e(1030),S.e(9933),S.e(2277)]).then((()=>()=>S(72277))))),i("@next-core/loader","1.6.17",(()=>S.e(5399).then((()=>()=>S(35399))))),i("@next-core/pipes","2.0.36",(()=>Promise.all([S.e(1919),S.e(6519)]).then((()=>()=>S(76519))))),i("@next-core/react-element","1.0.38",(()=>Promise.all([S.e(8769),S.e(870),S.e(9435),S.e(114)]).then((()=>()=>S(20114))))),i("@next-core/react-runtime","1.7.43",(()=>Promise.all([S.e(8769),S.e(981),S.e(1030),S.e(128),S.e(4837)]).then((()=>()=>S(64837))))),i("@next-core/runtime","1.71.4",(()=>Promise.all([S.e(948),S.e(7177),S.e(1030),S.e(410),S.e(1302),S.e(2919),S.e(1321),S.e(5188),S.e(5651)]).then((()=>()=>S(30948))))),i("@next-core/supply","2.3.9",(()=>Promise.all([S.e(1030),S.e(1302),S.e(9933),S.e(9559)]).then((()=>()=>S(49559))))),i("@next-core/theme","1.6.1",(()=>Promise.all([S.e(1889),S.e(2052)]).then((()=>()=>S(51889))))),i("@next-core/utils/general","1.8.8",(()=>S.e(871).then((()=>()=>S(40871))))),i("@next-core/utils/storyboard","1.8.8",(()=>Promise.all([S.e(1030),S.e(410),S.e(1321),S.e(7146)]).then((()=>()=>S(97146))))),i("history","4.10.1",(()=>S.e(3003).then((()=>()=>S(65384))))),i("i18next-browser-languagedetector","7.2.2",(()=>S.e(726).then((()=>()=>S(50726))))),i("i18next","22.5.1",(()=>S.e(2357).then((()=>()=>S(2357))))),i("js-yaml","3.14.1",(()=>S.e(9515).then((()=>()=>S(19515))))),i("lodash","4.17.21",(()=>S.e(5250).then((()=>()=>S(45250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(61329))))),i("moment","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(99420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([S.e(3144),S.e(8769)]).then((()=>()=>S(43144))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>S.e(4041).then((()=>()=>S(14041)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var t=S.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var a=r.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=r[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),a=r[1]?t(r[1]):[];return r[2]&&(a.length++,a.push.apply(a,t(r[2]))),r[3]&&(a.push([]),a.push.apply(a,t(r[3]))),a},a=(e,t)=>{e=r(e),t=r(t);for(var a=0;;){if(a>=e.length)return a<t.length&&"u"!=(typeof t[a])[0];var n=e[a],o=(typeof n)[0];if(a>=t.length)return"u"==o;var l=t[a],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&n!=l)return n<l;a++}},n=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var a=1,o=1;o<e.length;o++)a--,r+="u"==(typeof(i=e[o]))[0]?"-":(a>0?".":"")+(a=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():n(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var a=e[0],n=a<0;n&&(a=-a-1);for(var l=0,i=1,c=!0;;i++,l++){var s,d,f=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(d=(typeof(s=t[l]))[0]))return!c||("u"==f?i>a&&!n:""==f!=n);if("u"==d){if(!c||"u"!=f)return!1}else if(c)if(f==d)if(i<=a){if(s!=e[i])return!1}else{if(n?s>e[i]:s<e[i])return!1;s!=e[i]&&(c=!1)}else if("s"!=f&&"n"!=f){if(n||i<=a)return!1;c=!1,i--}else{if(i<=a||d<f!=n)return!1;c=!1}else"s"!=f&&"n"!=f&&(c=!1,i--)}}var h=[],u=h.pop.bind(h);for(l=1;l<e.length;l++){var b=e[l];h.push(1==b?u()|u():2==b?u()&u():b?o(b,t):!u())}return!!u()},l=(e,t)=>e&&S.o(e,t),i=e=>(e.loaded=1,e.get()),c=e=>Object.keys(e).reduce(((t,r)=>(e[r].eager&&(t[r]=e[r]),t)),{}),s=(e,t,r,n)=>{var l=n?c(e[t]):e[t];return(t=Object.keys(l).reduce(((e,t)=>!o(r,t)||e&&!a(e,t)?e:t),0))&&l[t]},d=(e,t,r)=>{var n=r?c(e[t]):e[t];return Object.keys(n).reduce(((e,t)=>!e||!n[e].loaded&&a(e,t)?t:e),0)},f=(e,t,r,a)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+n(a)+")",h=(e,t,r,a,o)=>{var l=e[r];return"No satisfying version ("+n(a)+")"+(o?" for eager consumption":"")+" of shared module "+r+" found in shared scope "+t+".\nAvailable versions: "+Object.keys(l).map((e=>e+" from "+l[e].from)).join(", ")},u=e=>{throw new Error(e)},b=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},p=(e,t,r)=>r?r():((e,t)=>u("Shared module "+t+" doesn't exist in shared scope "+e))(e,t),v=(m=e=>function(t,r,a,n,o){var l=S.I(t);return l&&l.then&&!a?l.then(e.bind(e,t,S.S[t],r,!1,n,o)):e(t,S.S[t],r,a,n,o)})(((e,t,r,a,n,o)=>{if(!l(t,r))return p(e,r,o);var c=s(t,r,n,a);return c?i(c):o?o():void u(h(t,e,r,n,a))})),P=m(((e,t,r,a,n,c)=>{if(!l(t,r))return p(e,r,c);var s=d(t,r,a);return o(n,s)||b(f(t,r,s,n)),i(t[r][s])})),g={},x={41030:()=>P("default","lodash",!1,[1,4,17,21],(()=>S.e(5250).then((()=>()=>S(45250))))),21302:()=>P("default","moment",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(99420))))),55310:()=>P("default","js-yaml",!1,[0],(()=>S.e(9515).then((()=>()=>S(19515))))),40580:()=>P("default","@babel/parser",!1,[0],(()=>S.e(6773).then((()=>()=>S(46773))))),67177:()=>P("default","@next-core/i18n",!1,[1,1,0,87],(()=>Promise.all([S.e(410),S.e(671),S.e(3171)]).then((()=>()=>S(75552))))),40410:()=>P("default","@next-core/utils/general",!1,[1,1,8,8],(()=>S.e(871).then((()=>()=>S(40871))))),848:()=>P("default","i18next-browser-languagedetector",!1,[0],(()=>S.e(726).then((()=>()=>S(50726))))),75630:()=>P("default","i18next",!1,[0],(()=>S.e(2357).then((()=>()=>S(2357))))),59933:()=>P("default","@next-core/pipes",!1,[0],(()=>Promise.all([S.e(1919),S.e(6519)]).then((()=>()=>S(76519))))),61919:()=>P("default","@easyops-cn/brick-next-pipes",!1,[2,0,7,3],(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(34306))))),18769:()=>v("default","react",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(4041).then((()=>()=>S(14041))))),90870:()=>v("default","@next-core/element",!1,[1,1,2,19],(()=>S.e(1045).then((()=>()=>S(21045))))),59435:()=>v("default","react-dom",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(3144).then((()=>()=>S(43144))))),30981:()=>v("default","@next-core/react-element",!1,[1,1,0,38],(()=>Promise.all([S.e(870),S.e(9435),S.e(7733)]).then((()=>()=>S(20114))))),60128:()=>P("default","@next-core/runtime",!1,[1,1,71,4],(()=>Promise.all([S.e(948),S.e(7177),S.e(1030),S.e(410),S.e(1302),S.e(2919),S.e(1321),S.e(5188),S.e(5651)]).then((()=>()=>S(30948))))),22919:()=>P("default","@next-core/http",!1,[1,1,2,14],(()=>S.e(8989).then((()=>()=>S(48989))))),71321:()=>P("default","@next-core/cook",!1,[0],(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(61122))))),95188:()=>P("default","@next-core/utils/storyboard",!1,[1,1,8,8],(()=>S.e(4765).then((()=>()=>S(97146))))),11732:()=>P("default","history",!1,[0],(()=>S.e(3003).then((()=>()=>S(65384))))),26036:()=>P("default","moment/locale/zh-cn.js",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(61329))))),29283:()=>P("default","@next-core/inject",!1,[0],(()=>Promise.all([S.e(9933),S.e(4658)]).then((()=>()=>S(72277))))),45599:()=>P("default","@next-core/loader",!1,[0],(()=>S.e(5399).then((()=>()=>S(35399))))),94167:()=>P("default","@next-core/supply",!1,[0],(()=>Promise.all([S.e(9933),S.e(1940)]).then((()=>()=>S(49559))))),34419:()=>P("default","@next-core/theme",!1,[1,1,6,1],(()=>S.e(1889).then((()=>()=>S(51889))))),18796:()=>v("default","@next-core/react-runtime",!1,[1,1,7,43],(()=>S.e(9599).then((()=>()=>S(64837)))))},y={128:[60128],410:[40410],580:[40580],671:[848,75630],870:[90870],981:[30981],1030:[41030],1302:[21302],1321:[71321],1919:[61919],2919:[22919],4419:[34419],5188:[95188],5310:[55310],5651:[11732,26036,29283,45599,94167],7177:[67177],8769:[18769],8796:[18796],9435:[59435],9933:[59933]},w={},S.f.consumes=(e,t)=>{S.o(y,e)&&y[e].forEach((e=>{if(S.o(g,e))return t.push(g[e]);if(!w[e]){var r=t=>{g[e]=0,S.m[e]=r=>{delete S.c[e],r.exports=t()}};w[e]=!0;var a=t=>{delete g[e],S.m[e]=r=>{throw delete S.c[e],t}};try{var n=x[e]();n.then?t.push(g[e]=n.then(r).catch(a)):r(n)}catch(e){a(e)}}}))},(()=>{S.b=document.baseURI||self.location.href;var e={2641:0};S.f.j=(t,r)=>{var a=S.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(1(030|28|302|321|919)|5(188|310|651|80)|87(0|69|96)|9(435|81|933)|(29|44)19|410|671|7177)$/.test(t))e[t]=0;else{var n=new Promise(((r,n)=>a=e[t]=[r,n]));r.push(a[2]=n);var o=S.p+S.u(t),l=new Error;S.l(o,(r=>{if(S.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",l.name="ChunkLoadError",l.type=n,l.request=o,a[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var a,n,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(a in l)S.o(l,a)&&(S.m[a]=l[a]);i&&i(S)}for(t&&t(r);c<o.length;c++)n=o[c],S.o(e,n)&&e[n]&&e[n][0](),e[n]=0},r=globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),S.nc=void 0;var E=S(2693);window["bricks/ai-portal"]=E})();
|
|
2
|
-
//# sourceMappingURL=index.d03181ae.js.map
|