@next-bricks/ai-portal 0.9.3 → 0.9.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 +6 -6
- package/dist/chunks/{114.edeb665e.js → 114.4eeb5efd.js} +2 -2
- package/dist/chunks/{114.edeb665e.js.map → 114.4eeb5efd.js.map} +1 -1
- package/dist/chunks/1550.3bc6313e.js +3 -0
- package/dist/chunks/{1550.73c02195.js.map → 1550.3bc6313e.js.map} +1 -1
- package/dist/chunks/3171.d2e19596.js +2 -0
- package/dist/chunks/{3171.9901a89f.js.map → 3171.d2e19596.js.map} +1 -1
- package/dist/chunks/{3933.8bdb5813.js → 3933.fe02065c.js} +2 -2
- package/dist/chunks/{3933.8bdb5813.js.map → 3933.fe02065c.js.map} +1 -1
- package/dist/chunks/{437.1a414481.js → 437.a657cb21.js} +2 -2
- package/dist/chunks/{437.1a414481.js.map → 437.a657cb21.js.map} +1 -1
- package/dist/chunks/4837.21f9d29e.js +2 -0
- package/dist/chunks/{4837.d80fe058.js.map → 4837.21f9d29e.js.map} +1 -1
- package/dist/chunks/5552.13cc8d4c.js +2 -0
- package/dist/chunks/{5552.77c9524e.js.map → 5552.13cc8d4c.js.map} +1 -1
- package/dist/chunks/{6314.eba1fb91.js → 6314.14f08758.js} +2 -2
- package/dist/chunks/{6314.eba1fb91.js.map → 6314.14f08758.js.map} +1 -1
- package/dist/chunks/7218.b1774ffd.js +2 -0
- package/dist/chunks/{7218.91b5ad29.js.map → 7218.b1774ffd.js.map} +1 -1
- package/dist/chunks/7301.1c3022f3.js +2 -0
- package/dist/chunks/{7301.3151642c.js.map → 7301.1c3022f3.js.map} +1 -1
- package/dist/chunks/{7733.777c181e.js → 7733.cd1a8d31.js} +2 -2
- package/dist/chunks/{7733.777c181e.js.map → 7733.cd1a8d31.js.map} +1 -1
- package/dist/chunks/{871.81f76df0.js → 871.b891b32d.js} +2 -2
- package/dist/chunks/{871.81f76df0.js.map → 871.b891b32d.js.map} +1 -1
- package/dist/chunks/9140.e7ab6f71.js +3 -0
- package/dist/chunks/9140.e7ab6f71.js.map +1 -0
- package/dist/chunks/940.021db4b2.js +3 -0
- package/dist/chunks/940.021db4b2.js.map +1 -0
- package/dist/chunks/chat-box.c130e9ef.js +2 -0
- package/dist/chunks/{chat-box.13609201.js.map → chat-box.c130e9ef.js.map} +1 -1
- package/dist/chunks/{chat-history.5746208f.js → chat-history.40c18400.js} +3 -3
- package/dist/chunks/{chat-history.5746208f.js.map → chat-history.40c18400.js.map} +1 -1
- package/dist/chunks/cruise-canvas.7a27ea81.js +2 -0
- package/dist/chunks/{cruise-canvas.89df97da.js.map → cruise-canvas.7a27ea81.js.map} +1 -1
- package/dist/chunks/{home-container.e2de03d1.js → home-container.aefbbaaa.js} +2 -2
- package/dist/chunks/{home-container.e2de03d1.js.map → home-container.aefbbaaa.js.map} +1 -1
- package/dist/chunks/main.9425cd91.js +2 -0
- package/dist/chunks/{main.fc011100.js.map → main.9425cd91.js.map} +1 -1
- package/dist/examples.json +3 -3
- package/dist/index.0f2b1102.js +2 -0
- package/dist/index.0f2b1102.js.map +1 -0
- package/dist/manifest.json +36 -36
- package/dist/types.json +89 -89
- package/package.json +4 -4
- package/dist/chunks/1550.73c02195.js +0 -3
- package/dist/chunks/3171.9901a89f.js +0 -2
- package/dist/chunks/4837.d80fe058.js +0 -2
- package/dist/chunks/5552.77c9524e.js +0 -2
- package/dist/chunks/7218.91b5ad29.js +0 -2
- package/dist/chunks/7301.3151642c.js +0 -2
- package/dist/chunks/9140.fa0b40fe.js +0 -3
- package/dist/chunks/9140.fa0b40fe.js.map +0 -1
- package/dist/chunks/940.0be35dfb.js +0 -3
- package/dist/chunks/940.0be35dfb.js.map +0 -1
- package/dist/chunks/chat-box.13609201.js +0 -2
- package/dist/chunks/cruise-canvas.89df97da.js +0 -2
- package/dist/chunks/main.fc011100.js +0 -2
- package/dist/index.bb3736af.js +0 -2
- package/dist/index.bb3736af.js.map +0 -1
- /package/dist/chunks/{1550.73c02195.js.LICENSE.txt → 1550.3bc6313e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9140.fa0b40fe.js.LICENSE.txt → 9140.e7ab6f71.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{940.0be35dfb.js.LICENSE.txt → 940.021db4b2.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-history.5746208f.js.LICENSE.txt → chat-history.40c18400.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7301.3151642c.js","mappings":"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","sources":["webpack:///./src/chat-history/styles.shadow.css","webpack:///./src/home-container/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/chat-history/i18n.ts","webpack:///./src/chat-history/index.tsx","webpack:///./src/chat-box/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}:host([hidden]){display:none}*{box-sizing:border-box}ul{list-style:none;margin:0;padding:0}.loading{display:flex;justify-content:center;padding:8px}.group + .group{margin-top:15px}.group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.item{display:block}.item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.item::part(link):hover{background:rgba(0,0,0,0.04)}.item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.actions{cursor:auto}.item:not(:hover):not(.active) .actions{display:none}.working{width:8px;height:8px;border-radius:8px;background:#2540ff;margin:0 7px}.item:hover .working,\n.item.active .working{display:none}`, \"\"]);\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;background-color:#fff;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}:host([hidden]){display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// istanbul ignore file: experimental\nimport React, {\n createRef,\n forwardRef,\n memo,\n useCallback,\n useContext,\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 { getRuntime, handleHttpError } from \"@next-core/runtime\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport classNames from \"classnames\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport { select } from \"d3-selection\";\nimport { NS, locales } from \"./i18n.js\";\nimport styles from \"./styles.module.css\";\nimport { useZoom } from \"./useZoom.js\";\nimport type {\n SizeTuple,\n GraphNode,\n Job,\n RequirementGraphNode,\n JobGraphNode,\n TaskBaseDetail,\n GraphEdge,\n} from \"./interfaces.js\";\nimport { useAutoCenter } from \"./useAutoCenter.js\";\nimport { useLayout } from \"./useLayout.js\";\nimport { useTaskDetail } from \"./useTaskDetail.js\";\nimport { useTaskGraph } from \"./useTaskGraph.js\";\nimport { PlanProgress } from \"./PlanProgress/PlanProgress.js\";\nimport { ZoomBar } from \"./ZoomBar/ZoomBar.js\";\nimport { NodeStart } from \"./NodeStart/NodeStart.js\";\nimport { NodeRequirement } from \"./NodeRequirement/NodeRequirement.js\";\nimport { NodeInstruction } from \"./NodeInstruction/NodeInstruction.js\";\nimport { NodeJob } from \"./NodeJob/NodeJob.js\";\nimport { NodeEnd } from \"./NodeEnd/NodeEnd.js\";\nimport {\n CANVAS_PADDING_BOTTOM,\n DONE_STATES,\n GENERAL_DONE_STATES,\n} from \"./constants.js\";\nimport { WrappedIcon, WrappedLink } from \"./bricks.js\";\nimport { CanvasContext } from \"./CanvasContext.js\";\nimport { ToolCallDetail } from \"./ToolCallDetail/ToolCallDetail.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst MemoizedNodeComponent = memo(NodeComponent);\n\nexport interface CruiseCanvasProps {\n taskId?: string;\n task?: TaskBaseDetail;\n jobs?: Job[];\n goBackUrl?: string;\n}\n\nconst CruiseCanvasComponent = forwardRef(LegacyCruiseCanvasComponent);\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 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 @property()\n accessor goBackUrl: string | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n @event({ type: \"pause\" })\n accessor #pauseEvent!: EventEmitter<void>;\n\n #onPause = () => {\n this.#pauseEvent.emit();\n };\n\n @event({ type: \"resume\" })\n accessor #resumeEvent!: EventEmitter<void>;\n\n #onResume = () => {\n this.#resumeEvent.emit();\n };\n\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #onCancel = () => {\n this.#cancelEvent.emit();\n };\n\n #ref = createRef<CruiseCanvasRef>();\n\n @method()\n resumed() {\n this.#ref.current?.resumed();\n }\n\n render() {\n return (\n <CruiseCanvasComponent\n taskId={this.taskId}\n jobs={this.jobs}\n task={this.task}\n goBackUrl={this.goBackUrl}\n onShare={this.#onShare}\n onPause={this.#onPause}\n onResume={this.#onResume}\n onCancel={this.#onCancel}\n ref={this.#ref}\n />\n );\n }\n}\n\ninterface CruiseCanvasComponentProps extends CruiseCanvasProps {\n onShare: () => void;\n onPause: () => void;\n onResume: () => void;\n onCancel: () => void;\n}\n\ninterface CruiseCanvasRef {\n resumed: () => void;\n}\n\nfunction LegacyCruiseCanvasComponent(\n {\n taskId,\n task: propTask,\n jobs: propJobs,\n goBackUrl,\n onShare,\n onPause,\n onResume,\n onCancel,\n }: CruiseCanvasComponentProps,\n ref: React.Ref<CruiseCanvasRef>\n) {\n const rootRef = useRef<HTMLDivElement>(null);\n const {\n task: _task,\n jobs: _jobs,\n plan: _plan,\n error,\n humanInputRef,\n resumedRef,\n } = useTaskDetail(taskId);\n const task = taskId ? _task : propTask;\n const jobs = taskId ? _jobs : propJobs;\n const plan = taskId ? _plan : propTask?.plan;\n const graph = useTaskGraph(task, jobs);\n const rawNodes = graph?.nodes;\n const rawEdges = graph?.edges;\n const pageTitle = task?.title ?? \"\";\n const taskState = task?.state;\n\n useImperativeHandle(\n ref,\n () => ({\n resumed: () => resumedRef.current?.(),\n }),\n [resumedRef]\n );\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 [sizeMap, setSizeMap] = useState<Map<string, SizeTuple> | null>(null);\n const onNodeResize = useCallback((id: string, size: SizeTuple | null) => {\n // Handle resize logic here\n setSizeMap((prev) => {\n if (!size) {\n if (!prev) {\n return null;\n }\n const newMap = new Map(prev);\n const deleted = newMap.delete(id);\n return deleted ? newMap : prev;\n }\n return prev ? new Map(prev).set(id, size) : new Map([[id, size]]);\n });\n }, []);\n\n const { sizeReady, nodes, edges } = useLayout({\n rawNodes,\n rawEdges,\n state: taskState,\n sizeMap,\n });\n\n const { grabbing, transform, transformRef, zoomer /* , scaleRange */ } =\n useZoom({\n rootRef,\n zoomable: sizeReady,\n scrollable: sizeReady,\n pannable: sizeReady,\n });\n\n const { centered, setCentered, reCenterRef } = useAutoCenter({\n nodes,\n sizeReady,\n zoomer,\n rootRef,\n });\n\n const taskDone = DONE_STATES.includes(taskState ?? \"working\");\n const taskLoading = !taskDone && nodes.length === 2;\n\n const nonLeafNodes = useMemo(() => {\n return new Set<string>(edges.map((edge) => edge.source));\n }, [edges]);\n\n const bottom = useMemo(() => {\n if (!sizeReady) {\n return null;\n }\n\n const leafNodes: GraphNode[] = [];\n for (const node of nodes) {\n if (!nonLeafNodes.has(node.id)) {\n leafNodes.push(node);\n }\n }\n if (leafNodes.length > 0) {\n const y1 = Math.max(\n ...leafNodes.map((node) => node.view!.y + node.view!.height)\n );\n return y1;\n }\n\n return null;\n }, [nodes, nonLeafNodes, sizeReady]);\n\n const bottomRef = useRef<number | null>(null);\n useEffect(() => {\n bottomRef.current = bottom;\n }, [bottom]);\n\n // Disable auto scroll when the user manually scrolled up\n const manualScrolledUpRef = useRef(false);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || bottom === null || manualScrolledUpRef.current) {\n return;\n }\n const { offsetHeight } = root;\n const transform = transformRef.current;\n const transformedBottom = bottom * transform.k + transform.y;\n const diffY = offsetHeight - CANVAS_PADDING_BOTTOM - transformedBottom;\n if (diffY < 0) {\n // Make the latest node visible\n zoomer.translateBy(select(rootRef.current!), 0, diffY);\n }\n }, [bottom, transformRef, zoomer]);\n\n // Detect if the user scrolled up manually\n useEffect(() => {\n const bottom = bottomRef.current;\n const root = rootRef.current;\n if (!root || bottom === null) {\n return;\n }\n const { offsetHeight } = root;\n const transformedBottom = bottom * transform.k + transform.y;\n\n const diffY = offsetHeight - CANVAS_PADDING_BOTTOM - transformedBottom;\n manualScrolledUpRef.current = diffY < 0;\n }, [transform, zoomer]);\n\n const handleReCenter = useCallback(() => {\n reCenterRef.current = true;\n setCentered(false);\n }, [reCenterRef, setCentered]);\n\n const handleScaleChange = useCallback(\n (scale: number) => {\n zoomer.scaleTo(select(rootRef.current!), scale);\n },\n [zoomer]\n );\n\n const [activeToolCallJobId, setActiveToolCallJobId] = useState<string | null>(\n null\n );\n\n const canvasContextValue = useMemo(\n () => ({\n humanInput,\n onShare,\n onPause,\n onResume,\n onCancel,\n onNodeResize,\n activeToolCallJobId,\n setActiveToolCallJobId,\n }),\n [\n activeToolCallJobId,\n onNodeResize,\n humanInput,\n onShare,\n onPause,\n onResume,\n onCancel,\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 <CanvasContext.Provider value={canvasContextValue}>\n <div\n className={classNames(styles.root, { [styles.loading]: !task })}\n ref={rootRef}\n style={{\n cursor: grabbing ? \"grabbing\" : \"grab\",\n }}\n >\n {!task && (\n <div className={styles[\"loading-icon\"]}>\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n )}\n <div\n className={classNames(styles.canvas, {\n [styles.ready]: sizeReady && centered,\n })}\n style={{\n transform: `translate3d(${transform.x}px, ${transform.y}px, 0) scale(${transform.k})`,\n }}\n >\n <svg className={styles.edges}>\n {edges.map((edge) => (\n <path\n className={styles.edge}\n key={`${edge.source}-${edge.target}`}\n d={edge\n .points!.map(\n ({ x, y }, i) => `${i === 0 ? \"M\" : \"L\"}${x},${y}`\n )\n .join(\" \")}\n />\n ))}\n </svg>\n {nodes.map((node) => (\n <MemoizedNodeComponent\n key={node.id}\n id={node.id}\n type={node.type}\n content={(node as RequirementGraphNode).content}\n job={(node as JobGraphNode).job}\n state={node.state}\n startTime={task?.startTime}\n taskLoading={taskLoading}\n instructionLoading={\n node.type === \"instruction\" &&\n !nonLeafNodes.has(node.id) &&\n !DONE_STATES.includes(node.state ?? \"working\") &&\n !GENERAL_DONE_STATES.includes(taskState ?? \"working\")\n }\n edges={edges}\n x={node.view?.x}\n y={node.view?.y}\n />\n ))}\n </div>\n </div>\n <div className={styles.widgets}>\n {goBackUrl && (\n <WrappedLink className={styles[\"go-back\"]} url={goBackUrl}>\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-left-long\" />\n </WrappedLink>\n )}\n <PlanProgress plan={plan} state={taskState} />\n <ZoomBar\n scale={transform.k}\n onScaleChange={handleScaleChange}\n onReCenter={handleReCenter}\n />\n </div>\n {activeToolCallJob && <ToolCallDetail job={activeToolCallJob} />}\n </CanvasContext.Provider>\n );\n}\n\ninterface NodeComponentProps {\n id: string;\n type: GraphNode[\"type\"];\n edges: GraphEdge[];\n content?: string;\n job?: Job;\n state?: string;\n startTime?: number;\n taskLoading?: boolean;\n instructionLoading?: boolean;\n x?: number;\n y?: number;\n}\n\nfunction NodeComponent({\n id,\n type,\n state,\n job,\n content,\n startTime,\n taskLoading,\n instructionLoading,\n x,\n y,\n}: NodeComponentProps) {\n const nodeRef = useRef<HTMLDivElement>(null);\n const { onNodeResize } = useContext(CanvasContext);\n\n useEffect(() => {\n const element = nodeRef.current;\n if (!element) {\n return;\n }\n const observer = new ResizeObserver(() => {\n onNodeResize(id, [element.offsetWidth, element.offsetHeight]);\n });\n observer.observe(element);\n return () => {\n observer.disconnect();\n onNodeResize(id, null);\n };\n }, [id, onNodeResize]);\n\n useEffect(() => {\n const element = nodeRef.current;\n if (!element) {\n return;\n }\n const handleMouseDown = (e: MouseEvent) => {\n e.stopPropagation();\n };\n element.addEventListener(\"mousedown\", handleMouseDown);\n return () => {\n element.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, []);\n\n return (\n <div\n className={classNames(styles.node, {\n [styles.ready]: x != null && y != null,\n })}\n ref={nodeRef}\n style={{\n left: x,\n top: y,\n }}\n >\n {type === \"start\" ? (\n <NodeStart />\n ) : type === \"end\" ? (\n <NodeEnd />\n ) : type === \"requirement\" ? (\n <NodeRequirement\n content={content}\n startTime={startTime}\n loading={taskLoading}\n />\n ) : type === \"instruction\" ? (\n <NodeInstruction\n content={job!.instruction}\n loading={instructionLoading}\n />\n ) : (\n <NodeJob state={state} job={job!} />\n )}\n </div>\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, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} 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 { chunk } from \"lodash\";\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 tips from \"./images/tips.svg\";\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 suggestions?: Suggestion[];\n suggestionsLabel?: string;\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 @property({ attribute: false })\n accessor suggestions: Suggestion[] | undefined;\n\n @property()\n accessor suggestionsLabel: string | 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 suggestions={this.suggestions}\n suggestionsLabel={this.suggestionsLabel}\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 suggestions,\n suggestionsLabel,\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 // istanbul ignore next: experimental\n const groupedSuggestions = useMemo(() => {\n if (!suggestions?.length) {\n return [];\n }\n return chunk(suggestions, Math.max(2, Math.ceil(suggestions.length / 2)));\n }, [suggestions]);\n\n // istanbul ignore next: experimental\n const handleSelectSuggestion = useCallback((suggestion: Suggestion) => {\n valueRef.current = suggestion.content;\n setValue(suggestion.content);\n setTimeout(() => {\n textareaRef.current?.focus();\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={3}\n paddingSize={62}\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 <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 {\n // istanbul ignore next: experimental\n !!groupedSuggestions?.length && (\n <div className=\"suggestions\">\n <div className=\"heading\">\n <img\n className=\"icon\"\n src={tips as unknown as string}\n width={16}\n height={16}\n />\n <span>{suggestionsLabel ?? t(K.COMMON_TASKS)}</span>\n </div>\n {groupedSuggestions.map((group, index) => (\n <SuggestionCarousel\n key={index}\n suggestions={group}\n pixelPerSecond={(index + 2) * 10}\n onSelect={handleSelectSuggestion}\n />\n ))}\n </div>\n )\n }\n </div>\n );\n}\n\nexport interface SuggestionCarouselProps {\n suggestions: Suggestion[];\n pixelPerSecond: number;\n onSelect: (suggestion: Suggestion) => void;\n}\n\n// istanbul ignore next: experimental\nfunction SuggestionCarousel({\n suggestions,\n pixelPerSecond,\n onSelect,\n}: SuggestionCarouselProps) {\n const carouselRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLUListElement>(null);\n const [x, setX] = useState(0);\n\n // Auto scroll suggestions infinitely.\n // Stop scrolling when mouse enter, and resume when mouse leave.\n useEffect(() => {\n const carousel = carouselRef.current;\n const list = listRef.current;\n\n if (!carousel || !list) {\n return;\n }\n\n let previousTimestamp: number | undefined;\n let currentTimestamp: number | undefined;\n let offsetTime = 0;\n let start: number | undefined;\n let timer: number;\n\n // We doubled the suggestions to make it scroll infinitely.\n const gap = 7;\n const listSingleWidth = (list.offsetWidth - gap) / 2;\n const mod = listSingleWidth + gap;\n\n function step(timestamp: number) {\n currentTimestamp = timestamp;\n if (start === undefined) {\n start = timestamp;\n }\n if (previousTimestamp !== undefined) {\n offsetTime += timestamp - previousTimestamp;\n previousTimestamp = undefined;\n }\n const elapsed = timestamp - start - offsetTime;\n setX(((elapsed / 1000) * pixelPerSecond) % mod);\n timer = requestAnimationFrame(step);\n }\n\n timer = requestAnimationFrame(step);\n\n const onMouseEnter = () => {\n cancelAnimationFrame(timer);\n previousTimestamp = currentTimestamp;\n };\n const onMouseLeave = () => {\n timer = requestAnimationFrame(step);\n };\n\n carousel.addEventListener(\"mouseenter\", onMouseEnter);\n carousel.addEventListener(\"mouseleave\", onMouseLeave);\n\n return () => {\n cancelAnimationFrame(timer);\n carousel.removeEventListener(\"mouseenter\", onMouseEnter);\n carousel.removeEventListener(\"mouseleave\", onMouseLeave);\n };\n }, [suggestions, pixelPerSecond]);\n\n return (\n <div className=\"carousel\" ref={carouselRef}>\n <ul\n className=\"list\"\n ref={listRef}\n style={{ transform: `translateX(${-x}px)` }}\n >\n {[...suggestions, ...suggestions].map((item, index) => (\n <li key={index}>\n <div\n className=\"item\"\n onClick={() => onSelect(item)}\n title={item.content}\n >\n <div className=\"title\">{item.title}</div>\n <div className=\"content\">{item.content}</div>\n </div>\n </li>\n ))}\n </ul>\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 { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n TODAY = \"TODAY\",\n YESTERDAY = \"YESTERDAY\",\n PREVIOUS_7_DAYS = \"PREVIOUS_7_DAYS\",\n PREVIOUS_30_DAYS = \"PREVIOUS_30_DAYS\",\n}\n\nconst en: Locale = {\n [K.TODAY]: \"Today\",\n [K.YESTERDAY]: \"Yesterday\",\n [K.PREVIOUS_7_DAYS]: \"Previous 7 days\",\n [K.PREVIOUS_30_DAYS]: \"Previous 30 days\",\n};\n\nconst zh: Locale = {\n [K.TODAY]: \"今天\",\n [K.YESTERDAY]: \"昨天\",\n [K.PREVIOUS_7_DAYS]: \"过去7天\",\n [K.PREVIOUS_30_DAYS]: \"过去30天\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-history\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","// istanbul ignore file: experimental\nimport React, { useMemo, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport moment from \"moment\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n ActionType,\n EoMiniActions,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping,\n EoMiniActionsProps,\n SimpleActionType,\n} from \"@next-bricks/basic/mini-actions\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport type { TaskState } from \"../cruise-canvas/interfaces.js\";\nimport classNames from \"classnames\";\nimport { DONE_STATES } from \"../cruise-canvas/constants.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\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 ChatHistoryProps {\n list?: HistoryItem[];\n actions?: ActionType[];\n}\n\nexport interface HistoryItem {\n id: string;\n url: string;\n title: string;\n startTime: number;\n state?: TaskState;\n}\n\nexport interface ActionClickDetail {\n action: SimpleActionType;\n item: HistoryItem;\n}\n\n/**\n * 构件 `ai-portal.chat-history`\n */\nexport\n@defineElement(\"ai-portal.chat-history\", {\n styleTexts: [styleText],\n})\nclass ChatHistory extends ReactNextElement implements ChatHistoryProps {\n @property({ attribute: false })\n accessor list: HistoryItem[] | 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 <ChatHistoryComponent\n list={this.list}\n actions={this.actions}\n onActionClick={this.#handleActionClick}\n />\n );\n }\n}\n\nexport interface ChatHistoryComponentProps extends ChatHistoryProps {\n onActionClick?: (detail: ActionClickDetail) => void;\n}\n\ninterface GroupedHistory {\n title: string;\n items: HistoryItem[];\n}\n\nexport function ChatHistoryComponent({\n list,\n actions,\n onActionClick,\n}: ChatHistoryComponentProps) {\n const groups = useMemo(() => {\n const groupMap = new Map<string, GroupedHistory>();\n // Group history by\n // - today\n // - yesterday\n // - previous 7 days\n // - previous 30 days\n // - each month this year\n // - each year before.\n const now = moment();\n const startOfDay = now.startOf(\"day\");\n const yesterday = startOfDay.clone().subtract(1, \"day\");\n const sevenDaysAgo = startOfDay.clone().subtract(7, \"days\");\n const thirtyDaysAgo = startOfDay.clone().subtract(30, \"days\");\n const thisYear = now.year();\n\n const timestamps = {\n startOfDay: +startOfDay / 1000,\n yesterday: +yesterday / 1000,\n sevenDaysAgo: +sevenDaysAgo / 1000,\n thirtyDaysAgo: +thirtyDaysAgo / 1000,\n thisYear,\n };\n for (const item of list ?? []) {\n let groupKey: string;\n if (item.startTime >= timestamps.startOfDay) {\n groupKey = t(K.TODAY);\n } else if (item.startTime >= timestamps.yesterday) {\n groupKey = t(K.YESTERDAY);\n } else if (item.startTime >= timestamps.sevenDaysAgo) {\n groupKey = t(K.PREVIOUS_7_DAYS);\n } else if (item.startTime >= timestamps.thirtyDaysAgo) {\n groupKey = t(K.PREVIOUS_30_DAYS);\n } else if (item.startTime >= timestamps.thisYear) {\n groupKey = moment(item.startTime * 1000).format(\"MMMM\");\n } else {\n groupKey = moment(item.startTime * 1000).format(\"YYYY\");\n }\n let group = groupMap.get(groupKey);\n if (!group) {\n groupMap.set(groupKey, (group = { title: groupKey, items: [] }));\n }\n group.items.push(item);\n }\n\n return [...groupMap.values()];\n }, [list]);\n\n const [actionsVisible, setActionsVisible] = useState<string | null>(null);\n\n if (!list) {\n return (\n <div className=\"loading\">\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n );\n }\n\n return (\n <ul>\n {groups.map((group) => (\n <li key={group.title} className=\"group\">\n <div className=\"group-title\">{group.title}</div>\n <ul className=\"items\">\n {group.items.map((item) => (\n <li key={item.id}>\n <WrappedLink\n className={classNames(\"item\", {\n active: actionsVisible === item.id,\n })}\n url={item.url}\n >\n <div className=\"item-title\">{item.title}</div>\n <WrappedMiniActions\n className=\"actions\"\n actions={actions}\n onActionClick={(e) => {\n onActionClick?.({ action: e.detail, item });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(e.detail ? item.id : null);\n }}\n />\n {!DONE_STATES.includes(item.state!) && (\n <div className=\"working\"></div>\n )}\n </WrappedLink>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\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\";\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@2x.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-color:#e1e3ec;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:694px 144px;background-position:top left;background-repeat:no-repeat;box-shadow:inset 0px 2px 5px 1px rgba(42,46,59,0.1);border-radius:20px;padding:12px}.container{position:relative}textarea{display:block;width:100%;padding:10px 16px 52px;color:var(--antd-input-color);background:rgba(255,255,255,0.8);border-radius:14px;-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:130px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.btn-send{position:absolute;bottom:14px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#2540ff;border:none;border-radius:8px;color:#fff}.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}.suggestions{margin-top:19px}.heading{display:flex;align-items:center;padding:0 5px;margin-bottom:8px}.icon{margin-right:5px}.carousel{overflow:hidden}.carousel + .carousel{margin-top:7px}.list{display:flex;width:max-content;list-style:none;margin:0;padding:0;font-size:12px}.item{background:rgba(255,255,255,0.4);border-radius:12px;border:1px solid #dcdee6;padding:12px;max-width:330px;cursor:pointer}.item:hover{background:rgba(255,255,255,0.5);border:1px solid rgba(37,64,255,0.3)}.list > li + li{margin-left:7px}.title{margin-bottom:4px}.content{color:rgba(0,0,0,0.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip{display:block}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","initializeI18n","NS","locales","defineElement","property","event","method","createDecorators","MemoizedNodeComponent","memo","NodeComponent","CruiseCanvasComponent","forwardRef","LegacyCruiseCanvasComponent","_CruiseCanvas","_A","WeakMap","_B","_C","_D","_E","_CruiseCanvas_brand","WeakSet","_onShare","_F","_onPause","_G","_onResume","_H","_onCancel","_ref","CruiseCanvas","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_taskId","_init_extra_taskId","_init_task","_init_extra_task","_init_jobs","_init_extra_jobs","_init_goBackUrl","_init_extra_goBackUrl","_init_shareEvent","_init_extra_shareEvent","_classPrivateGetter","this","_get_shareEvent","emit","_init_pauseEvent","_init_extra_pauseEvent","_get_pauseEvent","_init_resumeEvent","_init_extra_resumeEvent","_get_resumeEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","createRef","taskId","_classPrivateFieldGet","v","_classPrivateFieldSet","task","jobs","goBackUrl","resumed","_classPrivateFieldGet2","current","render","React","onShare","onPause","onResume","onCancel","ref","_ref2","_task$title","propTask","propJobs","rootRef","useRef","_task","_jobs","plan","_plan","error","humanInputRef","resumedRef","useTaskDetail","graph","useTaskGraph","rawNodes","nodes","rawEdges","edges","pageTitle","title","taskState","state","useImperativeHandle","_resumedRef$current","call","useEffect","getRuntime","applyPageTitle","handleHttpError","humanInput","useCallback","jobId","input","_humanInputRef$curren","sizeMap","setSizeMap","useState","onNodeResize","size","prev","newMap","Map","delete","set","sizeReady","useLayout","grabbing","transform","transformRef","zoomer","useZoom","zoomable","scrollable","pannable","centered","setCentered","reCenterRef","useAutoCenter","taskLoading","DONE_STATES","includes","length","nonLeafNodes","useMemo","Set","map","edge","source","bottom","leafNodes","node","has","Math","max","view","y","height","bottomRef","manualScrolledUpRef","root","offsetHeight","transformedBottom","k","diffY","CANVAS_PADDING_BOTTOM","translateBy","select","handleReCenter","handleScaleChange","scale","scaleTo","activeToolCallJobId","setActiveToolCallJobId","canvasContextValue","activeToolCallJob","find","job","CanvasContext","Provider","value","className","classNames","styles","loading","style","cursor","WrappedIcon","lib","theme","icon","spinning","canvas","ready","x","key","target","d","points","_ref3","i","join","_node$state","_node$view","_node$view2","type","content","startTime","instructionLoading","GENERAL_DONE_STATES","widgets","WrappedLink","url","prefix","PlanProgress","ZoomBar","onScaleChange","onReCenter","ToolCallDetail","_ref4","nodeRef","useContext","element","observer","ResizeObserver","offsetWidth","observe","disconnect","handleMouseDown","e","stopPropagation","addEventListener","removeEventListener","left","top","NodeStart","NodeEnd","NodeRequirement","NodeInstruction","instruction","NodeJob","_CruiseCanvas2","_set_shareEvent","_set_pauseEvent","_set_resumeEvent","_set_cancelEvent","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","_checkInRHS","K","en","ASK_ANY_THING","COMMON_TASKS","zh","t","i18n","getFixedT","wrapBrick","_ChatBox","_ChatBox_brand","_handleMessageSubmit","ChatBox","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_suggestions","_init_extra_suggestions","_init_suggestionsLabel","_init_extra_suggestionsLabel","_init_messageSubmit","_init_extra_messageSubmit","_get_messageSubmit","disabled","placeholder","autoFocus","suggestions","suggestionsLabel","ChatBoxComponent","onSubmit","containerRef","textareaRef","setValue","valueRef","handleSubmit","currentTarget","handleChange","handleSubmitClick","Promise","resolve","then","_textareaRef$current","focus","groupedSuggestions","chunk","ceil","handleSelectSuggestion","suggestion","setTimeout","_textareaRef$current2","TextareaAutoResize","minRows","paddingSize","autoResize","submitWhen","onChange","onClick","src","tips","width","group","index","SuggestionCarousel","pixelPerSecond","onSelect","carouselRef","listRef","setX","carousel","list","previousTimestamp","currentTimestamp","start","timer","offsetTime","mod","step","timestamp","undefined","requestAnimationFrame","onMouseEnter","cancelAnimationFrame","onMouseLeave","item","_ChatBox2","_set_messageSubmit","styleTexts","styleText","Boolean","_HomeContainer","HomeContainer","HomeContainerComponent","_HomeContainer2","TODAY","YESTERDAY","PREVIOUS_7_DAYS","PREVIOUS_30_DAYS","WrappedMiniActions","onActionClick","onVisibleChange","_ChatHistory","_ChatHistory_brand","_handleActionClick","ChatHistory","_init_list","_init_extra_list","_init_actions","_init_extra_actions","_init_actionClick","_init_extra_actionClick","detail","_get_actionClick","actions","ChatHistoryComponent","groups","groupMap","now","moment","startOfDay","startOf","yesterday","clone","subtract","sevenDaysAgo","thirtyDaysAgo","timestamps","year","groupKey","format","get","items","values","actionsVisible","setActionsVisible","active","action","_ChatHistory2","_set_actionClick"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7301.1c3022f3.js","mappings":"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","sources":["webpack:///./src/chat-history/styles.shadow.css","webpack:///./src/home-container/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/chat-history/i18n.ts","webpack:///./src/chat-history/index.tsx","webpack:///./src/chat-box/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}:host([hidden]){display:none}*{box-sizing:border-box}ul{list-style:none;margin:0;padding:0}.loading{display:flex;justify-content:center;padding:8px}.group + .group{margin-top:15px}.group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.item{display:block}.item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.item::part(link):hover{background:rgba(0,0,0,0.04)}.item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.actions{cursor:auto}.item:not(:hover):not(.active) .actions{display:none}.working{width:8px;height:8px;border-radius:8px;background:#2540ff;margin:0 7px}.item:hover .working,\n.item.active .working{display:none}`, \"\"]);\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;background-color:#fff;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}:host([hidden]){display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// istanbul ignore file: experimental\nimport React, {\n createRef,\n forwardRef,\n memo,\n useCallback,\n useContext,\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 { getRuntime, handleHttpError } from \"@next-core/runtime\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport classNames from \"classnames\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport { select } from \"d3-selection\";\nimport { NS, locales } from \"./i18n.js\";\nimport styles from \"./styles.module.css\";\nimport { useZoom } from \"./useZoom.js\";\nimport type {\n SizeTuple,\n GraphNode,\n Job,\n RequirementGraphNode,\n JobGraphNode,\n TaskBaseDetail,\n GraphEdge,\n} from \"./interfaces.js\";\nimport { useAutoCenter } from \"./useAutoCenter.js\";\nimport { useLayout } from \"./useLayout.js\";\nimport { useTaskDetail } from \"./useTaskDetail.js\";\nimport { useTaskGraph } from \"./useTaskGraph.js\";\nimport { PlanProgress } from \"./PlanProgress/PlanProgress.js\";\nimport { ZoomBar } from \"./ZoomBar/ZoomBar.js\";\nimport { NodeStart } from \"./NodeStart/NodeStart.js\";\nimport { NodeRequirement } from \"./NodeRequirement/NodeRequirement.js\";\nimport { NodeInstruction } from \"./NodeInstruction/NodeInstruction.js\";\nimport { NodeJob } from \"./NodeJob/NodeJob.js\";\nimport { NodeEnd } from \"./NodeEnd/NodeEnd.js\";\nimport {\n CANVAS_PADDING_BOTTOM,\n DONE_STATES,\n GENERAL_DONE_STATES,\n} from \"./constants.js\";\nimport { WrappedIcon, WrappedLink } from \"./bricks.js\";\nimport { CanvasContext } from \"./CanvasContext.js\";\nimport { ToolCallDetail } from \"./ToolCallDetail/ToolCallDetail.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst MemoizedNodeComponent = memo(NodeComponent);\n\nexport interface CruiseCanvasProps {\n taskId?: string;\n task?: TaskBaseDetail;\n jobs?: Job[];\n goBackUrl?: string;\n}\n\nconst CruiseCanvasComponent = forwardRef(LegacyCruiseCanvasComponent);\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 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 @property()\n accessor goBackUrl: string | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n @event({ type: \"pause\" })\n accessor #pauseEvent!: EventEmitter<void>;\n\n #onPause = () => {\n this.#pauseEvent.emit();\n };\n\n @event({ type: \"resume\" })\n accessor #resumeEvent!: EventEmitter<void>;\n\n #onResume = () => {\n this.#resumeEvent.emit();\n };\n\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #onCancel = () => {\n this.#cancelEvent.emit();\n };\n\n #ref = createRef<CruiseCanvasRef>();\n\n @method()\n resumed() {\n this.#ref.current?.resumed();\n }\n\n render() {\n return (\n <CruiseCanvasComponent\n taskId={this.taskId}\n jobs={this.jobs}\n task={this.task}\n goBackUrl={this.goBackUrl}\n onShare={this.#onShare}\n onPause={this.#onPause}\n onResume={this.#onResume}\n onCancel={this.#onCancel}\n ref={this.#ref}\n />\n );\n }\n}\n\ninterface CruiseCanvasComponentProps extends CruiseCanvasProps {\n onShare: () => void;\n onPause: () => void;\n onResume: () => void;\n onCancel: () => void;\n}\n\ninterface CruiseCanvasRef {\n resumed: () => void;\n}\n\nfunction LegacyCruiseCanvasComponent(\n {\n taskId,\n task: propTask,\n jobs: propJobs,\n goBackUrl,\n onShare,\n onPause,\n onResume,\n onCancel,\n }: CruiseCanvasComponentProps,\n ref: React.Ref<CruiseCanvasRef>\n) {\n const rootRef = useRef<HTMLDivElement>(null);\n const {\n task: _task,\n jobs: _jobs,\n plan: _plan,\n error,\n humanInputRef,\n resumedRef,\n } = useTaskDetail(taskId);\n const task = taskId ? _task : propTask;\n const jobs = taskId ? _jobs : propJobs;\n const plan = taskId ? _plan : propTask?.plan;\n const graph = useTaskGraph(task, jobs);\n const rawNodes = graph?.nodes;\n const rawEdges = graph?.edges;\n const pageTitle = task?.title ?? \"\";\n const taskState = task?.state;\n\n useImperativeHandle(\n ref,\n () => ({\n resumed: () => resumedRef.current?.(),\n }),\n [resumedRef]\n );\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 [sizeMap, setSizeMap] = useState<Map<string, SizeTuple> | null>(null);\n const onNodeResize = useCallback((id: string, size: SizeTuple | null) => {\n // Handle resize logic here\n setSizeMap((prev) => {\n if (!size) {\n if (!prev) {\n return null;\n }\n const newMap = new Map(prev);\n const deleted = newMap.delete(id);\n return deleted ? newMap : prev;\n }\n return prev ? new Map(prev).set(id, size) : new Map([[id, size]]);\n });\n }, []);\n\n const { sizeReady, nodes, edges } = useLayout({\n rawNodes,\n rawEdges,\n state: taskState,\n sizeMap,\n });\n\n const { grabbing, transform, transformRef, zoomer /* , scaleRange */ } =\n useZoom({\n rootRef,\n zoomable: sizeReady,\n scrollable: sizeReady,\n pannable: sizeReady,\n });\n\n const { centered, setCentered, reCenterRef } = useAutoCenter({\n nodes,\n sizeReady,\n zoomer,\n rootRef,\n });\n\n const taskDone = DONE_STATES.includes(taskState ?? \"working\");\n const taskLoading = !taskDone && nodes.length === 2;\n\n const nonLeafNodes = useMemo(() => {\n return new Set<string>(edges.map((edge) => edge.source));\n }, [edges]);\n\n const bottom = useMemo(() => {\n if (!sizeReady) {\n return null;\n }\n\n const leafNodes: GraphNode[] = [];\n for (const node of nodes) {\n if (!nonLeafNodes.has(node.id)) {\n leafNodes.push(node);\n }\n }\n if (leafNodes.length > 0) {\n const y1 = Math.max(\n ...leafNodes.map((node) => node.view!.y + node.view!.height)\n );\n return y1;\n }\n\n return null;\n }, [nodes, nonLeafNodes, sizeReady]);\n\n const bottomRef = useRef<number | null>(null);\n useEffect(() => {\n bottomRef.current = bottom;\n }, [bottom]);\n\n // Disable auto scroll when the user manually scrolled up\n const manualScrolledUpRef = useRef(false);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || bottom === null || manualScrolledUpRef.current) {\n return;\n }\n const { offsetHeight } = root;\n const transform = transformRef.current;\n const transformedBottom = bottom * transform.k + transform.y;\n const diffY = offsetHeight - CANVAS_PADDING_BOTTOM - transformedBottom;\n if (diffY < 0) {\n // Make the latest node visible\n zoomer.translateBy(select(rootRef.current!), 0, diffY);\n }\n }, [bottom, transformRef, zoomer]);\n\n // Detect if the user scrolled up manually\n useEffect(() => {\n const bottom = bottomRef.current;\n const root = rootRef.current;\n if (!root || bottom === null) {\n return;\n }\n const { offsetHeight } = root;\n const transformedBottom = bottom * transform.k + transform.y;\n\n const diffY = offsetHeight - CANVAS_PADDING_BOTTOM - transformedBottom;\n manualScrolledUpRef.current = diffY < 0;\n }, [transform, zoomer]);\n\n const handleReCenter = useCallback(() => {\n reCenterRef.current = true;\n setCentered(false);\n }, [reCenterRef, setCentered]);\n\n const handleScaleChange = useCallback(\n (scale: number) => {\n zoomer.scaleTo(select(rootRef.current!), scale);\n },\n [zoomer]\n );\n\n const [activeToolCallJobId, setActiveToolCallJobId] = useState<string | null>(\n null\n );\n\n const canvasContextValue = useMemo(\n () => ({\n humanInput,\n onShare,\n onPause,\n onResume,\n onCancel,\n onNodeResize,\n activeToolCallJobId,\n setActiveToolCallJobId,\n }),\n [\n activeToolCallJobId,\n onNodeResize,\n humanInput,\n onShare,\n onPause,\n onResume,\n onCancel,\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 <CanvasContext.Provider value={canvasContextValue}>\n <div\n className={classNames(styles.root, { [styles.loading]: !task })}\n ref={rootRef}\n style={{\n cursor: grabbing ? \"grabbing\" : \"grab\",\n }}\n >\n {!task && (\n <div className={styles[\"loading-icon\"]}>\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n )}\n <div\n className={classNames(styles.canvas, {\n [styles.ready]: sizeReady && centered,\n })}\n style={{\n transform: `translate3d(${transform.x}px, ${transform.y}px, 0) scale(${transform.k})`,\n }}\n >\n <svg className={styles.edges}>\n {edges.map((edge) => (\n <path\n className={styles.edge}\n key={`${edge.source}-${edge.target}`}\n d={edge\n .points!.map(\n ({ x, y }, i) => `${i === 0 ? \"M\" : \"L\"}${x},${y}`\n )\n .join(\" \")}\n />\n ))}\n </svg>\n {nodes.map((node) => (\n <MemoizedNodeComponent\n key={node.id}\n id={node.id}\n type={node.type}\n content={(node as RequirementGraphNode).content}\n job={(node as JobGraphNode).job}\n state={node.state}\n startTime={task?.startTime}\n taskLoading={taskLoading}\n instructionLoading={\n node.type === \"instruction\" &&\n !nonLeafNodes.has(node.id) &&\n !DONE_STATES.includes(node.state ?? \"working\") &&\n !GENERAL_DONE_STATES.includes(taskState ?? \"working\")\n }\n edges={edges}\n x={node.view?.x}\n y={node.view?.y}\n />\n ))}\n </div>\n </div>\n <div className={styles.widgets}>\n {goBackUrl && (\n <WrappedLink className={styles[\"go-back\"]} url={goBackUrl}>\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-left-long\" />\n </WrappedLink>\n )}\n <PlanProgress plan={plan} state={taskState} />\n <ZoomBar\n scale={transform.k}\n onScaleChange={handleScaleChange}\n onReCenter={handleReCenter}\n />\n </div>\n {activeToolCallJob && <ToolCallDetail job={activeToolCallJob} />}\n </CanvasContext.Provider>\n );\n}\n\ninterface NodeComponentProps {\n id: string;\n type: GraphNode[\"type\"];\n edges: GraphEdge[];\n content?: string;\n job?: Job;\n state?: string;\n startTime?: number;\n taskLoading?: boolean;\n instructionLoading?: boolean;\n x?: number;\n y?: number;\n}\n\nfunction NodeComponent({\n id,\n type,\n state,\n job,\n content,\n startTime,\n taskLoading,\n instructionLoading,\n x,\n y,\n}: NodeComponentProps) {\n const nodeRef = useRef<HTMLDivElement>(null);\n const { onNodeResize } = useContext(CanvasContext);\n\n useEffect(() => {\n const element = nodeRef.current;\n if (!element) {\n return;\n }\n const observer = new ResizeObserver(() => {\n onNodeResize(id, [element.offsetWidth, element.offsetHeight]);\n });\n observer.observe(element);\n return () => {\n observer.disconnect();\n onNodeResize(id, null);\n };\n }, [id, onNodeResize]);\n\n useEffect(() => {\n const element = nodeRef.current;\n if (!element) {\n return;\n }\n const handleMouseDown = (e: MouseEvent) => {\n e.stopPropagation();\n };\n element.addEventListener(\"mousedown\", handleMouseDown);\n return () => {\n element.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, []);\n\n return (\n <div\n className={classNames(styles.node, {\n [styles.ready]: x != null && y != null,\n })}\n ref={nodeRef}\n style={{\n left: x,\n top: y,\n }}\n >\n {type === \"start\" ? (\n <NodeStart />\n ) : type === \"end\" ? (\n <NodeEnd />\n ) : type === \"requirement\" ? (\n <NodeRequirement\n content={content}\n startTime={startTime}\n loading={taskLoading}\n />\n ) : type === \"instruction\" ? (\n <NodeInstruction\n content={job!.instruction}\n loading={instructionLoading}\n />\n ) : (\n <NodeJob state={state} job={job!} />\n )}\n </div>\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, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} 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 { chunk } from \"lodash\";\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 tips from \"./images/tips.svg\";\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 suggestions?: Suggestion[];\n suggestionsLabel?: string;\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 @property({ attribute: false })\n accessor suggestions: Suggestion[] | undefined;\n\n @property()\n accessor suggestionsLabel: string | 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 suggestions={this.suggestions}\n suggestionsLabel={this.suggestionsLabel}\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 suggestions,\n suggestionsLabel,\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 // istanbul ignore next: experimental\n const groupedSuggestions = useMemo(() => {\n if (!suggestions?.length) {\n return [];\n }\n return chunk(suggestions, Math.max(2, Math.ceil(suggestions.length / 2)));\n }, [suggestions]);\n\n // istanbul ignore next: experimental\n const handleSelectSuggestion = useCallback((suggestion: Suggestion) => {\n valueRef.current = suggestion.content;\n setValue(suggestion.content);\n setTimeout(() => {\n textareaRef.current?.focus();\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={3}\n paddingSize={62}\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 <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 {\n // istanbul ignore next: experimental\n !!groupedSuggestions?.length && (\n <div className=\"suggestions\">\n <div className=\"heading\">\n <img\n className=\"icon\"\n src={tips as unknown as string}\n width={16}\n height={16}\n />\n <span>{suggestionsLabel ?? t(K.COMMON_TASKS)}</span>\n </div>\n {groupedSuggestions.map((group, index) => (\n <SuggestionCarousel\n key={index}\n suggestions={group}\n pixelPerSecond={(index + 2) * 10}\n onSelect={handleSelectSuggestion}\n />\n ))}\n </div>\n )\n }\n </div>\n );\n}\n\nexport interface SuggestionCarouselProps {\n suggestions: Suggestion[];\n pixelPerSecond: number;\n onSelect: (suggestion: Suggestion) => void;\n}\n\n// istanbul ignore next: experimental\nfunction SuggestionCarousel({\n suggestions,\n pixelPerSecond,\n onSelect,\n}: SuggestionCarouselProps) {\n const carouselRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLUListElement>(null);\n const [x, setX] = useState(0);\n\n // Auto scroll suggestions infinitely.\n // Stop scrolling when mouse enter, and resume when mouse leave.\n useEffect(() => {\n const carousel = carouselRef.current;\n const list = listRef.current;\n\n if (!carousel || !list) {\n return;\n }\n\n let previousTimestamp: number | undefined;\n let currentTimestamp: number | undefined;\n let offsetTime = 0;\n let start: number | undefined;\n let timer: number;\n\n // We doubled the suggestions to make it scroll infinitely.\n const gap = 7;\n const listSingleWidth = (list.offsetWidth - gap) / 2;\n const mod = listSingleWidth + gap;\n\n function step(timestamp: number) {\n currentTimestamp = timestamp;\n if (start === undefined) {\n start = timestamp;\n }\n if (previousTimestamp !== undefined) {\n offsetTime += timestamp - previousTimestamp;\n previousTimestamp = undefined;\n }\n const elapsed = timestamp - start - offsetTime;\n setX(((elapsed / 1000) * pixelPerSecond) % mod);\n timer = requestAnimationFrame(step);\n }\n\n timer = requestAnimationFrame(step);\n\n const onMouseEnter = () => {\n cancelAnimationFrame(timer);\n previousTimestamp = currentTimestamp;\n };\n const onMouseLeave = () => {\n timer = requestAnimationFrame(step);\n };\n\n carousel.addEventListener(\"mouseenter\", onMouseEnter);\n carousel.addEventListener(\"mouseleave\", onMouseLeave);\n\n return () => {\n cancelAnimationFrame(timer);\n carousel.removeEventListener(\"mouseenter\", onMouseEnter);\n carousel.removeEventListener(\"mouseleave\", onMouseLeave);\n };\n }, [suggestions, pixelPerSecond]);\n\n return (\n <div className=\"carousel\" ref={carouselRef}>\n <ul\n className=\"list\"\n ref={listRef}\n style={{ transform: `translateX(${-x}px)` }}\n >\n {[...suggestions, ...suggestions].map((item, index) => (\n <li key={index}>\n <div\n className=\"item\"\n onClick={() => onSelect(item)}\n title={item.content}\n >\n <div className=\"title\">{item.title}</div>\n <div className=\"content\">{item.content}</div>\n </div>\n </li>\n ))}\n </ul>\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 { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n TODAY = \"TODAY\",\n YESTERDAY = \"YESTERDAY\",\n PREVIOUS_7_DAYS = \"PREVIOUS_7_DAYS\",\n PREVIOUS_30_DAYS = \"PREVIOUS_30_DAYS\",\n}\n\nconst en: Locale = {\n [K.TODAY]: \"Today\",\n [K.YESTERDAY]: \"Yesterday\",\n [K.PREVIOUS_7_DAYS]: \"Previous 7 days\",\n [K.PREVIOUS_30_DAYS]: \"Previous 30 days\",\n};\n\nconst zh: Locale = {\n [K.TODAY]: \"今天\",\n [K.YESTERDAY]: \"昨天\",\n [K.PREVIOUS_7_DAYS]: \"过去7天\",\n [K.PREVIOUS_30_DAYS]: \"过去30天\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-history\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","// istanbul ignore file: experimental\nimport React, { useMemo, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport moment from \"moment\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n ActionType,\n EoMiniActions,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping,\n EoMiniActionsProps,\n SimpleActionType,\n} from \"@next-bricks/basic/mini-actions\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport type { TaskState } from \"../cruise-canvas/interfaces.js\";\nimport classNames from \"classnames\";\nimport { DONE_STATES } from \"../cruise-canvas/constants.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\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 ChatHistoryProps {\n list?: HistoryItem[];\n actions?: ActionType[];\n}\n\nexport interface HistoryItem {\n id: string;\n url: string;\n title: string;\n startTime: number;\n state?: TaskState;\n}\n\nexport interface ActionClickDetail {\n action: SimpleActionType;\n item: HistoryItem;\n}\n\n/**\n * 构件 `ai-portal.chat-history`\n */\nexport\n@defineElement(\"ai-portal.chat-history\", {\n styleTexts: [styleText],\n})\nclass ChatHistory extends ReactNextElement implements ChatHistoryProps {\n @property({ attribute: false })\n accessor list: HistoryItem[] | 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 <ChatHistoryComponent\n list={this.list}\n actions={this.actions}\n onActionClick={this.#handleActionClick}\n />\n );\n }\n}\n\nexport interface ChatHistoryComponentProps extends ChatHistoryProps {\n onActionClick?: (detail: ActionClickDetail) => void;\n}\n\ninterface GroupedHistory {\n title: string;\n items: HistoryItem[];\n}\n\nexport function ChatHistoryComponent({\n list,\n actions,\n onActionClick,\n}: ChatHistoryComponentProps) {\n const groups = useMemo(() => {\n const groupMap = new Map<string, GroupedHistory>();\n // Group history by\n // - today\n // - yesterday\n // - previous 7 days\n // - previous 30 days\n // - each month this year\n // - each year before.\n const now = moment();\n const startOfDay = now.startOf(\"day\");\n const yesterday = startOfDay.clone().subtract(1, \"day\");\n const sevenDaysAgo = startOfDay.clone().subtract(7, \"days\");\n const thirtyDaysAgo = startOfDay.clone().subtract(30, \"days\");\n const thisYear = now.year();\n\n const timestamps = {\n startOfDay: +startOfDay / 1000,\n yesterday: +yesterday / 1000,\n sevenDaysAgo: +sevenDaysAgo / 1000,\n thirtyDaysAgo: +thirtyDaysAgo / 1000,\n thisYear,\n };\n for (const item of list ?? []) {\n let groupKey: string;\n if (item.startTime >= timestamps.startOfDay) {\n groupKey = t(K.TODAY);\n } else if (item.startTime >= timestamps.yesterday) {\n groupKey = t(K.YESTERDAY);\n } else if (item.startTime >= timestamps.sevenDaysAgo) {\n groupKey = t(K.PREVIOUS_7_DAYS);\n } else if (item.startTime >= timestamps.thirtyDaysAgo) {\n groupKey = t(K.PREVIOUS_30_DAYS);\n } else if (item.startTime >= timestamps.thisYear) {\n groupKey = moment(item.startTime * 1000).format(\"MMMM\");\n } else {\n groupKey = moment(item.startTime * 1000).format(\"YYYY\");\n }\n let group = groupMap.get(groupKey);\n if (!group) {\n groupMap.set(groupKey, (group = { title: groupKey, items: [] }));\n }\n group.items.push(item);\n }\n\n return [...groupMap.values()];\n }, [list]);\n\n const [actionsVisible, setActionsVisible] = useState<string | null>(null);\n\n if (!list) {\n return (\n <div className=\"loading\">\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n );\n }\n\n return (\n <ul>\n {groups.map((group) => (\n <li key={group.title} className=\"group\">\n <div className=\"group-title\">{group.title}</div>\n <ul className=\"items\">\n {group.items.map((item) => (\n <li key={item.id}>\n <WrappedLink\n className={classNames(\"item\", {\n active: actionsVisible === item.id,\n })}\n url={item.url}\n >\n <div className=\"item-title\">{item.title}</div>\n <WrappedMiniActions\n className=\"actions\"\n actions={actions}\n onActionClick={(e) => {\n onActionClick?.({ action: e.detail, item });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(e.detail ? item.id : null);\n }}\n />\n {!DONE_STATES.includes(item.state!) && (\n <div className=\"working\"></div>\n )}\n </WrappedLink>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\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\";\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@2x.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-color:#e1e3ec;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:694px 144px;background-position:top left;background-repeat:no-repeat;box-shadow:inset 0px 2px 5px 1px rgba(42,46,59,0.1);border-radius:20px;padding:12px}.container{position:relative}textarea{display:block;width:100%;padding:10px 16px 52px;color:var(--antd-input-color);background:rgba(255,255,255,0.8);border-radius:14px;-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:130px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.btn-send{position:absolute;bottom:14px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#2540ff;border:none;border-radius:8px;color:#fff}.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}.suggestions{margin-top:19px}.heading{display:flex;align-items:center;padding:0 5px;margin-bottom:8px}.icon{margin-right:5px}.carousel{overflow:hidden}.carousel + .carousel{margin-top:7px}.list{display:flex;width:max-content;list-style:none;margin:0;padding:0;font-size:12px}.item{background:rgba(255,255,255,0.4);border-radius:12px;border:1px solid #dcdee6;padding:12px;max-width:330px;cursor:pointer}.item:hover{background:rgba(255,255,255,0.5);border:1px solid rgba(37,64,255,0.3)}.list > li + li{margin-left:7px}.title{margin-bottom:4px}.content{color:rgba(0,0,0,0.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip{display:block}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","initializeI18n","NS","locales","defineElement","property","event","method","createDecorators","MemoizedNodeComponent","memo","NodeComponent","CruiseCanvasComponent","forwardRef","LegacyCruiseCanvasComponent","_CruiseCanvas","_A","WeakMap","_B","_C","_D","_E","_CruiseCanvas_brand","WeakSet","_onShare","_F","_onPause","_G","_onResume","_H","_onCancel","_ref","CruiseCanvas","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_taskId","_init_extra_taskId","_init_task","_init_extra_task","_init_jobs","_init_extra_jobs","_init_goBackUrl","_init_extra_goBackUrl","_init_shareEvent","_init_extra_shareEvent","_classPrivateGetter","this","_get_shareEvent","emit","_init_pauseEvent","_init_extra_pauseEvent","_get_pauseEvent","_init_resumeEvent","_init_extra_resumeEvent","_get_resumeEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","createRef","taskId","_classPrivateFieldGet","v","_classPrivateFieldSet","task","jobs","goBackUrl","resumed","_classPrivateFieldGet2","current","render","React","onShare","onPause","onResume","onCancel","ref","_ref2","_task$title","propTask","propJobs","rootRef","useRef","_task","_jobs","plan","_plan","error","humanInputRef","resumedRef","useTaskDetail","graph","useTaskGraph","rawNodes","nodes","rawEdges","edges","pageTitle","title","taskState","state","useImperativeHandle","_resumedRef$current","call","useEffect","getRuntime","applyPageTitle","handleHttpError","humanInput","useCallback","jobId","input","_humanInputRef$curren","sizeMap","setSizeMap","useState","onNodeResize","size","prev","newMap","Map","delete","set","sizeReady","useLayout","grabbing","transform","transformRef","zoomer","useZoom","zoomable","scrollable","pannable","centered","setCentered","reCenterRef","useAutoCenter","taskLoading","DONE_STATES","includes","length","nonLeafNodes","useMemo","Set","map","edge","source","bottom","leafNodes","node","has","Math","max","view","y","height","bottomRef","manualScrolledUpRef","root","offsetHeight","transformedBottom","k","diffY","CANVAS_PADDING_BOTTOM","translateBy","select","handleReCenter","handleScaleChange","scale","scaleTo","activeToolCallJobId","setActiveToolCallJobId","canvasContextValue","activeToolCallJob","find","job","CanvasContext","Provider","value","className","classNames","styles","loading","style","cursor","WrappedIcon","lib","theme","icon","spinning","canvas","ready","x","key","target","d","points","_ref3","i","join","_node$state","_node$view","_node$view2","type","content","startTime","instructionLoading","GENERAL_DONE_STATES","widgets","WrappedLink","url","prefix","PlanProgress","ZoomBar","onScaleChange","onReCenter","ToolCallDetail","_ref4","nodeRef","useContext","element","observer","ResizeObserver","offsetWidth","observe","disconnect","handleMouseDown","e","stopPropagation","addEventListener","removeEventListener","left","top","NodeStart","NodeEnd","NodeRequirement","NodeInstruction","instruction","NodeJob","_CruiseCanvas2","_set_shareEvent","_set_pauseEvent","_set_resumeEvent","_set_cancelEvent","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","_checkInRHS","K","en","ASK_ANY_THING","COMMON_TASKS","zh","t","i18n","getFixedT","wrapBrick","_ChatBox","_ChatBox_brand","_handleMessageSubmit","ChatBox","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_suggestions","_init_extra_suggestions","_init_suggestionsLabel","_init_extra_suggestionsLabel","_init_messageSubmit","_init_extra_messageSubmit","_get_messageSubmit","disabled","placeholder","autoFocus","suggestions","suggestionsLabel","ChatBoxComponent","onSubmit","containerRef","textareaRef","setValue","valueRef","handleSubmit","currentTarget","handleChange","handleSubmitClick","Promise","resolve","then","_textareaRef$current","focus","groupedSuggestions","chunk","ceil","handleSelectSuggestion","suggestion","setTimeout","_textareaRef$current2","TextareaAutoResize","minRows","paddingSize","autoResize","submitWhen","onChange","onClick","src","tips","width","group","index","SuggestionCarousel","pixelPerSecond","onSelect","carouselRef","listRef","setX","carousel","list","previousTimestamp","currentTimestamp","start","timer","offsetTime","mod","step","timestamp","undefined","requestAnimationFrame","onMouseEnter","cancelAnimationFrame","onMouseLeave","item","_ChatBox2","_set_messageSubmit","styleTexts","styleText","Boolean","_HomeContainer","HomeContainer","HomeContainerComponent","_HomeContainer2","TODAY","YESTERDAY","PREVIOUS_7_DAYS","PREVIOUS_30_DAYS","WrappedMiniActions","onActionClick","onVisibleChange","_ChatHistory","_ChatHistory_brand","_handleActionClick","ChatHistory","_init_list","_init_extra_list","_init_actions","_init_extra_actions","_init_actionClick","_init_extra_actionClick","detail","_get_actionClick","actions","ChatHistoryComponent","groups","groupMap","now","moment","startOfDay","startOf","yesterday","clone","subtract","sevenDaysAgo","thirtyDaysAgo","timestamps","year","groupKey","format","get","items","values","actionsVisible","setActionsVisible","active","action","_ChatHistory2","_set_actionClick"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[114,7733],{114:(t,e,n)=>{n.r(e),n.d(e,{ReactNextElement:()=>p,wrapBrick:()=>v,wrapLocalBrick:()=>y});var r=n(4635),s=n(918),o=n(2559),i=n(6121),a=n(829),c=n(8769),l=n(5873),h=n(9435),d=n(
|
|
2
|
-
//# sourceMappingURL=7733.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[114,7733],{114:(t,e,n)=>{n.r(e),n.d(e,{ReactNextElement:()=>p,wrapBrick:()=>v,wrapLocalBrick:()=>y});var r=n(4635),s=n(918),o=n(2559),i=n(6121),a=n(829),c=n(8769),l=n(5873),h=n(9435),d=n(7921),u=new WeakMap,f=new WeakSet;class p extends d.NextElement{constructor(){super(...arguments),(0,r.A)(this,f),(0,s.A)(this,u,void 0)}connectedCallback(){super._markConnectedCallbackCalled(),(0,o.A)(f,this,A).call(this),this._render()}disconnectedCallback(){var t;null===(t=(0,a.A)(u,this))||void 0===t||t.render(null)}_render(){const t=()=>{if(!this.isConnected||!(0,a.A)(u,this))return;const t=this.constructor;var e;t.shadowOptions?(0,a.A)(u,this).render((0,d.supportsAdoptingStyleSheets)()||null===(e=t.styleTexts)||void 0===e||!e.length?this.render():c.createElement(c.Fragment,null,c.createElement("style",null,t.styleTexts.join("\n")),this.render())):(0,a.A)(u,this).render(this.render())};window.BRICK_NEXT_VERSIONS&&!window.DISABLE_REACT_FLUSH_SYNC?(0,h.flushSync)(t):t()}}function A(){if((0,a.A)(u,this))return;const t=this.constructor;if(t.shadowOptions){const n=this.attachShadow(t.shadowOptions);var e;if((0,d.supportsAdoptingStyleSheets)()&&null!==(e=t.styleTexts)&&void 0!==e&&e.length){const e=new CSSStyleSheet;e.replaceSync(t.styleTexts.join("")),n.adoptedStyleSheets=[e]}(0,i.A)(u,this,(0,l.H)(n))}else(0,i.A)(u,this,(0,l.H)(this))}var w=n(9575);function y(t,e){return(0,c.forwardRef)((function(n,r){let{children:s,...o}=n;const i="string"==typeof t?t:t.__tagName,a=S(o,e);return c.createElement(i,(0,w.A)({},a,{ref:r}),s)}))}function v(t,e){return(0,c.forwardRef)((function(n,r){let{children:s,...o}=n;const i=S(o,e);return c.createElement(t,(0,w.A)({},i,{ref:r}),s)}))}function S(t,e){let n;if(e){n={};for(const[r,s]of Object.entries(t))Object.prototype.hasOwnProperty.call(e,r)?n[`on${e[r]}`]=s:n[r]=s}else n=t;return n}},829:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(2559);function s(t,e){return t.get((0,r.A)(t,e))}},918:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(2016);function s(t,e,n){(0,r.A)(t,e),e.set(t,n)}},2016:(t,e,n)=>{function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{A:()=>r})},2559:(t,e,n)=>{function r(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}n.d(e,{A:()=>r})},4635:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(2016);function s(t,e){(0,r.A)(t,e),e.add(t)}},5873:(t,e,n)=>{var r=n(9435);e.H=r.createRoot,r.hydrateRoot},6121:(t,e,n)=>{n.d(e,{A:()=>s});var r=n(2559);function s(t,e,n){return t.set((0,r.A)(t,e),n),n}},9575:(t,e,n)=>{function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},r.apply(this,arguments)}n.d(e,{A:()=>r})}}]);
|
|
2
|
+
//# sourceMappingURL=7733.cd1a8d31.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7733.777c181e.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-element/dist/esm/ReactNextElement.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/wrapBrick.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/react-dom/client.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nvar _ReactNextElement;\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { flushSync } from \"react-dom\";\nimport { NextElement, supportsAdoptingStyleSheets } from \"@next-core/element\";\nvar _root = /*#__PURE__*/new WeakMap();\nvar _ReactNextElement_brand = /*#__PURE__*/new WeakSet();\nexport class ReactNextElement extends NextElement {\n constructor() {\n super(...arguments);\n _classPrivateMethodInitSpec(this, _ReactNextElement_brand);\n _classPrivateFieldInitSpec(this, _root, void 0);\n }\n connectedCallback() {\n super._markConnectedCallbackCalled();\n _assertClassBrand(_ReactNextElement_brand, this, _createRoot).call(this);\n this._render();\n }\n disconnectedCallback() {\n var _classPrivateFieldGet2;\n (_classPrivateFieldGet2 = _classPrivateFieldGet(_root, this)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.render(null);\n }\n _render() {\n const render = () => {\n if (!this.isConnected || !_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n var _ctor$styleTexts;\n _classPrivateFieldGet(_root, this).render(supportsAdoptingStyleSheets() || !((_ctor$styleTexts = ctor.styleTexts) !== null && _ctor$styleTexts !== void 0 && _ctor$styleTexts.length) ? this.render() : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"style\", null, ctor.styleTexts.join(\"\\n\")), this.render()));\n } else {\n _classPrivateFieldGet(_root, this).render(this.render());\n }\n };\n\n // In brick next container, enable flush sync for the initial mount of\n // each page, in order to avoid menu flickering.\n // Otherwise, avoid using flush sync as possible.\n if (window.BRICK_NEXT_VERSIONS && !window.DISABLE_REACT_FLUSH_SYNC) {\n flushSync(render);\n } else {\n render();\n }\n }\n}\n_ReactNextElement = ReactNextElement;\nfunction _createRoot() {\n if (_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n const shadowRoot = this.attachShadow(ctor.shadowOptions);\n if (supportsAdoptingStyleSheets()) {\n var _ctor$styleTexts2;\n if ((_ctor$styleTexts2 = ctor.styleTexts) !== null && _ctor$styleTexts2 !== void 0 && _ctor$styleTexts2.length) {\n const styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(ctor.styleTexts.join(\"\"));\n shadowRoot.adoptedStyleSheets = [styleSheet];\n }\n }\n _classPrivateFieldSet(_root, this, createRoot(shadowRoot));\n } else {\n var _ctor$styleTexts3;\n if (process.env.NODE_ENV !== \"production\" && (_ctor$styleTexts3 = ctor.styleTexts) !== null && _ctor$styleTexts3 !== void 0 && _ctor$styleTexts3.length) {\n throw new Error(\"Use `styleTexts` with `shadowOptions: false` is not supported\");\n }\n _classPrivateFieldSet(_root, this, createRoot(this));\n }\n}\n//# sourceMappingURL=ReactNextElement.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from \"react\";\nexport function wrapLocalBrick(brick, eventsMapping) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\") {\n if (typeof brick === \"string\" && !customElements.get(brick)) {\n throw new Error(`Brick ${brick} is not defined while using \\`wrapLocalBrick\\`.`);\n }\n }\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref, ref) {\n let {\n children,\n ...props\n } = _ref;\n const WebComponent = typeof brick === \"string\" ? brick : brick.__tagName;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(WebComponent, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nexport function wrapBrick(BrickName, eventsMapping) {\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref2, ref) {\n let {\n children,\n ...props\n } = _ref2;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(BrickName, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nfunction getMappedProperties(props, eventsMapping) {\n let properties;\n if (eventsMapping) {\n properties = {};\n for (const [propName, propValue] of Object.entries(props)) {\n if (Object.prototype.hasOwnProperty.call(eventsMapping, propName)) {\n properties[`on${eventsMapping[propName]}`] = propValue;\n } else {\n properties[propName] = propValue;\n }\n }\n } else {\n properties = props;\n }\n return properties;\n}\n//# sourceMappingURL=wrapBrick.js.map","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["_root","WeakMap","_ReactNextElement_brand","WeakSet","ReactNextElement","NextElement","constructor","super","arguments","this","connectedCallback","_markConnectedCallbackCalled","_createRoot","call","_render","disconnectedCallback","_classPrivateFieldGet2","render","isConnected","ctor","_ctor$styleTexts","shadowOptions","supportsAdoptingStyleSheets","styleTexts","length","join","window","BRICK_NEXT_VERSIONS","DISABLE_REACT_FLUSH_SYNC","flushSync","shadowRoot","attachShadow","_ctor$styleTexts2","styleSheet","CSSStyleSheet","replaceSync","adoptedStyleSheets","wrapLocalBrick","brick","eventsMapping","forwardRef","_ref","ref","children","props","WebComponent","__tagName","properties","getMappedProperties","wrapBrick","BrickName","_ref2","propName","propValue","Object","entries","prototype","hasOwnProperty","s","a","get","_classPrivateFieldInitSpec","obj","privateMap","value","set","_checkPrivateRedeclaration","privateCollection","has","TypeError","_assertClassBrand","e","t","n","_classPrivateMethodInitSpec","privateSet","add","m","exports","createRoot","hydrateRoot","_classPrivateFieldSet2","r","_extends","assign","bind","target","i","source","key","apply"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7733.cd1a8d31.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-element/dist/esm/ReactNextElement.js","webpack:///../../node_modules/@next-core/react-element/dist/esm/wrapBrick.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/react-dom/client.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nvar _ReactNextElement;\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { flushSync } from \"react-dom\";\nimport { NextElement, supportsAdoptingStyleSheets } from \"@next-core/element\";\nvar _root = /*#__PURE__*/new WeakMap();\nvar _ReactNextElement_brand = /*#__PURE__*/new WeakSet();\nexport class ReactNextElement extends NextElement {\n constructor() {\n super(...arguments);\n _classPrivateMethodInitSpec(this, _ReactNextElement_brand);\n _classPrivateFieldInitSpec(this, _root, void 0);\n }\n connectedCallback() {\n super._markConnectedCallbackCalled();\n _assertClassBrand(_ReactNextElement_brand, this, _createRoot).call(this);\n this._render();\n }\n disconnectedCallback() {\n var _classPrivateFieldGet2;\n (_classPrivateFieldGet2 = _classPrivateFieldGet(_root, this)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.render(null);\n }\n _render() {\n const render = () => {\n if (!this.isConnected || !_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n var _ctor$styleTexts;\n _classPrivateFieldGet(_root, this).render(supportsAdoptingStyleSheets() || !((_ctor$styleTexts = ctor.styleTexts) !== null && _ctor$styleTexts !== void 0 && _ctor$styleTexts.length) ? this.render() : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"style\", null, ctor.styleTexts.join(\"\\n\")), this.render()));\n } else {\n _classPrivateFieldGet(_root, this).render(this.render());\n }\n };\n\n // In brick next container, enable flush sync for the initial mount of\n // each page, in order to avoid menu flickering.\n // Otherwise, avoid using flush sync as possible.\n if (window.BRICK_NEXT_VERSIONS && !window.DISABLE_REACT_FLUSH_SYNC) {\n flushSync(render);\n } else {\n render();\n }\n }\n}\n_ReactNextElement = ReactNextElement;\nfunction _createRoot() {\n if (_classPrivateFieldGet(_root, this)) {\n return;\n }\n const ctor = this.constructor;\n if (ctor.shadowOptions) {\n const shadowRoot = this.attachShadow(ctor.shadowOptions);\n if (supportsAdoptingStyleSheets()) {\n var _ctor$styleTexts2;\n if ((_ctor$styleTexts2 = ctor.styleTexts) !== null && _ctor$styleTexts2 !== void 0 && _ctor$styleTexts2.length) {\n const styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(ctor.styleTexts.join(\"\"));\n shadowRoot.adoptedStyleSheets = [styleSheet];\n }\n }\n _classPrivateFieldSet(_root, this, createRoot(shadowRoot));\n } else {\n var _ctor$styleTexts3;\n if (process.env.NODE_ENV !== \"production\" && (_ctor$styleTexts3 = ctor.styleTexts) !== null && _ctor$styleTexts3 !== void 0 && _ctor$styleTexts3.length) {\n throw new Error(\"Use `styleTexts` with `shadowOptions: false` is not supported\");\n }\n _classPrivateFieldSet(_root, this, createRoot(this));\n }\n}\n//# sourceMappingURL=ReactNextElement.js.map","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from \"react\";\nexport function wrapLocalBrick(brick, eventsMapping) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\") {\n if (typeof brick === \"string\" && !customElements.get(brick)) {\n throw new Error(`Brick ${brick} is not defined while using \\`wrapLocalBrick\\`.`);\n }\n }\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref, ref) {\n let {\n children,\n ...props\n } = _ref;\n const WebComponent = typeof brick === \"string\" ? brick : brick.__tagName;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(WebComponent, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nexport function wrapBrick(BrickName, eventsMapping) {\n return /*#__PURE__*/forwardRef(function BrickReactWrapper(_ref2, ref) {\n let {\n children,\n ...props\n } = _ref2;\n const properties = getMappedProperties(props, eventsMapping);\n return /*#__PURE__*/React.createElement(BrickName, _extends({}, properties, {\n ref: ref\n }), children);\n });\n}\nfunction getMappedProperties(props, eventsMapping) {\n let properties;\n if (eventsMapping) {\n properties = {};\n for (const [propName, propValue] of Object.entries(props)) {\n if (Object.prototype.hasOwnProperty.call(eventsMapping, propName)) {\n properties[`on${eventsMapping[propName]}`] = propValue;\n } else {\n properties[propName] = propValue;\n }\n }\n } else {\n properties = props;\n }\n return properties;\n}\n//# sourceMappingURL=wrapBrick.js.map","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["_root","WeakMap","_ReactNextElement_brand","WeakSet","ReactNextElement","NextElement","constructor","super","arguments","this","connectedCallback","_markConnectedCallbackCalled","_createRoot","call","_render","disconnectedCallback","_classPrivateFieldGet2","render","isConnected","ctor","_ctor$styleTexts","shadowOptions","supportsAdoptingStyleSheets","styleTexts","length","join","window","BRICK_NEXT_VERSIONS","DISABLE_REACT_FLUSH_SYNC","flushSync","shadowRoot","attachShadow","_ctor$styleTexts2","styleSheet","CSSStyleSheet","replaceSync","adoptedStyleSheets","wrapLocalBrick","brick","eventsMapping","forwardRef","_ref","ref","children","props","WebComponent","__tagName","properties","getMappedProperties","wrapBrick","BrickName","_ref2","propName","propValue","Object","entries","prototype","hasOwnProperty","s","a","get","_classPrivateFieldInitSpec","obj","privateMap","value","set","_checkPrivateRedeclaration","privateCollection","has","TypeError","_assertClassBrand","e","t","n","_classPrivateMethodInitSpec","privateSet","add","m","exports","createRoot","hydrateRoot","_classPrivateFieldSet2","r","_extends","assign","bind","target","i","source","key","apply"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[871],{871:(e,t,n)=>{"use strict";n.r(t),n.d(t,{JsonStorage:()=>w,createProviderClass:()=>o,createSSEStream:()=>d,deepFreeze:()=>v,hasOwnProperty:()=>p,isObject:()=>h,unwrapProvider:()=>y});var r=n(
|
|
2
|
-
//# sourceMappingURL=871.
|
|
1
|
+
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[871],{871:(e,t,n)=>{"use strict";n.r(t),n.d(t,{JsonStorage:()=>w,createProviderClass:()=>o,createSSEStream:()=>d,deepFreeze:()=>v,hasOwnProperty:()=>p,isObject:()=>h,unwrapProvider:()=>y});var r=n(5060);function o(e){return class extends HTMLElement{get $$typeof(){return"provider"}resolve(){return e(...arguments)}async saveAs(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];const i=await e(...o);(0,r.saveAs)(i,t)}}}var a=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n};const i="text/event-stream",s=1e3,c="last-event-id";function l(e,t){var{signal:n,headers:r,onopen:o,onmessage:l,onclose:d,onerror:f,openWhenHidden:v,fetch:p}=t,h=a(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,a)=>{const w=Object.assign({},r);let g;function y(){g.abort(),document.hidden||j()}w.accept||(w.accept=i),v||document.addEventListener("visibilitychange",y);let b=s,m=0;function O(){document.removeEventListener("visibilitychange",y),window.clearTimeout(m),g.abort()}null==n||n.addEventListener("abort",(()=>{O(),t()}));const E=null!=p?p:window.fetch,k=null!=o?o:u;async function j(){var n;g=new AbortController;try{const n=await E(e,Object.assign(Object.assign({},h),{headers:w,signal:g.signal}));await k(n),await async function(e,t){const n=e.getReader();let r;for(;!(r=await n.read()).done;)t(r.value)}(n.body,function(e){let t,n,r,o=!1;return function(a){void 0===t?(t=a,n=0,r=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,a);const i=t.length;let s=0;for(;n<i;){o&&(10===t[n]&&(s=++n),o=!1);let a=-1;for(;n<i&&-1===a;++n)switch(t[n]){case 58:-1===r&&(r=n-s);break;case 13:o=!0;case 10:a=n}if(-1===a)break;e(t.subarray(s,a),r),s=n,r=-1}s===i?t=void 0:0!==s&&(t=t.subarray(s),n-=s)}}(function(e,t,n){let r={data:"",event:"",id:"",retry:void 0};const o=new TextDecoder;return function(e,t){if(0===e.length)null==n||n(r),r={data:"",event:"",id:"",retry:void 0};else if(t>0){const n=o.decode(e.subarray(0,t)),i=t+(32===e[t+1]?2:1),s=o.decode(e.subarray(i));switch(n){case"data":r.data=r.data?r.data+"\n"+s:s;break;case"event":r.event=s;break;case"id":(a=r.id=s)?w[c]=a:delete w[c];break;case"retry":const e=parseInt(s,10);isNaN(e)||(e=>{b=e})(r.retry=e)}}var a}}(0,0,l))),null==d||d(),O(),t()}catch(e){if(!g.signal.aborted)try{const t=null!==(n=null==f?void 0:f(e))&&void 0!==n?n:b;window.clearTimeout(m),m=window.setTimeout(j,t)}catch(e){O(),a(e)}}}j()}))}function u(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(i)))throw new Error(`Expected content-type to be ${i}, Actual: ${t}`)}async function d(e,t){const n=[],r=[];let o=!1,a=!1;const{converter:i,...s}=null!=t?t:{};function c(){r.forEach((e=>{let[t]=e;return t({value:void 0,done:!0})}))}function u(){o=!0,r.length=0,n.length=0}return await new Promise(((t,o)=>{l(e,{...s,openWhenHidden:!0,async onopen(e){if(!e.ok){var n;let t,r;console.error("open error",e.statusText);try{t=await e.text()}catch{throw new Error(e.statusText)}try{r=JSON.parse(t)}catch{}if("string"==typeof(null===(n=r)||void 0===n?void 0:n.error))throw new Error(r.error);throw new Error(t)}t(null)},onmessage(e){let t,o,a=!0;try{t=(null!=i?i:f)(e.data,e.event)}catch(e){a=!1,o=e}if(r.length>0){const[e,n]=r.shift();a?e(t):n(o)}else n.push(a?{ok:!0,data:t}:{ok:!1,reason:o})},onclose(){a=!0,c()},onerror(e){throw e}}).catch((e=>{o(e),function(e){r.forEach((t=>{let[n,r]=t;return r(e)})),u()}(e)}))})),{next(){return o?this.return():new Promise(((e,t)=>{if(n.length>0){const r=n.shift();r.ok?e(r.data):t(r.reason)}else a?(u(),e({value:void 0,done:!0})):r.push([e,t])}))},return:()=>(c(),u(),Promise.resolve({value:void 0,done:!0})),throw:e=>(c(),u(),Promise.reject(e)),[Symbol.asyncIterator](){return this}}}function f(e,t){if("error"===t){var n;let t;console.error("Received error event:",e);try{t=JSON.parse(e)}catch{}throw new Error("string"==typeof(null===(n=t)||void 0===n?void 0:n.error)?t.error:e)}if("[DONE]"===e)return{value:void 0,done:!0};if(e.startsWith("[ERROR]"))throw console.error("Received error message:",e),new Error(e);try{return{value:JSON.parse(e),done:!1}}catch(t){throw console.error("Failed to parse message:",e),t}}function v(e){const t=Object.getOwnPropertyNames(e);for(const n of t){const t=e[n];t&&"object"==typeof t&&v(t)}return Object.freeze(e)}function p(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function h(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}class w{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"brick-next-";this.storage=e,this.prefix=t}setItem(e,t){this.storage.setItem(this.prefix+e,JSON.stringify(t))}getItem(e){var t;return JSON.parse(null!==(t=this.storage.getItem(this.prefix+e))&&void 0!==t?t:"null")}removeItem(e){return this.storage.removeItem(this.prefix+e)}clear(){return this.storage.clear()}}const g=new Map;function y(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];const o=function(e){let t=g.get(e);return t||(t=document.createElement(e),g.set(e,t),t)}(e);return o.resolve(...n)}}},5060:function(e,t,n){var r,o;void 0===(o="function"==typeof(r=function(){"use strict";function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){s(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function r(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n.g&&n.g.global===n.g?n.g:void 0,i=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(e,n,i){var s=a.URL||a.webkitURL,c=document.createElement("a");n=n||e.name||"download",c.download=n,c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?o(c):r(c.href)?t(e,n,i):o(c,c.target="_blank")):(c.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(c.href)}),4e4),setTimeout((function(){o(c)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,n,a){if(n=n||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,a),n);else if(r(e))t(e,n,a);else{var i=document.createElement("a");i.href=e,i.target="_blank",setTimeout((function(){o(i)}))}}:function(e,n,r,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var s="application/octet-stream"===e.type,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||i)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);o?o.location=f:location.href=f,o=null,setTimeout((function(){d.revokeObjectURL(f)}),4e4)}});a.saveAs=s.saveAs=s,e.exports=s})?r.apply(t,[]):r)||(e.exports=o)}}]);
|
|
2
|
+
//# sourceMappingURL=871.b891b32d.js.map
|