@next-bricks/ai-portal 0.39.3 → 0.39.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +27 -27
- package/dist/chunks/71.fac7051d.js +2 -0
- package/dist/chunks/71.fac7051d.js.map +1 -0
- package/dist/chunks/action-buttons.bc5e9334.js +2 -0
- package/dist/chunks/action-buttons.bc5e9334.js.map +1 -0
- package/dist/chunks/dropdown-select.3c0cd96d.js +2 -0
- package/dist/chunks/dropdown-select.3c0cd96d.js.map +1 -0
- package/dist/chunks/goal-card-list.d0dfa31e.js +3 -0
- package/dist/chunks/goal-card-list.d0dfa31e.js.map +1 -0
- package/dist/chunks/{main.2e680f23.js → main.34dc1e32.js} +2 -2
- package/dist/chunks/{main.2e680f23.js.map → main.34dc1e32.js.map} +1 -1
- package/dist/examples.json +14 -14
- package/dist/{index.45a33574.js → index.5799bda2.js} +2 -2
- package/dist/{index.45a33574.js.map → index.5799bda2.js.map} +1 -1
- package/dist/manifest.json +236 -224
- package/dist/types.json +316 -301
- package/dist-types/action-buttons/index.d.ts +0 -1
- package/dist-types/dropdown-select/index.d.ts +2 -0
- package/dist-types/goal-card-list/CardItem/CardItem.d.ts +1 -1
- package/docs/action-buttons.md +7 -2
- package/package.json +2 -2
- package/dist/chunks/71.c149a595.js +0 -2
- package/dist/chunks/71.c149a595.js.map +0 -1
- package/dist/chunks/action-buttons.646a069f.js +0 -2
- package/dist/chunks/action-buttons.646a069f.js.map +0 -1
- package/dist/chunks/dropdown-select.60c8ff0c.js +0 -2
- package/dist/chunks/dropdown-select.60c8ff0c.js.map +0 -1
- package/dist/chunks/goal-card-list.e1e50f2f.js +0 -3
- package/dist/chunks/goal-card-list.e1e50f2f.js.map +0 -1
- /package/dist/chunks/{goal-card-list.e1e50f2f.js.LICENSE.txt → goal-card-list.d0dfa31e.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/71.fac7051d.js","mappings":"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","sources":["webpack:///./src/stat-with-mini-chart/styles.shadow.css","webpack:///./src/cruise-canvas/index.tsx","webpack:///./src/chat-box/i18n.ts","webpack:///./src/chat-box/index.tsx","webpack:///./src/home-container/index.tsx","webpack:///./src/stat-with-mini-chart/index.tsx","webpack:///./src/elevo-sidebar/index.tsx","webpack:///./src/icon-button/index.tsx","webpack:///./src/show-cases/i18n.ts","webpack:///./src/show-cases/index.tsx","webpack:///./src/mcp-tools/i18n.ts","webpack:///./src/mcp-tools/index.tsx","webpack:///./src/chat-stream/index.tsx","webpack:///./src/ai-employees/i18n.ts","webpack:///./src/ai-employees/index.tsx","webpack:///./src/ai-agents/i18n.ts","webpack:///./src/ai-agents/index.tsx","webpack:///./src/data-providers/request-store.ts","webpack:///./src/page-container/index.tsx","webpack:///./src/project-summary/i18n.ts","webpack:///./src/project-summary/index.tsx","webpack:///./src/tab-list/index.tsx","webpack:///./src/dropdown-select/i18n.ts","webpack:///./src/dropdown-select/index.tsx","webpack:///./src/data-providers/entity-sdk-list.ts","webpack:///./src/data-providers/entity-sdk-get.ts","webpack:///./src/preview-container/i18n.ts","webpack:///./src/preview-container/styles.module.css?836e","webpack:///./src/preview-container/index.tsx","webpack:///./src/action-buttons/i18n.ts","webpack:///./src/action-buttons/index.tsx","webpack:///./src/goal-card-list/i18n.ts","webpack:///./src/goal-card-list/CardItem/CardItem.tsx","webpack:///./src/goal-card-list/index.tsx","webpack:///./src/project-conversations/i18n.ts","webpack:///./src/project-conversations/index.tsx","webpack:///./src/project-knowledges/index.tsx","webpack:///./src/goal-card-list/styles.shadow.css","webpack:///./src/action-buttons/styles.shadow.css","webpack:///./src/tab-list/styles.shadow.css","webpack:///./src/project-knowledges/styles.shadow.css","webpack:///./src/mcp-tools/styles.shadow.css","webpack:///./src/dropdown-select/styles.shadow.css","webpack:///./src/show-cases/styles.shadow.css","webpack:///./src/goal-card-list/CardItem/CardItem.shadow.css","webpack:///./src/chat-box/styles.shadow.css","webpack:///./src/icon-button/styles.shadow.css","webpack:///./src/page-container/styles.shadow.css","webpack:///./src/project-summary/styles.shadow.css","webpack:///./src/preview-container/styles.module.css","webpack:///./src/project-conversations/styles.shadow.css","webpack:///./src/home-container/styles.shadow.css","webpack:///./src/ai-agents/styles.shadow.css","webpack:///./src/ai-employees/styles.shadow.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, `:host{display:block;white-space:nowrap}.container{border-radius:var(--elevo-border-radius)}:host([hidden]){display:none}*{box-sizing:border-box}.label{font-weight:500;overflow:hidden;text-overflow:ellipsis}.stat{font-weight:600}.chart{min-width:0}.chart > *{display:block}:host(:not([size=\"small\"])) .container{background:linear-gradient(164deg,rgba(105,153,253,0) 40%,rgba(105,153,253,0.05) 60%,rgba(105,153,253,0.32) 100%),#fff;padding:22px}:host(:not([size=\"small\"])) .label{font-size:14px;height:22px;margin-bottom:16px}:host(:not([size=\"small\"])) .stat-and-chart{display:flex;align-items:center;justify-content:end;position:relative}:host(:not([size=\"small\"])) .stat{font-size:36px;color:#1d212a;position:absolute;left:0}:host(:not([size=\"small\"])) .chart{width:calc(100% - 160px)}:host([size=\"small\"]) .container{padding:11px 15px;display:flex;align-items:center;justify-content:end;position:relative;background:var(--elevo-component-background);-webkit-backdrop-filter:var(--elevo-component-backdrop-filter);backdrop-filter:var(--elevo-component-backdrop-filter)}:host([size=\"small\"]) .label-and-stat{position:absolute;left:15px}:host([size=\"small\"]) .label{font-size:12px;color:#8c8c8c;line-height:17px;height:17px;margin-bottom:7px}:host([size=\"small\"]) .stat{font-size:20px;color:#262626;line-height:24px}:host([size=\"small\"]) .chart{width:calc(100% - 90px)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// istanbul ignore file: experimental\nimport React, { createRef, forwardRef } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport type { Job, TaskBaseDetail, FeedbackDetail } from \"./interfaces.js\";\nimport { LegacyCruiseCanvasComponent } from \"./LegacyCruiseCanvas.js\";\nimport { CruiseCanvasComponent, type CruiseCanvasRef } from \"./CruiseCanvas.js\";\nimport type { RequestStore } from \"../shared/interfaces.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface CruiseCanvasProps {\n conversationId?: string;\n initialRequest?: RequestStore | null;\n taskId?: string;\n task?: TaskBaseDetail;\n jobs?: Job[];\n replay?: boolean;\n replayDelay?: number;\n supports?: Record<string, boolean>;\n showHiddenJobs?: boolean;\n showFeedback?: boolean;\n showFeedbackAfterFailed?: boolean;\n showUiSwitch?: boolean;\n showFeedbackOnView?: boolean;\n showJsxEditor?: boolean;\n previewUrlTemplate?: string;\n}\n\nconst ForwardedLegacyCruiseCanvasComponent = forwardRef(\n LegacyCruiseCanvasComponent\n);\n\nconst ForwardedCruiseCanvasComponent = forwardRef(CruiseCanvasComponent);\n\n/**\n * 构件 `ai-portal.cruise-canvas`\n */\nexport\n@defineElement(\"ai-portal.cruise-canvas\", {\n // Will wrap v2 bricks which don't support in shadow DOM.\n shadowOptions: false,\n})\nclass CruiseCanvas extends ReactNextElement implements CruiseCanvasProps {\n @property()\n accessor conversationId: string | undefined;\n\n /** 初始请求数据。仅初始设置有效。 */\n @property({ attribute: false, render: false })\n accessor initialRequest: RequestStore | undefined | null;\n\n @property()\n accessor taskId: string | undefined;\n\n @property({ attribute: false })\n accessor task: TaskBaseDetail | undefined;\n\n @property({ attribute: false })\n accessor jobs: Job[] | undefined;\n\n /** 是否启用回放。仅初始设置有效。 */\n @property({ type: Boolean, render: false })\n accessor replay: boolean | undefined;\n\n /**\n * 设置回放时消息之间的时间间隔,单位为秒。仅初始设置有效。\n *\n * @default 2\n */\n @property({ type: Number, render: false })\n accessor replayDelay: number | undefined;\n\n @property({ attribute: false })\n accessor supports: Record<string, boolean> | undefined;\n\n @property({ type: Boolean })\n accessor showHiddenJobs: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedback: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackAfterFailed: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackOnView: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showUiSwitch: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor hideMermaid: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showJsxEditor: boolean | undefined;\n\n @property()\n accessor previewUrlTemplate: string | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n @event({ type: \"terminate\" })\n accessor #terminateEvent!: EventEmitter<void>;\n\n #onTerminate = () => {\n this.#terminateEvent.emit();\n };\n\n @event({ type: \"feedback.submit\" })\n accessor #feedbackSubmitEvent!: EventEmitter<FeedbackDetail>;\n\n #onSubmitFeedback = (detail: FeedbackDetail) => {\n this.#feedbackSubmitEvent.emit(detail);\n };\n\n @event({ type: \"feedback.on.view\" })\n accessor #feedbackOnViewEvent!: EventEmitter<string>;\n\n #onFeedbackOnView = (viewId: string) => {\n this.#feedbackOnViewEvent.emit(viewId);\n };\n\n @event({ type: \"ui.switch\" })\n accessor #switch!: EventEmitter<\"chat\">;\n\n #onSwitchToChat = () => {\n this.#switch.emit(\"chat\");\n };\n\n #ref = createRef<CruiseCanvasRef>();\n\n @method()\n resumed() {\n this.#ref.current?.resumed?.();\n }\n\n @method()\n feedbackSubmitDone() {\n this.#ref.current?.feedbackSubmitDone();\n }\n\n @method()\n feedbackSubmitFailed() {\n this.#ref.current?.feedbackSubmitFailed();\n }\n\n @method()\n feedbackOnViewDone(viewId: string) {\n this.#ref.current?.feedbackOnViewDone(viewId);\n }\n\n render() {\n const Component = this.conversationId\n ? ForwardedCruiseCanvasComponent\n : ForwardedLegacyCruiseCanvasComponent;\n return (\n <Component\n conversationId={this.conversationId!}\n initialRequest={this.initialRequest}\n taskId={this.taskId}\n jobs={this.jobs}\n task={this.task}\n replay={this.replay}\n replayDelay={this.replayDelay}\n supports={this.supports}\n showHiddenJobs={this.showHiddenJobs}\n showFeedback={this.showFeedback}\n showFeedbackAfterFailed={this.showFeedbackAfterFailed}\n showUiSwitch={this.showUiSwitch}\n showFeedbackOnView={this.showFeedbackOnView}\n showJsxEditor={this.showJsxEditor}\n previewUrlTemplate={this.previewUrlTemplate}\n onShare={this.#onShare}\n onTerminate={this.#onTerminate}\n onSubmitFeedback={this.#onSubmitFeedback}\n onSwitchToChat={this.#onSwitchToChat}\n onFeedbackOnView={this.#onFeedbackOnView}\n ref={this.#ref}\n />\n );\n }\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ASK_ANY_THING = \"ASK_ANYTHING\",\n COMMON_TASKS = \"COMMON_TASKS\",\n}\n\nconst en: Locale = {\n [K.ASK_ANY_THING]: \"Ask anything\",\n [K.COMMON_TASKS]: \"Common tasks\",\n};\n\nconst zh: Locale = {\n [K.ASK_ANY_THING]: \"询问任何问题\",\n [K.COMMON_TASKS]: \"常用任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-box\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ChatBoxProps {\n disabled?: boolean;\n placeholder?: string;\n autoFocus?: boolean;\n}\n\nexport interface Suggestion {\n title: string;\n content: string;\n}\n\n/**\n * 构件 `ai-portal.chat-box`\n */\nexport\n@defineElement(\"ai-portal.chat-box\", {\n styleTexts: [styleText],\n})\nclass ChatBox extends ReactNextElement implements ChatBoxProps {\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n render() {\n return (\n <ChatBoxComponent\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n onSubmit={this.#handleMessageSubmit}\n />\n );\n }\n}\n\nexport interface ChatBoxComponentProps extends ChatBoxProps {\n // Define react event handlers here.\n onSubmit?: (value: string) => void;\n}\n\nexport function ChatBoxComponent({\n disabled,\n placeholder,\n autoFocus,\n onSubmit,\n}: ChatBoxComponentProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n if (e.currentTarget.value) {\n onSubmit?.(e.currentTarget.value);\n }\n },\n [onSubmit]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n valueRef.current = e.target.value;\n setValue(e.target.value);\n },\n []\n );\n\n const handleSubmitClick = useCallback(() => {\n onSubmit?.(valueRef.current);\n }, [onSubmit]);\n\n useEffect(\n () => {\n if (autoFocus) {\n Promise.resolve().then(() => {\n textareaRef.current?.focus();\n });\n }\n },\n // One-time focus\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n return (\n <div className=\"root\">\n <div className=\"container\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={58 / 22}\n paddingSize={60}\n autoResize\n disabled={disabled}\n placeholder={placeholder ?? t(K.ASK_ANY_THING)}\n submitWhen=\"enter-without-shift\"\n onSubmit={handleSubmit}\n onChange={handleChange}\n />\n <div className=\"actions-bar\">\n <div>\n <slot name=\"actions\"></slot>\n </div>\n <button\n className=\"btn-send\"\n disabled={!value}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-up\" />\n </button>\n </div>\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement } = createDecorators();\n\n/**\n * 构件 `ai-portal.home-container`\n */\nexport\n@defineElement(\"ai-portal.home-container\", {\n styleTexts: [styleText],\n})\nclass HomeContainer extends ReactNextElement {\n render() {\n return <HomeContainerComponent />;\n }\n}\n\nexport function HomeContainerComponent() {\n return <slot />;\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n MiniLineChart,\n MiniLineChartProps,\n} from \"@next-bricks/mini-chart/mini-line-chart\";\n\nconst WrappedMiniLineChart = wrapBrick<MiniLineChart, MiniLineChartProps>(\n \"eo-mini-line-chart\"\n);\n\nconst { defineElement, property } = createDecorators();\n\nexport interface StatWithMiniChartProps\n extends Pick<\n MiniLineChartProps,\n \"data\" | \"xField\" | \"yField\" | \"lineColor\" | \"showArea\" | \"min\" | \"max\"\n > {\n label?: string;\n value?: string;\n size?: \"medium\" | \"small\";\n}\n\n/**\n * 构件 `ai-portal.stat-with-mini-chart`\n */\nexport\n@defineElement(\"ai-portal.stat-with-mini-chart\", {\n styleTexts: [styleText],\n})\nclass StatWithMiniChart\n extends ReactNextElement\n implements StatWithMiniChartProps\n{\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * @default \"medium\"\n */\n @property()\n accessor size: \"medium\" | \"small\" | undefined;\n\n /**\n * @default \"var(--color-brand)\"\n */\n @property()\n accessor lineColor: string | undefined;\n\n @property({ type: Boolean })\n accessor showArea: boolean | undefined;\n\n /**\n * Specify the minimum value of the y-axis.\n * If not specified, the minimum value will be calculated from the data.\n */\n @property({ type: Number })\n accessor min: number | undefined;\n\n /**\n * Specify the maximum value of the y-axis.\n * If not specified, the maximum value will be calculated from the data.\n */\n @property({ type: Number })\n accessor max: number | undefined;\n\n /**\n * @default \"0\"\n */\n @property()\n accessor xField: string | undefined;\n\n /**\n * @default \"1\"\n */\n @property()\n accessor yField: string | undefined;\n\n @property({ attribute: false })\n accessor data: Record<string, number>[] | undefined;\n\n render() {\n return (\n <StatWithMiniChartComponent\n label={this.label}\n value={this.value}\n size={this.size}\n lineColor={this.lineColor}\n showArea={this.showArea}\n min={this.min}\n max={this.max}\n xField={this.xField}\n yField={this.yField}\n data={this.data}\n />\n );\n }\n}\n\nfunction StatWithMiniChartComponent({\n label,\n value,\n size,\n ...chartProps\n}: StatWithMiniChartProps) {\n if (size === \"small\") {\n return (\n <div className=\"container\">\n <div className=\"label-and-stat\">\n <div className=\"label\">{label}</div>\n <div className=\"stat\">{value}</div>\n </div>\n <div className=\"chart\">\n <WrappedMiniLineChart\n {...chartProps}\n lineWidth={1.5}\n width=\"auto\"\n height=\"55\"\n />\n </div>\n </div>\n );\n }\n return (\n <div className=\"container\">\n <div className=\"label\">{label}</div>\n <div className=\"stat-and-chart\">\n <div className=\"chart\">\n <WrappedMiniLineChart\n {...chartProps}\n lineWidth={2}\n width=\"auto\"\n height=\"92\"\n />\n </div>\n <div className=\"stat\">{value}</div>\n </div>\n </div>\n );\n}\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { getHistory } from \"@next-core/runtime\";\nimport classNames from \"classnames\";\nimport type { DropdownActionsProps } from \"@next-bricks/basic/dropdown-actions\";\nimport type { ActionType } from \"@next-bricks/basic/mini-actions\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport ElevoLogo from \"./images/logo@2x.png\";\nimport {\n WrappedDropdownActions,\n WrappedEasyopsAvatar,\n WrappedIcon,\n WrappedIconButton,\n WrappedLink,\n} from \"./bricks.js\";\nimport {\n ChatHistory,\n type ActionClickDetail,\n type ChatHistoryRef,\n type Project,\n type ProjectActionClickDetail,\n} from \"./ChatHistory.js\";\nimport {\n LegacyChatHistory,\n type LegacyActionClickDetail,\n} from \"./LegacyChatHistory.js\";\n\ninitializeI18n(NS, locales);\n\nconst SIDEBAR_ICON: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"sidebar\",\n};\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ElevoSidebarProps {\n /** @deprecated */\n legacy?: boolean;\n userInstanceId?: string;\n behavior?: \"default\" | \"drawer\";\n bordered?: boolean;\n logoUrl?: string;\n newChatUrl?: string;\n newChatLinkWhenCollapsed?: boolean;\n historyActiveId?: string;\n historyUrlTemplate?: string;\n historyActions?: ActionType[];\n projectActiveId?: string;\n projectUrlTemplate?: string;\n projectActions?: ActionType[];\n links?: SidebarLink[];\n}\n\nexport interface SidebarLink {\n title: string;\n url: string;\n icon: GeneralIconProps;\n}\n\nconst ElevoSidebarComponent = forwardRef(LegacyElevoSidebarComponent);\n\ninterface ElevoSidebarRef extends ChatHistoryRef {\n close: () => void;\n}\n\n/**\n * 构件 `ai-portal.elevo-sidebar`\n */\nexport\n@defineElement(\"ai-portal.elevo-sidebar\", {\n styleTexts: [styleText],\n})\nclass ElevoSidebar extends ReactNextElement implements ElevoSidebarProps {\n /** @deprecated */\n @property({ type: Boolean })\n accessor legacy = true;\n\n @property()\n accessor userInstanceId: string | undefined;\n\n @property()\n accessor behavior: \"default\" | \"drawer\" | undefined;\n\n @property({ type: Boolean, render: false })\n accessor bordered: boolean | undefined;\n\n @property()\n accessor logoUrl: string | undefined;\n\n @property()\n accessor newChatUrl: string | undefined;\n\n @property({ type: Boolean })\n accessor newChatLinkWhenCollapsed: boolean | undefined;\n\n @property()\n accessor historyActiveId: string | undefined;\n\n @property()\n accessor historyUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor historyActions: ActionType[] | undefined;\n\n @property()\n accessor projectActiveId: string | undefined;\n\n @property()\n accessor projectUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor projectActions: ActionType[] | undefined;\n\n @property({ attribute: false })\n accessor links: SidebarLink[] | undefined;\n\n @event({ type: \"logout\" })\n accessor #logout!: EventEmitter<void>;\n\n #handleLogout = () => {\n this.#logout.emit();\n };\n\n @event({ type: \"action.click\" })\n accessor #actionClick!: EventEmitter<\n ActionClickDetail | LegacyActionClickDetail\n >;\n\n #handleActionClick = (detail: ActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n #handleLegacyActionClick = (detail: LegacyActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n @event({ type: \"project.action.click\" })\n accessor #projectActionClick!: EventEmitter<ProjectActionClickDetail>;\n\n #handleProjectActionClick = (detail: ProjectActionClickDetail) => {\n this.#projectActionClick.emit(detail);\n };\n\n @event({ type: \"add.project\" })\n accessor #addProject!: EventEmitter<void>;\n\n #handleAddProject = () => {\n this.#addProject.emit();\n };\n\n #ref = createRef<ElevoSidebarRef>();\n\n /**\n * @param delay Delay in milliseconds before pulling the latest chat history.\n */\n @method()\n pullHistory(delay: number) {\n // Wait several seconds to let the task title to be summarized.\n setTimeout(() => {\n this.#ref.current?.pull();\n }, delay);\n }\n\n @method()\n close() {\n this.#ref.current?.close();\n }\n\n @method()\n removeProject(projectId: string) {\n this.#ref.current?.removeProject?.(projectId);\n }\n\n @method()\n addProject(project: Project) {\n this.#ref.current?.addProject?.(project);\n }\n\n @method()\n moveConversation(conversationId: string) {\n this.#ref.current?.moveConversation?.(conversationId);\n }\n\n render() {\n return (\n <ElevoSidebarComponent\n ref={this.#ref}\n legacy={this.legacy}\n userInstanceId={this.userInstanceId}\n behavior={this.behavior}\n logoUrl={this.logoUrl}\n newChatUrl={this.newChatUrl}\n newChatLinkWhenCollapsed={this.newChatLinkWhenCollapsed}\n historyActiveId={this.historyActiveId}\n historyUrlTemplate={this.historyUrlTemplate}\n historyActions={this.historyActions}\n projectActiveId={this.projectActiveId}\n projectUrlTemplate={this.projectUrlTemplate}\n projectActions={this.projectActions}\n links={this.links}\n onLogout={this.#handleLogout}\n onLegacyActionClick={this.#handleLegacyActionClick}\n onActionClick={this.#handleActionClick}\n onProjectActionClick={this.#handleProjectActionClick}\n onAddProject={this.#handleAddProject}\n />\n );\n }\n}\n\ninterface ElevoSidebarComponentProps extends ElevoSidebarProps {\n onLogout: () => void;\n onActionClick: (detail: ActionClickDetail) => void;\n onLegacyActionClick: (detail: LegacyActionClickDetail) => void;\n onProjectActionClick: (detail: ProjectActionClickDetail) => void;\n onAddProject: () => void;\n}\n\nfunction LegacyElevoSidebarComponent(\n {\n legacy,\n userInstanceId,\n behavior,\n logoUrl,\n newChatUrl,\n newChatLinkWhenCollapsed,\n historyActiveId,\n historyUrlTemplate,\n historyActions,\n projectActiveId,\n projectUrlTemplate,\n projectActions,\n links,\n onLogout,\n onActionClick,\n onLegacyActionClick,\n onProjectActionClick,\n onAddProject,\n }: ElevoSidebarComponentProps,\n ref: React.Ref<ElevoSidebarRef>\n) {\n const [collapsed, setCollapsed] = useState(behavior === \"drawer\");\n const handleCollapse = useCallback(() => {\n setCollapsed(true);\n }, []);\n const handleExpand = useCallback(() => {\n setCollapsed(false);\n }, []);\n\n useEffect(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const handleClickMask = useCallback(() => {\n setCollapsed(true);\n }, []);\n\n const handleHistoryClick = useCallback(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const dropdownActions = useMemo<DropdownActionsProps[\"actions\"]>(\n () => [\n {\n key: \"logout\",\n icon: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: \"arrow-right-from-bracket\",\n },\n text: t(K.LOGOUT),\n },\n {\n key: \"switch-language\",\n icon: {\n lib: \"easyops\",\n icon: \"language\",\n },\n text: t(K.SWITCH_LANGUAGE),\n },\n ],\n []\n );\n\n const historyRef = useRef<ChatHistoryRef>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n close: () => {\n setCollapsed(true);\n },\n pull: () => {\n historyRef.current?.pull();\n },\n removeProject: (projectId: string) => {\n historyRef.current?.removeProject?.(projectId);\n },\n addProject: (project: Project) => {\n historyRef.current?.addProject?.(project);\n },\n moveConversation: (conversationId: string) => {\n historyRef.current?.moveConversation?.(conversationId);\n },\n }),\n []\n );\n\n return (\n <div className={classNames(\"container\", { collapsed })}>\n {behavior === \"drawer\" && !collapsed && (\n <div className=\"mask\" onClick={handleClickMask} />\n )}\n <div className=\"alternative\">\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleExpand}\n />\n {newChatLinkWhenCollapsed && (\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n )}\n </div>\n <div className=\"sidebar\">\n <div className=\"logo-bar\">\n <WrappedLink url={logoUrl} className=\"logo-link\">\n <img\n className=\"logo\"\n alt=\"Elevo\"\n src={ElevoLogo}\n width={95}\n height={28}\n />\n </WrappedLink>\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleCollapse}\n />\n </div>\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n {links?.length ? (\n <div className=\"links\">\n {links.map((link, index) => (\n <WrappedLink className=\"link\" key={index} url={link.url}>\n <WrappedIcon className=\"icon\" {...link.icon} />\n <span className=\"title\">{link.title}</span>\n </WrappedLink>\n ))}\n </div>\n ) : null}\n {legacy ? (\n <LegacyChatHistory\n ref={historyRef}\n activeId={historyActiveId}\n urlTemplate={historyUrlTemplate}\n actions={historyActions}\n onActionClick={onLegacyActionClick}\n onHistoryClick={handleHistoryClick}\n />\n ) : (\n <ChatHistory\n ref={historyRef}\n historyActiveId={historyActiveId}\n historyUrlTemplate={historyUrlTemplate}\n historyActions={historyActions}\n projectActiveId={projectActiveId}\n projectUrlTemplate={projectUrlTemplate}\n projectActions={projectActions}\n onActionClick={onActionClick}\n onHistoryClick={handleHistoryClick}\n onProjectActionClick={onProjectActionClick}\n onAddProject={onAddProject}\n />\n )}\n <div className=\"footer\">\n <WrappedDropdownActions\n className=\"dropdown\"\n actions={dropdownActions}\n onActionClick={async (e) => {\n if (e.detail.key === \"logout\") {\n onLogout();\n } else {\n await i18n.changeLanguage(\n i18n.language && i18n.language.split(\"-\")[0] === \"en\"\n ? \"zh\"\n : \"en\"\n );\n getHistory().reload();\n }\n }}\n >\n <button className=\"account\">\n <WrappedEasyopsAvatar\n nameOrInstanceId={userInstanceId}\n showName\n size=\"xs\"\n />\n </button>\n </WrappedDropdownActions>\n </div>\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport styleText from \"./styles.shadow.css\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\nconst { defineElement, property } = createDecorators();\n\nexport interface IconButtonProps {\n icon?: GeneralIconProps;\n tooltip?: string;\n disabled?: boolean;\n variant?: IconButtonVariant;\n}\n\nexport type IconButtonVariant =\n | \"default\"\n | \"light\"\n | \"mini\"\n | \"mini-light\"\n | \"bordered\";\n\n/**\n * 构件 `ai-portal.icon-button`\n */\nexport\n@defineElement(\"ai-portal.icon-button\", {\n styleTexts: [styleText],\n})\nclass IconButton extends ReactNextElement implements IconButtonProps {\n @property({ attribute: false })\n accessor icon: GeneralIconProps | undefined;\n\n @property()\n accessor tooltip: string | undefined;\n\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n @property({ render: false })\n accessor variant: IconButtonVariant | undefined;\n\n render() {\n return (\n <IconButtonComponent\n icon={this.icon}\n tooltip={this.tooltip}\n disabled={this.disabled}\n />\n );\n }\n}\n\nfunction IconButtonComponent({ icon, tooltip, disabled }: IconButtonProps) {\n const btn = (\n <button disabled={disabled}>\n <WrappedIcon {...icon} />\n </button>\n );\n\n if (tooltip) {\n return <WrappedTooltip content={tooltip}>{btn}</WrappedTooltip>;\n }\n\n return btn;\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ALL = \"ALL\",\n EXPLORE_EXCELLENT_CASES = \"EXPLORE_EXCELLENT_CASES\",\n}\n\nconst en: Locale = {\n [K.ALL]: \"All\",\n [K.EXPLORE_EXCELLENT_CASES]: \"Explore excellent cases\",\n};\n\nconst zh: Locale = {\n [K.ALL]: \"全部\",\n [K.EXPLORE_EXCELLENT_CASES]: \"探索优秀案例\",\n};\n\nexport const NS = \"bricks/ai-portal/show-cases\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport type {\n Tab,\n TabList,\n TabListEvents,\n TabListMapping,\n TabListProps,\n} from \"../tab-list/index.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedTabList = wrapBrick<\n TabList,\n TabListProps,\n TabListEvents,\n TabListMapping\n>(\"ai-portal.tab-list\", {\n onTabClick: \"tab.click\",\n});\n\nconst { defineElement, property } = createDecorators();\n\nexport interface ShowCasesProps {\n list?: ShowCase[];\n taskUrlTemplate?: string;\n}\n\nexport interface ShowCase {\n taskId: string;\n title: string;\n summary: string;\n scenario: string;\n thumbUrl?: string;\n}\n\n/**\n * 构件 `ai-portal.show-cases`\n */\nexport\n@defineElement(\"ai-portal.show-cases\", {\n styleTexts: [styleText],\n})\nclass ShowCases extends ReactNextElement implements ShowCasesProps {\n @property({ attribute: false })\n accessor list: ShowCase[] | undefined;\n\n @property()\n accessor taskUrlTemplate: string | undefined;\n\n render() {\n return (\n <ShowCasesComponent\n list={this.list}\n taskUrlTemplate={this.taskUrlTemplate}\n />\n );\n }\n}\n\nfunction ShowCasesComponent({ list, taskUrlTemplate }: ShowCasesProps) {\n // Grouping the list by scenario\n const groups = useMemo<string[]>(() => {\n return [\"\", ...new Set(list?.map((item) => item.scenario).filter(Boolean))];\n }, [list]);\n\n const [activeGroup, setActiveGroup] = useState(\"\");\n\n const filteredList = useMemo(() => {\n if (!activeGroup) {\n return list;\n }\n return list?.filter((item) => item.scenario === activeGroup);\n }, [activeGroup, list]);\n\n const tabs = useMemo<Tab[]>(() => {\n return groups.map((group) => ({\n id: group,\n label: group === \"\" ? t(K.ALL) : group,\n }));\n }, [groups]);\n\n if (!list?.length) {\n return null;\n }\n\n return (\n <>\n <div className=\"tips\">{`${t(K.EXPLORE_EXCELLENT_CASES)} ↓`}</div>\n <WrappedTabList\n tabs={tabs}\n activeTab={activeGroup}\n onTabClick={(event) => setActiveGroup(event.detail.id)}\n />\n <ul className=\"cases\">\n {filteredList?.map((item) => (\n <li key={item.taskId}>\n <WrappedLink\n className=\"link\"\n url={parseTemplate(taskUrlTemplate, item)}\n style={\n item.thumbUrl\n ? {\n backgroundImage: `url(\"${getBasePath()}${item.thumbUrl}\")`,\n }\n : undefined\n }\n >\n <div className=\"title\">{item.title}</div>\n <div className=\"description\">{item.summary}</div>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </>\n );\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n MCP_HUB = \"MCP_HUB\",\n ALL = \"ALL\",\n\n SERVER_cmdb = \"SERVER_cmdb\",\n SERVER_cmdb_product_helper = \"SERVER_cmdb_product_helper\",\n SERVER_alert = \"SERVER_alert\",\n SERVER_web_builder = \"SERVER_web_builder\",\n SERVER_web_builder2 = \"SERVER_web_builder2\",\n SERVER_host_troubleshooting = \"SERVER_host_troubleshooting\",\n SERVER_system_inspection = \"SERVER_system_inspection\",\n SERVER_grafana = \"SERVER_grafana\",\n SERVER_kubernetes = \"SERVER_kubernetes\",\n SERVER_llm = \"SERVER_llm\",\n}\n\nconst en: Locale = {\n [K.MCP_HUB]: \"MCP Hub\",\n [K.ALL]: \"All\",\n\n [K.SERVER_cmdb]: \"CMDB\",\n [K.SERVER_cmdb_product_helper]: \"CMDB\",\n [K.SERVER_alert]: \"Alert\",\n [K.SERVER_web_builder]: \"View\",\n [K.SERVER_web_builder2]: \"View\",\n [K.SERVER_host_troubleshooting]: \"Host Troubleshooting\",\n [K.SERVER_system_inspection]: \"System Inspection\",\n [K.SERVER_grafana]: \"Grafana\",\n [K.SERVER_kubernetes]: \"Kubernetes\",\n [K.SERVER_llm]: \"LLM\",\n};\n\nconst zh: Locale = {\n [K.MCP_HUB]: \"MCP 中心\",\n [K.ALL]: \"全部\",\n\n [K.SERVER_cmdb]: \"CMDB\",\n [K.SERVER_cmdb_product_helper]: \"CMDB\",\n [K.SERVER_alert]: \"告警\",\n [K.SERVER_web_builder]: \"视图\",\n [K.SERVER_web_builder2]: \"视图\",\n [K.SERVER_host_troubleshooting]: \"主机故障排查\",\n [K.SERVER_system_inspection]: \"系统巡检\",\n [K.SERVER_grafana]: \"Grafana\",\n [K.SERVER_kubernetes]: \"Kubernetes\",\n [K.SERVER_llm]: \"大模型\",\n};\n\nexport const NS = \"bricks/ai-portal/mcp-tools\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n Tab,\n TabList,\n TabListEvents,\n TabListMapping,\n TabListProps,\n} from \"../tab-list/index.js\";\n\ninitializeI18n(NS, locales);\n\nconst DEFAULT_TOOL_ICON: GeneralIconProps = {\n lib: \"antd\",\n icon: \"tool\",\n};\n\nconst PLATFORM_CONFIG = new Map([\n [\n \"EasyOps平台\",\n {\n servers: [\"cmdb\", \"cmdb_product_helper\"],\n },\n ],\n [\n \"Grafana\",\n {\n servers: [\"grafana\"],\n },\n ],\n [\n \"Kubernetes\",\n {\n servers: [\"kubernetes\"],\n },\n ],\n [\n \"监控事件\",\n {\n servers: [\"alert\"],\n },\n ],\n [\n \"浏览器\",\n {\n servers: [\"playwright\"],\n },\n ],\n [\n \"低代码\",\n {\n servers: [\"web-builder\", \"web-builder2\"],\n },\n ],\n [\n \"大模型\",\n {\n servers: [\"llm\"],\n },\n ],\n [\n \"故障排查\",\n {\n servers: [\"host-troubleshooting\"],\n },\n ],\n]);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTabList = wrapBrick<\n TabList,\n TabListProps,\n TabListEvents,\n TabListMapping\n>(\"ai-portal.tab-list\", {\n onTabClick: \"tab.click\",\n});\n\nconst { defineElement, property } = createDecorators();\n\nexport interface McpToolsProps {\n list?: McpTool[];\n /** @deprecated */\n withContainer?: boolean;\n}\n\nexport interface McpTool {\n name: string;\n title: string;\n description: string;\n icon?: GeneralIconProps;\n server: McpServer;\n}\n\nexport interface McpServer {\n id: string;\n name: string;\n}\n\n/**\n * 构件 `ai-portal.mcp-tools`\n */\nexport\n@defineElement(\"ai-portal.mcp-tools\", {\n styleTexts: [styleText],\n})\nclass McpTools extends ReactNextElement implements McpToolsProps {\n @property({ attribute: false })\n accessor list: McpTool[] | undefined;\n\n /** @deprecated */\n @property({ type: Boolean })\n accessor withContainer = true;\n\n render() {\n return (\n <McpToolsComponent list={this.list} withContainer={this.withContainer} />\n );\n }\n}\n\nfunction McpToolsComponent({ list, withContainer }: McpToolsProps) {\n // Grouping the list by server name\n const [groupMap, platformMap] = useMemo(() => {\n const map = new Map<string, McpTool[]>();\n const platformMap = new Map<string, string[]>();\n list?.forEach((item) => {\n const groupName = t(\n `SERVER_${item.server.id.replaceAll(\"-\", \"_\")}`,\n item.server.name\n );\n let list = map.get(groupName);\n if (!list) {\n map.set(groupName, (list = []));\n }\n list.push(item);\n\n const platform = [...PLATFORM_CONFIG.entries()].find(\n ([_name, { servers }]) => servers.includes(item.server.id)\n );\n const platformName = platform ? platform[0] : \"其他\";\n let groups = platformMap.get(platformName);\n if (!groups) {\n platformMap.set(platformName, (groups = []));\n }\n groups.push(groupName);\n });\n\n const orderedNames = [\"CMDB\"];\n const orderedMap = new Map<string, McpTool[]>(\n [...map.entries()].sort(([nameA], [nameB]) => {\n const indexA = orderedNames.indexOf(nameA);\n const indexB = orderedNames.indexOf(nameB);\n return (\n (indexA < 0 ? orderedNames.length : indexA) -\n (indexB < 0 ? orderedNames.length : indexB)\n );\n })\n );\n\n return [orderedMap, platformMap];\n }, [list]);\n\n const platforms = useMemo(() => {\n const orderedNames = [...PLATFORM_CONFIG.keys()];\n const names = [...platformMap.keys()];\n names.sort((a, b) => {\n const aIndex = orderedNames.indexOf(a);\n const bIndex = orderedNames.indexOf(b);\n return (\n (aIndex < 0 ? orderedNames.length : aIndex) -\n (bIndex < 0 ? orderedNames.length : bIndex)\n );\n });\n return [\"\", ...names];\n }, [platformMap]);\n\n const [activePlatform, setActivePlatform] = useState(\"\");\n\n const filteredGroups = useMemo(() => {\n const groupedList = [...groupMap];\n if (!activePlatform) {\n return groupedList;\n }\n const platformGroups = platformMap.get(activePlatform);\n return groupedList.filter(([group]) => platformGroups?.includes(group));\n }, [activePlatform, groupMap, platformMap]);\n\n const tabs = useMemo<Tab[]>(() => {\n return platforms.map((platform) => ({\n id: platform,\n label: platform === \"\" ? t(K.ALL) : platform,\n }));\n }, [platforms]);\n\n const node = (\n <>\n <WrappedTabList\n tabs={tabs}\n activeTab={activePlatform}\n onTabClick={(event) => setActivePlatform(event.detail.id)}\n />\n <ul className=\"groups\">\n {filteredGroups?.map(([groupName, items]) => (\n <li key={groupName} className=\"group\">\n <h2>{groupName}</h2>\n <ul className=\"list\">\n {items.map((item, index) => (\n <li key={index} className=\"item\">\n <div className=\"heading\">\n <WrappedIcon\n className=\"icon\"\n {...(item.icon ?? DEFAULT_TOOL_ICON)}\n fallback={DEFAULT_TOOL_ICON}\n />\n <div className=\"title\">{item.title}</div>\n </div>\n <div className=\"description\">{item.description}</div>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </>\n );\n\n if (!withContainer) {\n return node;\n }\n\n return (\n <div className=\"container\">\n <h1>{t(K.MCP_HUB)}</h1>\n {node}\n </div>\n );\n}\n","// istanbul ignore file: experimental\nimport React, { createRef, forwardRef } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport type { FeedbackDetail } from \"../cruise-canvas/interfaces.js\";\nimport { LegacyChatStreamComponent } from \"./LegacyChatStream.js\";\nimport { ChatStreamComponent } from \"./ChatStream.js\";\nimport type { RequestStore } from \"../shared/interfaces.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ChatStreamProps {\n conversationId?: string;\n initialRequest?: RequestStore | null;\n taskId?: string;\n replay?: boolean;\n replayDelay?: number;\n supports?: Record<string, boolean>;\n showFeedback?: boolean;\n showFeedbackAfterFailed?: boolean;\n showFeedbackOnView?: boolean;\n showUiSwitch?: boolean;\n previewUrlTemplate?: string;\n}\n\nconst ForwardedLegacyChatStreamComponent = forwardRef(\n LegacyChatStreamComponent\n);\n\nconst ForwardedChatStreamComponent = forwardRef(ChatStreamComponent);\n\n/**\n * 构件 `ai-portal.chat-stream`\n */\nexport\n@defineElement(\"ai-portal.chat-stream\", {\n // Will wrap v2 bricks which don't support in shadow DOM.\n shadowOptions: false,\n})\nclass ChatStream extends ReactNextElement implements ChatStreamProps {\n @property()\n accessor conversationId: string | undefined;\n\n /** 初始请求数据。仅初始设置有效。 */\n @property({ attribute: false, render: false })\n accessor initialRequest: RequestStore | undefined | null;\n\n @property()\n accessor taskId: string | undefined;\n\n /** 是否启用回放。仅初始设置有效。 */\n @property({ type: Boolean })\n accessor replay: boolean | undefined;\n\n /**\n * 设置回放时消息之间的时间间隔,单位为秒。仅初始设置有效。\n *\n * @default 2\n */\n @property({ type: Number })\n accessor replayDelay: number | undefined;\n\n @property({ attribute: false })\n accessor supports: Record<string, boolean> | undefined;\n\n @property({ type: Boolean })\n accessor showFeedback: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackAfterFailed: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackOnView: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showUiSwitch: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor hideMermaid: boolean | undefined;\n\n @property()\n accessor previewUrlTemplate: string | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n @event({ type: \"terminate\" })\n accessor #terminateEvent!: EventEmitter<void>;\n\n #onTerminate = () => {\n this.#terminateEvent.emit();\n };\n\n @event({ type: \"feedback.submit\" })\n accessor #feedbackSubmitEvent!: EventEmitter<FeedbackDetail>;\n\n #onSubmitFeedback = (detail: FeedbackDetail) => {\n this.#feedbackSubmitEvent.emit(detail);\n };\n\n @event({ type: \"feedback.on.view\" })\n accessor #feedbackOnViewEvent!: EventEmitter<string>;\n\n #onFeedbackOnView = (viewId: string) => {\n this.#feedbackOnViewEvent.emit(viewId);\n };\n\n @event({ type: \"ui.switch\" })\n accessor #switch!: EventEmitter<\"canvas\">;\n\n #onSwitchToCanvas = () => {\n this.#switch.emit(\"canvas\");\n };\n\n #ref = createRef<ChatStreamRef>();\n\n @method()\n resumed() {\n this.#ref.current?.resumed?.();\n }\n\n @method()\n feedbackSubmitDone() {\n this.#ref.current?.feedbackSubmitDone();\n }\n\n @method()\n feedbackSubmitFailed() {\n this.#ref.current?.feedbackSubmitFailed();\n }\n\n @method()\n feedbackOnViewDone(viewId: string) {\n this.#ref.current?.feedbackOnViewDone(viewId);\n }\n\n render() {\n const Component = this.conversationId\n ? ForwardedChatStreamComponent\n : ForwardedLegacyChatStreamComponent;\n return (\n <Component\n conversationId={this.conversationId!}\n initialRequest={this.initialRequest}\n taskId={this.taskId}\n replay={this.replay}\n replayDelay={this.replayDelay}\n supports={this.supports}\n showFeedback={this.showFeedback}\n showFeedbackAfterFailed={this.showFeedbackAfterFailed}\n showFeedbackOnView={this.showFeedbackOnView}\n showUiSwitch={this.showUiSwitch}\n previewUrlTemplate={this.previewUrlTemplate}\n onShare={this.#onShare}\n onTerminate={this.#onTerminate}\n onSubmitFeedback={this.#onSubmitFeedback}\n onSwitchToCanvas={this.#onSwitchToCanvas}\n onFeedbackOnView={this.#onFeedbackOnView}\n />\n );\n }\n}\n\nexport interface ChatStreamRef {\n resumed?: () => void;\n feedbackSubmitDone: () => void;\n feedbackSubmitFailed: () => void;\n feedbackOnViewDone: (viewId: string) => void;\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n AI_EMPLOYEES = \"AI_EMPLOYEES\",\n UNTITLED = \"UNTITLED\",\n}\n\nconst en: Locale = {\n AI_EMPLOYEES: \"AI Employees\",\n UNTITLED: \"Untitled\",\n};\n\nconst zh: Locale = {\n AI_EMPLOYEES: \"Ai 数字人\",\n UNTITLED: \"未命名\",\n};\n\nexport const NS = \"bricks/ai-portal/ai-employees\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport type {\n Tab,\n TabList,\n TabListEvents,\n TabListMapping,\n TabListProps,\n} from \"../tab-list/index.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTabList = wrapBrick<\n TabList,\n TabListProps,\n TabListEvents,\n TabListMapping\n>(\"ai-portal.tab-list\", {\n onTabClick: \"tab.click\",\n});\n\nconst { defineElement, property } = createDecorators();\n\nexport interface AIEmployeesProps {\n list?: Employee[];\n industries?: string[];\n // roles?: string[];\n urlTemplate?: string;\n /** @deprecated */\n withContainer?: boolean;\n}\n\nexport interface Employee {\n name: string;\n industry: string;\n role: string;\n description: string;\n avatar?: string;\n}\n\n/**\n * 构件 `ai-portal.ai-employees`\n */\nexport\n@defineElement(\"ai-portal.ai-employees\", {\n styleTexts: [styleText],\n})\nclass AIEmployees extends ReactNextElement implements AIEmployeesProps {\n @property({ attribute: false })\n accessor list: Employee[] | undefined;\n\n @property({ attribute: false })\n accessor industries: string[] | undefined;\n\n // @property({ attribute: false })\n // accessor roles: string[] | undefined;\n\n @property()\n accessor urlTemplate: string | undefined;\n\n /** @deprecated */\n @property({ type: Boolean })\n accessor withContainer = true;\n\n render() {\n return (\n <AIEmployeesComponent\n list={this.list}\n industries={this.industries}\n urlTemplate={this.urlTemplate}\n withContainer={this.withContainer}\n />\n );\n }\n}\n\nfunction AIEmployeesComponent({\n list,\n industries: _industries,\n urlTemplate,\n withContainer,\n}: AIEmployeesProps) {\n const industries = useMemo(() => {\n return [\n ...new Set([\n ...(_industries ?? []),\n ...(list ?? []).map((item) => item.industry),\n ]),\n ];\n }, [_industries, list]);\n\n const [activeIndustry, setActiveIndustry] = useState(industries[0]);\n\n // Grouping the list by role\n const groups = useMemo(() => {\n const map = new Map<string, Employee[]>();\n list?.forEach((item) => {\n if (item.industry !== activeIndustry) {\n return;\n }\n let array = map.get(item.role);\n if (!array) {\n map.set(item.role, (array = []));\n }\n array.push(item);\n });\n return [...map.entries()];\n }, [activeIndustry, list]);\n\n const tabs = useMemo<Tab[]>(() => {\n return industries.map((industry) => ({\n id: industry,\n label: industry || t(K.UNTITLED),\n }));\n }, [industries]);\n\n const node = (\n <>\n <WrappedTabList\n tabs={tabs}\n activeTab={activeIndustry}\n onTabClick={(event) => setActiveIndustry(event.detail.id)}\n />\n <ul className=\"groups\">\n {groups.map(([groupName, items]) => (\n <li key={groupName} className=\"group\">\n <h2>{groupName}</h2>\n <ul className=\"list\">\n {items.map((item, index) => (\n <li key={index}>\n <WrappedLink\n className={classNames(\"link\", { clickable: !!urlTemplate })}\n {...(urlTemplate\n ? { url: parseTemplate(urlTemplate, item) }\n : null)}\n >\n <div className=\"heading\">\n <div className=\"avatar\">\n {item.avatar ? (\n <img src={item.avatar} />\n ) : (\n <WrappedIcon lib=\"antd\" icon=\"user\" />\n )}\n </div>\n <div className=\"title\">{item.name}</div>\n </div>\n <div className=\"description\">{item.description}</div>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </>\n );\n\n if (!withContainer) {\n return node;\n }\n\n return (\n <div className=\"container\">\n <h1>{t(K.AI_EMPLOYEES)}</h1>\n {node}\n </div>\n );\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n AGENTS = \"AGENTS\",\n}\n\nconst en: Locale = {\n AGENTS: \"Agents\",\n};\n\nconst zh: Locale = {\n AGENTS: \"智能体\",\n};\n\nexport const NS = \"bricks/ai-portal/ai-agents\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\n\nconst DEFAULT_TOOL_ICON: GeneralIconProps = {\n lib: \"antd\",\n icon: \"tool\",\n};\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nconst { defineElement, property } = createDecorators();\n\nexport interface AIAgentsProps {\n list?: Agent[];\n urlTemplate?: string;\n /** @deprecated */\n withContainer?: boolean;\n}\n\nexport interface Agent {\n name: string;\n description: string;\n icon?: GeneralIconProps;\n tags?: string[];\n}\n\n/**\n * 构件 `ai-portal.ai-agents`\n */\nexport\n@defineElement(\"ai-portal.ai-agents\", {\n styleTexts: [styleText],\n})\nclass AIAgents extends ReactNextElement implements AIAgentsProps {\n @property({ attribute: false })\n accessor list: Agent[] | undefined;\n\n @property()\n accessor urlTemplate: string | undefined;\n\n /** @deprecated */\n @property({ type: Boolean })\n accessor withContainer = true;\n\n render() {\n return (\n <AIAgentsComponent\n list={this.list}\n urlTemplate={this.urlTemplate}\n withContainer={this.withContainer}\n />\n );\n }\n}\n\nfunction AIAgentsComponent({\n list,\n urlTemplate,\n withContainer,\n}: AIAgentsProps) {\n const node = (\n <>\n <ul className=\"list\">\n {list?.map((item, index) => (\n <li key={index}>\n <WrappedLink\n className={classNames(\"link\", { clickable: !!urlTemplate })}\n {...(urlTemplate\n ? { url: parseTemplate(urlTemplate, item) }\n : null)}\n >\n <div className=\"heading\">\n <div className=\"icon\">\n <WrappedIcon\n {...(item.icon ?? DEFAULT_TOOL_ICON)}\n fallback={DEFAULT_TOOL_ICON}\n />\n </div>\n <div className=\"title\">{item.name}</div>\n </div>\n <div className=\"tags\">\n {item.tags?.map((tag, tagIndex) => (\n <span key={tagIndex} className=\"tag\">\n {tag}\n </span>\n ))}\n </div>\n <div className=\"description\">{item.description}</div>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </>\n );\n\n if (!withContainer) {\n return node;\n }\n\n return (\n <div className=\"container\">\n <h1>{t(K.AGENTS)}</h1>\n {node}\n </div>\n );\n}\n","import { createProviderClass } from \"@next-core/utils/general\";\nimport type { RequestStore } from \"../shared/interfaces\";\n\nlet store: RequestStore | null = null;\n\nexport function saveRequestStore(value: RequestStore): void {\n store = value;\n}\n\nexport function loadRequestStore(): RequestStore | null {\n const value = store;\n store = null;\n return value;\n}\n\nexport function clearRequestStore(): void {\n store = null;\n}\n\ncustomElements.define(\n \"ai-portal.save-request-store\",\n createProviderClass(saveRequestStore)\n);\n\ncustomElements.define(\n \"ai-portal.load-request-store\",\n createProviderClass(loadRequestStore)\n);\n\ncustomElements.define(\n \"ai-portal.clear-request-store\",\n createProviderClass(clearRequestStore)\n);\n","import React, { useEffect } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport \"@next-core/theme\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport styleText from \"./styles.shadow.css\";\n\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nconst { defineElement, property } = createDecorators();\n\nexport interface PageContainerProps {\n pageTitle?: string;\n breadcrumbs?: Breadcrumb[];\n size?: \"medium\" | \"small\";\n}\n\nexport interface Breadcrumb {\n text: string;\n url: string;\n}\n\n/**\n * 构件 `ai-portal.page-container`\n *\n * @slot - 内容\n * @slot toolbar - 工具栏\n */\nexport\n@defineElement(\"ai-portal.page-container\", {\n styleTexts: [styleText],\n})\nclass PageContainer extends ReactNextElement implements PageContainerProps {\n @property()\n accessor pageTitle: string | undefined;\n\n @property({ attribute: false })\n accessor breadcrumbs: Breadcrumb[] | undefined;\n\n @property({ render: false })\n accessor size: \"medium\" | \"small\" | undefined;\n\n render() {\n return (\n <PageContainerComponent\n pageTitle={this.pageTitle}\n breadcrumbs={this.breadcrumbs}\n />\n );\n }\n}\n\nfunction PageContainerComponent({\n breadcrumbs,\n pageTitle,\n}: PageContainerProps) {\n useEffect(() => {\n if (typeof pageTitle === \"string\") {\n getRuntime().applyPageTitle(pageTitle);\n }\n }, [pageTitle]);\n\n return (\n <div className=\"container\">\n {pageTitle || breadcrumbs?.length ? (\n <div className=\"header\">\n <nav>\n {breadcrumbs?.length ? (\n <ul className=\"breadcrumbs\">\n {breadcrumbs.map((item, index) => (\n <li key={index}>\n <WrappedLink url={item.url}>{item.text}</WrappedLink>\n </li>\n ))}\n </ul>\n ) : null}\n {pageTitle ? <h1>{pageTitle}</h1> : null}\n </nav>\n <slot name=\"toolbar\" />\n </div>\n ) : null}\n <slot />\n </div>\n );\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n CHATS = \"CHATS\",\n GOALS = \"GOALS\",\n}\n\nconst en: Locale = {\n [K.CHATS]: \"Chat history\",\n [K.GOALS]: \"Project goals\",\n};\n\nconst zh: Locale = {\n [K.CHATS]: \"历史对话\",\n [K.GOALS]: \"项目目标\",\n};\n\nexport const NS = \"bricks/ai-portal/project-summary\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { humanizeTime, HumanizeTimeFormat } from \"@next-shared/datetime\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport type {\n Tab,\n TabList,\n TabListEvents,\n TabListMapping,\n TabListProps,\n} from \"../tab-list/index.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedTabList = wrapBrick<\n TabList,\n TabListProps,\n TabListEvents,\n TabListMapping\n>(\"ai-portal.tab-list\", {\n onTabClick: \"tab.click\",\n});\n\nconst TAB_ID_CHATS = \"chats\";\nconst TAB_ID_GOALS = \"goals\";\n\nconst TABS: Tab[] = [\n {\n id: TAB_ID_CHATS,\n label: t(K.CHATS),\n },\n {\n id: TAB_ID_GOALS,\n label: t(K.GOALS),\n },\n];\n\nconst { defineElement, property } = createDecorators();\n\nexport interface ProjectSummaryProps {\n chatList?: Chat[];\n chatUrlTemplate?: string;\n}\n\nexport interface Chat {\n conversationId: string;\n title: string;\n startTime: number;\n}\n\n/**\n * 构件 `ai-portal.project-summary`\n */\nexport\n@defineElement(\"ai-portal.project-summary\", {\n styleTexts: [styleText],\n})\nclass ProjectSummary extends ReactNextElement implements ProjectSummaryProps {\n @property({ attribute: false })\n accessor chatList: Chat[] | undefined;\n\n @property()\n accessor chatUrlTemplate: string | undefined;\n\n render() {\n return (\n <ProjectSummaryComponent\n chatList={this.chatList}\n chatUrlTemplate={this.chatUrlTemplate}\n />\n );\n }\n}\n\nfunction ProjectSummaryComponent({\n chatList,\n chatUrlTemplate,\n}: ProjectSummaryProps) {\n const [activeTab, setActiveTab] = useState(TAB_ID_CHATS);\n return (\n <>\n <WrappedTabList\n tabs={TABS}\n activeTab={activeTab}\n onTabClick={(event) => setActiveTab(event.detail.id)}\n />\n {activeTab === TAB_ID_CHATS ? (\n chatList ? (\n <ul className=\"chats\">\n {chatList.map((item) => (\n <li key={item.conversationId} className=\"item\">\n <WrappedLink\n className=\"link\"\n url={parseTemplate(chatUrlTemplate, item)}\n >\n <div className=\"title\">{item.title}</div>\n <div className=\"time\">\n <WrappedIcon lib=\"antd\" icon=\"clock-circle\" />\n {humanizeTime(item.startTime, HumanizeTimeFormat.relative)}\n </div>\n </WrappedLink>\n </li>\n ))}\n </ul>\n ) : (\n <div className=\"loading\">\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n )\n ) : null}\n </>\n );\n}\n","import React from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport classNames from \"classnames\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface TabListProps {\n tabs?: Tab[];\n activeTab?: string;\n}\n\nexport interface Tab {\n id: string;\n label: string;\n}\n\nexport interface TabListEvents {\n \"tab.click\": CustomEvent<Tab>;\n}\n\nexport interface TabListMapping {\n onTabClick: \"tab.click\";\n}\n\n/**\n * 构件 `ai-portal.tab-list`\n *\n * @part tabs - The tab list container\n * @part tab - The individual tab\n */\nexport\n@defineElement(\"ai-portal.tab-list\", {\n styleTexts: [styleText],\n})\nclass TabList extends ReactNextElement implements TabListProps {\n @property({ attribute: false })\n accessor tabs: Tab[] | undefined;\n\n @property({ attribute: false })\n accessor activeTab: string | undefined;\n\n @event({ type: \"tab.click\" })\n accessor #tabClick!: EventEmitter<Tab>;\n\n #handleTabClick = (tab: Tab) => {\n this.activeTab = tab.id;\n this.#tabClick.emit(tab);\n };\n\n render() {\n return (\n <TabListComponent\n tabs={this.tabs}\n activeTab={this.activeTab}\n onTabClick={this.#handleTabClick}\n />\n );\n }\n}\n\ninterface TabListComponentProps extends TabListProps {\n onTabClick: (tab: Tab) => void;\n}\n\nfunction TabListComponent({\n tabs,\n activeTab,\n onTabClick,\n}: TabListComponentProps) {\n return (\n <ul className=\"tabs\" part=\"tabs\">\n {tabs?.map((tab) => (\n <li\n key={tab.id}\n part=\"tab\"\n className={classNames(\"tab\", { active: tab.id === activeTab })}\n >\n <a onClick={() => onTabClick(tab)}>{tab.label}</a>\n </li>\n ))}\n </ul>\n );\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n PLEASE_SELECT = \"PLEASE_SELECT\",\n SEARCH_PLACEHOLDER = \"SEARCH_PLACEHOLDER\",\n SEARCH_NO_DATA = \"SEARCH_NO_DATA\",\n}\n\nconst en: Locale = {\n PLEASE_SELECT: \"Please Select\",\n SEARCH_PLACEHOLDER: \"Search\",\n SEARCH_NO_DATA: \"No Data\",\n};\n\nconst zh: Locale = {\n PLEASE_SELECT: \"请选择\",\n SEARCH_PLACEHOLDER: \"搜索\",\n SEARCH_NO_DATA: \"暂无结果\",\n};\n\nexport const NS = \"bricks/ai-portal/dropdown-select\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useState, useEffect, useCallback, useMemo } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { debounce } from \"lodash\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport {\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping,\n} from \"@next-bricks/basic/popover\";\nimport { Menu } from \"@next-bricks/basic/menu\";\nimport { MenuItem, MenuComponentProps } from \"@next-bricks/basic/menu-item\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport {\n LoadingContainer,\n LoadingContainerProps,\n} from \"@next-bricks/basic/loading-container\";\nimport { Input, InputEvents, InputProps } from \"@next-bricks/form/input\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedPopover = wrapBrick<\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping\n>(\"eo-popover\", {\n onVisibleChange: \"visible.change\",\n onBeforeVisibleChange: \"before.visible.change\",\n});\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedLoadingContainer = wrapBrick<\n LoadingContainer,\n LoadingContainerProps\n>(\"eo-loading-container\");\n\nconst WrappedMenu = wrapBrick<Menu, unknown>(\"eo-menu\");\nconst WrappedMenuItem = wrapBrick<MenuItem, MenuComponentProps>(\"eo-menu-item\");\n\nexport interface InputEventsMap {\n onValueChange: \"change\";\n}\n\nconst WrappedInput = wrapBrick<Input, InputProps, InputEvents, InputEventsMap>(\n \"eo-input\",\n {\n onValueChange: \"change\",\n }\n);\n\nexport interface DropdownSelectProps {\n value?: string;\n options?: DropdownOptions[];\n labelMaxWidth?: string | number;\n dropdownMaxWidth?: string | number;\n dropdownContentStyle?: React.CSSProperties;\n showSearch?: boolean;\n searchPlaceholder?: string;\n loading?: boolean;\n}\n\ninterface DropdownOptions {\n label: string;\n value: string;\n disabled?: boolean;\n [key: string]: unknown;\n}\n\n/**\n * 构件 `ai-portal.dropdown-select`\n */\nexport\n@defineElement(\"ai-portal.dropdown-select\", {\n styleTexts: [styleText],\n})\nclass DropdownSelect extends ReactNextElement implements DropdownSelectProps {\n @property()\n accessor value: string | undefined;\n\n @property({ attribute: false })\n accessor options: DropdownOptions[] | undefined;\n\n @property({ attribute: false })\n accessor labelMaxWidth: string | number | undefined;\n\n @property({ type: Boolean })\n accessor loading: boolean | undefined;\n\n @property({ attribute: false })\n accessor searchPlaceholder: string | undefined;\n\n @property({ attribute: false })\n accessor dropdownContentStyle: React.CSSProperties | undefined;\n\n /**\n * @default \"500px\"\n */\n @property({ attribute: false })\n accessor dropdownMaxWidth: string | number | undefined;\n\n /** 是否展示搜索框 */\n @property({ type: Boolean })\n accessor showSearch: boolean | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<DropdownOptions>;\n\n #handleChange = (option: DropdownOptions) => {\n this.#changeEvent.emit(option);\n };\n\n render() {\n return (\n <DropdownSelectComponent\n value={this.value}\n options={this.options}\n onChange={this.#handleChange}\n loading={this.loading}\n labelMaxWidth={this.labelMaxWidth}\n dropdownMaxWidth={this.dropdownMaxWidth}\n showSearch={this.showSearch}\n searchPlaceholder={this.searchPlaceholder}\n dropdownContentStyle={this.dropdownContentStyle}\n />\n );\n }\n}\n\ninterface DropdownSelectComponentProps extends DropdownSelectProps {\n onChange: (option: DropdownOptions) => void;\n}\n\nfunction DropdownSelectComponent({\n value: _value,\n options: _options,\n labelMaxWidth,\n dropdownMaxWidth,\n showSearch,\n loading,\n searchPlaceholder,\n dropdownContentStyle,\n onChange,\n}: DropdownSelectComponentProps) {\n const [open, setOpen] = useState(false);\n const [value, setValue] = useState(_value);\n const [q, setQ] = useState(\"\");\n const [options, setOptions] = useState<DropdownOptions[] | undefined>(\n _options\n );\n\n useEffect(() => {\n setOptions(_options);\n }, [_options]);\n\n const activeOption = useMemo(() => {\n return options?.find((opt) => opt.value === value);\n }, [options, value]);\n\n const filteredOptions = useMemo(() => {\n if (!q || !options) {\n return options;\n }\n return options?.filter((ops) =>\n ops.label.toLowerCase().includes(q.toLowerCase())\n );\n }, [options, q]);\n\n const handleBeforeVisibleChange = useCallback((e: CustomEvent<boolean>) => {\n setOpen(e.detail);\n if (!e.detail) {\n setQ(\"\");\n }\n }, []);\n\n const handleSearchChange = useMemo(\n () =>\n debounce((evt: CustomEvent<string>) => {\n setQ(evt.detail);\n }, 300),\n []\n );\n\n return (\n <WrappedPopover\n placement=\"bottom-start\"\n trigger=\"click\"\n active={open}\n arrow={false}\n distance={5}\n onBeforeVisibleChange={handleBeforeVisibleChange}\n >\n <span slot=\"anchor\" className=\"trigger\">\n <span className=\"label\" style={{ maxWidth: labelMaxWidth }}>\n {activeOption ? activeOption?.label : t(K.PLEASE_SELECT)}\n </span>\n <WrappedIcon lib=\"lucide\" icon={open ? \"chevron-up\" : \"chevron-down\"} />\n </span>\n <div className=\"dropdown\" style={{ maxWidth: dropdownMaxWidth }}>\n {showSearch && (\n <div className=\"search-container\">\n <WrappedInput\n className=\"search\"\n value={q}\n placeholder={searchPlaceholder || t(K.SEARCH_PLACEHOLDER)}\n onValueChange={handleSearchChange}\n >\n <WrappedIcon slot=\"prefix\" lib=\"antd\" icon=\"search\" />\n </WrappedInput>\n </div>\n )}\n <WrappedLoadingContainer\n loading={loading}\n delay={500}\n style={{ width: \"100%\" }}\n >\n <div className=\"dropdown-inner\" style={dropdownContentStyle}>\n <slot name=\"prefix\" />\n {!!filteredOptions?.length && (\n <WrappedMenu>\n {filteredOptions?.map((opt) => (\n <WrappedMenuItem\n key={opt.value}\n disabled={opt.disabled}\n className={value === opt.value ? \"active\" : undefined}\n onClick={(e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setOpen(false);\n if (value !== opt.value) {\n setValue(opt.value);\n onChange(opt);\n }\n }}\n >\n {opt.label}\n </WrappedMenuItem>\n ))}\n </WrappedMenu>\n )}\n {!filteredOptions?.length && (\n <div className=\"empty\">{t(K.SEARCH_NO_DATA)}</div>\n )}\n </div>\n </WrappedLoadingContainer>\n </div>\n </WrappedPopover>\n );\n}\n","// istanbul ignore file: mock\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport { InstanceApi_postSearchV3 } from \"@next-api-sdk/cmdb-sdk\";\nimport { http } from \"@next-core/http\";\n\nexport async function entitySdkList(\n workspace: string,\n entity: string,\n params?: any\n): Promise<unknown> {\n if (!workspace) {\n throw new Error(\"Workspace is required for Entity SDK.\");\n }\n if (entity === \"HOST_METRIC\") {\n return (\n await http.post<{ data: unknown }>(\n \"api/gateway/data_exchange.olap.Query/api/v1/data_exchange/olap\",\n {\n model: \"easyops.HOST\",\n filters: convertQueryToFilters(params?.query),\n dims: [\"time(auto)\"],\n measures: convertFieldsToMeasures(params?.fields),\n }\n )\n ).data;\n }\n return InstanceApi_postSearchV3(entity, params);\n}\n\nconst OPERATOR_MAP = new Map([\n [\"$eq\", \"==\"],\n [\"$ne\", \"!=\"],\n [\"$gt\", \">\"],\n [\"$lt\", \"<\"],\n [\"$gte\", \">=\"],\n [\"$lte\", \"<=\"],\n]);\n\nfunction convertQueryToFilters(query: any): any[] {\n return Object.entries(query || {}).flatMap(([name, condition]) => {\n return Object.entries(condition || {}).map(([op, value]) => {\n const operator = OPERATOR_MAP.get(op);\n if (!operator) {\n throw new Error(`Unsupported operator: \"${op}\"`);\n }\n return { name, operator, value };\n });\n });\n}\n\nfunction convertFieldsToMeasures(\n fields: string[] | undefined\n): any[] | undefined {\n return fields?.map((field) => ({\n function: {\n args: [field],\n expression: \"avg\",\n },\n name: field,\n }));\n}\n\ncustomElements.define(\n \"ai-portal.entity-sdk-list\",\n createProviderClass(entitySdkList)\n);\n","// istanbul ignore file: mock\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\n\nexport async function entitySdkGet(\n workspace: string,\n entity: string,\n id: string\n): Promise<unknown> {\n if (!workspace) {\n throw new Error(\"Workspace is required for Entity SDK.\");\n }\n return InstanceApi_getDetail(entity, id, {});\n}\n\ncustomElements.define(\n \"ai-portal.entity-sdk-get\",\n createProviderClass(entitySdkGet)\n);\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n UNTITLED = \"UNTITLED\",\n}\n\nconst en: Locale = {\n UNTITLED: \"Untitled\",\n};\n\nconst zh: Locale = {\n UNTITLED: \"无标题\",\n};\n\nexport const NS = \"bricks/ai-portal/preview-container\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { Suspense, use, useEffect, useMemo, useRef } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { unstable_createRoot } from \"@next-core/runtime\";\nimport type { ParseResult } from \"@next-shared/tsx-parser\";\nimport { convertTsx, type ConvertResult } from \"@next-shared/tsx-converter\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n EoPageTitle,\n PageTitleProps,\n} from \"@next-bricks/basic/page-title\";\nimport type {\n EoMainView,\n MainViewProps,\n} from \"@next-bricks/containers/main-view\";\nimport type {\n EoNarrowView,\n NarrowViewProps,\n} from \"@next-bricks/containers/narrow-view\";\nimport { uniqueId } from \"lodash\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styles from \"./styles.module.css\";\nimport { getRemoteTsxParserWorker } from \"../shared/workers/tsxParser.js\";\nimport { createPortal } from \"../cruise-canvas/utils/createPortal.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedPageTitle = wrapBrick<EoPageTitle, PageTitleProps>(\n \"eo-page-title\"\n);\nconst WrappedMainView = wrapBrick<EoMainView, MainViewProps>(\"eo-main-view\");\nconst WrappedNarrowView = wrapBrick<EoNarrowView, NarrowViewProps>(\n \"eo-narrow-view\"\n);\n\nconst { defineElement, property } = createDecorators();\n\nexport interface PreviewContainerProps {\n source?: string;\n}\n\n/**\n * 构件 `ai-portal.preview-container`\n */\nexport\n@defineElement(\"ai-portal.preview-container\", {\n shadowOptions: false,\n})\nclass PreviewContainer\n extends ReactNextElement\n implements PreviewContainerProps\n{\n @property({ attribute: false })\n accessor source: string | undefined;\n\n #rootId = uniqueId();\n\n render() {\n return (\n <Suspense\n fallback={\n <WrappedIcon\n lib=\"antd\"\n icon=\"loading-3-quarters\"\n spinning\n className={styles.loading}\n />\n }\n >\n <PreviewContainerComponent rootId={this.#rootId} source={this.source} />\n </Suspense>\n );\n }\n}\n\ninterface PreviewContainerComponentProps extends PreviewContainerProps {\n rootId: string;\n}\n\nfunction PreviewContainerComponent({\n rootId,\n source,\n}: PreviewContainerComponentProps) {\n const parsedResultPromise = useMemo(() => {\n if (!source) {\n return Promise.resolve(null);\n }\n return parse(source).catch((error) => {\n // eslint-disable-next-line no-console\n console.error(\"Failed to parse view:\", error);\n return null;\n });\n }, [source]);\n\n const parsedResult = use(parsedResultPromise);\n\n const convertedResultPromise = useMemo(() => {\n if (!parsedResult) {\n return Promise.resolve(null);\n }\n return convertTsx(parsedResult, {\n rootId,\n expanded: true,\n }).catch((error) => {\n // eslint-disable-next-line no-console\n console.error(\"Failed to convert view:\", error);\n return null;\n });\n }, [parsedResult, rootId]);\n\n const convertedResult = use(convertedResultPromise);\n\n return (\n <RenderComponent\n rootId={rootId}\n pageTitle={parsedResult?.title}\n convertedResult={convertedResult}\n />\n );\n}\n\ninterface RenderComponentProps {\n rootId: string;\n pageTitle?: string;\n convertedResult: ConvertResult | null;\n}\n\nfunction RenderComponent({\n rootId,\n pageTitle,\n convertedResult,\n}: RenderComponentProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const rootRef = useRef<Awaited<\n ReturnType<typeof unstable_createRoot>\n > | null>(null);\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) {\n return;\n }\n const portal = createPortal(rootId);\n const root = unstable_createRoot(container, {\n portal,\n supportsUseChildren: true,\n } as any);\n rootRef.current = root;\n return () => {\n root.unmount();\n portal.remove();\n rootRef.current = null;\n };\n }, [rootId]);\n\n useEffect(() => {\n if (!convertedResult) {\n return;\n }\n const { brick, context, functions } = convertedResult;\n rootRef.current?.render(brick, { context, functions });\n }, [convertedResult]);\n\n return (\n <WrappedNarrowView size=\"large\" className={styles.container}>\n <WrappedMainView>\n <WrappedPageTitle\n slot=\"pageTitle\"\n pageTitle={pageTitle || t(K.UNTITLED)}\n />\n <div className={styles.main} ref={containerRef} data-root-id={rootId} />\n </WrappedMainView>\n </WrappedNarrowView>\n );\n}\n\nasync function parse(source: string): Promise<ParseResult> {\n const worker = await getRemoteTsxParserWorker();\n const result = await worker.parse(source);\n return result;\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {}\n// HELLO = \"HELLO\",\n\nconst en: Locale = {\n // HELLO: \"Hello\",\n};\n\nconst zh: Locale = {\n // HELLO: \"你好\",\n};\n\nexport const NS = \"bricks/ai-portal/action-buttons\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useMemo } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { Button, ButtonProps } from \"@next-bricks/basic/button\";\n\ninitializeI18n(NS, locales);\n\nconst WrapperButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nconst { defineElement, property, event } = createDecorators();\n\ninterface ActionItem extends ButtonProps {\n text: string;\n icon?: GeneralIconProps;\n active?: boolean;\n event?: string;\n hidden?: boolean;\n}\n\nexport interface ActionsButtonsProps {\n items?: ActionItem[];\n multiple?: boolean; // 是否支持多选\n}\n\n/**\n * 构件 `ai-portal.action-buttons`\n */\nexport\n@defineElement(\"ai-portal.action-buttons\", {\n styleTexts: [styleText],\n})\nclass ActionsButtons extends ReactNextElement implements ActionsButtonsProps {\n @property({\n attribute: false,\n })\n accessor items: ActionItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor multiple: boolean | undefined;\n\n @event({ type: \"action.click\" })\n accessor #actionClick!: EventEmitter<ActionItem>;\n\n #handleActionClick = (action: ActionItem) => {\n const newItems = this.items?.map((item) => {\n if (item.text === action.text) {\n return { ...item, active: !item.active };\n }\n\n return this.multiple ? item : { ...item, active: false };\n });\n\n this.items = newItems;\n const current = newItems?.find((item) => item.text === action.text);\n this.#actionClick.emit(current!);\n if (action.event) {\n const customEvent = new CustomEvent(action.event, {\n detail: {\n current,\n actives: newItems?.filter((item) => item.active),\n },\n });\n this.dispatchEvent(customEvent);\n }\n };\n\n render() {\n return (\n <ActionsButtonsComponent\n items={this.items}\n multiple={this.multiple}\n onActionClick={this.#handleActionClick}\n />\n );\n }\n}\n\ninterface ActionsButtonsComponentProps extends ActionsButtonsProps {\n onActionClick: (action: ActionItem) => void;\n}\n\nfunction ActionsButtonsComponent({\n items,\n onActionClick,\n}: ActionsButtonsComponentProps) {\n const filteredItems = useMemo(() => {\n return items?.filter((item) => !item.hidden);\n }, [items]);\n\n return (\n <div className=\"button-container\">\n {filteredItems?.map((item, index) => {\n const { event, text, active, ...rest } = item;\n return (\n <WrapperButton\n key={index}\n className={`action${active ? \" active\" : \"\"}`}\n themeVariant=\"elevo\"\n type=\"neutral\"\n {...rest}\n onClick={() => onActionClick(item)}\n >\n {text}\n </WrapperButton>\n );\n })}\n </div>\n );\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n UN_START_STATUS = \"UN_START_STATUS\",\n RUNNING_STATUS = \"RUNNING_STATUS\",\n COMPLETED_STATUS = \"COMPLETED_STATUS\",\n}\n\nconst en: Locale = {\n UN_START_STATUS: \"Not Start\",\n RUNNING_STATUS: \"Running\",\n COMPLETED_STATUS: \"Completed\",\n};\n\nconst zh: Locale = {\n UN_START_STATUS: \"未开始\",\n RUNNING_STATUS: \"运行中\",\n COMPLETED_STATUS: \"已完成\",\n};\n\nexport const NS = \"bricks/ai-portal/goal-card-list\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useCallback, useRef, useState } from \"react\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\nimport type {\n EoEasyopsAvatar,\n EoEasyopsAvatarProps,\n} from \"@next-bricks/basic/easyops-avatar\";\nimport type { Action, SimpleAction } from \"@next-bricks/basic/actions\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"../i18n.js\";\nimport { getContentEditable } from \"../../shared/getContentEditable.js\";\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\nconst WrappedEasyopsAvatar = wrapBrick<EoEasyopsAvatar, EoEasyopsAvatarProps>(\n \"eo-easyops-avatar\"\n);\n\nexport interface InputEventsMap {\n onValueChange: \"change\";\n}\n\nexport type GoalState = \"ready\" | \"working\" | \"completed\";\n\ninterface GoalMember {\n instanceId: string;\n}\n\nexport interface GoalItem {\n title: string;\n description?: string;\n state: GoalState;\n index: number;\n conversations?: number;\n child_target?: GoalItem[];\n parent_target?: GoalItem[];\n leader?: GoalMember;\n users?: GoalMember[];\n instanceId: string;\n offsetX?: number;\n}\n\ninterface GoalCardItemProps {\n goalItem: GoalItem;\n cardStyle?: React.CSSProperties;\n onTitleChange?: (newTitle: string) => void;\n onStatusChange?: (newStatus: GoalState) => void;\n onClick?: () => void;\n}\n\nconst iconMap = {\n ready: \"uncheck-status\",\n working: \"active-status\",\n completed: \"check-status\",\n};\n\nconst iconActions: Action[] = [\n {\n key: \"ready\",\n icon: {\n icon: \"uncheck-status\",\n lib: \"easyops\",\n category: \"colored-common\",\n },\n text: t(K.UN_START_STATUS),\n },\n {\n key: \"working\",\n icon: {\n icon: \"active-status\",\n lib: \"easyops\",\n category: \"colored-common\",\n },\n text: t(K.RUNNING_STATUS),\n },\n {\n key: \"completed\",\n icon: {\n icon: \"check-status\",\n lib: \"easyops\",\n category: \"colored-common\",\n },\n text: t(K.COMPLETED_STATUS),\n },\n];\n\nexport function GoalCardItem({\n goalItem,\n cardStyle,\n onStatusChange,\n onTitleChange,\n onClick,\n}: GoalCardItemProps) {\n const { state, index: serialNumber, title, conversations, leader } = goalItem;\n\n const handleStatusChange = (action: SimpleAction) => {\n onStatusChange?.(action.key as GoalState);\n };\n\n const compositionRef = useRef(false);\n\n const handleCompositionStart = useCallback(() => {\n compositionRef.current = true;\n }, []);\n\n const handleCompositionEnd = useCallback(() => {\n compositionRef.current = false;\n }, []);\n\n const [editing, setEditing] = useState(false);\n\n const handleFocus = useCallback(() => {\n setEditing(true);\n }, []);\n\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLSpanElement>) => {\n setEditing(false);\n const value = e.currentTarget.textContent;\n if (value !== null && title !== value) {\n onTitleChange?.(value);\n }\n },\n [title, onTitleChange]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLSpanElement>) => {\n if (compositionRef.current) {\n // Ignore key events during composition\n return;\n }\n if (e.key === \"Enter\") {\n e.preventDefault();\n e.currentTarget.blur();\n }\n },\n []\n );\n\n return (\n <div\n className={classNames(\"goal-item\", goalItem.state, { editing })}\n style={{\n paddingLeft: `${goalItem.offsetX}px`,\n ...cardStyle,\n }}\n onClick={onClick}\n >\n <div className=\"start\">\n <WrappedDropdownActions\n actions={iconActions}\n onActionClick={(e) => handleStatusChange(e.detail)}\n >\n <WrappedIcon\n className=\"icon\"\n lib=\"easyops\"\n category=\"colored-common\"\n icon={iconMap[state]}\n onClick={(e) => e.stopPropagation()}\n />\n </WrappedDropdownActions>\n\n <span className=\"serial-number\">{serialNumber}</span>\n <span\n className=\"title\"\n onClick={(e) => e.stopPropagation()}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n contentEditable={getContentEditable(true)}\n suppressContentEditableWarning\n >\n {title}\n </span>\n </div>\n <div className=\"end\">\n <div className=\"message\">\n <WrappedIcon lib=\"easyops\" category=\"common\" icon=\"message\" />\n <span className=\"count\">{conversations || 0}</span>\n </div>\n <WrappedEasyopsAvatar\n nameOrInstanceId={leader?.instanceId}\n size=\"small\"\n />\n </div>\n </div>\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport CardItemStyleText from \"./CardItem/CardItem.shadow.css\";\nimport styleText from \"./styles.shadow.css\";\nimport { GoalCardItem, GoalItem, GoalState } from \"./CardItem/CardItem.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface GoalCardListProps {\n goalList?: GoalItem[];\n cardStyle?: React.CSSProperties;\n}\n\n/**\n * 构件 `ai-portal.goal-card-list`\n */\nexport\n@defineElement(\"ai-portal.goal-card-list\", {\n styleTexts: [styleText, CardItemStyleText],\n})\nclass GoalCardList extends ReactNextElement implements GoalCardListProps {\n @property({\n attribute: false,\n })\n accessor goalList: GoalItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor cardStyle: React.CSSProperties | undefined;\n\n @event({ type: \"item.click\" })\n accessor #itemClickEvent!: EventEmitter<GoalItem>;\n #handleItemClick = (item: GoalItem) => {\n this.#itemClickEvent.emit(item);\n };\n\n @event({ type: \"item.status.change\" })\n accessor #itemStatusChangeEvent!: EventEmitter<GoalItem>;\n #handleItemStatusChange = (item: GoalItem) => {\n this.#itemStatusChangeEvent.emit(item);\n };\n\n @event({ type: \"item.title.change\" })\n accessor #itemTitleChangeEvent!: EventEmitter<GoalItem>;\n #handleTitleChange = (item: GoalItem) => {\n this.#itemTitleChangeEvent.emit(item);\n };\n\n render() {\n return (\n <GoalCardListComponent\n goalList={this.goalList}\n cardStyle={this.cardStyle}\n onTitleChange={this.#handleTitleChange}\n onStatusChange={this.#handleItemStatusChange}\n onItemClick={this.#handleItemClick}\n />\n );\n }\n}\n\ninterface GoalCardListComponentProps extends GoalCardListProps {\n onTitleChange?: (item: GoalItem) => void;\n onStatusChange?: (item: GoalItem) => void;\n onItemClick?: (item: GoalItem) => void;\n}\n\nfunction GoalCardListComponent({\n goalList: _goalList,\n cardStyle,\n onTitleChange,\n onStatusChange,\n onItemClick,\n}: GoalCardListComponentProps) {\n const [goalList, setGoalList] = useState(_goalList);\n\n useEffect(() => {\n setGoalList(_goalList);\n }, [_goalList]);\n\n const updateGoalItem = <T extends keyof GoalItem>(\n item: GoalItem,\n field: T,\n value: GoalItem[T],\n callback?: (updatedItem: GoalItem) => void\n ) => {\n const updatedItem = {\n ...item,\n [field]: value,\n };\n\n setGoalList(\n goalList?.map((goalItem) =>\n goalItem.instanceId === updatedItem.instanceId ? updatedItem : goalItem\n )\n );\n\n callback?.(updatedItem);\n };\n\n const handleTitleChange = (newTitle: string, item: GoalItem) => {\n updateGoalItem(item, \"title\", newTitle, onTitleChange);\n };\n\n const handleStatusChange = (newStatus: GoalState, item: GoalItem) => {\n updateGoalItem(item, \"state\", newStatus, onStatusChange);\n };\n\n return (\n <div className=\"goal-container\">\n {goalList?.map((item) => (\n <GoalCardItem\n key={item.instanceId}\n goalItem={item}\n cardStyle={cardStyle}\n onTitleChange={(v) => handleTitleChange(v, item)}\n onStatusChange={(v) => handleStatusChange(v, item)}\n onClick={() => onItemClick?.(item)}\n />\n ))}\n </div>\n );\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n PROJECT_OVERALL = \"PROJECT_OVERALL\",\n}\n\nconst en: Locale = {\n PROJECT_OVERALL: \"Project overall\",\n};\n\nconst zh: Locale = {\n PROJECT_OVERALL: \"项目整体\",\n};\n\nexport const NS = \"bricks/ai-portal/project-conversations\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n EoEasyopsAvatar,\n EoEasyopsAvatarProps,\n} from \"@next-bricks/basic/easyops-avatar\";\nimport type {\n ActionType,\n EoMiniActions,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping,\n EoMiniActionsProps,\n SimpleActionType,\n} from \"@next-bricks/basic/mini-actions\";\nimport { humanizeTime, HumanizeTimeFormat } from \"@next-shared/datetime\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedAvatar = wrapBrick<EoEasyopsAvatar, EoEasyopsAvatarProps>(\n \"eo-easyops-avatar\"\n);\nconst WrappedMiniActions = wrapBrick<\n EoMiniActions,\n EoMiniActionsProps,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping\n>(\"eo-mini-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ProjectConversationsProps {\n list?: Conversation[];\n urlTemplate?: string;\n actions?: ActionType[];\n}\n\nexport interface Conversation {\n conversationId: string;\n title: string;\n startTime: number;\n description?: string;\n goal?: string;\n username?: string;\n}\n\nexport interface ActionClickDetail {\n action: SimpleActionType;\n item: Conversation;\n}\n\n/**\n * 构件 `ai-portal.project-conversations`\n */\nexport\n@defineElement(\"ai-portal.project-conversations\", {\n styleTexts: [styleText],\n})\nclass ProjectConversations\n extends ReactNextElement\n implements ProjectConversationsProps\n{\n @property({ attribute: false })\n accessor list: Conversation[] | undefined;\n\n @property()\n accessor urlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor actions: ActionType[] | undefined;\n\n @event({ type: \"goal.click\" })\n accessor #goalClick!: EventEmitter<Conversation>;\n\n #handleGoalClick = (conversation: Conversation) => {\n this.#goalClick.emit(conversation);\n };\n\n @event({ type: \"action.click\" })\n accessor #actionClick!: EventEmitter<ActionClickDetail>;\n\n #handleActionClick = (detail: ActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n render() {\n return (\n <ProjectConversationsComponent\n list={this.list}\n urlTemplate={this.urlTemplate}\n actions={this.actions}\n onGoalClick={this.#handleGoalClick}\n onActionClick={this.#handleActionClick}\n />\n );\n }\n}\n\ninterface ProjectConversationsComponentProps extends ProjectConversationsProps {\n onGoalClick: (conversation: Conversation) => void;\n onActionClick: (detail: ActionClickDetail) => void;\n}\n\nfunction ProjectConversationsComponent({\n list,\n urlTemplate,\n actions,\n onGoalClick,\n onActionClick,\n}: ProjectConversationsComponentProps) {\n if (!list) {\n return (\n <div className=\"loading\">\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n );\n }\n\n return (\n <ul>\n {list?.map((item) => (\n <li className=\"item\" key={item.conversationId}>\n <ConversationLink\n conversation={item}\n urlTemplate={urlTemplate}\n actions={actions}\n onGoalClick={onGoalClick}\n onActionClick={onActionClick}\n />\n </li>\n ))}\n </ul>\n );\n}\n\ninterface ConversationLinkProps\n extends Pick<\n ProjectConversationsComponentProps,\n \"urlTemplate\" | \"actions\" | \"onGoalClick\" | \"onActionClick\"\n > {\n conversation: Conversation;\n}\n\nfunction ConversationLink({\n conversation,\n urlTemplate,\n actions,\n onGoalClick,\n onActionClick,\n}: ConversationLinkProps) {\n const goalRef = useRef<HTMLSpanElement>(null);\n\n // <eo-link> handles click manually,\n // so we need to stop propagation and prevent default manually.\n useEffect(() => {\n const el = goalRef.current;\n if (!el) return;\n const handleClick = (e: MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n onGoalClick(conversation);\n };\n el.addEventListener(\"click\", handleClick);\n return () => {\n el.removeEventListener(\"click\", handleClick);\n };\n }, [conversation, onGoalClick]);\n\n const [actionsVisible, setActionsVisible] = useState(false);\n\n return (\n <WrappedLink\n className={classNames(\"link\", { \"actions-active\": actionsVisible })}\n url={parseTemplate(urlTemplate, conversation)}\n >\n <div className=\"main\">\n <div className=\"header\">\n <WrappedIcon className=\"icon\" lib=\"lucide\" icon=\"clock\" />\n <span className=\"title\">{conversation.title}</span>\n <span\n className={classNames(\"goal\", {\n global: conversation.goal == null,\n })}\n ref={goalRef}\n >\n {conversation.goal ?? t(K.PROJECT_OVERALL)}\n </span>\n </div>\n {conversation.description && (\n <div className=\"description\">{conversation.description}</div>\n )}\n </div>\n <div className=\"time\">\n {humanizeTime(\n conversation.startTime * 1000,\n HumanizeTimeFormat.relative\n )}\n </div>\n <div className=\"operations\">\n <WrappedMiniActions\n className=\"actions\"\n actions={actions}\n onActionClick={(e) => {\n onActionClick({ action: e.detail, item: conversation });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(e.detail);\n }}\n />\n <WrappedAvatar\n className=\"avatar\"\n size=\"small\"\n nameOrInstanceId={conversation.username}\n />\n </div>\n </WrappedLink>\n );\n}\n","import React, { useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\n// import { initializeI18n } from \"@next-core/i18n\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { AvatarProps, EoAvatar } from \"@next-bricks/basic/avatar\";\nimport type {\n ActionType,\n EoMiniActions,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping,\n EoMiniActionsProps,\n SimpleActionType,\n} from \"@next-bricks/basic/mini-actions\";\nimport { humanizeTime, HumanizeTimeFormat } from \"@next-shared/datetime\";\nimport classNames from \"classnames\";\n// import { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\n\n// initializeI18n(NS, locales);\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedAvatar = wrapBrick<EoAvatar, AvatarProps>(\"eo-avatar\");\nconst WrappedMiniActions = wrapBrick<\n EoMiniActions,\n EoMiniActionsProps,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping\n>(\"eo-mini-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ProjectKnowledgesProps {\n list?: Knowledge[];\n urlTemplate?: string;\n actions?: ActionType[];\n}\n\nexport interface Knowledge {\n knowledgeId: string;\n title: string;\n time: number;\n description?: string;\n}\n\nexport interface ActionClickDetail {\n action: SimpleActionType;\n item: Knowledge;\n}\n\n/**\n * 构件 `ai-portal.project-knowledges`\n */\nexport\n@defineElement(\"ai-portal.project-knowledges\", {\n styleTexts: [styleText],\n})\nclass ProjectKnowledges\n extends ReactNextElement\n implements ProjectKnowledgesProps\n{\n @property({ attribute: false })\n accessor list: Knowledge[] | undefined;\n\n @property()\n accessor urlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor actions: ActionType[] | undefined;\n\n @event({ type: \"action.click\" })\n accessor #actionClick!: EventEmitter<ActionClickDetail>;\n\n #handleActionClick = (detail: ActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n render() {\n return (\n <ProjectKnowledgesComponent\n list={this.list}\n urlTemplate={this.urlTemplate}\n actions={this.actions}\n onActionClick={this.#handleActionClick}\n />\n );\n }\n}\n\ninterface ProjectKnowledgesComponentProps extends ProjectKnowledgesProps {\n onActionClick: (detail: ActionClickDetail) => void;\n}\n\nfunction ProjectKnowledgesComponent({\n list,\n urlTemplate,\n actions,\n onActionClick,\n}: ProjectKnowledgesComponentProps) {\n if (!list) {\n return (\n <div className=\"loading\">\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n );\n }\n\n return (\n <ul>\n {list?.map((item) => (\n <li className=\"item\" key={item.knowledgeId}>\n <KnowledgeLink\n knowledge={item}\n urlTemplate={urlTemplate}\n actions={actions}\n onActionClick={onActionClick}\n />\n </li>\n ))}\n </ul>\n );\n}\n\ninterface KnowledgeLinkProps\n extends Pick<\n ProjectKnowledgesComponentProps,\n \"urlTemplate\" | \"actions\" | \"onActionClick\"\n > {\n knowledge: Knowledge;\n}\n\nfunction KnowledgeLink({\n knowledge,\n urlTemplate,\n actions,\n onActionClick,\n}: KnowledgeLinkProps) {\n const [actionsVisible, setActionsVisible] = useState(false);\n\n return (\n <WrappedLink\n className={classNames(\"link\", { \"actions-active\": actionsVisible })}\n url={parseTemplate(urlTemplate, knowledge)}\n >\n <div className=\"main\">\n <div className=\"header\">\n <WrappedIcon className=\"icon\" lib=\"lucide\" icon=\"clock\" />\n <span className=\"title\">{knowledge.title}</span>\n <WrappedIcon className=\"attachment\" lib=\"lucide\" icon=\"paperclip\" />\n </div>\n {knowledge.description && (\n <div className=\"description\">{knowledge.description}</div>\n )}\n </div>\n <div className=\"time\">\n {humanizeTime(knowledge.time * 1000, HumanizeTimeFormat.relative)}\n </div>\n <div className=\"operations\">\n <WrappedMiniActions\n className=\"actions\"\n actions={actions}\n onActionClick={(e) => {\n onActionClick({ action: e.detail, item: knowledge });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(e.detail);\n }}\n />\n <WrappedAvatar className=\"avatar\" size=\"small\" /* bordered */ />\n </div>\n </WrappedLink>\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, `:host{display:inline-block}:host([hidden]){display:none}.goal-container{display:flex;flex-direction:column;gap:4px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:inline-block}:host([hidden]){display:none}.button-container{display:flex;gap:6px}.action::part(button){height:28px;font-size:13px;padding:5px 10px}.action.active::part(button){color:var(--elevo-color-brand);background-color:rgba(var(--elevo-color-brand-rgb-channel),0.04)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.tabs{list-style:none;padding:0;margin:0;display:flex;font-size:16px}.tabs .tab + .tab{margin-left:32px}.tabs a{color:rgba(38,38,38,0.65);cursor:pointer}.tabs .active a{color:#262626;font-weight:500}.tabs .active a::after{content:\"\";display:block;width:100%;height:4px;background-color:currentColor;border-radius:2px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}ul{list-style:none;margin:0;padding:0}.link{display:block}.link::part(link){display:flex;align-items:center;padding:12px 24px;color:#262626}.item:not(:last-child) .link::part(link){border-bottom:1px solid rgba(0,0,0,0.1)}.link.actions-active::part(link),\n.link::part(link):hover{background:rgba(0,0,0,0.05)}.icon{font-size:20px;margin-right:8px}.title{font-weight:500;font-size:16px}.title,\n.description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment{color:#1a7aff;margin-left:16px}.header{display:flex;align-items:center}.description{color:#595959;margin-top:6px;padding-left:28px;line-height:20px}.time{color:rgba(0,0,0,0.45);margin:0 16px}.main{flex:1;min-width:0}.operations{display:flex;align-items:center;justify-content:center;width:32px;height:32px}.link.actions-active .avatar,\n.link:hover .avatar,\n.link:not(:hover):not(.actions-active) .actions{display:none}.loading{display:flex;align-items:center;justify-content:center;padding:24px;font-size:20px;color:#595959}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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(\"../page-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, `:host{display:block}:host([hidden]){display:none}:host([with-container]){position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:48px 24px;overflow-y:auto}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto}h1,\nh2{font-weight:500;margin:0}h1{font-size:20px;line-height:28px;margin-bottom:17px}h2{font-size:16px;line-height:22px}.groups,\n.list{list-style:none;margin:0;padding:0}.groups{margin-top:27px}.group + .group{margin-top:32px}.list{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.list .item{background:rgba(255,255,255,0.9);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.08);border-radius:12px;padding:20px 26px}.heading{display:flex;align-items:center}.icon{font-size:24px;color:#333;margin-right:8px}.title{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description{margin-top:13px;font-size:13px;color:rgba(0,0,0,0.45);line-height:18px;height:54px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:inline-block}:host([hidden]){display:none}*{box-sizing:border-box}.trigger{display:flex;align-items:center;font-size:14px;cursor:pointer;position:relative;padding:4px 12px;border-radius:15px;color:var(--elevo-color-brand)}.trigger:hover{background-color:rgba(37,64,255,0.06)}.trigger::before{content:\"\";position:absolute;top:0;right:0;bottom:0;left:0;padding:1px;background:linear-gradient(145deg,rgba(37,64,255,1),rgba(180,95,248,1));border-radius:15px;-webkit-mask:linear-gradient(#fff 0,#fff 0) content-box,linear-gradient(#fff 0,#fff 0);mask:linear-gradient(#fff 0,#fff 0) content-box,linear-gradient(#fff 0,#fff 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:xor;-webkit-mask:linear-gradient(#fff 0,#fff 0) content-box,linear-gradient(#fff 0,#fff 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor}.trigger .label{margin-right:0}.label{max-width:650px;margin-right:0.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown{max-width:500px;border-radius:4px;background:var(--antd-dropdown-menu-bg);box-shadow:var(--antd-box-shadow-base)}.dropdown-inner{padding:9px 4px}.search-container{padding:3px;border-bottom:1px solid rgba(0,0,0,0.08)}.search::part(affix-wrapper){box-shadow:none;border:none}eo-menu{border:0;padding:0;background:none;border-radius:0}eo-menu-item::part(menu-item){padding:5px 8px;line-height:22px;border-radius:var(--medius-border-radius)}eo-menu-item:not([disabled]):hover::part(menu-item){background-color:var(--left-sidebar-item-hover-bg)}.active::part(menu-item){font-weight:600;background-color:var(--left-sidebar-item-hover-bg)}.empty{display:flex;justify-content:center;align-items:center;color:var(--color-secondary-text)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:flex;flex-direction:column;align-items:center;max-width:1020px;width:100%}:host([hidden]){display:none}*{box-sizing:border-box}.tips{color:rgba(0,0,0,0.45);margin-bottom:27px}.cases{list-style:none;padding:0;margin:0;display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:36px}.link{display:block;background:rgba(255,255,255,0.5);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-size:cover;background-position:center;background-repeat:no-repeat;background-clip:padding-box;overflow:hidden}.link::part(link){display:flex;flex-direction:column;gap:0;box-sizing:border-box;height:128px;padding:20px}.title{width:100%;margin-bottom:8px;color:#262626;font-weight:500;font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description{width:100%;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:rgba(24,33,47,0.65);font-size:13px;line-height:20px}.link::part(link):hover{box-shadow:0px 4px 12px 0px rgba(96,96,138,0.15),0px 2px 4px 0px rgba(96,96,138,0.06)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `.goal-item{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:14px 24px;background-color:rgba(255,255,255,0.6);border-radius:8px;-webkit-user-select:none;user-select:none}.goal-item:hover{background-color:rgba(0,0,0,0.05)}.goal-item > *{-webkit-user-select:auto;user-select:auto}.goal-item .start,.goal-item .end{display:flex;align-items:center;column-gap:16px;min-width:0}.goal-item .start{flex:1;min-width:0}.goal-item .end{flex-shrink:0;column-gap:30px}.goal-item .serial-number{font-weight:400;color:var(--palette-gray-7)}.goal-item .title{font-weight:500;padding:2px 4px;color:var(--palette-gray-10);border:1px solid transparent;border-radius:8px;cursor:pointer;flex:1;min-width:0}.goal-item .title:hover{background-color:rgba(255,255,255,0.6);border:1px solid var(--palette-gray-5);cursor:text}.goal-item .title:focus{outline:none;background-color:rgba(255,255,255,0.6);border:1px solid var(--elevo-color-brand)}.goal-item .icon{border-radius:8px;padding:4px;margin-top:4px}.goal-item .icon:hover{background-color:rgba(0,0,0,0.04)}.goal-item .message{color:var(--palette-gray-7);display:inline-flex;align-items:center;column-gap:6px}.goal-item .message .count{font-weight:500;color:var(--palette-gray-10)}.goal-item:not(.editing) .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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(\"./images/bg.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, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat center bottom;background-size:100% 104px;padding:12px 12px 29px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:inline-block}:host([hidden]){display:none}:host,\neo-tooltip{vertical-align:middle}button{width:28px;height:28px;font-size:18px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#333}button:disabled{color:#8c8c8c}button:not(:disabled){cursor:pointer}button:focus{outline:none}button:not(:disabled):hover{background:rgba(0,0,0,0.04)}button:not(:disabled):active{background:rgba(0,0,0,0.08)}:host([variant=\"light\"]) button{color:#595959}:host([variant=\"mini\"]) button{width:24px;height:24px;font-size:16px;border-radius:4px}:host([variant=\"mini-light\"]) button{color:#8c8c8c;width:20px;height:20px;font-size:14px;border-radius:4px}:host([variant=\"bordered\"]) button{background:#ffffff;border-radius:8px;border:1px solid rgba(0,0,0,0.1);color:#595959;width:32px;height:32px;font-size:18px}:host([variant=\"bordered\"]) button:not(:disabled):hover{background:rgba(0,0,0,0.04)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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(\"./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, `:host{display:block;position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:17px 54px 48px;overflow-y:auto}:host([hidden]){display:none}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto}:host([size=\"small\"]) .container{max-width:1000px}.header{margin-bottom:30px;display:flex;justify-content:space-between;align-items:center}nav{font-weight:500;font-size:20px;line-height:28px;display:flex;min-width:0}h1{margin:0;font-size:inherit;line-height:inherit}.breadcrumbs{list-style:none;padding:0;margin:0;color:#bfbfbf}.breadcrumbs eo-link::part(link){color:inherit}.breadcrumbs eo-link::part(link):hover{color:#595959}.breadcrumbs li::after{content:\"/\";margin:0 8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host{display:flex;flex-direction:column;align-items:center;max-width:1200px;width:100%}:host([hidden]){display:none}*{box-sizing:border-box}.chats{list-style:none;padding:0;margin:0;display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin-top:2em}.chats .link{display:block}.chats .link::part(link){background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,0.1);overflow:hidden;display:block;padding:16px 16px 12px}.chats .link::part(link):hover{box-shadow:0px 2px 8px 0px rgba(0,0,0,0.1)}.chats .title{height:40px;line-height:20px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#262626}.chats .time{margin-top:20px;font-size:12px;color:#8c8c8c;display:flex;align-items:center}.chats .time eo-icon{margin-right:4px}.loading{display:flex;align-items:center;justify-content:center;margin-top:2em;font-size:16px;color:#8c8c8c}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `ai-portal\\\\.preview-container{display:block;background:rgba(247,248,250,1)}.loading--uD2jY9vX{position:absolute;top:50%;left:50%;font-size:48px;color:var(--palette-gray-5);margin:0 -24px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"loading\": `loading--uD2jY9vX`\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, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}ul{list-style:none;margin:0;padding:0}.link{display:block}.link::part(link){display:flex;align-items:center;padding:12px 24px;color:#262626;background:rgba(255,255,255,0.6);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.link.actions-active::part(link),\n.link::part(link):hover{background:rgba(0,0,0,0.05);-webkit-backdrop-filter:none;backdrop-filter:none}.item:not(:last-child){margin-bottom:4px}.icon{font-size:20px;margin-right:8px}.title{font-weight:500;font-size:16px}.title,\n.description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal{background:#f0fff8;border-radius:4px;font-weight:500;font-size:12px;color:#1dc897;line-height:20px;padding:2px 8px;margin-left:16px;white-space:nowrap}.goal.global{background:#e6f4ff;color:#1a7aff}.header{display:flex;align-items:center}.description{color:#595959;margin-top:6px;padding-left:28px;line-height:20px}.time{color:rgba(0,0,0,0.45);margin:0 16px}.main{flex:1;min-width:0}.operations{display:flex;align-items:center;justify-content:center;width:32px;height:32px}.link.actions-active .avatar,\n.link:hover .avatar,\n.link:not(:hover):not(.actions-active) .actions{display:none}.loading{display:flex;align-items:center;justify-content:center;padding:24px;font-size:20px;color:#595959}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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(\"./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, `:host{display:block}:host([hidden]){display:none}:host::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}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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(\"../page-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, `:host{display:block}:host([hidden]){display:none}:host([with-container]){position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:48px 24px;overflow-y:auto}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto}h1{font-weight:500;margin:0;font-size:20px;line-height:28px;margin-bottom:17px}.list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.link{display:block;height:100%}.link::part(link){display:block;height:100%;color:#262626;background:rgba(255,255,255,0.9);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.08);border-radius:12px;padding:20px 26px;box-sizing:border-box}.link:not(.clickable)::part(link){cursor:auto}.clickable::part(link):hover{box-shadow:0px 4px 10px 0px rgba(0,0,0,0.1)}.heading{display:flex;align-items:center}.icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff;border-radius:12px;border:1px solid #e8e9ec;font-size:32px;color:#595959;margin-right:16px}.title{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clickable::part(link):hover .title{color:var(--elevo-color-brand)}.description{margin-top:13px;font-size:13px;color:rgba(0,0,0,0.45);line-height:18px;height:54px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tags{display:flex;gap:6px;margin:16px 0 -3px}.tag{display:block;background:rgba(0,0,0,0.04);border-radius:4px;font-size:12px;line-height:22px;padding:0 7px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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(\"../page-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, `:host{display:block}:host([hidden]){display:none}:host([with-container]){position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:48px 24px;overflow-y:auto}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto;margin-bottom:17px}h1,\nh2{font-weight:500;margin:0}h1{font-size:20px;line-height:28px;margin-bottom:17px}h2{font-size:16px;line-height:22px}.groups,\n.list{list-style:none;margin:0;padding:0}.groups{margin-top:27px}.group + .group{margin-top:32px}.list{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.link{display:block;height:100%}.link::part(link){display:block;height:100%;color:#262626;background:rgba(255,255,255,0.9);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.08);border-radius:12px;padding:20px 26px;box-sizing:border-box}.link:not(.clickable)::part(link){cursor:auto}.clickable::part(link):hover{box-shadow:0px 4px 10px 0px rgba(0,0,0,0.1)}.heading{display:flex;align-items:center}.avatar{width:48px;height:48px;border-radius:12px;margin-right:16px;background-color:#d5d6e6;display:flex;align-items:center;justify-content:center;font-size:24px}.avatar img{width:100%;height:100%}.title{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clickable::part(link):hover .title{color:var(--elevo-color-brand)}.description{margin-top:13px;font-size:13px;color:rgba(0,0,0,0.45);line-height:18px;height:54px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","initializeI18n","NS","locales","defineElement","property","event","method","createDecorators","ForwardedLegacyCruiseCanvasComponent","forwardRef","LegacyCruiseCanvasComponent","ForwardedCruiseCanvasComponent","CruiseCanvasComponent","_CruiseCanvas","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_CruiseCanvas_brand","WeakSet","_onShare","_R","_onTerminate","_S","_onSubmitFeedback","_T","_onFeedbackOnView","_U","_onSwitchToChat","_ref","CruiseCanvas","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_conversationId","_init_extra_conversationId","_init_initialRequest","_init_extra_initialRequest","_init_taskId","_init_extra_taskId","_init_task","_init_extra_task","_init_jobs","_init_extra_jobs","_init_replay","_init_extra_replay","_init_replayDelay","_init_extra_replayDelay","_init_supports","_init_extra_supports","_init_showHiddenJobs","_init_extra_showHiddenJobs","_init_showFeedback","_init_extra_showFeedback","_init_showFeedbackAfterFailed","_init_extra_showFeedbackAfterFailed","_init_showFeedbackOnView","_init_extra_showFeedbackOnView","_init_showUiSwitch","_init_extra_showUiSwitch","_init_hideMermaid","_init_extra_hideMermaid","_init_showJsxEditor","_init_extra_showJsxEditor","_init_previewUrlTemplate","_init_extra_previewUrlTemplate","_init_shareEvent","_init_extra_shareEvent","_classPrivateGetter","this","_get_shareEvent","emit","_init_terminateEvent","_init_extra_terminateEvent","_get_terminateEvent","_init_feedbackSubmitEvent","_init_extra_feedbackSubmitEvent","detail","_get_feedbackSubmitEvent","_init_feedbackOnViewEvent","_init_extra_feedbackOnViewEvent","viewId","_get_feedbackOnViewEvent","_init_switch","_init_extra_switch","_get_switch","createRef","conversationId","_classPrivateFieldGet","v","_classPrivateFieldSet","initialRequest","taskId","task","jobs","replay","replayDelay","supports","showHiddenJobs","showFeedback","showFeedbackAfterFailed","showFeedbackOnView","showUiSwitch","hideMermaid","showJsxEditor","previewUrlTemplate","resumed","_classPrivateFieldGet2","_classPrivateFieldGet3","current","call","feedbackSubmitDone","_classPrivateFieldGet4","feedbackSubmitFailed","_classPrivateFieldGet5","feedbackOnViewDone","_classPrivateFieldGet6","render","Component","React","onShare","onTerminate","onSubmitFeedback","onSwitchToChat","onFeedbackOnView","ref","_CruiseCanvas2","e","_set_shareEvent","_set_terminateEvent","_set_feedbackSubmitEvent","_set_feedbackOnViewEvent","_set_switch","c","_initClass","_applyDecs","shadowOptions","attribute","type","Boolean","Number","o","_","has","_checkInRHS","K","en","ASK_ANY_THING","COMMON_TASKS","zh","t","i18n","getFixedT","WrappedIcon","wrapBrick","_ChatBox","_ChatBox_brand","_handleMessageSubmit","ChatBox","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_messageSubmit","_init_extra_messageSubmit","value","_get_messageSubmit","disabled","placeholder","autoFocus","ChatBoxComponent","onSubmit","containerRef","useRef","textareaRef","setValue","useState","valueRef","handleSubmit","useCallback","currentTarget","handleChange","target","handleSubmitClick","useEffect","Promise","resolve","then","_textareaRef$current","focus","className","TextareaAutoResize","minRows","paddingSize","autoResize","submitWhen","onChange","name","onClick","lib","prefix","icon","_ChatBox2","_set_messageSubmit","styleTexts","styleText","_HomeContainer","HomeContainer","HomeContainerComponent","_HomeContainer2","WrappedMiniLineChart","_StatWithMiniChart","StatWithMiniChart","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_size","_init_extra_size","_init_lineColor","_init_extra_lineColor","_init_showArea","_init_extra_showArea","_init_min","_init_extra_min","_init_max","_init_extra_max","_init_xField","_init_extra_xField","_init_yField","_init_extra_yField","_init_data","_init_extra_data","label","size","lineColor","showArea","min","max","xField","yField","data","StatWithMiniChartComponent","chartProps","_extends","lineWidth","width","height","_StatWithMiniChart2","SIDEBAR_ICON","ElevoSidebarComponent","LegacyElevoSidebarComponent","_ElevoSidebar","_ElevoSidebar_brand","_handleLogout","_handleActionClick","_handleLegacyActionClick","_handleProjectActionClick","_handleAddProject","ElevoSidebar","_init_legacy","_init_extra_legacy","_init_userInstanceId","_init_extra_userInstanceId","_init_behavior","_init_extra_behavior","_init_bordered","_init_extra_bordered","_init_logoUrl","_init_extra_logoUrl","_init_newChatUrl","_init_extra_newChatUrl","_init_newChatLinkWhenCollapsed","_init_extra_newChatLinkWhenCollapsed","_init_historyActiveId","_init_extra_historyActiveId","_init_historyUrlTemplate","_init_extra_historyUrlTemplate","_init_historyActions","_init_extra_historyActions","_init_projectActiveId","_init_extra_projectActiveId","_init_projectUrlTemplate","_init_extra_projectUrlTemplate","_init_projectActions","_init_extra_projectActions","_init_links","_init_extra_links","_init_logout","_init_extra_logout","_get_logout","_init_actionClick","_init_extra_actionClick","_get_actionClick","_init_projectActionClick","_init_extra_projectActionClick","_get_projectActionClick","_init_addProject","_init_extra_addProject","_get_addProject","legacy","userInstanceId","behavior","bordered","logoUrl","newChatUrl","newChatLinkWhenCollapsed","historyActiveId","historyUrlTemplate","historyActions","projectActiveId","projectUrlTemplate","projectActions","links","pullHistory","delay","setTimeout","pull","close","removeProject","projectId","addProject","project","_classPrivateFieldGet7","moveConversation","_classPrivateFieldGet8","_classPrivateFieldGet9","onLogout","onLegacyActionClick","onActionClick","onProjectActionClick","onAddProject","_ref2","collapsed","setCollapsed","handleCollapse","handleExpand","handleClickMask","handleHistoryClick","dropdownActions","useMemo","key","text","LOGOUT","SWITCH_LANGUAGE","historyRef","useImperativeHandle","_historyRef$current","_historyRef$current2","_historyRef$current2$","_historyRef$current3","_historyRef$current3$","_historyRef$current4","_historyRef$current4$","classNames","WrappedIconButton","variant","WrappedLink","url","NEW_CHAT","alt","src","ElevoLogo","length","map","link","index","title","LegacyChatHistory","activeId","urlTemplate","actions","onHistoryClick","ChatHistory","WrappedDropdownActions","async","changeLanguage","language","split","getHistory","reload","WrappedEasyopsAvatar","nameOrInstanceId","showName","_ElevoSidebar2","_set_logout","_set_actionClick","_set_projectActionClick","_set_addProject","WrappedTooltip","_IconButton","IconButton","_init_icon","_init_extra_icon","_init_tooltip","_init_extra_tooltip","_init_variant","_init_extra_variant","tooltip","IconButtonComponent","btn","content","_IconButton2","ALL","EXPLORE_EXCELLENT_CASES","WrappedTabList","onTabClick","_ShowCases","ShowCases","_init_list","_init_extra_list","_init_taskUrlTemplate","_init_extra_taskUrlTemplate","list","taskUrlTemplate","ShowCasesComponent","groups","Set","item","scenario","filter","activeGroup","setActiveGroup","filteredList","tabs","group","activeTab","parseTemplate","style","thumbUrl","backgroundImage","getBasePath","undefined","summary","_ShowCases2","MCP_HUB","SERVER_cmdb","SERVER_cmdb_product_helper","SERVER_alert","SERVER_web_builder","SERVER_web_builder2","SERVER_host_troubleshooting","SERVER_system_inspection","SERVER_grafana","SERVER_kubernetes","SERVER_llm","DEFAULT_TOOL_ICON","PLATFORM_CONFIG","Map","servers","_McpTools","McpTools","_init_withContainer","_init_extra_withContainer","withContainer","McpToolsComponent","groupMap","platformMap","forEach","groupName","server","replaceAll","get","set","platform","entries","find","_name","includes","platformName","orderedNames","sort","_ref3","_ref4","nameA","nameB","indexA","indexOf","indexB","platforms","keys","names","a","b","aIndex","bIndex","activePlatform","setActivePlatform","filteredGroups","groupedList","platformGroups","_ref5","node","_ref6","items","_item$icon","fallback","description","_McpTools2","ForwardedLegacyChatStreamComponent","LegacyChatStreamComponent","ForwardedChatStreamComponent","ChatStreamComponent","_ChatStream","_ChatStream_brand","_onSwitchToCanvas","ChatStream","onSwitchToCanvas","_ChatStream2","AI_EMPLOYEES","UNTITLED","_AIEmployees","AIEmployees","_init_industries","_init_extra_industries","_init_urlTemplate","_init_extra_urlTemplate","industries","AIEmployeesComponent","_industries","industry","activeIndustry","setActiveIndustry","array","role","clickable","avatar","_AIEmployees2","AGENTS","_AIAgents","AIAgents","AIAgentsComponent","_item$tags","tags","tag","tagIndex","_AIAgents2","store","customElements","define","createProviderClass","_PageContainer","PageContainer","_init_pageTitle","_init_extra_pageTitle","_init_breadcrumbs","_init_extra_breadcrumbs","pageTitle","breadcrumbs","PageContainerComponent","getRuntime","applyPageTitle","_PageContainer2","CHATS","GOALS","TAB_ID_CHATS","TABS","_ProjectSummary","ProjectSummary","_init_chatList","_init_extra_chatList","_init_chatUrlTemplate","_init_extra_chatUrlTemplate","chatList","chatUrlTemplate","ProjectSummaryComponent","setActiveTab","humanizeTime","startTime","HumanizeTimeFormat","relative","spinning","_ProjectSummary2","_TabList","_TabList_brand","_handleTabClick","TabList","_init_tabs","_init_extra_tabs","_init_activeTab","_init_extra_activeTab","_init_tabClick","_init_extra_tabClick","tab","_get_tabClick","TabListComponent","part","active","_TabList2","_set_tabClick","PLEASE_SELECT","SEARCH_PLACEHOLDER","SEARCH_NO_DATA","WrappedPopover","onVisibleChange","onBeforeVisibleChange","WrappedLoadingContainer","WrappedMenu","WrappedMenuItem","WrappedInput","onValueChange","_DropdownSelect","_DropdownSelect_brand","_handleChange","DropdownSelect","_init_options","_init_extra_options","_init_labelMaxWidth","_init_extra_labelMaxWidth","_init_loading","_init_extra_loading","_init_searchPlaceholder","_init_extra_searchPlaceholder","_init_dropdownContentStyle","_init_extra_dropdownContentStyle","_init_dropdownMaxWidth","_init_extra_dropdownMaxWidth","_init_showSearch","_init_extra_showSearch","_init_changeEvent","_init_extra_changeEvent","option","_get_changeEvent","options","labelMaxWidth","loading","searchPlaceholder","dropdownContentStyle","dropdownMaxWidth","showSearch","DropdownSelectComponent","_value","_options","open","setOpen","q","setQ","setOptions","activeOption","opt","filteredOptions","ops","toLowerCase","handleBeforeVisibleChange","handleSearchChange","debounce","evt","placement","trigger","arrow","distance","slot","maxWidth","preventDefault","stopPropagation","_DropdownSelect2","_set_changeEvent","OPERATOR_MAP","workspace","entity","params","Error","http","post","model","filters","query","Object","flatMap","condition","op","operator","dims","measures","fields","field","function","args","expression","InstanceApi_postSearchV3","InstanceApi_getDetail","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","WrappedPageTitle","WrappedMainView","WrappedNarrowView","_PreviewContainer","_rootId","PreviewContainer","_init_source","_init_extra_source","uniqueId","source","Suspense","styles","PreviewContainerComponent","rootId","parsedResultPromise","worker","getRemoteTsxParserWorker","parse","catch","error","console","parsedResult","use","convertedResultPromise","convertTsx","expanded","convertedResult","RenderComponent","rootRef","container","portal","createPortal","root","unstable_createRoot","supportsUseChildren","unmount","remove","_rootRef$current","brick","context","functions","main","_PreviewContainer2","WrapperButton","_ActionsButtons","_ActionsButtons_brand","ActionsButtons","_init_items","_init_extra_items","_init_multiple","_init_extra_multiple","action","_this$items","newItems","multiple","customEvent","CustomEvent","actives","dispatchEvent","ActionsButtonsComponent","filteredItems","hidden","rest","themeVariant","_ActionsButtons2","UN_START_STATUS","RUNNING_STATUS","COMPLETED_STATUS","iconMap","ready","working","completed","iconActions","category","GoalCardItem","goalItem","cardStyle","onStatusChange","onTitleChange","state","serialNumber","conversations","leader","compositionRef","handleCompositionStart","handleCompositionEnd","editing","setEditing","handleFocus","handleBlur","textContent","handleKeyDown","blur","paddingLeft","offsetX","handleStatusChange","onFocus","onBlur","onKeyDown","onCompositionStart","onCompositionEnd","contentEditable","getContentEditable","suppressContentEditableWarning","instanceId","_GoalCardList","_GoalCardList_brand","_handleItemClick","_handleItemStatusChange","_handleTitleChange","GoalCardList","_init_goalList","_init_extra_goalList","_init_cardStyle","_init_extra_cardStyle","_init_itemClickEvent","_init_extra_itemClickEvent","_get_itemClickEvent","_init_itemStatusChangeEvent","_init_extra_itemStatusChangeEvent","_get_itemStatusChangeEvent","_init_itemTitleChangeEvent","_init_extra_itemTitleChangeEvent","_get_itemTitleChangeEvent","goalList","GoalCardListComponent","onItemClick","_goalList","setGoalList","updateGoalItem","callback","updatedItem","handleTitleChange","newTitle","newStatus","_GoalCardList2","_set_itemClickEvent","_set_itemStatusChangeEvent","_set_itemTitleChangeEvent","CardItemStyleText","PROJECT_OVERALL","WrappedAvatar","WrappedMiniActions","_ProjectConversations","_ProjectConversations_brand","_handleGoalClick","ProjectConversations","_init_actions","_init_extra_actions","_init_goalClick","_init_extra_goalClick","conversation","_get_goalClick","ProjectConversationsComponent","onGoalClick","ConversationLink","_conversation$goal","goalRef","el","handleClick","addEventListener","removeEventListener","actionsVisible","setActionsVisible","global","goal","username","_ProjectConversations2","_set_goalClick","_ProjectKnowledges","_ProjectKnowledges_brand","ProjectKnowledges","ProjectKnowledgesComponent","knowledgeId","KnowledgeLink","knowledge","time","_ProjectKnowledges2","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___"],"sourceRoot":""}
|