@next-bricks/ai-portal 0.27.0 → 0.27.2

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/chat-stream.47e68ddf.js","mappings":"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","sources":["webpack:///./src/chat-stream/index.tsx"],"sourcesContent":["// istanbul ignore file: experimental\nimport 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 { initializeI18n } from \"@next-core/i18n\";\nimport { getRuntime, handleHttpError } from \"@next-core/runtime\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport classNames from \"classnames\";\nimport { NS, locales } from \"./i18n.js\";\nimport { useTaskDetail } from \"../cruise-canvas/useTaskDetail.js\";\nimport { useChatStream } from \"./useChatStream.js\";\nimport styles from \"./styles.module.css\";\nimport { WrappedIcon, WrappedIconButton } from \"../shared/bricks.js\";\nimport { UserMessage } from \"./UserMessage/UserMessage.js\";\nimport { AssistantMessage } from \"./AssistantMessage/AssistantMessage.js\";\nimport { TaskContext } from \"../shared/TaskContext.js\";\nimport { ChatBox } from \"../shared/ChatBox/ChatBox.js\";\nimport { DONE_STATES, ICON_CANVAS } from \"../shared/constants.js\";\nimport { ExpandedView } from \"../shared/ExpandedView/ExpandedView.js\";\nimport { ReplayToolbar } from \"../shared/ReplayToolbar/ReplayToolbar.js\";\nimport { Aside } from \"./Aside/Aside.js\";\nimport { StreamContext } from \"./StreamContext.js\";\nimport type { FeedbackDetail } from \"../cruise-canvas/interfaces.js\";\nimport { NodeFeedback } from \"../shared/NodeFeedback/NodeFeedback.js\";\n\ninitializeI18n(NS, locales);\n\nconst ICON_SHARE: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"share\",\n};\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ChatStreamProps {\n taskId?: string;\n replay?: boolean;\n replayDelay?: number;\n supports?: Record<string, boolean>;\n showFeedback?: boolean;\n showFeedbackOnView?: boolean;\n showUiSwitch?: boolean;\n}\n\nconst ChatStreamComponent = forwardRef(LegacyChatStreamComponent);\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 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 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 @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 return (\n <ChatStreamComponent\n taskId={this.taskId}\n replay={this.replay}\n replayDelay={this.replayDelay}\n supports={this.supports}\n showFeedback={this.showFeedback}\n showFeedbackOnView={this.showFeedbackOnView}\n showUiSwitch={this.showUiSwitch}\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\ninterface ChatStreamComponentProps extends ChatStreamProps {\n onShare: () => void;\n onTerminate: () => void;\n onSubmitFeedback: (detail: FeedbackDetail) => void;\n onSwitchToCanvas: () => void;\n onFeedbackOnView: (viewId: string) => void;\n}\n\ninterface ChatStreamRef {\n resumed: () => void;\n feedbackSubmitDone: () => void;\n feedbackSubmitFailed: () => void;\n feedbackOnViewDone: (viewId: string) => void;\n}\n\nfunction LegacyChatStreamComponent(\n {\n taskId,\n replay,\n replayDelay,\n supports,\n showFeedback: propShowFeedback,\n showFeedbackOnView,\n showUiSwitch,\n onShare,\n onTerminate,\n onSubmitFeedback,\n onSwitchToCanvas,\n onFeedbackOnView,\n }: ChatStreamComponentProps,\n ref: React.Ref<ChatStreamRef>\n) {\n const {\n task,\n jobs,\n error,\n humanInputRef,\n resumedRef,\n skipToResults,\n watchAgain,\n } = useTaskDetail(taskId, replay, replayDelay);\n const pageTitle = task?.title ?? \"\";\n const taskState = task?.state;\n const taskDone = DONE_STATES.includes(taskState!);\n const { messages, inputRequiredJobId, lastToolCallJobId } = useChatStream(\n task,\n jobs\n );\n\n const views = useMemo(() => {\n return jobs?.flatMap((job) =>\n job.generatedView\n ? {\n id: job.id,\n view: job.generatedView,\n }\n : []\n );\n }, [jobs]);\n\n const [submittingFeedback, setSubmittingFeedback] = useState(false);\n const [submittedFeedback, setSubmittedFeedback] = useState(false);\n const [showFeedback, setShowFeedback] = useState<boolean>(!!propShowFeedback);\n useEffect(() => {\n setShowFeedback(!!propShowFeedback);\n }, [propShowFeedback]);\n const [feedbackDoneViews, setFeedbackDoneViews] = useState<\n Set<string> | undefined\n >();\n\n const handleSubmitFeedback = useCallback(\n (detail: FeedbackDetail) => {\n setSubmittingFeedback(true);\n onSubmitFeedback(detail);\n },\n [onSubmitFeedback]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n resumed: () => resumedRef.current?.(),\n feedbackSubmitDone: () => {\n setSubmittedFeedback(true);\n setTimeout(() => {\n setShowFeedback(false);\n }, 3000);\n },\n feedbackSubmitFailed: () => {\n setSubmittingFeedback(false);\n },\n feedbackOnViewDone: (viewId: string) => {\n setFeedbackDoneViews((prev) => {\n const newSet = new Set(prev);\n newSet.add(viewId);\n return newSet;\n });\n },\n }),\n [resumedRef]\n );\n\n const [activeExpandedViewJobId, setActiveExpandedViewJobId] = useState<\n string | null\n >(null);\n\n const [activeToolCallJobId, setActiveToolCallJobId] = useState<string | null>(\n null\n );\n const [userClosedAside, setUserClosedAside] = useState(false);\n // Delay flag to prevent aside from auto opened for a completed task\n const delayRef = useRef(false);\n\n const taskAvailable = !!task;\n useEffect(() => {\n if (taskAvailable) {\n const timer = setTimeout(() => {\n delayRef.current = true;\n }, 1000);\n return () => {\n clearTimeout(timer);\n };\n }\n }, [taskAvailable]);\n\n useEffect(() => {\n if (delayRef.current && lastToolCallJobId && !userClosedAside) {\n setActiveToolCallJobId(lastToolCallJobId);\n }\n }, [lastToolCallJobId, userClosedAside]);\n\n useEffect(() => {\n getRuntime().applyPageTitle(pageTitle);\n }, [pageTitle]);\n\n useEffect(() => {\n if (error) {\n handleHttpError(error);\n }\n }, [error]);\n\n const humanInput = useCallback(\n (jobId: string, input: string) => {\n humanInputRef.current?.(jobId, input);\n },\n [humanInputRef]\n );\n\n const taskContextValue = useMemo(\n () => ({\n humanInput,\n onShare,\n onTerminate,\n supports,\n\n activeExpandedViewJobId,\n setActiveExpandedViewJobId,\n activeToolCallJobId,\n setActiveToolCallJobId,\n\n submittingFeedback,\n submittedFeedback,\n onSubmitFeedback: handleSubmitFeedback,\n setShowFeedback,\n showFeedbackOnView,\n onFeedbackOnView,\n feedbackDoneViews,\n }),\n [\n humanInput,\n onShare,\n onTerminate,\n supports,\n\n activeExpandedViewJobId,\n activeToolCallJobId,\n\n submittingFeedback,\n submittedFeedback,\n handleSubmitFeedback,\n showFeedbackOnView,\n onFeedbackOnView,\n feedbackDoneViews,\n ]\n );\n\n const streamContextValue = useMemo(\n () => ({\n lastToolCallJobId,\n setUserClosedAside,\n }),\n [lastToolCallJobId]\n );\n\n const detectScrolledUpRef = useRef(false);\n const manualScrolledRef = useRef(false);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const [scrollable, setScrollable] = useState(false);\n\n useEffect(() => {\n const scrollContainer = scrollContainerRef.current;\n const contentContainer = scrollContainer?.firstElementChild;\n if (manualScrolledRef.current || !scrollContainer || !contentContainer) {\n return;\n }\n\n const handleScroll = () => {\n setScrollable(\n scrollContainer.scrollTop + scrollContainer.clientHeight! + 24 <\n scrollContainer.scrollHeight\n );\n if (!detectScrolledUpRef.current) {\n return;\n }\n manualScrolledRef.current =\n scrollContainer.scrollTop + scrollContainer.clientHeight! + 6 <\n scrollContainer.scrollHeight;\n };\n scrollContainer.addEventListener(\"scroll\", handleScroll);\n\n let timer: ReturnType<typeof setTimeout>;\n const observer = new ResizeObserver(() => {\n if (manualScrolledRef.current) {\n return;\n }\n detectScrolledUpRef.current = false;\n // Scroll to the bottom of the content container\n scrollContainer.scrollTo({\n top: contentContainer.scrollHeight,\n behavior: \"instant\",\n });\n clearTimeout(timer);\n timer = setTimeout(() => {\n detectScrolledUpRef.current = true;\n }, 100);\n });\n observer.observe(contentContainer);\n\n return () => {\n observer.disconnect();\n scrollContainer.removeEventListener(\"scroll\", handleScroll);\n };\n }, [taskAvailable]);\n\n const scrollToBottom = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n scrollContainer?.scrollTo({\n top: scrollContainer?.scrollHeight,\n behavior: \"instant\",\n });\n }, []);\n\n const activeToolCallJob = useMemo(() => {\n if (!activeToolCallJobId) {\n return null;\n }\n return jobs?.find((job) => job.id === activeToolCallJobId);\n }, [activeToolCallJobId, jobs]);\n\n return (\n <TaskContext.Provider value={taskContextValue}>\n <StreamContext.Provider value={streamContextValue}>\n <div className={styles.container}>\n <div className={styles.header}>\n <div className={styles.left} />\n <h1>{pageTitle}</h1>\n <div className={styles.right}>\n {showUiSwitch && (\n <WrappedIconButton\n icon={ICON_CANVAS}\n variant=\"mini\"\n style={{\n transform: \"rotate(90deg)\",\n }}\n onClick={onSwitchToCanvas}\n />\n )}\n <WrappedIconButton\n icon={ICON_SHARE}\n variant=\"mini\"\n onClick={onShare}\n />\n </div>\n </div>\n {taskAvailable ? (\n <>\n <div className={styles.main} ref={scrollContainerRef}>\n <div className={styles.narrow}>\n {messages.map((msg, index, list) => (\n <div className={styles.message} key={index}>\n {msg.role === \"user\" ? (\n <UserMessage content={msg.content} />\n ) : (\n <AssistantMessage\n jobs={msg.jobs}\n taskState={taskState}\n isLatest={index === list.length - 1}\n />\n )}\n </div>\n ))}\n {showFeedback && taskState === \"completed\" && (\n <NodeFeedback className={styles.feedback} />\n )}\n </div>\n </div>\n <div\n className={styles[\"scroll-down\"]}\n hidden={!scrollable}\n onClick={scrollToBottom}\n >\n <WrappedIcon lib=\"antd\" icon=\"down\" />\n </div>\n </>\n ) : (\n <div className={styles[\"loading-icon\"]}>\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n )}\n {replay || supports?.chat ? (\n <div className={styles.footer}>\n <div className={styles.narrow}>\n {replay ? (\n <ReplayToolbar\n taskDone={taskDone}\n skipToResults={skipToResults}\n watchAgain={watchAgain}\n />\n ) : (\n <ChatBox\n taskState={taskState}\n taskDone={taskDone}\n inputRequiredJobId={inputRequiredJobId}\n />\n )}\n </div>\n </div>\n ) : null}\n </div>\n <div\n className={classNames(styles.aside, {\n [styles.expanded]: !!activeToolCallJobId,\n })}\n >\n {activeToolCallJobId && <Aside job={activeToolCallJob!} />}\n </div>\n {activeExpandedViewJobId && <ExpandedView views={views!} />}\n </StreamContext.Provider>\n </TaskContext.Provider>\n );\n}\n"],"names":["initializeI18n","NS","locales","ICON_SHARE","lib","icon","defineElement","property","event","method","createDecorators","ChatStreamComponent","forwardRef","LegacyChatStreamComponent","_ChatStream","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_ChatStream_brand","WeakSet","_onShare","_J","_onTerminate","_K","_onSubmitFeedback","_L","_onFeedbackOnView","_M","_onSwitchToCanvas","_ref","ChatStream","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_taskId","_init_extra_taskId","_init_replay","_init_extra_replay","_init_replayDelay","_init_extra_replayDelay","_init_supports","_init_extra_supports","_init_showFeedback","_init_extra_showFeedback","_init_showFeedbackOnView","_init_extra_showFeedbackOnView","_init_showUiSwitch","_init_extra_showUiSwitch","_init_hideMermaid","_init_extra_hideMermaid","_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","taskId","_classPrivateFieldGet","v","_classPrivateFieldSet","replay","replayDelay","supports","showFeedback","showFeedbackOnView","showUiSwitch","hideMermaid","resumed","_classPrivateFieldGet2","current","feedbackSubmitDone","_classPrivateFieldGet3","feedbackSubmitFailed","_classPrivateFieldGet4","feedbackOnViewDone","_classPrivateFieldGet5","render","React","onShare","onTerminate","onSubmitFeedback","onSwitchToCanvas","onFeedbackOnView","_ref2","ref","_task$title","propShowFeedback","task","jobs","error","humanInputRef","resumedRef","skipToResults","watchAgain","useTaskDetail","pageTitle","title","taskState","state","taskDone","DONE_STATES","includes","messages","inputRequiredJobId","lastToolCallJobId","useChatStream","views","useMemo","flatMap","job","generatedView","id","view","submittingFeedback","setSubmittingFeedback","useState","submittedFeedback","setSubmittedFeedback","setShowFeedback","useEffect","feedbackDoneViews","setFeedbackDoneViews","handleSubmitFeedback","useCallback","useImperativeHandle","_resumedRef$current","call","setTimeout","prev","newSet","Set","add","activeExpandedViewJobId","setActiveExpandedViewJobId","activeToolCallJobId","setActiveToolCallJobId","userClosedAside","setUserClosedAside","delayRef","useRef","taskAvailable","timer","clearTimeout","getRuntime","applyPageTitle","handleHttpError","humanInput","jobId","input","_humanInputRef$curren","taskContextValue","streamContextValue","detectScrolledUpRef","manualScrolledRef","scrollContainerRef","scrollable","setScrollable","scrollContainer","contentContainer","firstElementChild","handleScroll","scrollTop","clientHeight","scrollHeight","addEventListener","observer","ResizeObserver","scrollTo","top","behavior","observe","disconnect","removeEventListener","scrollToBottom","activeToolCallJob","find","TaskContext","Provider","value","StreamContext","className","styles","container","header","left","right","WrappedIconButton","ICON_CANVAS","variant","style","transform","onClick","main","narrow","map","msg","index","list","message","key","role","UserMessage","content","AssistantMessage","isLatest","length","NodeFeedback","feedback","hidden","WrappedIcon","theme","spinning","chat","footer","ReplayToolbar","ChatBox","classNames","aside","expanded","Aside","ExpandedView","_ChatStream2","e","_set_shareEvent","_set_terminateEvent","_set_feedbackSubmitEvent","_set_feedbackOnViewEvent","_set_switch","c","_initClass","_applyDecs","shadowOptions","type","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}