@next-bricks/ai-portal 0.66.0 → 0.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +79 -50
- package/dist/chunks/2118.677e19e7.js +3 -0
- package/dist/chunks/2118.677e19e7.js.LICENSE.txt +5 -0
- package/dist/chunks/2118.677e19e7.js.map +1 -0
- package/dist/chunks/3573.7b0bb780.js +3 -0
- package/dist/chunks/3573.7b0bb780.js.map +1 -0
- package/dist/chunks/3744.06d6d911.js +2 -0
- package/dist/chunks/{3744.ed6d0719.js.map → 3744.06d6d911.js.map} +1 -1
- package/dist/chunks/4208.7a99a847.js +2 -0
- package/dist/chunks/4208.7a99a847.js.map +1 -0
- package/dist/chunks/4228.692fa030.js +2 -0
- package/dist/chunks/{4228.ea602510.js.map → 4228.692fa030.js.map} +1 -1
- package/dist/chunks/4573.56d7bc95.js +3 -0
- package/dist/chunks/4573.56d7bc95.js.map +1 -0
- package/dist/chunks/488.ec641231.js +2 -0
- package/dist/chunks/488.ec641231.js.map +1 -0
- package/dist/chunks/6530.6d9e7c8b.js +2 -0
- package/dist/chunks/6530.6d9e7c8b.js.map +1 -0
- package/dist/chunks/chat-box.1ac7555a.js +3 -0
- package/dist/chunks/chat-box.1ac7555a.js.map +1 -0
- package/dist/chunks/chat-input.444c80bb.js +3 -0
- package/dist/chunks/chat-input.444c80bb.js.map +1 -0
- package/dist/chunks/chat-panel-welcome.2f7c6c8b.js +2 -0
- package/dist/chunks/chat-panel-welcome.2f7c6c8b.js.map +1 -0
- package/dist/chunks/chat-panel.3160f2e8.js +2 -0
- package/dist/chunks/chat-panel.3160f2e8.js.map +1 -0
- package/dist/chunks/{elevo-sidebar.fba49f67.js → elevo-sidebar.a1b4645a.js} +3 -3
- package/dist/chunks/{elevo-sidebar.fba49f67.js.map → elevo-sidebar.a1b4645a.js.map} +1 -1
- package/dist/chunks/main.638b1f10.js +2 -0
- package/dist/chunks/main.638b1f10.js.map +1 -0
- package/dist/chunks/space-logo.994f7a25.js +2 -0
- package/dist/chunks/space-logo.994f7a25.js.map +1 -0
- package/dist/chunks/space-workbench.572f4029.js +2 -0
- package/dist/chunks/space-workbench.572f4029.js.map +1 -0
- package/dist/examples.json +23 -20
- package/dist/images/09a19fbf.svg +4 -0
- package/dist/images/2da0514e.png +0 -0
- package/dist/images/2f7ddbac.svg +6 -0
- package/dist/images/33bca987.png +0 -0
- package/dist/images/9da11f86.png +0 -0
- package/dist/images/da88bb60.svg +12 -0
- package/dist/images/e15f6abd.svg +3 -0
- package/dist/index.ebd91b13.js +2 -0
- package/dist/index.ebd91b13.js.map +1 -0
- package/dist/manifest.json +514 -431
- package/dist/types.json +3796 -3032
- package/dist-types/bootstrap.d.ts +3 -0
- package/dist-types/chat-panel/ChatPanelContent.d.ts +22 -0
- package/dist-types/cruise-canvas/useConversationDetail.d.ts +2 -2
- package/dist-types/shared/interfaces.d.ts +10 -1
- package/dist-types/space-workbench/bricks.d.ts +23 -0
- package/dist-types/space-workbench/chat-panel-welcome/i18n.d.ts +14 -0
- package/dist-types/space-workbench/chat-panel-welcome/index.d.ts +13 -0
- package/dist-types/space-workbench/chat-panel-welcome/index.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/ActivityCard.d.ts +14 -0
- package/dist-types/space-workbench/components/ActivityCard.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/ActivityDetailModal.d.ts +13 -0
- package/dist-types/space-workbench/components/ActivityDetailModal.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/BusinessFlowPreview.d.ts +13 -0
- package/dist-types/space-workbench/components/BusinessFlowPreview.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/BusinessManage.d.ts +15 -0
- package/dist-types/space-workbench/components/BusinessManage.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/BusinessObjectPreview.d.ts +13 -0
- package/dist-types/space-workbench/components/BusinessObjectPreview.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/ConfigPreview.d.ts +14 -0
- package/dist-types/space-workbench/components/ConfigPreview.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/EmptyState.d.ts +15 -0
- package/dist-types/space-workbench/components/EmptyState.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/SpaceConfigModal/ConfigContext.d.ts +6 -0
- package/dist-types/space-workbench/components/SpaceConfigModal/SpaceConfigModal.d.ts +12 -0
- package/dist-types/space-workbench/components/SpaceConfigModal/SpaceConfigModal.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/SpaceConfigModal/utils.d.ts +3 -0
- package/dist-types/space-workbench/components/SpaceConfigModal/utils.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/SpaceGuide.d.ts +15 -0
- package/dist-types/space-workbench/components/SpaceGuide.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/SpaceNav.d.ts +23 -0
- package/dist-types/space-workbench/components/SpaceNav.spec.d.ts +1 -0
- package/dist-types/space-workbench/components/knowLedgesList.d.ts +8 -0
- package/dist-types/space-workbench/i18n.d.ts +69 -0
- package/dist-types/space-workbench/index.d.ts +20 -0
- package/dist-types/space-workbench/index.spec.d.ts +1 -0
- package/dist-types/space-workbench/interfaces.d.ts +124 -0
- package/dist-types/space-workbench/space-logo/index.d.ts +15 -0
- package/dist-types/space-workbench/space-logo/index.spec.d.ts +1 -0
- package/dist-types/space-workbench/workbenchContext.d.ts +8 -0
- package/docs/space-workbench.md +78 -0
- package/package.json +2 -2
- package/dist/chunks/1534.bcfa4c96.js +0 -2
- package/dist/chunks/1534.bcfa4c96.js.map +0 -1
- package/dist/chunks/3744.ed6d0719.js +0 -2
- package/dist/chunks/3840.6080d56e.js +0 -3
- package/dist/chunks/3840.6080d56e.js.map +0 -1
- package/dist/chunks/4208.a1a0dfdd.js +0 -2
- package/dist/chunks/4208.a1a0dfdd.js.map +0 -1
- package/dist/chunks/4228.ea602510.js +0 -2
- package/dist/chunks/5411.095a6093.js +0 -3
- package/dist/chunks/5411.095a6093.js.map +0 -1
- package/dist/chunks/6530.3c295a95.js +0 -2
- package/dist/chunks/6530.3c295a95.js.map +0 -1
- package/dist/chunks/chat-box.060b8727.js +0 -3
- package/dist/chunks/chat-box.060b8727.js.map +0 -1
- package/dist/chunks/chat-input.e913e9ed.js +0 -3
- package/dist/chunks/chat-input.e913e9ed.js.map +0 -1
- package/dist/chunks/chat-panel.3b7afbd5.js +0 -2
- package/dist/chunks/chat-panel.3b7afbd5.js.map +0 -1
- package/dist/chunks/main.04071e22.js +0 -2
- package/dist/chunks/main.04071e22.js.map +0 -1
- package/dist/index.6db15ca0.js +0 -2
- package/dist/index.6db15ca0.js.map +0 -1
- /package/dist/chunks/{3840.6080d56e.js.LICENSE.txt → 3573.7b0bb780.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{5411.095a6093.js.LICENSE.txt → 4573.56d7bc95.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-box.060b8727.js.LICENSE.txt → chat-box.1ac7555a.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-input.e913e9ed.js.LICENSE.txt → chat-input.444c80bb.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{elevo-sidebar.fba49f67.js.LICENSE.txt → elevo-sidebar.a1b4645a.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/2118.677e19e7.js","mappings":"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","sources":["webpack:///./src/space-workbench/components/BusinessManage.module.css","webpack:///./src/space-workbench/components/ActivityDetailModal.module.css","webpack:///./src/chat-panel/styles.module.css?bf50","webpack:///./src/chat-panel/ChatPanelContent.tsx","webpack:///./src/space-workbench/styles.module.css?0049","webpack:///./src/space-workbench/components/BusinessObjectPreview.module.css","webpack:///./src/space-workbench/components/SpaceNav.module.css","webpack:///./src/space-workbench/components/SpaceGuide.module.css","webpack:///./src/space-workbench/i18n.ts","webpack:///./src/chat-panel/styles.module.css","webpack:///./src/space-workbench/components/EmptyState.module.css","webpack:///./node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo_space/generateSpaceCapabilities.js","webpack:///./src/space-workbench/components/SpaceGuide.module.css?ced9","webpack:///./src/space-workbench/images/magic.svg","webpack:///./src/space-workbench/components/SpaceGuide.tsx","webpack:///./src/space-workbench/components/SpaceConfigModal/SpaceConfigModal.module.css","webpack:///./src/space-workbench/components/ActivityCard.module.css","webpack:///./node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo_space/getSpaceSchema.js","webpack:///./node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo_space/importSpaceSchema.js","webpack:///./src/space-workbench/components/SpaceConfigModal/ConfigContext.ts","webpack:///./src/space-workbench/components/BusinessObjectPreview.module.css?0637","webpack:///./src/space-workbench/components/BusinessObjectPreview.tsx","webpack:///./src/space-workbench/components/ActivityCard.module.css?b2b4","webpack:///./src/space-workbench/components/ActivityCard.tsx","webpack:///./src/space-workbench/components/BusinessFlowPreview.module.css?740d","webpack:///./src/space-workbench/components/ActivityDetailModal.module.css?8351","webpack:///./src/space-workbench/components/ActivityDetailModal.tsx","webpack:///./src/space-workbench/components/BusinessFlowPreview.tsx","webpack:///./src/space-workbench/components/EmptyState.module.css?35c2","webpack:///./src/space-workbench/images/empty.svg","webpack:///./src/space-workbench/components/EmptyState.tsx","webpack:///./src/space-workbench/components/ConfigPreview.module.css?5f01","webpack:///./src/space-workbench/components/ConfigPreview.tsx","webpack:///./src/space-workbench/components/BusinessManage.module.css?05cf","webpack:///./src/space-workbench/components/BusinessManage.tsx","webpack:///./src/space-workbench/components/SpaceConfigModal/SpaceConfigModal.module.css?8fd6","webpack:///./src/space-workbench/components/SpaceConfigModal/SpaceConfigModal.tsx","webpack:///./src/space-workbench/components/SpaceConfigModal/utils.ts","webpack:///./src/space-workbench/components/SpaceNav.module.css?4a81","webpack:///./src/space-workbench/components/SpaceNav.tsx","webpack:///./src/space-workbench/components/ConfigPreview.module.css","webpack:///./src/space-workbench/styles.module.css","webpack:///./src/space-workbench/components/BusinessFlowPreview.module.css"],"sourcesContent":["// 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, `.configListArea--cBQRLBI0{flex:0 0 260px;display:flex;flex-direction:column;background:rgba(184,187,205,0.15);box-shadow:1px 0 0 0 rgba(0,0,0,0.1);overflow:hidden}.configListTabs--r_ahrPl7{display:flex;padding:4px;background:rgba(0,0,0,0.02);border-radius:20px;margin:12px;gap:4px}.configListTab--hjD1AsUa{flex:1;padding:6px 12px;font-size:13px;color:rgba(0,0,0,0.65);background:transparent;border:none;border-radius:16px;cursor:pointer;transition:all 0.2s;font-weight:400;white-space:nowrap}.configListTab--hjD1AsUa:hover{color:#1d2129}.configListTab--hjD1AsUa.active--nMH4WLqM{background:#fff;color:#2540ff;font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,0.08)}.cardList--T9oth7lT{flex:1;overflow-y:auto;padding:0 12px 12px;display:flex;flex-direction:column;gap:8px}.cardItem--zz0EMkNV{padding:12px;background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:8px;cursor:pointer;transition:all 0.2s}.cardItem--zz0EMkNV:hover{border-color:#a1b5ff;box-shadow:0 2px 6px rgba(37,64,255,0.1)}.cardItem--zz0EMkNV.active--nMH4WLqM{border-color:#2540ff;background:rgba(37,64,255,0.02)}.cardItemName--wsNGYzF9{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;color:rgba(0,0,0,0.85);margin-bottom:4px}.cardItemDesc--T678qa1w{font-size:12px;color:rgba(0,0,0,0.45);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.configPreviewArea--JSSCXMJ_{flex:1;min-width:0;background:rgba(184,187,205,0.15);overflow:hidden;display:flex;flex-direction:column}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"configListArea\": `configListArea--cBQRLBI0`,\n\t\"configListTabs\": `configListTabs--r_ahrPl7`,\n\t\"configListTab\": `configListTab--hjD1AsUa`,\n\t\"active\": `active--nMH4WLqM`,\n\t\"cardList\": `cardList--T9oth7lT`,\n\t\"cardItem\": `cardItem--zz0EMkNV`,\n\t\"cardItemName\": `cardItemName--wsNGYzF9`,\n\t\"cardItemDesc\": `cardItemDesc--T678qa1w`,\n\t\"configPreviewArea\": `configPreviewArea--JSSCXMJ_`\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, `.content--OPWgCa1W{display:flex;flex-direction:column;gap:28px;padding:24px}.section--UC5jTEp5{display:flex;flex-direction:column;gap:12px}.sectionTitle--wDWNfvWy{font-size:16px;font-weight:600;color:rgba(0,0,0,0.85);line-height:24px}.descriptionContent--Z424tU5l{font-size:14px;color:rgba(0,0,0,0.85);line-height:24px;padding:12px;border:1px dashed rgba(0,0,0,0.15);border-radius:8px}.select--WRTs5uAH{width:100%}.hitlRuleItem--iIE0sfBi{padding:12px;background-color:#fffbe6;border-radius:8px;font-size:14px;font-weight:500;color:#d48806;line-height:24px}.emptyDescription--ZPVpkQJk{font-size:14px;color:rgba(0,0,0,0.5);line-height:24px;text-align:center}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"content\": `content--OPWgCa1W`,\n\t\"section\": `section--UC5jTEp5`,\n\t\"sectionTitle\": `sectionTitle--wDWNfvWy`,\n\t\"descriptionContent\": `descriptionContent--Z424tU5l`,\n\t\"select\": `select--WRTs5uAH`,\n\t\"hitlRuleItem\": `hitlRuleItem--iIE0sfBi`,\n\t\"emptyDescription\": `emptyDescription--ZPVpkQJk`\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]!./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","// istanbul ignore file\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\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 ConversationPatch,\n ExtraChatPayload,\n FileInfo,\n RequestStore,\n UploadOptions,\n} from \"../shared/interfaces\";\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 { DONE_STATES, NON_WORKING_STATES } from \"../shared/constants\";\nimport { WrappedChatInput, WrappedIcon } from \"../shared/bricks\";\nimport { TaskContext, type TaskContextValue } from \"../shared/TaskContext\";\nimport { StreamContext } from \"../chat-stream/StreamContext\";\nimport { FilePreview } from \"../shared/FilePreview/FilePreview.js\";\nimport { ImagesPreview } from \"../shared/FilePreview/ImagesPreview.js\";\n\nexport interface ChatPanelContentProps {\n conversationId: string | null;\n initialRequest: RequestStore | null;\n placeholder?: string;\n uploadOptions?: UploadOptions;\n help?: { useBrick: UseBrickConf };\n fromModal?: boolean;\n submitDisabled?: boolean;\n onChatSubmit: (payload: ChatPayload) => void;\n onData?: (data: ConversationPatch) => void;\n}\n\nexport interface ChatPanelContentRef {\n setInputValue: (content: string) => void;\n focus: () => void;\n showFile: (file: FileInfo) => void;\n}\n\nexport const ChatPanelContent = forwardRef<\n ChatPanelContentRef,\n ChatPanelContentProps\n>(function ChatPanelContent(\n {\n conversationId,\n initialRequest,\n placeholder,\n uploadOptions,\n help,\n fromModal,\n submitDisabled,\n onChatSubmit,\n onData,\n },\n ref\n) {\n const inputRef = useRef<ChatInput>(null);\n\n const [activeFile, setActiveFile] = useState<FileInfo | null>(null);\n const [activeImages, setActiveImages] = useState<ActiveImages | null>(null);\n\n const { conversation, tasks, errors, humanInputRef } = useConversationDetail(\n conversationId,\n initialRequest,\n undefined,\n undefined,\n onData\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 onChatSubmit(payload);\n },\n [conversationId, humanInput, onChatSubmit]\n );\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 setInputValue: (content: string) => {\n inputRef.current?.setValue(content);\n },\n focus: () => {\n inputRef.current?.focus();\n },\n showFile: (file: FileInfo) => {\n setActiveFile(file);\n },\n }),\n []\n );\n\n const streamContextValue = useMemo(\n () => ({\n lastDetail: null,\n planMap: null,\n toggleAutoScroll,\n setUserClosedAside: () => {},\n }),\n [toggleAutoScroll]\n );\n\n return (\n <>\n <TaskContext.Provider value={taskContextValue}>\n <StreamContext.Provider value={streamContextValue}>\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 {activeFile && (\n <FilePreview file={activeFile} fromModal={fromModal} />\n )}\n {activeImages && (\n <ImagesPreview images={activeImages} fromModal={fromModal} />\n )}\n </StreamContext.Provider>\n </TaskContext.Provider>\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]!./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","// 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, `.businessObjectPreview--LAPk0Y9B{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,0.04)}.objectHeader--NM6O6kt3{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.objectTitleArea--P3CiAz5R{display:flex;flex-direction:column;gap:4px}.objectTitle--RZsDy1mo{display:flex;align-items:center;gap:8px}.objectName--RLJVqunK{font-size:18px;font-weight:600;color:#1d2129}.objectNameEn--jyKDahH4{font-size:14px;color:rgba(0,0,0,0.45)}.objectDescription--NHhabBrz{font-size:13px;color:rgba(0,0,0,0.45)}.objectBadge--Rh4DV5J4{padding:4px 12px;font-size:12px;font-weight:500;color:#2540ff;background:rgba(37,64,255,0.08);border:1px solid rgba(37,64,255,0.2);border-radius:16px;white-space:nowrap}.objectSection--j5d1ncqN{margin-bottom:24px}.objectSection--j5d1ncqN:last-child{margin-bottom:0}.sectionTitle--AcHZ8EcX{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#1d2129;margin-bottom:12px}.sectionIcon--JWh7zrUU{width:16px;height:16px;color:rgba(0,0,0,0.45)}.fieldGrid--kxszRZcD{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fieldItem--CD2Xs9gj{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f7f8fa;border-radius:8px}.fieldName--VmUsryx0{font-size:13px;font-weight:500;color:rgba(0,0,0,0.85)}.fieldType--dGVcWG8d{padding:2px 8px;font-size:11px;color:rgba(0,0,0,0.45);background:#fff;border-radius:4px}.lifecycleContainer--UrOYnN33{padding:20px;background:#f7f8fa;border-radius:8px}.lifecycleStates--uWKrwvav{display:flex;align-items:center;gap:0;flex-wrap:wrap}.lifecycleState--ddOVvbrh{display:flex;align-items:center;padding:10px 20px;background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:8px;font-size:13px;color:#1d2129;white-space:nowrap}.lifecycleArrow--BsE3oEG7{display:flex;align-items:center;padding:0 8px;color:rgba(0,0,0,0.25)}.lifecycleArrowIcon--vZw0ZGA9{width:16px;height:16px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"businessObjectPreview\": `businessObjectPreview--LAPk0Y9B`,\n\t\"objectHeader\": `objectHeader--NM6O6kt3`,\n\t\"objectTitleArea\": `objectTitleArea--P3CiAz5R`,\n\t\"objectTitle\": `objectTitle--RZsDy1mo`,\n\t\"objectName\": `objectName--RLJVqunK`,\n\t\"objectNameEn\": `objectNameEn--jyKDahH4`,\n\t\"objectDescription\": `objectDescription--NHhabBrz`,\n\t\"objectBadge\": `objectBadge--Rh4DV5J4`,\n\t\"objectSection\": `objectSection--j5d1ncqN`,\n\t\"sectionTitle\": `sectionTitle--AcHZ8EcX`,\n\t\"sectionIcon\": `sectionIcon--JWh7zrUU`,\n\t\"fieldGrid\": `fieldGrid--kxszRZcD`,\n\t\"fieldItem\": `fieldItem--CD2Xs9gj`,\n\t\"fieldName\": `fieldName--VmUsryx0`,\n\t\"fieldType\": `fieldType--dGVcWG8d`,\n\t\"lifecycleContainer\": `lifecycleContainer--UrOYnN33`,\n\t\"lifecycleStates\": `lifecycleStates--uWKrwvav`,\n\t\"lifecycleState\": `lifecycleState--ddOVvbrh`,\n\t\"lifecycleArrow\": `lifecycleArrow--BsE3oEG7`,\n\t\"lifecycleArrowIcon\": `lifecycleArrowIcon--vZw0ZGA9`\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, `.spaceWorkbenchHeader--NoSj8NLX{display:flex;align-items:center;justify-content:space-between;padding:12px 24px}.headerLeft--jWRjKNkz{display:flex;align-items:center;gap:12px;flex:1}.spaceIcon--_VeACn9l{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#2540ff;box-shadow:0px 4px 4px 0px rgba(37,64,255,0.1);overflow:hidden;flex-shrink:0}.spaceIcon--_VeACn9l img{width:28px;height:28px;object-fit:cover}.spaceTitle--PPb6FXpz{margin:0;font-size:18px;font-weight:600;color:rgba(0,0,0,0.85);line-height:28px}.actionIcons--W4anjF4d{display:flex;align-items:center;gap:4px;margin-left:16px}.headerRight--PLLN5SYh{display:flex;align-items:center;gap:16px;position:relative}.divider--gSRDBGxh{width:1px;height:20px;background-color:rgba(0,0,0,0.15)}.iconButton--YlNsq3b3{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:none;cursor:pointer;color:inherit;flex-shrink:0;transition:background-color 0.2s ease}.iconButton--YlNsq3b3 eo-icon{font-size:16px;color:rgba(0,0,0,0.65);transition:color 0.2s ease}.iconButton--YlNsq3b3:hover{background:rgba(0,0,0,0.04)}.iconButton--YlNsq3b3:active{background:rgba(0,0,0,0.08)}.iconButton--YlNsq3b3:focus{outline:none}.iconButton--YlNsq3b3.active--rgCeXqMc{background:rgba(0,0,0,0.06)}.spaceDescription--ePhG2k53{padding:18px 20px;background-color:rgba(184,187,205,0.2);border-radius:12px;margin:4px 24px;display:flex;flex-direction:column;gap:11px;overflow:hidden;animation:slideDown--eWLJ5xPz 0.3s ease-out;transform-origin:top;position:relative}@keyframes slideDown--eWLJ5xPz{from{opacity:0;transform:translateY(-10px);max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}to{opacity:1;transform:translateY(0);max-height:500px;margin-top:4px;margin-bottom:12px;padding-top:18px;padding-bottom:18px}}.descriptionHeader--j55xW95U{display:flex;align-items:center;justify-content:space-between}.descriptionTitle--oMCY5toR{font-size:14px;font-weight:500;line-height:15px;color:rgba(0,0,0,0.85);text-transform:uppercase;letter-spacing:0.6172px;margin:0}.descriptionEditButton--FTpj2u4B{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:none;cursor:pointer;color:rgba(0,0,0,0.45);transition:all 0.2s ease;flex-shrink:0}.descriptionEditButton--FTpj2u4B eo-icon{font-size:14px;color:rgba(0,0,0,0.45);transition:color 0.2s ease}.descriptionEditButton--FTpj2u4B:hover{background:rgba(0,0,0,0.06)}.descriptionEditButton--FTpj2u4B:hover eo-icon{color:rgba(0,0,0,0.65)}.descriptionEditButton--FTpj2u4B:active{background:rgba(0,0,0,0.1)}.descriptionEditButton--FTpj2u4B:focus{outline:none}.descriptionContent--vNS05IGL{font-size:14px;font-weight:400;line-height:22.75px;color:rgba(0,0,0,0.45);margin:0}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"spaceWorkbenchHeader\": `spaceWorkbenchHeader--NoSj8NLX`,\n\t\"headerLeft\": `headerLeft--jWRjKNkz`,\n\t\"spaceIcon\": `spaceIcon--_VeACn9l`,\n\t\"spaceTitle\": `spaceTitle--PPb6FXpz`,\n\t\"actionIcons\": `actionIcons--W4anjF4d`,\n\t\"headerRight\": `headerRight--PLLN5SYh`,\n\t\"divider\": `divider--gSRDBGxh`,\n\t\"iconButton\": `iconButton--YlNsq3b3`,\n\t\"active\": `active--rgCeXqMc`,\n\t\"spaceDescription\": `spaceDescription--ePhG2k53`,\n\t\"slideDown\": `slideDown--eWLJ5xPz`,\n\t\"descriptionHeader\": `descriptionHeader--j55xW95U`,\n\t\"descriptionTitle\": `descriptionTitle--oMCY5toR`,\n\t\"descriptionEditButton\": `descriptionEditButton--FTpj2u4B`,\n\t\"descriptionContent\": `descriptionContent--vNS05IGL`\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, `.spaceGuideContainer--dUubGTSC{display:flex;flex-direction:column;align-items:center;margin:0 auto;padding-top:103px}.spaceGuideContainer--dUubGTSC .guideHeader--kTmCalaX{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:24px}.spaceGuideContainer--dUubGTSC .spaceLogo--vZmFAG8N{width:64px;height:64px;margin-bottom:24px;background:#2540ff;border-radius:16px;box-shadow:0px 10px 15px -3px rgba(37,64,255,0.2),0px 4px 6px -4px rgba(37,64,255,0.2);display:flex;align-items:center;justify-content:center}.spaceGuideContainer--dUubGTSC .guideTitle--wV8s78Wz{font-size:24px;font-weight:600;line-height:32px;color:rgba(0,0,0,0.88);margin:0 0 24px 0;letter-spacing:0.0703px}.spaceGuideContainer--dUubGTSC .guideDescription--GhDSPeWh{font-size:16px;line-height:26px;color:rgba(0,0,0,0.65);margin:0;max-width:448px;text-align:center;letter-spacing:-0.3125px}.spaceGuideContainer--dUubGTSC .guideContent--eLbOUV9d{width:672px;background:rgba(248,250,252,0.5);border-radius:16px;padding:25px;margin-top:24px}.spaceGuideContainer--dUubGTSC .sectionTitle--Tu2w0WdQ{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;line-height:20px;color:#0f172b;margin-bottom:16px;letter-spacing:-0.1504px}.spaceGuideContainer--dUubGTSC .sectionIcon--WkySQyWS{width:16px;height:16px}.spaceGuideContainer--dUubGTSC .cardsGrid--ViCDQ0QE{display:grid;grid-template-columns:repeat(3,197px);gap:16px}.spaceGuideContainer--dUubGTSC .guideCard--AbWsq6Bw{height:161px;border-radius:16px;padding:0;overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease;border:1px solid rgba(0,0,0,0.1);background-color:white;background-size:cover;background-repeat:no-repeat;background-position:center;position:relative}.spaceGuideContainer--dUubGTSC .guideCard--AbWsq6Bw:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.08)}.spaceGuideContainer--dUubGTSC .cardContent--P4EEtbQ2{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;padding:16px 15px 15px 15px}.spaceGuideContainer--dUubGTSC .cardIconContainer--SSDuNBur{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.spaceGuideContainer--dUubGTSC .cardIcon--TqJ_GXb5{width:16px;height:16px}.spaceGuideContainer--dUubGTSC .cardTitle--zqP4K5l3{font-size:14px;font-weight:500;line-height:20px;color:rgba(0,0,0,0.88);margin:0 0 8px 0;letter-spacing:-0.1504px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spaceGuideContainer--dUubGTSC .cardDescription--xcreUzlv{font-size:12px;line-height:18px;color:rgba(0,0,0,0.45);margin:0;flex:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-overflow:ellipsis}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"spaceGuideContainer\": `spaceGuideContainer--dUubGTSC`,\n\t\"guideHeader\": `guideHeader--kTmCalaX`,\n\t\"spaceLogo\": `spaceLogo--vZmFAG8N`,\n\t\"guideTitle\": `guideTitle--wV8s78Wz`,\n\t\"guideDescription\": `guideDescription--GhDSPeWh`,\n\t\"guideContent\": `guideContent--eLbOUV9d`,\n\t\"sectionTitle\": `sectionTitle--Tu2w0WdQ`,\n\t\"sectionIcon\": `sectionIcon--WkySQyWS`,\n\t\"cardsGrid\": `cardsGrid--ViCDQ0QE`,\n\t\"guideCard\": `guideCard--AbWsq6Bw`,\n\t\"cardContent\": `cardContent--P4EEtbQ2`,\n\t\"cardIconContainer\": `cardIconContainer--SSDuNBur`,\n\t\"cardIcon\": `cardIcon--TqJ_GXb5`,\n\t\"cardTitle\": `cardTitle--zqP4K5l3`,\n\t\"cardDescription\": `cardDescription--xcreUzlv`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n DESCRIPTION = \"DESCRIPTION\",\n SPACE_GUIDE_SECTION_TITLE = \"SPACE_GUIDE_SECTION_TITLE\",\n SPACE_GUIDE_CARD_1_TITLE = \"SPACE_GUIDE_CARD_1_TITLE\",\n SPACE_GUIDE_CARD_2_TITLE = \"SPACE_GUIDE_CARD_2_TITLE\",\n SPACE_GUIDE_CARD_3_TITLE = \"SPACE_GUIDE_CARD_3_TITLE\",\n BUSINESS_OBJECTS = \"BUSINESS_OBJECTS\",\n BUSINESS_FLOWS = \"BUSINESS_FLOWS\",\n NO_BUSINESS_OBJECTS_FLOWS = \"NO_BUSINESS_OBJECTS_FLOWS\",\n GUIDE_AI_TO_GENERATE_CONFIG = \"GUIDE_AI_TO_GENERATE_CONFIG\",\n NO_CONFIGURATION_DATA = \"NO_CONFIGURATION_DATA\",\n FIELD_DEFINITIONS = \"FIELD_DEFINITIONS\",\n LIFECYCLE_STATUS = \"LIFECYCLE_STATUS\",\n PREREQUISITES = \"PREREQUISITES\",\n PREREQUISITES_SUBTITLE = \"PREREQUISITES_SUBTITLE\",\n ACTIVITY_DESCRIPTION = \"ACTIVITY_DESCRIPTION\",\n NO_DESCRIPTION = \"NO_DESCRIPTION\",\n RESPONSIBLE_AI_EMPLOYEE = \"RESPONSIBLE_AI_EMPLOYEE\",\n SELECT_AI_EMPLOYEE_PLACEHOLDER = \"SELECT_AI_EMPLOYEE_PLACEHOLDER\",\n HITL_RULES = \"HITL_RULES\",\n HITL_INTERVENTION_USER = \"HITL_INTERVENTION_USER\",\n SELECT_HITL_USER_PLACEHOLDER = \"SELECT_HITL_USER_PLACEHOLDER\",\n SPACE_CONFIGURATION = \"SPACE_CONFIGURATION\",\n SAVE_CONFIGURATION = \"SAVE_CONFIGURATION\",\n CANCEL = \"CANCEL\",\n PLEASE_ENTER = \"PLEASE_ENTER\",\n CONFIG_ASSISTANT_WELCOME = \"CONFIG_ASSISTANT_WELCOME\",\n KNOWLEDGE = \"KNOWLEDGE\",\n NO_KNOWLEDGE = \"NO_KNOWLEDGE\",\n MINUTES_AGO = \"MINUTES_AGO\",\n HOURS_AGO = \"HOURS_AGO\",\n DAYS_AGO = \"DAYS_AGO\",\n NEW_SESSION = \"NEW_SESSION\",\n HISTORY_SESSIONS = \"HISTORY_SESSIONS\",\n CLOSE_TAB = \"CLOSE_TAB\",\n FLOW_SIDEBAR_TITLE = \"FLOW_SIDEBAR_TITLE\",\n FLOW_SIDEBAR_SUBTITLE = \"FLOW_SIDEBAR_SUBTITLE\",\n NO_HISTORY = \"NO_HISTORY\",\n LOADING = \"LOADING\",\n LOAD_MORE = \"LOAD_MORE\",\n NO_BUSINESS_OBJECTS = \"NO_BUSINESS_OBJECTS\",\n LOAD_FAILED = \"LOAD_FAILED\",\n CLICK_TO_RETRY = \"CLICK_TO_RETRY\",\n NO_INSTANCES = \"NO_INSTANCES\",\n ADD_KNOWLEDGE = \"ADD_KNOWLEDGE\",\n ADD_INSTANCE_MODAL_TITLE = \"ADD_INSTANCE_MODAL_TITLE\",\n ADD_INSTANCE_ASSISTANT_WELCOME = \"ADD_INSTANCE_ASSISTANT_WELCOME\",\n IDENTIFIED_INSTANCES = \"IDENTIFIED_INSTANCES\",\n NO_INSTANCES_IDENTIFIED = \"NO_INSTANCES_IDENTIFIED\",\n NO_INSTANCES_IDENTIFIED_DESCRIPTION = \"NO_INSTANCES_IDENTIFIED_DESCRIPTION\",\n INSTANCE_DETAIL = \"INSTANCE_DETAIL\",\n NO_DETAIL = \"NO_DETAIL\",\n CONFIRM_CREATE = \"CONFIRM_CREATE\",\n EDIT_INSTANCE = \"EDIT_INSTANCE\",\n DELETE_INSTANCE = \"DELETE_INSTANCE\",\n NO_DETAIL_HINT = \"NO_DETAIL_HINT\",\n}\n\nconst en: Locale = {\n DESCRIPTION: \"Description\",\n SPACE_GUIDE_SECTION_TITLE: \"I can help you with:\",\n SPACE_GUIDE_CARD_1_TITLE: \"Manage Business Cases\",\n SPACE_GUIDE_CARD_2_TITLE: \"Initiate Business Flow\",\n SPACE_GUIDE_CARD_3_TITLE: \"Manage Space Knowledge\",\n BUSINESS_OBJECTS: \"Business Objects\",\n BUSINESS_FLOWS: \"Business Flows\",\n NO_BUSINESS_OBJECTS_FLOWS: \"No Business Objects/Flows\",\n GUIDE_AI_TO_GENERATE_CONFIG:\n \"Please guide AI to generate configuration through the left conversation\",\n NO_CONFIGURATION_DATA: \"No Configuration Data\",\n FIELD_DEFINITIONS: \"Field Definitions\",\n LIFECYCLE_STATUS: \"Lifecycle Status\",\n PREREQUISITES: \"Prerequisites\",\n PREREQUISITES_SUBTITLE: \"The following conditions must be met:\",\n ACTIVITY_DESCRIPTION: \"Activity Description\",\n NO_DESCRIPTION: \"No Description\",\n RESPONSIBLE_AI_EMPLOYEE: \"Responsible AI Employee\",\n SELECT_AI_EMPLOYEE_PLACEHOLDER: \"Please select AI employee\",\n HITL_RULES: \"HITL Rules\",\n HITL_INTERVENTION_USER: \"HITL Intervention User\",\n SELECT_HITL_USER_PLACEHOLDER: \"Please select HITL intervention user\",\n SPACE_CONFIGURATION: \"Space Configuration\",\n SAVE_CONFIGURATION: \"Save Configuration\",\n CANCEL: \"Cancel\",\n PLEASE_ENTER: \"Please enter\",\n CONFIG_ASSISTANT_WELCOME:\n \"Hello! I am the space configuration assistant. You can describe your business process, and I will automatically generate related business objects and flows for you. You can also explicitly tell me which business object or flow to modify.\",\n KNOWLEDGE: \"Knowledge\",\n NO_KNOWLEDGE: \"No Knowledge\",\n MINUTES_AGO: \" minutes ago\",\n HOURS_AGO: \" hours ago\",\n DAYS_AGO: \" days ago\",\n NEW_SESSION: \"New Session\",\n HISTORY_SESSIONS: \"History Sessions\",\n CLOSE_TAB: \"Close Tab\",\n FLOW_SIDEBAR_TITLE: \"Business Flows\",\n FLOW_SIDEBAR_SUBTITLE: \"Click to start business flow\",\n NO_HISTORY: \"No History\",\n LOADING: \"Loading...\",\n LOAD_MORE: \"Load More\",\n NO_BUSINESS_OBJECTS: \"No Business Objects\",\n LOAD_FAILED: \"Load Failed\",\n CLICK_TO_RETRY: \"Click to Retry\",\n NO_INSTANCES: \"No Instances\",\n ADD_KNOWLEDGE: \"Add Knowledge\",\n ADD_INSTANCE_MODAL_TITLE: \"Smart Create {{objectName}}\",\n ADD_INSTANCE_ASSISTANT_WELCOME:\n \"Hello! I am your instance creation assistant. You can directly provide me with the relevant information or upload files (such as PDF or Excel), and I will automatically parse and generate the instance for you.\",\n IDENTIFIED_INSTANCES: \"Identified Instances\",\n NO_INSTANCES_IDENTIFIED: \"No Instances\",\n NO_INSTANCES_IDENTIFIED_DESCRIPTION:\n \"You can create instances in the left conversation\",\n INSTANCE_DETAIL: \"Instance Detail\",\n NO_DETAIL: \"No Detail\",\n CONFIRM_CREATE: \"Confirm Create\",\n EDIT_INSTANCE: \"Edit\",\n DELETE_INSTANCE: \"Delete\",\n NO_DETAIL_HINT: \"You can select an instance on the left to view details\",\n};\n\nconst zh: Locale = {\n DESCRIPTION: \"描述\",\n SPACE_GUIDE_SECTION_TITLE: \"我可以协助您完成:\",\n SPACE_GUIDE_CARD_1_TITLE: \"管理业务案例\",\n SPACE_GUIDE_CARD_2_TITLE: \"发起业务流\",\n SPACE_GUIDE_CARD_3_TITLE: \"管理空间知识\",\n BUSINESS_OBJECTS: \"业务对象\",\n BUSINESS_FLOWS: \"业务流\",\n NO_BUSINESS_OBJECTS_FLOWS: \"暂无业务对象/业务流\",\n GUIDE_AI_TO_GENERATE_CONFIG: \"请通过左侧对话引导 AI 生成配置\",\n NO_CONFIGURATION_DATA: \"暂无配置数据\",\n FIELD_DEFINITIONS: \"字段定义\",\n LIFECYCLE_STATUS: \"生命周期状态\",\n PREREQUISITES: \"先决条件\",\n PREREQUISITES_SUBTITLE: \"需要满足以下条件:\",\n ACTIVITY_DESCRIPTION: \"活动描述\",\n NO_DESCRIPTION: \"暂无描述\",\n RESPONSIBLE_AI_EMPLOYEE: \"负责数字人\",\n SELECT_AI_EMPLOYEE_PLACEHOLDER: \"请选择负责数字人\",\n HITL_RULES: \"HITL规则\",\n HITL_INTERVENTION_USER: \"HITL介入用户\",\n SELECT_HITL_USER_PLACEHOLDER: \"请选择HITL介入用户\",\n SPACE_CONFIGURATION: \"协作空间配置\",\n SAVE_CONFIGURATION: \"保存配置\",\n CANCEL: \"取消\",\n PLEASE_ENTER: \"请输入\",\n CONFIG_ASSISTANT_WELCOME:\n \"您好!我是协作空间配置助手。您可以告诉我描述你的业务流程,我会为你自动生成相关的业务对象和业务流,你也可以明确让我修改哪个业务对象或业务流。\",\n KNOWLEDGE: \"知识\",\n NO_KNOWLEDGE: \"暂无知识\",\n MINUTES_AGO: \"分钟前\",\n HOURS_AGO: \"小时前\",\n DAYS_AGO: \"天前\",\n NEW_SESSION: \"新协作会话\",\n HISTORY_SESSIONS: \"历史会话列表\",\n CLOSE_TAB: \"关闭标签\",\n FLOW_SIDEBAR_TITLE: \"业务流\",\n FLOW_SIDEBAR_SUBTITLE: \"点击以启动业务流\",\n NO_HISTORY: \"暂无历史记录\",\n LOADING: \"加载中...\",\n LOAD_MORE: \"加载更多\",\n NO_BUSINESS_OBJECTS: \"暂无业务对象\",\n LOAD_FAILED: \"加载失败\",\n CLICK_TO_RETRY: \"点击重试\",\n NO_INSTANCES: \"暂无数据\",\n ADD_KNOWLEDGE: \"添加知识\",\n ADD_INSTANCE_MODAL_TITLE: \"智能创建{{objectName}}\",\n ADD_INSTANCE_ASSISTANT_WELCOME:\n \"您好!我是您的实例创建助手。您可以直接告诉我相关信息,或者上传文件(如PDF、Excel),我将自动为您解析并生成实例。\",\n IDENTIFIED_INSTANCES: \"已识别实例\",\n NO_INSTANCES_IDENTIFIED: \"暂无实例\",\n NO_INSTANCES_IDENTIFIED_DESCRIPTION: \"你可在左侧对话创建\",\n INSTANCE_DETAIL: \"详情预览\",\n NO_DETAIL: \"暂无详情\",\n CONFIRM_CREATE: \"确认创建\",\n EDIT_INSTANCE: \"编辑\",\n DELETE_INSTANCE: \"删除\",\n NO_DETAIL_HINT: \"你可在左侧选择实例查看详情\",\n};\n\nexport const NS = \"bricks/ai-portal/space-workbench\";\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","// 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","// 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, `.emptyState--bxuHEsgY{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:rgba(0,0,0,0.45)}.emptyStateIcon--lgiof8G0{width:50px;height:50px;margin-bottom:16px;opacity:0.6}.emptyStateTitle--aIHUcnqk{font-size:14px;font-weight:500;color:rgba(0,0,0,0.65);margin-bottom:4px}.emptyStateDescription--YiVHqQCZ{font-size:12px;color:rgba(0,0,0,0.45);text-align:center}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"emptyState\": `emptyState--bxuHEsgY`,\n\t\"emptyStateIcon\": `emptyStateIcon--lgiof8G0`,\n\t\"emptyStateTitle\": `emptyStateTitle--aIHUcnqk`,\n\t\"emptyStateDescription\": `emptyStateDescription--YiVHqQCZ`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { http } from \"@next-core/http\";\n/**\n * @description 生成协作空间核心能力说明\n * @endpoint POST /api/v1/elevo/spaces/:spaceId/capabilities/generate\n */\nexport const ElevoSpaceApi_generateSpaceCapabilities = async (spaceId, data, options) => /**! @contract easyops.api.llm.elevo_space.GenerateSpaceCapabilities@1.0.0 */(await http.post(`api/gateway/logic.llm.aiops_service/api/v1/elevo/spaces/${spaceId}/capabilities/generate`, data, options)).data;\n//# sourceMappingURL=generateSpaceCapabilities.js.map","\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]!./SpaceGuide.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]!./SpaceGuide.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import * as React from \"react\";\nconst SvgMagic = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" viewBox=\"0 0 16 16\" {...props}><g strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={1.333} clipPath=\"url(#a)\"><path stroke=\"url(#b)\" d=\"M7.344 1.876a.667.667 0 0 1 1.311 0l.7 3.705a1.33 1.33 0 0 0 1.063 1.063l3.706.7a.667.667 0 0 1 0 1.311l-3.706.701a1.33 1.33 0 0 0-1.062 1.063l-.7 3.705a.667.667 0 0 1-1.312 0l-.7-3.705A1.33 1.33 0 0 0 5.58 9.356l-3.705-.7a.667.667 0 0 1 0-1.311l3.705-.701a1.33 1.33 0 0 0 1.063-1.063z\" /><path stroke=\"#2540FF\" d=\"M13.334 1.333V4M14.667 2.667H12M2.667 14.667a1.333 1.333 0 1 0 0-2.667 1.333 1.333 0 0 0 0 2.667\" /></g><defs><linearGradient id=\"b\" x1={1} x2={19.5} y1={15} y2={1} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#2540FF\" /><stop offset={1} stopColor=\"#DC90FF\" /></linearGradient><clipPath id=\"a\"><path fill=\"#fff\" d=\"M0 0h16v16H0z\" /></clipPath></defs></svg>;\nexport default SvgMagic;","import React, { useEffect, useState } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport {\n ElevoSpaceApi_GenerateSpaceCapabilitiesResponseBody,\n ElevoSpaceApi_generateSpaceCapabilities,\n} from \"@next-api-sdk/llm-sdk\";\nimport type { SpaceLogo, SpaceLogoProps } from \"../space-logo/index.js\";\nimport styles from \"./SpaceGuide.module.css\";\nimport { SpaceDetail } from \"../interfaces.js\";\nimport MagicSvg from \"../images/magic.svg\";\nimport layerSvg from \"../images/layer.svg?url\";\nimport layerBg from \"../images/layer-bg.png\";\nimport lightningSvg from \"../images/lightning.svg?url\";\nimport lightningBg from \"../images/lightning-bg.png\";\nimport bookSvg from \"../images/book.svg?url\";\nimport bookBg from \"../images/book-bg.png\";\nimport { K, t } from \"../i18n.js\";\n\nconst WrappedSpaceLogo = wrapBrick<SpaceLogo, SpaceLogoProps>(\n \"ai-portal.space-logo\"\n);\n\nexport interface GuideCard {\n key: string;\n icon: string;\n background: string;\n title: string;\n description?: string;\n iconContainerColor: \"blue\" | \"orange\" | \"green\";\n}\n\nexport interface SpaceGuideProps {\n onCardClick?: (cardIndex: number) => void;\n spaceDetail: SpaceDetail;\n}\n\nexport function SpaceGuide(props: SpaceGuideProps) {\n const { spaceDetail, onCardClick } = props;\n const [spaceCapabilities, setSpaceCapabilities] =\n useState<ElevoSpaceApi_GenerateSpaceCapabilitiesResponseBody | null>(null);\n\n const cards: GuideCard[] = [\n {\n key: \"manageInstancesCapability\",\n icon: layerSvg,\n background: layerBg,\n title: t(K.SPACE_GUIDE_CARD_1_TITLE),\n iconContainerColor: \"blue\",\n },\n {\n key: \"initiateFlowCapability\",\n icon: lightningSvg,\n background: lightningBg,\n title: t(K.SPACE_GUIDE_CARD_2_TITLE),\n iconContainerColor: \"orange\",\n },\n {\n key: \"searchKnowledgeCapability\",\n icon: bookSvg,\n background: bookBg,\n title: t(K.SPACE_GUIDE_CARD_3_TITLE),\n iconContainerColor: \"green\",\n },\n ];\n\n const handleCardClick = (index: number) => {\n onCardClick?.(index);\n };\n\n useEffect(() => {\n const fetchSpaceCapabilities = async () => {\n const res = await ElevoSpaceApi_generateSpaceCapabilities(\n spaceDetail.instanceId,\n {\n forceRefresh: true,\n }\n );\n setSpaceCapabilities(res);\n };\n\n fetchSpaceCapabilities();\n }, [spaceDetail.instanceId]);\n\n return (\n <div className={styles.spaceGuideContainer}>\n <div className={styles.guideHeader}>\n <div className={styles.spaceLogo}>\n <WrappedSpaceLogo size={48} />\n </div>\n <h1 className={styles.guideTitle}>{spaceDetail.name}</h1>\n <p className={styles.guideDescription}>{spaceDetail.description}</p>\n </div>\n\n <div className={styles.guideContent}>\n <div className={styles.sectionTitle}>\n <MagicSvg className={styles.sectionIcon} />\n <span>{t(K.SPACE_GUIDE_SECTION_TITLE)}</span>\n </div>\n\n <div className={styles.cardsGrid}>\n {cards.map((card, index) => (\n <div\n key={index}\n className={styles.guideCard}\n style={{ backgroundImage: `url(${card.background})` }}\n onClick={() => handleCardClick(index)}\n >\n <div className={styles.cardContent}>\n <div\n className={`${styles.cardIconContainer} ${styles[card.iconContainerColor]}`}\n >\n <img\n src={card.icon}\n alt={card.title}\n className={styles.cardIcon}\n />\n </div>\n <h3 className={styles.cardTitle}>{card.title}</h3>\n <p className={styles.cardDescription}>\n {\n spaceCapabilities?.[\n card.key as keyof ElevoSpaceApi_GenerateSpaceCapabilitiesResponseBody\n ]\n }\n </p>\n </div>\n </div>\n ))}\n </div>\n </div>\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, `.modalContent--xJ8Ui4Lp{display:flex;height:calc(100vh - 200px);min-height:500px;max-height:700px;margin:-16px -20px;gap:0;overflow:hidden;border-bottom:1px solid rgba(0,0,0,0.06)}.aiAssistantArea--S13sfbOF{flex:1 0 360px;max-width:550px;display:flex;flex-direction:column;border-right:1px solid rgba(0,0,0,0.1);border-radius:0 0 0 16px;padding:24px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"modalContent\": `modalContent--xJ8Ui4Lp`,\n\t\"aiAssistantArea\": `aiAssistantArea--S13sfbOF`\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, `.activityCard--_cEfvEaB{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:13px;background:#fff;border:1px solid rgba(0,0,0,0.1);border-radius:8px;cursor:pointer;z-index:1;transition:all 0.2s;min-width:236px;width:236px;height:120px}.activityCard--_cEfvEaB:hover{border-color:#a1b5ff;box-shadow:0 2px 8px rgba(37,64,255,0.1)}.activityCardActive--qdeGG8pw{border-color:#a1b5ff}.activityContent--jj94hGGW{display:flex;flex-direction:column;gap:8px}.activityName--Kzbe4gos{font-size:13px;font-weight:500;line-height:14px;color:rgba(0,0,0,0.85);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.activityNameActive--tWBatSPm{color:#2540ff}.activityDescription--uQc4FY15{font-family:\"PingFang SC\",sans-serif;font-size:12px;font-weight:400;line-height:12.5px;color:rgba(0,0,0,0.45);letter-spacing:0.1172px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.activityAssignee--wmWlB6OF{align-items:center;padding:2px 8px;font-family:\"PingFang SC\",sans-serif;font-size:10px;font-weight:500;line-height:14px;letter-spacing:0.1172px;border-radius:20px;border:1px solid;width:-moz-fit-content;width:fit-content;background:rgba(37,64,255,0.05);border-color:rgba(30,48,204,0.3);color:#1e30cc;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"activityCard\": `activityCard--_cEfvEaB`,\n\t\"activityCardActive\": `activityCardActive--qdeGG8pw`,\n\t\"activityContent\": `activityContent--jj94hGGW`,\n\t\"activityName\": `activityName--Kzbe4gos`,\n\t\"activityNameActive\": `activityNameActive--tWBatSPm`,\n\t\"activityDescription\": `activityDescription--uQc4FY15`,\n\t\"activityAssignee\": `activityAssignee--wmWlB6OF`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { http } from \"@next-core/http\";\n\n/** 协作空间模式信息 */\n\n/**\n * @description 获取协作空间的模式定义(业务对象、关系、业务流)\n * @endpoint GET /api/v1/elevo/spaces/:spaceId/schema\n */\nexport const ElevoSpaceApi_getSpaceSchema = async (spaceId, options) => /**! @contract easyops.api.llm.elevo_space.GetSpaceSchema@1.0.0 */(await http.get(`api/gateway/logic.llm.aiops_service/api/v1/elevo/spaces/${spaceId}/schema`, options)).data;\n//# sourceMappingURL=getSpaceSchema.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 导入协作空间模式定义(业务对象、关系、业务流)\n * @endpoint POST /api/v1/elevo/spaces/:spaceId/import\n */\nexport const ElevoSpaceApi_importSpaceSchema = (spaceId, data, options) => /**! @contract easyops.api.llm.elevo_space.ImportSpaceSchema@1.0.0 */http.post(`api/gateway/logic.llm.aiops_service/api/v1/elevo/spaces/${spaceId}/import`, data, options);\n//# sourceMappingURL=importSpaceSchema.js.map","import { createContext } from \"react\";\nimport type { Activity } from \"../../interfaces\";\n\ninterface ConfigContextType {\n modifyActivity?: (name: string, newActivity: Activity) => void;\n}\nexport const ConfigContext = createContext<ConfigContextType>({});\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]!./BusinessObjectPreview.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]!./BusinessObjectPreview.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\n\nimport { WrappedIcon } from \"../../shared/bricks\";\nimport styles from \"./BusinessObjectPreview.module.css\";\nimport { BusinessObject } from \"../interfaces\";\nimport { ViewType } from \"../interfaces\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n MarkdownDisplayProps,\n MarkdownDisplay,\n} from \"@next-bricks/markdown/markdown-display\";\nimport { K, t } from \"../i18n.js\";\n\nexport interface BusinessObjectPreviewProps {\n data?: BusinessObject;\n viewType?: ViewType;\n}\n\nconst WrappedMarkdownDisplay = wrapBrick<MarkdownDisplay, MarkdownDisplayProps>(\n \"eo-markdown-display\"\n);\n/**\n * 业务对象预览组件\n * 参考设计图: node-id=125-1132\n * 展示业务对象的标题、字段定义和生命周期状态\n */\nexport function BusinessObjectPreview({\n data,\n viewType = \"visual\",\n}: BusinessObjectPreviewProps): React.ReactElement | null {\n if (!data) {\n return null;\n }\n\n // JSON 视图\n if (viewType === \"json\") {\n return (\n <div className={styles.jsonView}>\n <pre>{JSON.stringify(data, null, 2)}</pre>\n </div>\n );\n }\n\n // Visual 视图\n return (\n <div className={styles.businessObjectPreview}>\n {/* 标题区域 */}\n <div className={styles.objectHeader}>\n <div className={styles.objectTitleArea}>\n <div className={styles.objectTitle}>\n <span className={styles.objectName}>{data.objectName}</span>\n </div>\n <div className={styles.objectDescription}>{data.description}</div>\n </div>\n </div>\n\n {/* 字段定义区域 */}\n <div className={styles.objectSection}>\n <div className={styles.sectionTitle}>\n <WrappedIcon\n lib=\"antd\"\n icon=\"database\"\n className={styles.sectionIcon}\n />\n <span>{t(K.FIELD_DEFINITIONS)}</span>\n </div>\n <div className={styles.fieldGrid}>\n {data?.attributes?.map((field) => (\n <div key={field.id} className={styles.fieldItem}>\n <span className={styles.fieldName}>{field.name}</span>\n <span className={styles.fieldType}>{field.type}</span>\n </div>\n ))}\n </div>\n </div>\n\n {/* 生命周期状态区域 */}\n {data.lifecycle && (\n <div className={styles.objectSection}>\n <div className={styles.sectionTitle}>\n <WrappedIcon\n lib=\"antd\"\n icon=\"sync\"\n className={styles.sectionIcon}\n />\n <span>{t(K.LIFECYCLE_STATUS)}</span>\n </div>\n <div className={styles.lifecycleContainer}>\n <WrappedMarkdownDisplay\n content={`\\`\\`\\`mermaid\\n${data.lifecycle}\\n\\`\\`\\``}\n />\n </div>\n </div>\n )}\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]!./ActivityCard.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]!./ActivityCard.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./ActivityCard.module.css\";\n\nexport interface ActivityCardProps {\n title: string;\n description: string;\n assignee?: string;\n active?: boolean;\n onClick?: () => void;\n}\n\n/**\n * 活动卡片组件\n * 参考设计图: node-id=125-2527\n * 展示活动名称、描述和负责人标签\n */\nexport function ActivityCard({\n title,\n description,\n assignee,\n active = false,\n onClick,\n}: ActivityCardProps): React.ReactElement {\n return (\n <div\n className={classNames(styles.activityCard, {\n [styles.activityCardActive]: active,\n })}\n onClick={onClick}\n >\n <div className={styles.activityContent}>\n <div\n className={classNames(styles.activityName, {\n [styles.activityNameActive]: active,\n })}\n title={title}\n >\n {title}\n </div>\n <div className={styles.activityDescription} title={description}>\n {description}\n </div>\n </div>\n {assignee && <div className={styles.activityAssignee}>{assignee}</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]!./BusinessFlowPreview.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]!./BusinessFlowPreview.module.css\";\n export default content && content.locals ? content.locals : undefined;\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]!./ActivityDetailModal.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]!./ActivityDetailModal.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useState, useEffect } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport {\n ElevoApi_listElevoAiEmployees,\n ElevoApi_ListElevoAiEmployeesResponseItem,\n} from \"@next-api-sdk/llm-sdk\";\n\nimport type {\n Modal,\n ModalProps,\n ModalEvents,\n ModalMapEvents,\n} from \"@next-bricks/containers/modal\";\nimport {\n EoUserOrUserGroupSelect,\n EoUserOrUserGroupSelectProps,\n} from \"@next-bricks/form-platform/user-or-user-group-select\";\nimport { Select, SelectProps } from \"@next-bricks/form/select\";\nimport {\n MarkdownDisplay,\n MarkdownDisplayProps,\n} from \"@next-bricks/markdown/markdown-display\";\nimport type { Activity } from \"../interfaces.js\";\nimport styles from \"./ActivityDetailModal.module.css\";\nimport { K, t } from \"../i18n.js\";\n\nconst WrappedModal = wrapBrick<\n Modal,\n ModalProps & { noFooter?: boolean },\n ModalEvents,\n ModalMapEvents\n>(\"eo-modal\", {\n onClose: \"close\",\n onConfirm: \"confirm\",\n onCancel: \"cancel\",\n onOpen: \"open\",\n});\n\ninterface EoUserOrUserGroupSelectEvents {\n change: CustomEvent<string>;\n}\n\ninterface EoUserOrUserGroupSelectMapEvents {\n onValueChange: \"change\";\n}\n\nconst WrappedUserOrUserGroupSelect = wrapBrick<\n EoUserOrUserGroupSelect,\n EoUserOrUserGroupSelectProps,\n EoUserOrUserGroupSelectEvents,\n EoUserOrUserGroupSelectMapEvents\n>(\"eo-user-or-user-group-select\", {\n onValueChange: \"change\",\n});\n\ninterface SelectEvents {\n change: CustomEvent<string>;\n}\n\ninterface SelectMapEvents {\n onValueChange: \"change\";\n}\n\nconst WrappedSelect = wrapBrick<\n Select,\n SelectProps,\n SelectEvents,\n SelectMapEvents\n>(\"eo-select\", {\n onValueChange: \"change\",\n});\n\n// 使用 any 类型来包装 eo-markdown-display,因为没有明确的类型定义\nconst WrappedMarkdownDisplay = wrapBrick<MarkdownDisplay, MarkdownDisplayProps>(\n \"eo-markdown-display\"\n);\n\nexport interface ActivityDetailModalProps {\n activity: Activity | null;\n visible: boolean;\n onClose: () => void;\n onChange?: (updates: Activity) => void;\n}\n\n/**\n * 活动详情模态框组件\n * 展示活动的完整定义信息,部分字段可编辑(负责数字人、HITL介入用户)\n */\nexport function ActivityDetailModal({\n activity: _activity,\n visible,\n onClose,\n onChange,\n}: ActivityDetailModalProps): React.ReactElement | null {\n const [aiEmployees, setAiEmployees] = useState<\n ElevoApi_ListElevoAiEmployeesResponseItem[]\n >([]);\n const [activity, setActivity] = useState<Activity | null>(_activity);\n\n // 获取数字人列表\n useEffect(() => {\n if (!visible) return;\n\n const fetchAssignees = async () => {\n try {\n // 调用实际的 API 获取数字人列表\n const employeesData = await ElevoApi_listElevoAiEmployees({\n page: 1,\n page_size: 100,\n });\n const options = employeesData.list.filter((item) => item.employeeId);\n setAiEmployees(options);\n } catch (error) {\n handleHttpError(error);\n }\n };\n\n fetchAssignees();\n }, [visible]);\n\n // 当 activity 变化时,更新选中的值\n useEffect(() => {\n setActivity(_activity);\n }, [_activity]);\n\n // 处理负责数字人变更\n const handleAssigneeChange = (event: CustomEvent) => {\n const value = event.detail.value;\n const newActivity = { ...activity, aiEmployeeId: value } as Activity;\n setActivity(newActivity);\n onChange?.(newActivity);\n };\n\n // 处理 HITL 用户变更\n const handleUserChange = (event: CustomEvent) => {\n const value = event.detail[0];\n const newActivity = { ...activity, hilUser: value } as Activity;\n setActivity(newActivity);\n onChange?.(newActivity);\n };\n\n if (!activity) return null;\n\n return (\n <WrappedModal\n modalTitle={activity.name}\n width={700}\n visible={visible}\n onCancel={onClose}\n onClose={onClose}\n noFooter\n maskClosable\n >\n <div className={styles.content}>\n {/* 活动描述区域 */}\n <div className={styles.section}>\n <div className={styles.sectionTitle}>{t(K.ACTIVITY_DESCRIPTION)}</div>\n <div className={styles.descriptionContent}>\n {activity.description ? (\n <WrappedMarkdownDisplay content={activity.description} />\n ) : (\n <div className={styles.emptyDescription}>\n {t(K.NO_DESCRIPTION)}\n </div>\n )}\n </div>\n </div>\n\n {/* 负责数字人 */}\n <div className={styles.section}>\n <div className={styles.sectionTitle}>\n {t(K.RESPONSIBLE_AI_EMPLOYEE)}\n </div>\n <WrappedSelect\n value={activity.aiEmployeeId}\n themeVariant=\"elevo\"\n options={\n aiEmployees?.map((item) => ({\n label: item.name as string,\n value: item.employeeId as string,\n })) ?? []\n }\n placeholder={t(K.SELECT_AI_EMPLOYEE_PLACEHOLDER)}\n onValueChange={handleAssigneeChange}\n className={styles.select}\n />\n </div>\n\n {/* HITL 规则 */}\n {activity.hilRules && (\n <div className={styles.section}>\n <div className={styles.sectionTitle}>{t(K.HITL_RULES)}</div>\n <div className={styles.hitlRuleItem}>{activity.hilRules}</div>\n </div>\n )}\n\n {/* HITL 介入用户 */}\n <div className={styles.section}>\n <div className={styles.sectionTitle}>\n {t(K.HITL_INTERVENTION_USER)}\n </div>\n <WrappedUserOrUserGroupSelect\n value={[activity.hilUser ?? \"\"]}\n placeholder={t(K.SELECT_HITL_USER_PLACEHOLDER)}\n optionsMode=\"user\"\n userKey=\"name\"\n isMultiple={false}\n themeVariant=\"elevo\"\n onValueChange={handleUserChange}\n />\n </div>\n </div>\n </WrappedModal>\n );\n}\n","import React, { useState, useContext, useRef } from \"react\";\n\nimport { ActivityCard } from \"./ActivityCard\";\nimport { WrappedIcon } from \"../../shared/bricks\";\nimport styles from \"./BusinessFlowPreview.module.css\";\nimport { BusinessFlow, Activity, ViewType } from \"../interfaces\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n MarkdownDisplayProps,\n MarkdownDisplay,\n} from \"@next-bricks/markdown/markdown-display\";\nimport { ActivityDetailModal } from \"./ActivityDetailModal\";\nimport { ConfigContext } from \"./SpaceConfigModal/ConfigContext\";\nimport { K, t } from \"../i18n.js\";\n\nconst WrappedMarkdownDisplay = wrapBrick<MarkdownDisplay, MarkdownDisplayProps>(\n \"eo-markdown-display\"\n);\n\nexport interface BusinessFlowPreviewProps {\n data?: BusinessFlow;\n viewType?: ViewType;\n onActivityClick?: (activity: Activity) => void;\n}\n\n/**\n * 业务流预览组件\n * 参考设计图: node-id=125-2527\n * 展示业务流的标题、先决条件和按阶段分组的活动列表\n */\nexport function BusinessFlowPreview({\n data,\n viewType = \"visual\",\n}: BusinessFlowPreviewProps): React.ReactElement | null {\n // 活动详情模态框状态\n const [selectedActivity, setSelectedActivity] = useState<Activity | null>(\n null\n );\n const { modifyActivity } = useContext(ConfigContext);\n\n const currentStage = useRef<string>();\n\n const handleActivityClick = (activity: Activity, stageName: string) => {\n currentStage.current = stageName;\n setSelectedActivity(activity);\n };\n\n const handleCloseActivityDetail = () => {\n setSelectedActivity(null);\n };\n\n if (!data) {\n return null;\n }\n\n // JSON 视图\n if (viewType === \"json\") {\n return (\n <div className={styles.jsonView}>\n <pre>{JSON.stringify(data, null, 2)}</pre>\n </div>\n );\n }\n\n // Visual 视图\n return (\n <>\n <div className={styles.businessFlowPreview}>\n {/* 标题区域 */}\n <div className={styles.flowHeader}>\n <div className={styles.flowTitleArea}>\n <div className={styles.flowTitle}>{data.name}</div>\n <div className={styles.flowDescription}>{data.description}</div>\n </div>\n </div>\n\n {/* 先决条件 */}\n {data.prerequisite && (\n <div className={styles.flowSection}>\n <div className={styles.sectionTitle}>\n <WrappedIcon\n lib=\"antd\"\n icon=\"filter\"\n className={styles.prerequisitesIcon}\n />\n <span>{t(K.PREREQUISITES)}</span>\n </div>\n <div className={styles.prerequisitesSubtitle}>\n {t(K.PREREQUISITES_SUBTITLE)}\n </div>\n <div className={styles.prerequisitesList}>\n <WrappedMarkdownDisplay content={data.prerequisite} />\n </div>\n </div>\n )}\n\n {!!data.spec?.length && (\n <div className={styles.flowSection}>\n {/* 活动卡片区域(包含步骤条) */}\n <div className={styles.stagesContainer}>\n {data.spec.map((stage, index) => (\n <div key={index} className={styles.stageColumn}>\n {/* 步骤指示器 */}\n <div className={styles.stageIndicator}>\n <div className={styles.stageIndicatorNumber}>\n {index + 1}\n </div>\n <div className={styles.stageIndicatorName}>\n {stage.name}\n </div>\n\n {index < data.spec!.length - 1 && (\n <div className={styles.stageIndicatorLine} />\n )}\n </div>\n\n {/* 活动卡片列表 */}\n <div className={styles.stageActivities}>\n {stage.serviceFlowActivities?.map((activity, actIndex) => (\n <ActivityCard\n key={actIndex}\n title={activity.name}\n description={activity.description}\n assignee={activity.aiEmployeeId}\n onClick={() =>\n handleActivityClick(activity, stage.name)\n }\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n {/* 活动详情模态框 */}\n <ActivityDetailModal\n activity={selectedActivity}\n visible={!!selectedActivity}\n onClose={handleCloseActivityDetail}\n onChange={(activity) =>\n modifyActivity?.(currentStage.current!, activity)\n }\n />\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]!./EmptyState.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]!./EmptyState.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import * as React from \"react\";\nconst SvgEmpty = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={51} height={50} fill=\"none\" viewBox=\"0 0 51 50\" {...props}><path fill=\"#000\" fillOpacity={0.25} d=\"m27.219 9.02 13.779 8.087a4.4 4.4 0 0 1 2.16 3.805l-.02 16.13a4.4 4.4 0 0 1-2.166 3.798l-13.766 8.04a4.25 4.25 0 0 1-4.298-.006L9.132 40.788a4.4 4.4 0 0 1-2.155-3.793L6.951 20.9a4.4 4.4 0 0 1 2.164-3.809l13.802-8.074a4.25 4.25 0 0 1 4.301.004m-3.444 1.518-13.8 8.072a2.64 2.64 0 0 0-1.298 2.285l.02 16.098c0 .94.496 1.807 1.294 2.276l13.776 8.086c.796.469 1.784.47 2.58.002l13.766-8.038a2.64 2.64 0 0 0 1.299-2.28l.02-16.13c0-.942-.493-1.81-1.294-2.283L26.356 10.54a2.55 2.55 0 0 0-2.58 0zM14.22 22.162a.856.856 0 0 1 1.15-.412l9.666 4.9 9.51-4.814a.85.85 0 0 1 1.069.28l.08.136a.885.885 0 0 1-.407 1.169l-9.39 4.751.019 10.449c0 .43-.304.79-.707.865l-.155.014a.87.87 0 0 1-.862-.876l-.018-10.448-9.551-4.845a.88.88 0 0 1-.459-1.02zm.236-18.15.123.098 2.753 2.552c.35.332.37.881.047 1.238a.85.85 0 0 1-1.097.134l-.122-.096-2.754-2.552a.886.886 0 0 1-.046-1.24.85.85 0 0 1 1.096-.134m22.293.135a.886.886 0 0 1-.046 1.24l-2.754 2.55a.853.853 0 0 1-1.218-.037.886.886 0 0 1 .046-1.238l2.754-2.552a.853.853 0 0 1 1.218.037M25.039.333c.422 0 .775.31.848.719l.014.158v3.945a.87.87 0 0 1-.862.88.87.87 0 0 1-.849-.721l-.014-.159V1.21a.87.87 0 0 1 .863-.877\" /></svg>;\nexport default SvgEmpty;","import React from \"react\";\nimport styles from \"./EmptyState.module.css\";\n\nimport EmptyStateIcon from \"../images/empty.svg\";\nimport classNames from \"classnames\";\n\n/**\n * EmptyState 组件 Props\n */\nexport interface EmptyStateProps {\n icon?: React.ReactNode;\n title: string;\n description?: string;\n className?: string;\n}\n\n/**\n * 空状态组件\n * 用于展示无数据时的提示信息\n */\nexport function EmptyState({\n icon,\n title,\n description,\n className,\n}: EmptyStateProps): React.ReactElement {\n return (\n <div className={classNames(styles.emptyState, className)}>\n {icon ? icon : <EmptyStateIcon className={styles.emptyStateIcon} />}\n <div className={styles.emptyStateTitle}>{title}</div>\n {description && (\n <div className={styles.emptyStateDescription}>{description}</div>\n )}\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]!./ConfigPreview.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]!./ConfigPreview.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useState } from \"react\";\nimport { BusinessObjectPreview } from \"./BusinessObjectPreview\";\nimport { BusinessFlowPreview } from \"./BusinessFlowPreview\";\nimport { EmptyState } from \"./EmptyState\";\nimport { BusinessObject, BusinessFlow, ViewType } from \"../interfaces\";\nimport { WrappedIcon } from \"../../shared/bricks\";\nimport styles from \"./ConfigPreview.module.css\";\nimport { K, t } from \"../i18n.js\";\n\nexport interface ConfigPreviewProps {\n businessObject?: BusinessObject | null;\n businessFlow?: BusinessFlow | null;\n viewType?: ViewType;\n onViewTypeChange?: (viewType: ViewType) => void;\n}\n\n/**\n * 配置预览容器组件\n * 参考设计图: node-id=125-1132, node-id=125-2022\n * 提供 Visual/JSON 视图切换功能,显示业务对象或业务流详情\n */\nexport function ConfigPreview({\n businessObject,\n businessFlow,\n viewType: externalViewType,\n onViewTypeChange,\n}: ConfigPreviewProps): React.ReactElement {\n // 内部视图类型状态(当外部没有提供时使用)\n const [internalViewType, setInternalViewType] = useState<ViewType>(\"visual\");\n const viewType = externalViewType ?? internalViewType;\n\n const handleViewTypeChange = (type: ViewType) => {\n if (onViewTypeChange) {\n onViewTypeChange(type);\n } else {\n setInternalViewType(type);\n }\n };\n\n // 判断是显示业务对象还是业务流\n const showBusinessObject = !!businessObject;\n const showBusinessFlow = !!businessFlow;\n const hasData = showBusinessObject || showBusinessFlow;\n\n return (\n <div className={styles.configPreviewContainer}>\n {/* 头部: Visual/JSON 视图切换 */}\n <div className={styles.configPreviewHeader}>\n <div className={styles.viewSwitcher}>\n <button\n className={`${styles.viewButton} ${viewType === \"visual\" ? styles.active : \"\"}`}\n onClick={() => handleViewTypeChange(\"visual\")}\n >\n <WrappedIcon\n lib=\"antd\"\n icon=\"eye\"\n className={styles.viewButtonIcon}\n />\n Visual\n </button>\n <button\n className={`${styles.viewButton} ${viewType === \"json\" ? styles.active : \"\"}`}\n onClick={() => handleViewTypeChange(\"json\")}\n >\n <WrappedIcon\n lib=\"antd\"\n icon=\"code\"\n className={styles.viewButtonIcon}\n />\n JSON\n </button>\n </div>\n </div>\n\n {/* 预览内容区域 */}\n <div className={styles.configPreviewBody}>\n {!hasData ? (\n <EmptyState\n title={t(K.NO_CONFIGURATION_DATA)}\n description={t(K.GUIDE_AI_TO_GENERATE_CONFIG)}\n />\n ) : showBusinessObject ? (\n <BusinessObjectPreview data={businessObject} viewType={viewType} />\n ) : (\n <BusinessFlowPreview\n data={businessFlow ?? undefined}\n viewType={viewType}\n />\n )}\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]!./BusinessManage.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]!./BusinessManage.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useState, useEffect } from \"react\";\nimport classNames from \"classnames\";\nimport type { ViewType } from \"../interfaces\";\nimport { ConfigPreview } from \"./ConfigPreview\";\nimport { SpaceConfigSchema, BusinessObject, BusinessFlow } from \"../interfaces\";\nimport styles from \"./BusinessManage.module.css\";\nimport { EmptyState } from \"./EmptyState\";\nimport { K, t } from \"../i18n.js\";\n\ninterface CardItem {\n id: string;\n name: string;\n description: string;\n}\n\nexport enum TabType {\n BUSINESS_OBJECTS = \"businessObjects\",\n BUSINESS_FLOWS = \"businessFlows\",\n}\n\ninterface BusinessManageProps {\n configSchema: SpaceConfigSchema;\n}\n\n/**\n * 业务管理组件\n * 包含业务对象/业务流列表区域和配置详情预览区域\n */\nexport function BusinessManage({\n configSchema,\n}: BusinessManageProps): React.ReactElement {\n // 当前激活的 Tab\n const [activeTab, setActiveTab] = useState<TabType>(TabType.BUSINESS_OBJECTS);\n // 当前选中的配置项\n const [selectedItem, setSelectedItem] = useState<\n BusinessObject | BusinessFlow\n >();\n // 视图类型: visual 或 json\n const [viewType, setViewType] = useState<ViewType>(\"visual\");\n\n // 统一处理 selectedItem 的更新:当 configSchema 或 activeTab 变化时自动更新\n useEffect(() => {\n const currentList =\n activeTab === TabType.BUSINESS_OBJECTS\n ? configSchema?.businessObjects\n : configSchema?.businessFlows;\n\n if (!currentList || currentList.length === 0) {\n setSelectedItem(undefined);\n return;\n }\n\n // 使用函数式更新,避免循环依赖\n setSelectedItem((prevItem) => {\n // 如果当前有选中的项,尝试在新数据中找到对应的项\n if (prevItem) {\n const getItemId = (item: BusinessObject | BusinessFlow): string => {\n return activeTab === TabType.BUSINESS_OBJECTS\n ? (item as BusinessObject).objectId\n : (item as BusinessFlow).instanceId;\n };\n const currentId = getItemId(prevItem);\n const matchedItem = currentList.find(\n (item) => getItemId(item) === currentId\n );\n // 找到了对应的项,返回新数据中的项;否则返回第一项\n return matchedItem || currentList[0];\n }\n // 当前没有选中项,返回第一项\n return currentList[0];\n });\n }, [configSchema, activeTab]);\n\n // 处理 Tab 切换(selectedItem 的更新由 useEffect 自动处理)\n const handleTabChange = (tab: TabType) => {\n setActiveTab(tab);\n };\n\n // 处理列表项选中\n const handleItemSelect = (item: CardItem) => {\n const selectedItem = configSchema?.[activeTab as TabType]?.find(\n (row) =>\n item.id ===\n (activeTab === TabType.BUSINESS_OBJECTS\n ? (row as BusinessObject).objectId\n : (row as BusinessFlow).instanceId)\n );\n setSelectedItem(selectedItem);\n };\n\n // 判断是业务对象还是业务流\n const isBusinessObject = activeTab === TabType.BUSINESS_OBJECTS;\n\n return (\n <>\n {/* 中间: 业务对象/业务流列表区域 */}\n <div className={styles.configListArea}>\n <div className={styles.configListTabs}>\n <button\n className={classNames(styles.configListTab, {\n [styles.active]: activeTab === TabType.BUSINESS_OBJECTS,\n })}\n onClick={() => handleTabChange(TabType.BUSINESS_OBJECTS)}\n >\n {t(K.BUSINESS_OBJECTS)}\n </button>\n <button\n className={classNames(styles.configListTab, {\n [styles.active]: activeTab === TabType.BUSINESS_FLOWS,\n })}\n onClick={() => handleTabChange(TabType.BUSINESS_FLOWS)}\n >\n {t(K.BUSINESS_FLOWS)}\n </button>\n </div>\n\n {activeTab === TabType.BUSINESS_OBJECTS ? (\n <BusinessCardList\n itemList={configSchema?.businessObjects?.map((item) => ({\n id: item.objectId,\n name: item.objectName,\n description: item.description,\n }))}\n activeId={(selectedItem as BusinessObject)?.objectId}\n onItemClick={handleItemSelect}\n />\n ) : (\n <BusinessCardList\n itemList={configSchema?.businessFlows?.map((item) => ({\n id: item.instanceId,\n name: item.name,\n description: item.description,\n }))}\n activeId={(selectedItem as BusinessFlow)?.instanceId}\n onItemClick={handleItemSelect}\n />\n )}\n </div>\n\n {/* 右侧: 配置详情预览区域 */}\n <div className={styles.configPreviewArea}>\n <ConfigPreview\n businessObject={\n isBusinessObject ? (selectedItem as BusinessObject) : null\n }\n businessFlow={\n !isBusinessObject ? (selectedItem as BusinessFlow) : null\n }\n viewType={viewType}\n onViewTypeChange={setViewType}\n />\n </div>\n </>\n );\n}\n\ninterface BusinessCardListProps {\n itemList: CardItem[];\n activeId?: string;\n onItemClick?: (item: CardItem) => void;\n}\n\nfunction BusinessCardList({\n itemList,\n activeId,\n onItemClick,\n}: BusinessCardListProps): React.ReactElement {\n if (!itemList?.length) {\n return (\n <EmptyState\n title={t(K.NO_BUSINESS_OBJECTS_FLOWS)}\n description={t(K.GUIDE_AI_TO_GENERATE_CONFIG)}\n />\n );\n }\n return (\n <div className={styles.cardList}>\n {itemList?.map((item) => (\n <div\n key={item.id}\n className={classNames(styles.cardItem, {\n [styles.active]: activeId === item.id,\n })}\n onClick={() => onItemClick?.(item)}\n >\n <div className={styles.cardItemName} title={item.name}>\n {item.name}\n </div>\n <div className={styles.cardItemDesc} title={item.description}>\n {item.description}\n </div>\n </div>\n ))}\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]!./SpaceConfigModal.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]!./SpaceConfigModal.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useState, useCallback, useEffect } from \"react\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n Modal,\n ModalProps,\n ModalEvents,\n ModalMapEvents,\n} from \"@next-bricks/containers/modal\";\nimport { http } from \"@next-core/http\";\nimport { ElevoSpaceApi_importSpaceSchema } from \"@next-api-sdk/llm-sdk\";\nimport { ConfigContext } from \"./ConfigContext\";\nimport type {\n ChatPayload,\n ConversationPatch,\n RequestStore,\n} from \"../../../shared/interfaces\";\nimport { ChatPanelContent } from \"../../../chat-panel/ChatPanelContent\";\nimport { BusinessManage } from \"../BusinessManage\";\n\nimport styles from \"./SpaceConfigModal.module.css\";\nimport { Activity, SpaceConfigSchema, SpaceDetail } from \"../../interfaces\";\nimport { mergeConfigSchema, handleModifyActivity } from \"./utils\";\nimport { K, t } from \"../../i18n.js\";\n\nconst WrappedModal = wrapBrick<\n Modal,\n ModalProps & {\n themeVariant?: \"default\" | \"elevo\";\n headerBordered?: boolean;\n },\n ModalEvents,\n ModalMapEvents\n>(\"eo-modal\", {\n onClose: \"close\",\n onConfirm: \"confirm\",\n onCancel: \"cancel\",\n onOpen: \"open\",\n});\n\nexport interface SpaceConfigModalProps {\n visible: boolean;\n spaceDetail: SpaceDetail;\n configSchema: SpaceConfigSchema;\n aiEmployeeId?: string;\n conversationId?: string;\n onSave?: (data: SpaceConfigSchema) => void;\n onCancel?: () => void;\n}\n\nexport function SpaceConfigModal({\n visible,\n spaceDetail,\n configSchema: initialConfigSchema,\n aiEmployeeId,\n onSave,\n onCancel,\n}: SpaceConfigModalProps): React.ReactElement {\n const [submitDisabled, setSubmitDisabled] = useState(false);\n const [conversationId, setConversationId] = useState<string | null>(null);\n const [configSchema, setConfigSchema] =\n useState<SpaceConfigSchema>(initialConfigSchema);\n\n const [initialRequest, setInitialRequest] = useState<RequestStore | null>(\n null\n );\n\n // 当外部传入的 configSchema 变化时,同步更新内部状态\n useEffect(() => {\n setConfigSchema(initialConfigSchema);\n }, [initialConfigSchema]);\n\n // 处理取消\n const handleCancel = () => {\n onCancel?.();\n };\n\n // 处理保存\n const handleSave = async () => {\n try {\n await ElevoSpaceApi_importSpaceSchema(\n spaceDetail.instanceId,\n configSchema\n );\n onSave?.(configSchema);\n } catch (error) {\n handleHttpError(error);\n }\n };\n\n const handleChatSubmit = useCallback(\n async (payload: ChatPayload) => {\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 agentId: \"elevo-service_object_schema\",\n cmd: {\n type: \"space-config\",\n payload: {\n spaceInstanceId: spaceDetail.instanceId,\n },\n },\n ...(aiEmployeeId ? { aiEmployeeId } : null),\n conversationId: conversationId,\n });\n } catch (e) {\n handleHttpError(e);\n } finally {\n setSubmitDisabled(false);\n }\n },\n [aiEmployeeId, spaceDetail.instanceId]\n );\n\n const handleData = useCallback(\n (data: ConversationPatch) => {\n // 检查数据结构是否存在且类型匹配\n\n const firstPart = data?.tasks?.[0]?.jobs?.[0]?.messages?.[0]?.parts?.[0];\n\n // 检查是否是 DataPart 类型且 type 为 easy_cmd_business_object\n if (\n firstPart?.type === \"data\" &&\n firstPart.data?.type === \"easy_cmd_business_object\" &&\n firstPart.data?.content\n ) {\n // 解析 content 字段\n const contentStr = firstPart.data.content;\n let currentEditSchema: SpaceConfigSchema;\n try {\n currentEditSchema = JSON.parse(contentStr);\n } catch (error) {\n // 解析失败时静默返回,避免影响其他功能\n // eslint-disable-next-line no-console\n console.error(error);\n return;\n }\n const mergedConfigSchema = mergeConfigSchema(\n configSchema,\n currentEditSchema\n );\n\n // 更新 configSchema\n setConfigSchema(mergedConfigSchema);\n }\n },\n [configSchema]\n );\n\n const modifyActivity = useCallback(\n (stageName: string, newActivity: Activity) => {\n setConfigSchema((prevConfigSchema) => {\n const newConfigSchema = handleModifyActivity(\n prevConfigSchema,\n stageName,\n newActivity\n );\n return newConfigSchema;\n });\n },\n []\n );\n\n return (\n <ConfigContext.Provider value={{ modifyActivity }}>\n <WrappedModal\n themeVariant=\"elevo\"\n headerBordered\n modalTitle={t(K.SPACE_CONFIGURATION)}\n width=\"90%\"\n visible={visible}\n onCancel={handleCancel}\n onClose={handleCancel}\n onConfirm={handleSave}\n maskClosable={false}\n confirmText={t(K.SAVE_CONFIGURATION)}\n cancelText={t(K.CANCEL)}\n >\n <div className={styles.modalContent}>\n {/* 左侧: AI 助手对话区域 */}\n <div className={styles.aiAssistantArea}>\n <ChatPanelContent\n submitDisabled={submitDisabled}\n onChatSubmit={handleChatSubmit}\n conversationId={conversationId}\n initialRequest={initialRequest}\n onData={handleData}\n placeholder={t(K.PLEASE_ENTER)}\n help={{\n useBrick: {\n brick: \"ai-portal.chat-panel-welcome\",\n properties: {\n text: t(K.CONFIG_ASSISTANT_WELCOME),\n },\n },\n }}\n />\n </div>\n\n {/* 业务对象/业务流列表区域 和 配置详情预览区域 */}\n <BusinessManage configSchema={configSchema} />\n </div>\n </WrappedModal>\n </ConfigContext.Provider>\n );\n}\n","import { Activity, SpaceConfigSchema } from \"../../interfaces\";\n\nexport function mergeConfigSchema(\n prevSchema: SpaceConfigSchema,\n currentEditSchema: SpaceConfigSchema\n): SpaceConfigSchema {\n // 先处理删除操作,然后再合并新增/更新的项\n // 删除 businessObjects\n let mergedBusinessObjects = [...(prevSchema.businessObjects || [])];\n if (currentEditSchema.deleteObjects?.length) {\n mergedBusinessObjects = mergedBusinessObjects.filter(\n (obj) => !currentEditSchema.deleteObjects?.includes(obj.objectId)\n );\n }\n\n // 删除 objectRelations\n let mergedObjectRelations = [...(prevSchema.objectRelations || [])];\n if (currentEditSchema.deleteRelations?.length) {\n mergedObjectRelations = mergedObjectRelations.filter(\n (rel) => !currentEditSchema.deleteRelations?.includes(rel.name)\n );\n }\n\n // 删除 businessFlows\n let mergedBusinessFlows = [...(prevSchema.businessFlows || [])];\n if (currentEditSchema.deleteFlows?.length) {\n mergedBusinessFlows = mergedBusinessFlows.filter(\n (flow) => !currentEditSchema.deleteFlows?.includes(flow.name)\n );\n }\n\n // 合并 businessObjects(找到覆盖,找不到新增)\n if (currentEditSchema.businessObjects?.length) {\n const existingObjectMap = new Map(\n mergedBusinessObjects.map((obj) => [obj.objectId, obj])\n );\n currentEditSchema.businessObjects.forEach((obj) => {\n existingObjectMap.set(obj.objectId, obj);\n });\n mergedBusinessObjects = Array.from(existingObjectMap.values());\n }\n\n // 合并 objectRelations(找到覆盖,找不到新增)\n if (currentEditSchema.objectRelations?.length) {\n const existingRelationMap = new Map(\n mergedObjectRelations.map((rel) => [rel.name, rel])\n );\n currentEditSchema.objectRelations.forEach((rel) => {\n existingRelationMap.set(rel.name, rel);\n });\n mergedObjectRelations = Array.from(existingRelationMap.values());\n }\n\n // 合并 businessFlows(找到覆盖,找不到新增)\n if (currentEditSchema.businessFlows?.length) {\n const existingFlowMap = new Map(\n mergedBusinessFlows.map((flow) => [flow.name, flow])\n );\n currentEditSchema.businessFlows.forEach((flow) => {\n existingFlowMap.set(flow.name, flow);\n });\n mergedBusinessFlows = Array.from(existingFlowMap.values());\n }\n\n // 更新 configSchema\n return {\n businessObjects: mergedBusinessObjects,\n objectRelations: mergedObjectRelations,\n businessFlows: mergedBusinessFlows,\n deleteObjects: Array.from(\n new Set([\n ...(prevSchema.deleteObjects || []),\n ...(currentEditSchema.deleteObjects || []),\n ])\n ),\n deleteRelations: Array.from(\n new Set([\n ...(prevSchema.deleteRelations || []),\n ...(currentEditSchema.deleteRelations || []),\n ])\n ),\n deleteFlows: Array.from(\n new Set([\n ...(prevSchema.deleteFlows || []),\n ...(currentEditSchema.deleteFlows || []),\n ])\n ),\n };\n}\n\nexport function handleModifyActivity(\n prevSchema: SpaceConfigSchema,\n stageName: string,\n newActivity: Activity\n): SpaceConfigSchema {\n let hasModified = false;\n\n // 创建 businessFlows 的深拷贝\n const updatedBusinessFlows = prevSchema.businessFlows.map((flow) => {\n // 如果当前流程没有 spec,跳过\n if (!flow.spec || flow.spec.length === 0) {\n return flow;\n }\n\n // 查找匹配的 stage\n const stageIndex = flow.spec.findIndex((spec) => spec.name === stageName);\n if (stageIndex === -1) {\n // 当前流程中没有匹配的 stage,返回原流程\n return flow;\n }\n\n // 找到匹配的 stage,检查其中的 activities\n const targetStage = flow.spec[stageIndex];\n const activities = targetStage.serviceFlowActivities || [];\n\n // 查找同名的 activity\n const activityIndex = activities.findIndex(\n (activity) => activity.name === newActivity.name\n );\n\n if (activityIndex === -1) {\n // 没有找到同名 activity,返回原流程\n return flow;\n }\n\n // 找到了同名 activity,进行更新\n hasModified = true;\n const updatedActivities = [...activities];\n updatedActivities[activityIndex] = newActivity;\n\n // 更新 spec\n const updatedSpec = [...flow.spec];\n updatedSpec[stageIndex] = {\n ...targetStage,\n serviceFlowActivities: updatedActivities,\n };\n\n // 返回更新后的 flow\n return {\n ...flow,\n spec: updatedSpec,\n };\n });\n\n // 如果没有任何修改,打印警告并返回原 schema\n if (!hasModified) {\n // eslint-disable-next-line no-console\n console.warn(\n `Activity \"${newActivity.name}\" not found in stage \"${stageName}\" across all business flows.`\n );\n return prevSchema;\n }\n\n // 返回更新后的 schema\n return {\n ...prevSchema,\n businessFlows: updatedBusinessFlows,\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]!./SpaceNav.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]!./SpaceNav.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { ElevoSpaceApi_getSpaceSchema } from \"@next-api-sdk/llm-sdk\";\nimport {\n NoticeDropdown,\n NoticeDropdownProps,\n NoticeItem,\n} from \"../../notice-dropdown/index.jsx\";\nimport type { SpaceLogo, SpaceLogoProps } from \"../space-logo/index.jsx\";\nimport { SpaceConfigModal } from \"./SpaceConfigModal/SpaceConfigModal\";\nimport { K, t } from \"../i18n.js\";\nimport styles from \"./SpaceNav.module.css\";\nimport { SpaceDetail } from \"../interfaces.js\";\nimport { handleHttpError } from \"@next-core/runtime\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport interface NoticeDropdownEvents {\n \"notice.click\": CustomEvent<NoticeItem>;\n \"mark.all.read\": CustomEvent<void>;\n}\n\nexport interface NoticeDropdownMapping {\n onNoticeClick: \"notice.click\";\n onMarkAllRead: \"mark.all.read\";\n}\n\nconst WrappedNoticeDropdown = wrapBrick<\n NoticeDropdown,\n NoticeDropdownProps,\n NoticeDropdownEvents,\n NoticeDropdownMapping\n>(\"ai-portal.notice-dropdown\", {\n onNoticeClick: \"notice.click\",\n onMarkAllRead: \"mark.all.read\",\n});\nconst WrappedSpaceLogo = wrapBrick<SpaceLogo, SpaceLogoProps>(\n \"ai-portal.space-logo\"\n);\n\nexport interface SpaceNavProps {\n spaceDetail: SpaceDetail;\n notices?: NoticeItem[];\n onBack: () => void;\n onMembersClick: () => void;\n notifyCenterUrl: string;\n onMarkAllRead: () => void;\n onNoticeClick: (notice: NoticeItem) => void;\n onSpaceEdit?: () => void;\n aiEmployeeId?: string;\n}\n\nexport function SpaceNav(props: SpaceNavProps) {\n const {\n spaceDetail,\n notices = [],\n notifyCenterUrl,\n onBack,\n onMembersClick,\n onMarkAllRead,\n onNoticeClick,\n onSpaceEdit,\n aiEmployeeId,\n } = props;\n\n const [showDescription, setShowDescription] = React.useState(false);\n const [configModalVisible, setConfigModalVisible] = React.useState(false);\n const [configSchema, setConfigSchema] = React.useState<any>(null);\n\n const handleQuestionClick = () => {\n setShowDescription(!showDescription);\n };\n\n const handleSettingClick = async () => {\n setConfigModalVisible(true);\n };\n\n const handleSave = () => {\n // TODO: Call actual save API\n setConfigModalVisible(false);\n };\n\n useEffect(() => {\n const fetchSchema = async () => {\n try {\n const schema = await ElevoSpaceApi_getSpaceSchema(\n spaceDetail.instanceId\n );\n setConfigSchema(schema);\n } catch (error) {\n handleHttpError(error);\n }\n };\n fetchSchema();\n }, [spaceDetail.instanceId]);\n\n return (\n <>\n <header className={styles.spaceWorkbenchHeader}>\n <div className={styles.headerLeft}>\n <button className={styles.iconButton} onClick={onBack}>\n <WrappedIcon lib=\"antd\" icon=\"arrow-left\" theme=\"outlined\" />\n </button>\n\n <WrappedSpaceLogo size={32} />\n\n <h1 className={styles.spaceTitle}>{spaceDetail.name}</h1>\n\n <div className={styles.actionIcons}>\n <button className={styles.iconButton} onClick={handleSettingClick}>\n <WrappedIcon lib=\"antd\" icon=\"setting\" theme=\"outlined\" />\n </button>\n <button\n className={`${styles.iconButton} ${showDescription ? styles.active : \"\"}`}\n onClick={handleQuestionClick}\n >\n <WrappedIcon lib=\"antd\" icon=\"question-circle\" theme=\"outlined\" />\n </button>\n </div>\n </div>\n\n <div className={styles.headerRight}>\n <WrappedIcon\n className={styles.iconButton}\n lib=\"antd\"\n icon=\"usergroup-add\"\n onClick={onMembersClick}\n ></WrappedIcon>\n\n <div className={styles.divider} />\n\n <WrappedNoticeDropdown\n dataSource={notices}\n dropdownContentStyle={{ minWidth: \"300px\" }}\n hideNotifyCenterButton\n urlTarget=\"_blank\"\n notifyCenterUrl={notifyCenterUrl}\n onMarkAllRead={() => onMarkAllRead()}\n onNoticeClick={(e) => onNoticeClick(e.detail)}\n />\n </div>\n </header>\n\n {showDescription && spaceDetail?.description && (\n <div className={styles.spaceDescription}>\n <div className={styles.descriptionHeader}>\n <p className={styles.descriptionTitle}>{t(K.DESCRIPTION)}</p>\n <button\n className={styles.descriptionEditButton}\n onClick={onSpaceEdit}\n >\n <WrappedIcon lib=\"antd\" icon=\"edit\" theme=\"outlined\" />\n </button>\n </div>\n <p className={styles.descriptionContent}>{spaceDetail.description}</p>\n </div>\n )}\n\n <SpaceConfigModal\n visible={configModalVisible}\n configSchema={configSchema}\n spaceDetail={spaceDetail}\n aiEmployeeId={aiEmployeeId}\n onSave={handleSave}\n onCancel={() => setConfigModalVisible(false)}\n />\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, `.configPreviewContainer--yNY3q35k{display:flex;flex-direction:column;height:100%;overflow:hidden}.configPreviewHeader--DNjrNlnV{display:flex;justify-content:flex-end;align-items:center;padding:12px 16px;background:transparent}.viewSwitcher--Gl55lnAi{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.8);padding:4px;border-radius:6px;border:1px solid rgba(0,0,0,0.06)}.viewButton--whi8DhXt{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;color:rgba(0,0,0,0.65);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all 0.2s}.viewButton--whi8DhXt:hover{color:#1d2129;background:rgba(0,0,0,0.04)}.viewButton--whi8DhXt.active--_wR37vdn{color:#2540ff;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,0.06)}.viewButtonIcon--oU5oLu_G{width:14px;height:14px}.configPreviewBody--K4kW1OkP{flex:1;overflow:auto;padding:0 24px 24px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"configPreviewContainer\": `configPreviewContainer--yNY3q35k`,\n\t\"configPreviewHeader\": `configPreviewHeader--DNjrNlnV`,\n\t\"viewSwitcher\": `viewSwitcher--Gl55lnAi`,\n\t\"viewButton\": `viewButton--whi8DhXt`,\n\t\"active\": `active--_wR37vdn`,\n\t\"viewButtonIcon\": `viewButtonIcon--oU5oLu_G`,\n\t\"configPreviewBody\": `configPreviewBody--K4kW1OkP`\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\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../home-container/images/background.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.container--IEVu6SwI{display:block;width:100%;height:100%;position:relative}.container--IEVu6SwI::before{content:\"\";position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;background-color:#f1f1f1;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}.spaceWorkbenchContainer--gkoOVSLf{display:flex;flex-direction:column;height:100%}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": `container--IEVu6SwI`,\n\t\"spaceWorkbenchContainer\": `spaceWorkbenchContainer--gkoOVSLf`\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, `.businessFlowPreview--mNpMh7gZ{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,0.04)}.flowHeader--NE0UwE3g{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.flowTitleArea--_BBntwB4{display:flex;flex-direction:column;gap:4px}.flowTitle--iDw5rVFR{font-size:18px;font-weight:600;color:#1d2129}.flowDescription--IV2wzffp{font-size:13px;color:rgba(0,0,0,0.45)}.flowBadge--fiNjj0d0{padding:4px 12px;font-size:12px;font-weight:500;color:#2540ff;background:rgba(37,64,255,0.08);border:1px solid rgba(37,64,255,0.2);border-radius:16px;white-space:nowrap}.flowSection--i1oQlw1W{margin-bottom:24px}.flowSection--i1oQlw1W:last-child{margin-bottom:0}.sectionTitle--tELiGZeX{display:flex;align-items:center;gap:8px}.prerequisitesIcon--OfQsltW6{width:16px;height:16px;color:#2540ff}.prerequisitesSubtitle--kiyi4Euv{font-size:13px;color:rgba(0,0,0,0.65);margin-bottom:8px}.prerequisitesList--PrLQhk8U{display:flex;flex-direction:column;gap:8px;padding-left:4px}.prerequisiteItem--ByEEG3PH{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:rgba(0,0,0,0.65);line-height:1.5}.prerequisiteItem--ByEEG3PH::before{content:\"•\";color:rgba(0,0,0,0.25);flex-shrink:0}.stagesContainer--oWEV6pXE{display:flex;gap:24px;border:1px solid rgba(0,0,0,0.1);border-radius:12px;padding:23px 26px;background:#fff;overflow:hidden}.stageColumn--kV8p6j24{flex:1;min-width:0;display:flex;flex-direction:column;gap:15px}.stageActivities--rGeR247I{display:flex;flex-direction:column;gap:8px}.stageIndicator--V0xwXYtQ{display:flex;align-items:center;gap:12px;flex-shrink:0}.stageIndicatorNumber--sAzIQr3N{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#e6ebef;border:2px solid #e6ebef;border-radius:50%;font-family:\"PingFang SC\",sans-serif;font-size:14px;font-weight:600;line-height:20px;color:#45556c;flex-shrink:0}.stageIndicatorName--mNJqDA6j{font-family:\"PingFang SC\",sans-serif;font-size:14px;font-weight:600;line-height:20px;color:#1d293d;letter-spacing:0.35px;white-space:nowrap;flex-shrink:0}.stageIndicatorLine--KEldEXve{height:0;border-top:1px dashed rgba(0,0,0,0.15);flex:1;min-width:40px}.jsonView--TxF2k1Ea{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.04);overflow:auto;height:100%}.jsonView--TxF2k1Ea pre{margin:0;font-family:\"SF Mono\",\"Monaco\",\"Inconsolata\",\"Fira Mono\",\"Droid Sans Mono\",monospace;font-size:12px;line-height:1.6;color:#1d2129;white-space:pre-wrap;word-break:break-all}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"businessFlowPreview\": `businessFlowPreview--mNpMh7gZ`,\n\t\"flowHeader\": `flowHeader--NE0UwE3g`,\n\t\"flowTitleArea\": `flowTitleArea--_BBntwB4`,\n\t\"flowTitle\": `flowTitle--iDw5rVFR`,\n\t\"flowDescription\": `flowDescription--IV2wzffp`,\n\t\"flowBadge\": `flowBadge--fiNjj0d0`,\n\t\"flowSection\": `flowSection--i1oQlw1W`,\n\t\"sectionTitle\": `sectionTitle--tELiGZeX`,\n\t\"prerequisitesIcon\": `prerequisitesIcon--OfQsltW6`,\n\t\"prerequisitesSubtitle\": `prerequisitesSubtitle--kiyi4Euv`,\n\t\"prerequisitesList\": `prerequisitesList--PrLQhk8U`,\n\t\"prerequisiteItem\": `prerequisiteItem--ByEEG3PH`,\n\t\"stagesContainer\": `stagesContainer--oWEV6pXE`,\n\t\"stageColumn\": `stageColumn--kV8p6j24`,\n\t\"stageActivities\": `stageActivities--rGeR247I`,\n\t\"stageIndicator\": `stageIndicator--V0xwXYtQ`,\n\t\"stageIndicatorNumber\": `stageIndicatorNumber--sAzIQr3N`,\n\t\"stageIndicatorName\": `stageIndicatorName--mNJqDA6j`,\n\t\"stageIndicatorLine\": `stageIndicatorLine--KEldEXve`,\n\t\"jsonView\": `jsonView--TxF2k1Ea`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","ChatPanelContent","forwardRef","_ref","ref","conversationId","initialRequest","placeholder","uploadOptions","help","fromModal","submitDisabled","onChatSubmit","onData","inputRef","useRef","activeFile","setActiveFile","useState","activeImages","setActiveImages","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","current","call","depsReady","setDepsReady","useEffect","ignore","Promise","race","preloadHighlighter","resolve","setTimeout","finally","scrollContainerRef","scrollContentRef","scrollable","scrollToBottom","toggleAutoScroll","useAutoScroll","handleChatSubmit","async","content","payload","taskContextValue","useMemo","useImperativeHandle","setInputValue","_inputRef$current","setValue","focus","_inputRef$current2","showFile","file","streamContextValue","lastDetail","planMap","setUserClosedAside","React","TaskContext","Provider","value","StreamContext","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","e","detail","FilePreview","ImagesPreview","images","K","NS","locales","en","DESCRIPTION","SPACE_GUIDE_SECTION_TITLE","SPACE_GUIDE_CARD_1_TITLE","SPACE_GUIDE_CARD_2_TITLE","SPACE_GUIDE_CARD_3_TITLE","BUSINESS_OBJECTS","BUSINESS_FLOWS","NO_BUSINESS_OBJECTS_FLOWS","GUIDE_AI_TO_GENERATE_CONFIG","NO_CONFIGURATION_DATA","FIELD_DEFINITIONS","LIFECYCLE_STATUS","PREREQUISITES","PREREQUISITES_SUBTITLE","ACTIVITY_DESCRIPTION","NO_DESCRIPTION","RESPONSIBLE_AI_EMPLOYEE","SELECT_AI_EMPLOYEE_PLACEHOLDER","HITL_RULES","HITL_INTERVENTION_USER","SELECT_HITL_USER_PLACEHOLDER","SPACE_CONFIGURATION","SAVE_CONFIGURATION","CANCEL","PLEASE_ENTER","CONFIG_ASSISTANT_WELCOME","KNOWLEDGE","NO_KNOWLEDGE","MINUTES_AGO","HOURS_AGO","DAYS_AGO","NEW_SESSION","HISTORY_SESSIONS","CLOSE_TAB","FLOW_SIDEBAR_TITLE","FLOW_SIDEBAR_SUBTITLE","NO_HISTORY","LOADING","LOAD_MORE","NO_BUSINESS_OBJECTS","LOAD_FAILED","CLICK_TO_RETRY","NO_INSTANCES","ADD_KNOWLEDGE","ADD_INSTANCE_MODAL_TITLE","ADD_INSTANCE_ASSISTANT_WELCOME","IDENTIFIED_INSTANCES","NO_INSTANCES_IDENTIFIED","NO_INSTANCES_IDENTIFIED_DESCRIPTION","INSTANCE_DETAIL","NO_DETAIL","CONFIRM_CREATE","EDIT_INSTANCE","DELETE_INSTANCE","NO_DETAIL_HINT","zh","t","i18n","getFixedT","ElevoSpaceApi_generateSpaceCapabilities","spaceId","data","http","post","props","_extends","xmlns","width","height","fill","viewBox","strokeLinecap","strokeLinejoin","strokeWidth","clipPath","stroke","d","x1","x2","y1","y2","gradientUnits","stopColor","offset","WrappedSpaceLogo","wrapBrick","SpaceGuide","spaceDetail","onCardClick","spaceCapabilities","setSpaceCapabilities","cards","layerSvg","background","layerBg","title","iconContainerColor","lightningSvg","lightningBg","bookSvg","bookBg","res","instanceId","forceRefresh","fetchSpaceCapabilities","spaceGuideContainer","guideHeader","spaceLogo","size","guideTitle","name","guideDescription","description","guideContent","sectionTitle","MagicSvg","sectionIcon","cardsGrid","card","guideCard","backgroundImage","handleCardClick","cardContent","cardIconContainer","src","alt","cardIcon","cardTitle","cardDescription","ElevoSpaceApi_getSpaceSchema","get","ElevoSpaceApi_importSpaceSchema","ConfigContext","createContext","WrappedMarkdownDisplay","BusinessObjectPreview","_data$attributes","viewType","jsonView","JSON","stringify","businessObjectPreview","objectHeader","objectTitleArea","objectTitle","objectName","objectDescription","objectSection","fieldGrid","attributes","field","fieldItem","fieldName","fieldType","type","lifecycle","lifecycleContainer","ActivityCard","assignee","active","classNames","activityCard","activityCardActive","activityContent","activityName","activityNameActive","activityDescription","activityAssignee","WrappedModal","onClose","onConfirm","onCancel","onOpen","WrappedUserOrUserGroupSelect","onValueChange","WrappedSelect","ActivityDetailModal","_aiEmployees$map","_activity$hilUser","activity","_activity","visible","onChange","aiEmployees","setAiEmployees","setActivity","ElevoApi_listElevoAiEmployees","page","page_size","filter","item","employeeId","error","handleHttpError","fetchAssignees","modalTitle","noFooter","maskClosable","section","descriptionContent","emptyDescription","aiEmployeeId","themeVariant","label","event","newActivity","select","hilRules","hitlRuleItem","hilUser","optionsMode","userKey","isMultiple","BusinessFlowPreview","_data$spec","selectedActivity","setSelectedActivity","modifyActivity","useContext","currentStage","businessFlowPreview","flowHeader","flowTitleArea","flowTitle","flowDescription","prerequisite","flowSection","prerequisitesIcon","prerequisitesSubtitle","prerequisitesList","spec","stagesContainer","stage","_stage$serviceFlowAct","stageColumn","stageIndicator","stageIndicatorNumber","stageIndicatorName","stageIndicatorLine","stageActivities","serviceFlowActivities","actIndex","handleActivityClick","stageName","handleCloseActivityDetail","fillOpacity","EmptyState","emptyState","EmptyStateIcon","emptyStateIcon","emptyStateTitle","emptyStateDescription","ConfigPreview","businessObject","businessFlow","externalViewType","onViewTypeChange","internalViewType","setInternalViewType","handleViewTypeChange","showBusinessObject","hasData","configPreviewContainer","configPreviewHeader","viewSwitcher","viewButton","viewButtonIcon","configPreviewBody","TabType","BusinessManage","_configSchema$busines","_configSchema$busines2","configSchema","activeTab","setActiveTab","selectedItem","setSelectedItem","setViewType","currentList","businessObjects","businessFlows","prevItem","getItemId","objectId","currentId","find","handleTabChange","tab","handleItemSelect","_configSchema","row","isBusinessObject","configListArea","configListTabs","configListTab","BusinessCardList","itemList","activeId","onItemClick","configPreviewArea","_ref2","cardList","cardItem","cardItemName","cardItemDesc","SpaceConfigModal","initialConfigSchema","onSave","setSubmitDisabled","setConversationId","setConfigSchema","setInitialRequest","handleCancel","agentId","cmd","spaceInstanceId","handleData","_data$tasks","_firstPart$data","_firstPart$data2","firstPart","jobs","parts","contentStr","currentEditSchema","parse","console","mergedConfigSchema","prevSchema","_currentEditSchema$de","_currentEditSchema$de3","_currentEditSchema$de5","_currentEditSchema$bu","_currentEditSchema$ob","_currentEditSchema$bu2","mergedBusinessObjects","deleteObjects","obj","_currentEditSchema$de2","mergedObjectRelations","objectRelations","deleteRelations","rel","_currentEditSchema$de4","mergedBusinessFlows","deleteFlows","flow","_currentEditSchema$de6","existingObjectMap","Map","forEach","set","Array","from","values","existingRelationMap","existingFlowMap","Set","mergeConfigSchema","prevConfigSchema","newConfigSchema","hasModified","updatedBusinessFlows","stageIndex","findIndex","targetStage","activities","activityIndex","updatedActivities","updatedSpec","warn","handleModifyActivity","headerBordered","confirmText","cancelText","modalContent","aiAssistantArea","brick","properties","text","WrappedNoticeDropdown","onNoticeClick","onMarkAllRead","SpaceNav","notices","notifyCenterUrl","onBack","onMembersClick","onSpaceEdit","showDescription","setShowDescription","configModalVisible","setConfigModalVisible","schema","fetchSchema","spaceWorkbenchHeader","headerLeft","iconButton","spaceTitle","actionIcons","handleQuestionClick","headerRight","divider","dataSource","dropdownContentStyle","minWidth","hideNotifyCenterButton","urlTarget","spaceDescription","descriptionHeader","descriptionTitle","descriptionEditButton","handleSave","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___"],"sourceRoot":""}
|