@next-bricks/ai-portal 0.70.2 → 0.70.3
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 +1 -1
- package/dist/chunks/1097.05983e91.js +3 -0
- package/dist/chunks/{1097.9e80dcca.js.LICENSE.txt → 1097.05983e91.js.LICENSE.txt} +2 -0
- package/dist/chunks/1097.05983e91.js.map +1 -0
- package/dist/chunks/{1889.b7766f77.js → 1889.803775eb.js} +2 -2
- package/dist/chunks/{1889.b7766f77.js.map → 1889.803775eb.js.map} +1 -1
- package/dist/chunks/3171.9d323cbe.js +2 -0
- package/dist/chunks/3171.9d323cbe.js.map +1 -0
- package/dist/chunks/{3186.f231329a.js → 3186.ca53075a.js} +2 -2
- package/dist/chunks/{3186.f231329a.js.map → 3186.ca53075a.js.map} +1 -1
- package/dist/chunks/3840.6080d56e.js +3 -0
- package/dist/chunks/3840.6080d56e.js.map +1 -0
- package/dist/chunks/{4864.bee3bb30.js → 4864.beefe6d5.js} +2 -2
- package/dist/chunks/{4864.bee3bb30.js.map → 4864.beefe6d5.js.map} +1 -1
- package/dist/chunks/5399.ef4bb3aa.js +2 -0
- package/dist/chunks/5399.ef4bb3aa.js.map +1 -0
- package/dist/chunks/551.ae5171a6.js +3 -0
- package/dist/chunks/551.ae5171a6.js.map +1 -0
- package/dist/chunks/5552.53024929.js +2 -0
- package/dist/chunks/5552.53024929.js.map +1 -0
- package/dist/chunks/6277.c8a6013f.js +2 -0
- package/dist/chunks/6277.c8a6013f.js.map +1 -0
- package/dist/chunks/6376.c35ff317.js +2 -0
- package/dist/chunks/6376.c35ff317.js.map +1 -0
- package/dist/chunks/7669.6f177bf2.js +3 -0
- package/dist/chunks/7669.6f177bf2.js.map +1 -0
- package/dist/chunks/794.214aa08f.js +3 -0
- package/dist/chunks/794.214aa08f.js.map +1 -0
- package/dist/chunks/948.c96c7036.js +3 -0
- package/dist/chunks/948.c96c7036.js.map +1 -0
- package/dist/chunks/chat-box.060b8727.js +3 -0
- package/dist/chunks/chat-box.060b8727.js.map +1 -0
- package/dist/chunks/chat-input.e913e9ed.js +3 -0
- package/dist/chunks/chat-input.e913e9ed.js.map +1 -0
- package/dist/chunks/{chat-panel.3160f2e8.js → chat-panel.63207d2f.js} +2 -2
- package/dist/chunks/chat-panel.63207d2f.js.map +1 -0
- package/dist/chunks/elevo-sidebar.dfaaf9d1.js +3 -0
- package/dist/chunks/elevo-sidebar.dfaaf9d1.js.map +1 -0
- package/dist/chunks/main.5e1b11a5.js +2 -0
- package/dist/chunks/main.5e1b11a5.js.map +1 -0
- package/dist/chunks/space-chat-guide.b9f77cb5.js +3 -0
- package/dist/chunks/space-chat-guide.b9f77cb5.js.map +1 -0
- package/dist/chunks/space-workbench.9d48eec0.js +2 -0
- package/dist/chunks/{space-workbench.8c064898.js.map → space-workbench.9d48eec0.js.map} +1 -1
- package/dist/index.34851313.js +2 -0
- package/dist/index.34851313.js.map +1 -0
- package/dist/manifest.json +1 -1
- package/dist/types.json +1 -1
- package/dist-types/action-buttons/i18n.d.ts +1 -1
- package/dist-types/activity-timeline/i18n.d.ts +1 -1
- package/dist-types/ai-agents/i18n.d.ts +1 -1
- package/dist-types/ai-employees/i18n.d.ts +1 -1
- package/dist-types/chat-box/i18n.d.ts +1 -1
- package/dist-types/chat-input/i18n.d.ts +1 -1
- package/dist-types/chat-panel/ChatPanelContent.d.ts +2 -2
- package/dist-types/chat-panel/index.d.ts +3 -3
- package/dist-types/chat-stream/Aside/FlowApp/i18n.d.ts +1 -1
- package/dist-types/chat-stream/i18n.d.ts +1 -1
- package/dist-types/cruise-canvas/NodeReplay/i18n.d.ts +1 -1
- package/dist-types/cruise-canvas/ToolCallDetail/i18n.d.ts +1 -1
- package/dist-types/cruise-canvas/i18n.d.ts +1 -1
- package/dist-types/dropdown-select/i18n.d.ts +1 -1
- package/dist-types/elevo-sidebar/i18n.d.ts +1 -1
- package/dist-types/gantt-chart/i18n.d.ts +1 -1
- package/dist-types/goal-card-list/i18n.d.ts +1 -1
- package/dist-types/mcp-tools/i18n.d.ts +1 -1
- package/dist-types/notice-dropdown/i18n.d.ts +1 -1
- package/dist-types/notice-list/i18n.d.ts +1 -1
- package/dist-types/preview-container/i18n.d.ts +1 -1
- package/dist-types/project-conversations/i18n.d.ts +1 -1
- package/dist-types/project-knowledges/i18n.d.ts +1 -1
- package/dist-types/shared/ActivityPlan/i18n.d.ts +1 -1
- package/dist-types/shared/AskUser/i18n.d.ts +1 -1
- package/dist-types/shared/ChatBox/i18n.d.ts +1 -1
- package/dist-types/shared/CreatedView/i18n.d.ts +1 -1
- package/dist-types/shared/FilePreview/i18n.d.ts +1 -1
- package/dist-types/shared/FileUpload/i18n.d.ts +1 -1
- package/dist-types/shared/NodeFeedback/i18n.d.ts +1 -1
- package/dist-types/show-case/i18n.d.ts +1 -1
- package/dist-types/show-cases/i18n.d.ts +1 -1
- package/dist-types/space-workbench/chat-panel-welcome/i18n.d.ts +1 -1
- package/dist-types/space-workbench/i18n.d.ts +1 -1
- package/dist-types/space-workbench/space-chat-guide/i18n.d.ts +1 -1
- package/dist-types/stage-flow/i18n.d.ts +1 -1
- package/package.json +2 -2
- package/dist/chunks/1097.9e80dcca.js +0 -3
- package/dist/chunks/1097.9e80dcca.js.map +0 -1
- package/dist/chunks/2341.0e70532b.js +0 -2
- package/dist/chunks/2341.0e70532b.js.map +0 -1
- package/dist/chunks/3171.45ef4669.js +0 -2
- package/dist/chunks/3171.45ef4669.js.map +0 -1
- package/dist/chunks/3573.7b0bb780.js +0 -3
- package/dist/chunks/3573.7b0bb780.js.map +0 -1
- package/dist/chunks/4459.dbfa8706.js +0 -3
- package/dist/chunks/4459.dbfa8706.js.map +0 -1
- package/dist/chunks/4837.570099ad.js +0 -2
- package/dist/chunks/4837.570099ad.js.map +0 -1
- package/dist/chunks/5399.501fc322.js +0 -2
- package/dist/chunks/5399.501fc322.js.map +0 -1
- package/dist/chunks/5552.09658542.js +0 -2
- package/dist/chunks/5552.09658542.js.map +0 -1
- package/dist/chunks/6380.b8610c4b.js +0 -3
- package/dist/chunks/6380.b8610c4b.js.map +0 -1
- package/dist/chunks/7202.a893b0e6.js +0 -3
- package/dist/chunks/7202.a893b0e6.js.map +0 -1
- package/dist/chunks/948.e601f18c.js +0 -3
- package/dist/chunks/948.e601f18c.js.map +0 -1
- package/dist/chunks/9599.02a5e6e3.js +0 -2
- package/dist/chunks/9599.02a5e6e3.js.map +0 -1
- package/dist/chunks/9848.4b1f38c9.js +0 -3
- package/dist/chunks/9848.4b1f38c9.js.LICENSE.txt +0 -1
- package/dist/chunks/9848.4b1f38c9.js.map +0 -1
- package/dist/chunks/chat-box.1ac7555a.js +0 -3
- package/dist/chunks/chat-box.1ac7555a.js.map +0 -1
- package/dist/chunks/chat-input.444c80bb.js +0 -3
- package/dist/chunks/chat-input.444c80bb.js.map +0 -1
- package/dist/chunks/chat-panel.3160f2e8.js.map +0 -1
- package/dist/chunks/elevo-sidebar.a197a77f.js +0 -3
- package/dist/chunks/elevo-sidebar.a197a77f.js.map +0 -1
- package/dist/chunks/main.9d171af9.js +0 -2
- package/dist/chunks/main.9d171af9.js.map +0 -1
- package/dist/chunks/space-chat-guide.84f4a1e7.js +0 -3
- package/dist/chunks/space-chat-guide.84f4a1e7.js.map +0 -1
- package/dist/chunks/space-workbench.8c064898.js +0 -2
- package/dist/index.94998c36.js +0 -2
- package/dist/index.94998c36.js.map +0 -1
- /package/dist/chunks/{3573.7b0bb780.js.LICENSE.txt → 3840.6080d56e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{4459.dbfa8706.js.LICENSE.txt → 551.ae5171a6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{7202.a893b0e6.js.LICENSE.txt → 7669.6f177bf2.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{6380.b8610c4b.js.LICENSE.txt → 794.214aa08f.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{948.e601f18c.js.LICENSE.txt → 948.c96c7036.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-box.1ac7555a.js.LICENSE.txt → chat-box.060b8727.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-input.444c80bb.js.LICENSE.txt → chat-input.e913e9ed.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{elevo-sidebar.a197a77f.js.LICENSE.txt → elevo-sidebar.dfaaf9d1.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{space-chat-guide.84f4a1e7.js.LICENSE.txt → space-chat-guide.b9f77cb5.js.LICENSE.txt} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[4837,9599],{64837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>s,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>o,useLazyWrapBrick:()=>h,useNavConfig:()=>_,useProvider:()=>m,useRecentApps:()=>i,useRouteRender:()=>d});var n=t(18769),c=t(60128);let s=function(e){let{useBrick:r,data:t,errorBoundary:s,refCallback:u,ignoredCallback:a}=e;const[o,i]=(0,n.useState)(null),l=(0,n.useRef)(),[d,f]=(0,n.useState)(),p=(0,n.useRef)(0),g=(0,n.useMemo)((()=>{var e;return null===(e=c.__secret_internals.getRenderId)||void 0===e?void 0:e.call(c.__secret_internals)}),[]);(0,n.useEffect)((()=>{let e=!1;return async function(){try{const n=await c.__secret_internals.renderUseBrick(r,t,s);if(e)return;i(n),f(++p.current)}catch(n){!e&&function(e){var r;const t=null===(r=c.__secret_internals.getRenderId)||void 0===r?void 0:r.call(c.__secret_internals);return!e||!t||e===t}(g)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,c.handleHttpError)(n))}}(),()=>{e=!0}}),[t,r,g,s]);const y=(0,n.useCallback)((e=>{e?l.current=c.__secret_internals.mountUseBrick(o,e):(c.__secret_internals.unmountUseBrick(o,l.current),l.current=void 0),null==u||u(e)}),[u,o]);if(!o)return null;const{tagName:m}=o;if(null===m)return null==a||a(),null;const v=m;return n.createElement(v,{key:d,ref:y})},u=function(e){let{useBrick:r,data:t,errorBoundary:c}=e;return Array.isArray(r)?n.createElement(n.Fragment,null,r.map(((e,r)=>n.createElement(s,{key:r,useBrick:e,data:t,errorBoundary:c})))):n.createElement(s,{useBrick:r,data:t,errorBoundary:c})};const a=(0,c.getV2RuntimeFromDll)();if(a){const{SingleBrickAsComponentFactory:e,BrickAsComponentFactory:r}=a;e&&r&&(s=e(n),u=r(n))}function o(){const[e,r]=(0,n.useState)(c.getCurrentTheme);return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function i(){const[e,r]=n.useState((()=>(0,c.getRuntime)().getRecentApps()));return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function l(){return i().currentApp}function d(){const[e,r]=n.useState(null);return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}const f={provider:"",customOptions:{onError:()=>{},transform:(e,r)=>r,data:void 0,loading:!1,suspense:!1,cache:!0},dependencies:void 0},p=Object.entries(f).reduce(((e,r)=>{let[t,n]=r;return"[object Object]"===Object.prototype.toString.call(n)?{...e,...n}:{...e,[t]:n}}),{});var g=t(41030);const y=new Map;function m(){const{provider:e,customOptions:r,dependencies:t,requestInit:s}=function(e,r,t){const c=(0,n.useMemo)((()=>"string"==typeof e?e:f.provider),[e,r]),s=(0,n.useMemo)((()=>{let t={};return(0,g.isObject)(e)?t=e:(0,g.isObject)(r)&&(t=r),{...p,...t}}),[e,r]),u=(0,n.useMemo)((()=>{const e=[...Object.keys(f),...Object.keys(f.customOptions)],{args:r=null,...t}=Object.keys(s).reduce(((r,t)=>(e.includes(t)||(r[t]=s[t]),r)),{});return{options:{...t},args:r}}),[s]),a=(0,n.useMemo)((()=>Array.isArray(r)?r:Array.isArray(t)?t:p.dependencies),[r,t]),o=s.loading||Array.isArray(a);return{provider:c,customOptions:(0,n.useMemo)((()=>({...Object.keys(f.customOptions).reduce(((e,r)=>(e[r]=s[r],e)),{}),loading:o})),[s]),requestInit:u,dependencies:a}}(...arguments),{onError:u,transform:a,suspense:o,cache:i,...l}=r,[d,m]=(0,n.useState)(l.loading),v=(0,n.useRef)("pending"),k=(0,n.useRef)(),_=(0,n.useRef)(!1),h=(0,n.useRef)(),w=(0,n.useRef)(),b=(0,n.useRef)(l.data),B=(0,n.useReducer)((()=>({})),[])[1],E=(0,n.useCallback)((async(e,r)=>{try{h.current=void 0,o||m(!0);const t=await async function(e,r,t){let n;const s=function(e){const r=e=>Object.keys(e).sort().map((r=>({[r]:e[r]})));for(var t=arguments.length,n=new Array(t>1?t-1:0),c=1;c<t;c++)n[c-1]=arguments[c];try{const t="object"!=typeof(s=n)||null===s||Array.isArray(s)?n.map((e=>function(e){return"string"==typeof e}(e)?e:r(e))):r(n);return JSON.stringify({provider:e,args:t})}catch(r){return JSON.stringify({provider:e,args:n})}var s}(e,...t);return!r&&y.has(s)&&y.delete(s),y.has(s)?n=y.get(s):(n=(0,c.fetchByProvider)(e,t,{cache:r?"default":"reload"}),r&&y.set(s,n)),n}(e,i,r);w.current=t,b.current=a(b.current,t)}catch(e){h.current=e,b.current=void 0}return o||m(!1),h.current&&u(h.current),b.current}),[e,r,t,s,o,a,l.data,u,i]),O=(0,n.useCallback)((async(r,t)=>{let n=e,c=[];return(0,g.isString)(r)&&(n=r),(0,g.isObject)(r)?c=r:(0,g.isObject)(t)&&(c=t),o?(async()=>(k.current=E(n,c).then((e=>(v.current="success",e)),(e=>(v.current="error",e.current=e,e))),B(),await k.current))():E(n,c)}),[E]),R=(0,n.useMemo)((()=>Object.defineProperties({query:O},{loading:{get:()=>d},data:{get:()=>b.current},error:{get:()=>h.current}})),[O]);if((0,n.useEffect)((()=>(_.current=!0,Array.isArray(t)&&e&&R.query(e,s.args),()=>_.current=!1)),t),o&&k.current)switch(v.current){case"pending":throw k.current;case"error":throw h.current}return Object.assign([R,w.current,d,h.current],{request:R,...R,response:w.current,data:b.current,loading:d,error:h.current})}var v=t(30981);async function k(e,r){return await c.__secret_internals.loadBricks([e]),(0,v.wrapBrick)(e,r)}function _(){const[e,r]=(0,n.useState)((()=>(0,c.getRuntime)().getNavConfig()));return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("navConfig.change",e),()=>window.removeEventListener("navConfig.change",e)}),[]),e}function h(e,r){return(0,n.useMemo)((()=>null!=e?(0,n.lazy)((async()=>({default:await k(e,r)}))):null),[e,r])}}}]);
|
|
2
|
-
//# sourceMappingURL=4837.570099ad.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/4837.570099ad.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(renderResult, element);\n } else {\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args, {\n cache: cache ? \"default\" : \"reload\"\n });\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[5399],{35399:(e,t,r)=>{r.r(t),r.d(t,{BrickLoadError:()=>k,enqueueStableLoadBricks:()=>p,enqueueStableLoadProcessors:()=>w,flushStableLoadBricks:()=>f,loadBricksImperatively:()=>m,loadEditorsImperatively:()=>h,loadProcessorsImperatively:()=>v,loadScript:()=>s,loadSharedModule:()=>i,loadStyle:()=>a});const n=new Map;function o(e,t,r,s){if(Array.isArray(t))return Promise.all(t.map((t=>o(e,t,r))));const a=r&&!/^https?:/.test(t)?`${r}${t}`:t,i=n.get(a);if(i)return i;const c=new Promise(((t,r)=>{const n=()=>{window.dispatchEvent(new Event("request.end"))},o=document.createElement("style"===e?"link":"script");"script"===e?Object.assign(o,{type:"text/javascript",async:!0,...s,src:a}):Object.assign(o,{rel:"stylesheet",...s,href:a}),o.onload=()=>{t(a),n()},o.onerror=e=>{r(e),n()};const i=document.currentScript||document.getElementsByTagName("script")[0];i.parentNode.insertBefore(o,i),window.dispatchEvent(new Event("request.start"))}));return n.set(a,c),c}function s(e,t,r){return o("script",e,t,r)}function a(e,t,r){return o("style",e,t,r)}async function i(e,t){await r.I("default");const n=window[e];return await n.init(r.S.default),(await n.get(t))()}let c,l,u=!1;const d=new Promise(((e,t)=>{c=e,l=t}));function f(){u||c()}function p(e,t){return S($("bricks",e,t))}function w(e,t){return S($("processors",e,t))}async function m(e,t){const r=$("bricks",e,t);return f(),S(r)}function v(e,t){const r=$("processors",e,t);return f(),S(r)}function h(e,t){const r=$("editors",e,t);return f(),S(r)}class k extends Error{constructor(e){super(e),this.name="BrickLoadError",Error.captureStackTrace&&Error.captureStackTrace(this,k)}}let y;const b="v2-adapter.load-bricks";function E(e,t,r){const n=new Map,o=new Set,s=t=>{var a;if(o.has(t))return;let i,c,l;if(o.add(t),"editors"===e){l=t;for(const e of r.values()){var u,d;null!==(u=null!==(d=e.propertyEditors)&&void 0!==d?d:e.editors)&&void 0!==u&&u.some((e=>e===l))&&(i=e)}}else if("processors"===e||t.includes(".")){[c,l]=t.split(".");const n=`bricks/${"processors"===e?(w=c,w.replace(/[A-Z]/g,(e=>`-${e[0].toLocaleLowerCase()}`)).replace(/_[0-9]/g,(e=>`-${e[1]}`))):c}`;i=r.get(n)}else{let e;l=t;for(const n of r.values()){var f;if(null!==(f=n.elements)&&void 0!==f&&f.some((e=>e===l))){var p;if(null===(p=n.deprecatedElements)||void 0===p||!p.includes(t)){i=n;break}e=n}}!i&&e&&(i=e)}var w;if(!i)return void console.error(`Package for ${t} not found.`);let m=n.get(i);m||(m=[],n.set(i,m)),m.push({fullName:t,lastName:l});const v=null===(a=i.dependencies)||void 0===a?void 0:a[t];if(v)for(const e of v)s(e)};for(const e of t)s(e);return n}async function P(e,t,r){const n=`${"processors"===e||"editors"===e?`./${e}/`:"./"}${"editors"===e?r.fullName:r.lastName}`,o=performance.now();try{await i(t,n)}catch(t){console.error(t);const n=Math.round(performance.now()-o);throw new k(`Load ${e} of "${r.fullName}" failed (${n>1e3?+(n/1e3).toFixed(2)+"s":`${n}ms`}): ${null==t?void 0:t.message}`)}}function g(e,t,r){return t.map((async t=>{var n;return await s(t.filePath,null!==(n=window.PUBLIC_ROOT)&&void 0!==n?n:""),await d,Promise.all(r.get(t).map((r=>P(e,t.id,r))))}))}async function $(e,t,r){const n=new Map;for(const e of r){const t=e.id||_(e.filePath);n.set(t,e)}const o=E(e,t,n);let a;const i=[],d=[];let f;for(const e of o.keys())if(e.id)"bricks/basic"===e.id?a=e:d.push(e);else if(i.push(e),f=n.get("bricks/v2-adapter"),!f)throw new Error("Using v2 bricks, but v2-adapter not found");const p=f;let w;const m=a;if(m){var v;const t=s(m.filePath,null!==(v=window.PUBLIC_ROOT)&&void 0!==v?v:"");u||(u=!0,t.then((()=>Promise.resolve())).then(c,l)),w=t.then((()=>Promise.all(o.get(m).map((t=>P(e,m.id,t))))))}const h=[w].concat(g(e,d,o));if(p&&i.length>0){if(!y){const e=E("bricks",[b],n),t=[...e.keys()];y=(async()=>(await Promise.all(g("bricks",t,e)),document.createElement(b)))()}h.push(y.then((t=>Promise.all(i.map((n=>{var s;const a=_(n.filePath).split("/")[1];return t.resolve(p.filePath,"editors"===e&&null!==(s=n.propertyEditorsJsFilePath)&&void 0!==s?s:n.filePath,"bricks"===e?o.get(n).map((e=>`${a}.${e.lastName}`)):[],n.dll,r)}))))))}await Promise.all(h)}async function S(e){window.dispatchEvent(new Event("request.start"));try{await e}finally{window.dispatchEvent(new Event("request.end"))}}function _(e){return e.split("/").slice(0,2).join("/")}}}]);
|
|
2
|
-
//# sourceMappingURL=5399.501fc322.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/5399.501fc322.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/loader/dist/esm/loadScriptOrStyle.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadScript.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadStyle.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadSharedModule.js","webpack:///../../node_modules/@next-core/loader/dist/esm/stableLoadBricks.js"],"sourcesContent":["const cache = new Map();\nexport default function loadScriptOrStyle(type, src, prefix, attrs) {\n if (Array.isArray(src)) {\n return Promise.all(src.map(item => loadScriptOrStyle(type, item, prefix)));\n }\n const fixedSrc = prefix && !/^https?:/.test(src) ? `${prefix}${src}` : src;\n const cachedPromise = cache.get(fixedSrc);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = new Promise((resolve, reject) => {\n const end = () => {\n window.dispatchEvent(new Event(\"request.end\"));\n };\n const element = document.createElement(type === \"style\" ? \"link\" : \"script\");\n if (type === \"script\") {\n Object.assign(element, {\n type: \"text/javascript\",\n async: true,\n ...attrs,\n src: fixedSrc\n });\n } else {\n Object.assign(element, {\n rel: \"stylesheet\",\n ...attrs,\n href: fixedSrc\n });\n }\n element.onload = () => {\n resolve(fixedSrc);\n end();\n };\n element.onerror = e => {\n reject(e);\n end();\n };\n const firstScript = document.currentScript || document.getElementsByTagName(\"script\")[0];\n firstScript.parentNode.insertBefore(element, firstScript);\n window.dispatchEvent(new Event(\"request.start\"));\n });\n cache.set(fixedSrc, promise);\n return promise;\n}\n//# sourceMappingURL=loadScriptOrStyle.js.map","import loadScriptOrStyle from \"./loadScriptOrStyle.js\";\nexport default function loadScript(src, prefix, attrs) {\n return loadScriptOrStyle(\"script\", src, prefix, attrs);\n}\n//# sourceMappingURL=loadScript.js.map","import loadScriptOrStyle from \"./loadScriptOrStyle.js\";\nexport default function loadStyle(src, prefix, attrs) {\n return loadScriptOrStyle(\"style\", src, prefix, attrs);\n}\n//# sourceMappingURL=loadStyle.js.map","// https://github.com/module-federation/module-federation-examples/blob/eda9493f3991a423479fd834cfb1d7b241d9d1f0/advanced-api/dynamic-remotes/app1/src/App.js\nexport default async function loadSharedModule(scope, module) {\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n await __webpack_init_sharing__(\"default\");\n const container = window[scope]; // or get the container somewhere else\n // Initialize the container, it may provide shared modules\n await container.init(__webpack_share_scopes__.default);\n const factory = await container.get(module);\n return factory();\n}\n//# sourceMappingURL=loadSharedModule.js.map","import loadScript from \"./loadScript.js\";\nimport loadSharedModule from \"./loadSharedModule.js\";\nlet resolveBasicPkg;\nlet rejectBasicPkg;\nlet basicPkgWillBeResolved = false;\nconst waitBasicPkg = new Promise((resolve, reject) => {\n resolveBasicPkg = resolve;\n rejectBasicPkg = reject;\n});\nexport function flushStableLoadBricks() {\n if (!basicPkgWillBeResolved) {\n resolveBasicPkg();\n }\n}\n\n/**\n * When loading bundles with webpack module federation concurrently, if\n * these bundles share some modules, webpack will load a singleton module\n * if versions are matched. Webpack will use the first bundle who started\n * to init the shared scope. Generally which bundle to use for a specific\n * module, does not matter. However, it may cause flaky result since the\n * shared module may from different bundles which maybe not exactly the\n * same, especially developers declare dependencies incorrectly sometimes.\n * So in order to make it less flaky, we try to make a BASIC package takes\n * precedence over others. We will always load the shared modules from the\n * basic package bundle if it contains the shared modules.\n */\nexport function enqueueStableLoadBricks(bricks, brickPackages) {\n const promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function enqueueStableLoadProcessors(processors, brickPackages) {\n const promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport async function loadBricksImperatively(bricks, brickPackages) {\n const promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n}\nexport function loadProcessorsImperatively(processors, brickPackages) {\n const promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n}\nexport function loadEditorsImperatively(editors, brickPackages) {\n const promise = enqueueStableLoad(\"editors\", editors, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n}\nexport class BrickLoadError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"BrickLoadError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, BrickLoadError);\n }\n }\n}\nlet v2AdapterPromise;\nconst V2_ADAPTER_LOAD_BRICKS = \"v2-adapter.load-bricks\";\n// Get brick/processor items including their dependencies\nfunction getItemsByPkg(type, list, brickPackagesMap) {\n const itemsByPkg = new Map();\n const listToLoad = new Set();\n const add = item => {\n var _pkg$dependencies;\n if (listToLoad.has(item)) {\n return;\n }\n listToLoad.add(item);\n let pkg;\n let namespace;\n let lastName;\n if (type === \"editors\") {\n lastName = item;\n for (const p of brickPackagesMap.values()) {\n var _ref, _p$propertyEditors;\n if ((_ref = (_p$propertyEditors = p.propertyEditors) !== null && _p$propertyEditors !== void 0 ? _p$propertyEditors : p.editors) !== null && _ref !== void 0 && _ref.some(e => e === lastName)) {\n pkg = p;\n }\n }\n } else if (type === \"processors\" || item.includes(\".\")) {\n [namespace, lastName] = item.split(\".\");\n const pkgId = `bricks/${type === \"processors\" ? getProcessorPackageName(namespace) : namespace}`;\n pkg = brickPackagesMap.get(pkgId);\n } else {\n lastName = item;\n let deprecatedBrickInThisPkg;\n for (const p of brickPackagesMap.values()) {\n var _p$elements;\n if ((_p$elements = p.elements) !== null && _p$elements !== void 0 && _p$elements.some(e => e === lastName)) {\n var _p$deprecatedElements;\n if ((_p$deprecatedElements = p.deprecatedElements) !== null && _p$deprecatedElements !== void 0 && _p$deprecatedElements.includes(item)) {\n deprecatedBrickInThisPkg = p;\n } else {\n pkg = p;\n break;\n }\n }\n }\n if (!pkg && deprecatedBrickInThisPkg) {\n pkg = deprecatedBrickInThisPkg;\n }\n }\n if (!pkg) {\n // eslint-disable-next-line no-console\n console.error(`Package for ${item} not found.`);\n return;\n }\n let groupItems = itemsByPkg.get(pkg);\n if (!groupItems) {\n groupItems = [];\n itemsByPkg.set(pkg, groupItems);\n }\n groupItems.push({\n fullName: item,\n lastName\n });\n\n // Load their dependencies too\n const deps = (_pkg$dependencies = pkg.dependencies) === null || _pkg$dependencies === void 0 ? void 0 : _pkg$dependencies[item];\n if (deps) {\n for (const dep of deps) {\n add(dep);\n }\n }\n };\n for (const item of list) {\n add(item);\n }\n return itemsByPkg;\n}\nasync function loadBrickModule(type, pkgId, item) {\n const moduleName = `${type === \"processors\" || type === \"editors\" ? `./${type}/` : \"./\"}${type === \"editors\" ? item.fullName : item.lastName}`;\n const start = performance.now();\n try {\n await loadSharedModule(pkgId, moduleName);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n const cost = Math.round(performance.now() - start);\n throw new BrickLoadError(`Load ${type} of \"${item.fullName}\" failed${\n // istanbul ignore next\n process.env.NODE_ENV === \"test\" ? \"\" : ` (${cost > 1000 ? `${+(cost / 1000).toFixed(2)}s` : `${cost}ms`})`}: ${error === null || error === void 0 ? void 0 : error.message}`);\n }\n}\nfunction loadRestBricks(type, pkgs, itemsMap) {\n return pkgs.map(async pkg => {\n var _window$PUBLIC_ROOT;\n await loadScript(pkg.filePath, (_window$PUBLIC_ROOT = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT !== void 0 ? _window$PUBLIC_ROOT : \"\");\n await waitBasicPkg;\n return Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsMap.get(pkg).map(item => loadBrickModule(type, pkg.id, item)));\n });\n}\nasync function enqueueStableLoad(type, list, brickPackages) {\n const brickPackagesMap = new Map();\n for (const pkg of brickPackages) {\n const pkgId = pkg.id || getPkgIdByFilePath(pkg.filePath);\n brickPackagesMap.set(pkgId, pkg);\n }\n const itemsByPkg = getItemsByPkg(type, list, brickPackagesMap);\n let foundBasicPkg;\n const v2Packages = [];\n const v3PackagesOtherThanBasic = [];\n let maybeV2Adapter;\n for (const pkg of itemsByPkg.keys()) {\n if (pkg.id) {\n if (pkg.id === \"bricks/basic\") {\n foundBasicPkg = pkg;\n } else {\n v3PackagesOtherThanBasic.push(pkg);\n }\n } else {\n // Brick packages of v2 has no `id`\n v2Packages.push(pkg);\n maybeV2Adapter = brickPackagesMap.get(\"bricks/v2-adapter\");\n if (!maybeV2Adapter) {\n throw new Error(\"Using v2 bricks, but v2-adapter not found\");\n }\n }\n }\n const v2Adapter = maybeV2Adapter;\n let basicPkgPromise;\n const basicPkg = foundBasicPkg;\n if (basicPkg) {\n var _window$PUBLIC_ROOT2;\n const tempPromise = loadScript(basicPkg.filePath, (_window$PUBLIC_ROOT2 = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT2 !== void 0 ? _window$PUBLIC_ROOT2 : \"\");\n // Packages other than BASIC will wait for an extra micro-task tick.\n if (!basicPkgWillBeResolved) {\n basicPkgWillBeResolved = true;\n tempPromise.then(() => Promise.resolve()).then(resolveBasicPkg, rejectBasicPkg);\n }\n basicPkgPromise = tempPromise.then(() => Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(basicPkg).map(item => loadBrickModule(type, basicPkg.id, item))));\n }\n const pkgPromises = [basicPkgPromise].concat(loadRestBricks(type, v3PackagesOtherThanBasic, itemsByPkg));\n if (v2Adapter && v2Packages.length > 0) {\n if (!v2AdapterPromise) {\n // Load `v2-adapter.load-bricks` and its dependencies\n const v2AdapterItemsByPkg = getItemsByPkg(\"bricks\", [V2_ADAPTER_LOAD_BRICKS], brickPackagesMap);\n const v2AdapterPackages = [...v2AdapterItemsByPkg.keys()];\n const loadV2Adapter = async () => {\n await Promise.all(loadRestBricks(\"bricks\", v2AdapterPackages, v2AdapterItemsByPkg));\n return document.createElement(V2_ADAPTER_LOAD_BRICKS);\n };\n v2AdapterPromise = loadV2Adapter();\n }\n pkgPromises.push(v2AdapterPromise.then(adapter => Promise.all(v2Packages.map(pkg => {\n var _pkg$propertyEditorsJ;\n const pkgId = getPkgIdByFilePath(pkg.filePath);\n const pkgNamespace = pkgId.split(\"/\")[1];\n return adapter.resolve(v2Adapter.filePath, type === \"editors\" ? (_pkg$propertyEditorsJ = pkg.propertyEditorsJsFilePath) !== null && _pkg$propertyEditorsJ !== void 0 ? _pkg$propertyEditorsJ : pkg.filePath : pkg.filePath, type === \"bricks\" ?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(pkg).map(item => `${pkgNamespace}.${item.lastName}`) : [], pkg.dll,\n // Todo: remove `brickPackages` as an argument\n brickPackages);\n }))));\n }\n await Promise.all(pkgPromises);\n}\nasync function dispatchRequestStatus(promise) {\n window.dispatchEvent(new Event(\"request.start\"));\n try {\n await promise;\n } finally {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n}\nfunction getProcessorPackageName(camelPackageName) {\n return camelPackageName.replace(/[A-Z]/g, match => `-${match[0].toLocaleLowerCase()}`).replace(/_[0-9]/g, match => `-${match[1]}`);\n}\nfunction getPkgIdByFilePath(filePath) {\n return filePath.split(\"/\").slice(0, 2).join(\"/\");\n}\n//# sourceMappingURL=stableLoadBricks.js.map"],"names":["cache","Map","loadScriptOrStyle","type","src","prefix","attrs","Array","isArray","Promise","all","map","item","fixedSrc","test","cachedPromise","get","promise","resolve","reject","end","window","dispatchEvent","Event","element","document","createElement","Object","assign","async","rel","href","onload","onerror","e","firstScript","currentScript","getElementsByTagName","parentNode","insertBefore","set","loadScript","loadStyle","loadSharedModule","scope","module","container","init","default","resolveBasicPkg","rejectBasicPkg","basicPkgWillBeResolved","waitBasicPkg","flushStableLoadBricks","enqueueStableLoadBricks","bricks","brickPackages","dispatchRequestStatus","enqueueStableLoad","enqueueStableLoadProcessors","processors","loadBricksImperatively","loadProcessorsImperatively","loadEditorsImperatively","editors","BrickLoadError","Error","constructor","message","super","this","name","captureStackTrace","v2AdapterPromise","V2_ADAPTER_LOAD_BRICKS","getItemsByPkg","list","brickPackagesMap","itemsByPkg","listToLoad","Set","add","_pkg$dependencies","has","pkg","namespace","lastName","p","values","_ref","_p$propertyEditors","propertyEditors","some","includes","split","pkgId","camelPackageName","replace","match","toLocaleLowerCase","deprecatedBrickInThisPkg","_p$elements","elements","_p$deprecatedElements","deprecatedElements","console","error","groupItems","push","fullName","deps","dependencies","dep","loadBrickModule","moduleName","start","performance","now","cost","Math","round","toFixed","loadRestBricks","pkgs","itemsMap","_window$PUBLIC_ROOT","filePath","PUBLIC_ROOT","id","getPkgIdByFilePath","foundBasicPkg","v2Packages","v3PackagesOtherThanBasic","maybeV2Adapter","keys","v2Adapter","basicPkgPromise","basicPkg","_window$PUBLIC_ROOT2","tempPromise","then","pkgPromises","concat","length","v2AdapterItemsByPkg","v2AdapterPackages","loadV2Adapter","adapter","_pkg$propertyEditorsJ","pkgNamespace","propertyEditorsJsFilePath","dll","slice","join"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[3171,5552],{75552:(n,t,e)=>{e.r(t),e.d(t,{i18n:()=>p,i18nText:()=>l,initializeI18n:()=>u});var i=e(75630),s=e(67177),r=e(848);let a=!1;const o=new Set;function u(n,t){if(a||(a=!0,s.i18n.use(r.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),n&&t&&!o.has(n)){o.add(n);for(const[e,i]of Object.entries(t))s.i18n.addResourceBundle(e,n,i)}}var c=e(40410);function l(n){var t;if(!n)return;const e=null!==(t=s.i18n.language)&&void 0!==t?t:"zh-CN";if((0,c.hasOwnProperty)(n,e))return n[e];const i=e.split("-")[0];if(i!==e)return(0,c.hasOwnProperty)(n,i)?n[i]:void 0;const r=`${i}-`;for(const t of Object.keys(n))if(t.startsWith(r))return n[t]}const p=i.default}}]);
|
|
2
|
-
//# sourceMappingURL=5552.09658542.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/5552.09658542.js","mappings":"oPAEA,IAAIA,GAAc,EAClB,MAAMC,EAAwB,IAAIC,IAC3B,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAAjD,CAGAH,EAAsBmB,IAAIhB,GAC1B,IAAK,MAAOiB,EAAMH,KAAcI,OAAOC,QAAQlB,GAC7C,EAAAC,KAAKkB,kBAAkBH,EAAMjB,EAAIc,EAHnC,CAKF,C,eCjCO,SAASO,EAASC,GACvB,IAAIC,EACJ,IAAKD,EACH,OAEF,MAAME,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAE3G,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOZ,OAAOa,KAAKT,GAC5B,GAAIQ,EAAIE,WAAWH,GACjB,OAAOP,EAAKQ,EAGlB,CC3BO,MAAM5B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nlet initialized = false;\nconst initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (const [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n var _i18n$language;\n if (!data) {\n return;\n }\n const language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _i18n$language : \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n const primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n const prefix = `${primaryLanguage}-`;\n for (const key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport const i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","add","lang","Object","entries","addResourceBundle","i18nText","data","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 6380.b8610c4b.js.LICENSE.txt */
|
|
2
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[6380],{5813:(e,t,i)=>{i.d(t,{I:()=>c,K:()=>r,NS:()=>l,t:()=>s});var n=i(67177);let r=function(e){return e.NEW_CHAT="NEW_CHAT",e.LOGOUT="LOGOUT",e.TODAY="TODAY",e.YESTERDAY="YESTERDAY",e.PREVIOUS_7_DAYS="PREVIOUS_7_DAYS",e.PREVIOUS_30_DAYS="PREVIOUS_30_DAYS",e.SWITCH_LANGUAGE="SWITCH_LANGUAGE",e.MY="MY",e.PROJECTS="PROJECTS",e.HISTORY="HISTORY",e.CREATE_PROJECT="CREATE_PROJECT",e.MOVE_TO_PROJECT="MOVE_TO_PROJECT",e.UNTITLED="UNTITLED",e.UNNAMED="UNNAMED",e.BUSINESS_OBJECTS="BUSINESS_OBJECTS",e.BUSINESS_OBJECT_MODELS="BUSINESS_OBJECT_MODELS",e.SERVICEFLOWS="SERVICEFLOWS",e.COLLABORATION_SPACES="COLLABORATION_SPACES",e.CREATE_SERVICEFLOW="CREATE_SERVICEFLOW",e}({});const o={[r.NEW_CHAT]:"New chat",[r.LOGOUT]:"Logout",[r.TODAY]:"Today",[r.YESTERDAY]:"Yesterday",[r.PREVIOUS_7_DAYS]:"Previous 7 days",[r.PREVIOUS_30_DAYS]:"Previous 30 days",[r.SWITCH_LANGUAGE]:"中文",[r.MY]:"My",[r.PROJECTS]:"Projects",[r.HISTORY]:"Chats",[r.CREATE_PROJECT]:"Create project",[r.MOVE_TO_PROJECT]:"Move to project",[r.UNTITLED]:"Untitled",[r.UNNAMED]:"Unnamed",[r.BUSINESS_OBJECTS]:"Business objects",[r.SERVICEFLOWS]:"Serviceflows",[r.COLLABORATION_SPACES]:"Collaboration spaces",[r.CREATE_SERVICEFLOW]:"Create serviceflow",[r.BUSINESS_OBJECT_MODELS]:"Business object models"},a={[r.NEW_CHAT]:"新对话",[r.LOGOUT]:"登出",[r.TODAY]:"今天",[r.YESTERDAY]:"昨天",[r.PREVIOUS_7_DAYS]:"过去7天",[r.PREVIOUS_30_DAYS]:"过去30天",[r.SWITCH_LANGUAGE]:"English",[r.MY]:"我的",[r.PROJECTS]:"项目",[r.HISTORY]:"对话",[r.CREATE_PROJECT]:"创建项目",[r.MOVE_TO_PROJECT]:"移动到项目",[r.UNTITLED]:"无标题",[r.UNNAMED]:"未命名",[r.BUSINESS_OBJECTS]:"业务对象",[r.SERVICEFLOWS]:"业务流",[r.COLLABORATION_SPACES]:"协作空间",[r.CREATE_SERVICEFLOW]:"创建业务流",[r.BUSINESS_OBJECT_MODELS]:"业务对象模型"},l="bricks/ai-portal/elevo-sidebar",c={en:o,zh:a},s=n.i18n.getFixedT(null,l)},17452:(e,t,i)=>{i.d(t,{c:()=>n,w:()=>r});const n={lib:"fa",icon:"plus"},r={lib:"lucide",icon:"box"}},41938:(e,t,i)=>{i.d(t,{c:()=>g});var n=i(89575),r=i(18769),o=i.n(r),a=i(53373),l=i.n(a),c=i(60128),s=i(51578),d=i(5813),p=i(70579),u=i(94504),m=i(17452),E=i(84311);function g(e){let{returnUrl:t,introUrl:i,spaceDetail:a,spaceObjects:g,spaceServiceflows:h,spaceLinks:v,onAddServiceflow:f}=e;const x=(0,r.useRef)(null),[b,k]=(0,r.useState)(!1),[S,y]=(0,r.useState)(!1),O=(0,E.d)(i),C=null==a?void 0:a.icon,T=(null==C?void 0:C.color)||"gray",{color:w,...N}=C||{};return o().createElement(o().Fragment,null,o().createElement(p.EM,{url:t,className:"return-link"},o().createElement(p.Bj,{className:"icon",lib:"lucide",icon:"chevron-left"}),o().createElement("div",{className:"avatar",style:{color:`var(--theme-${T}-color)`}},o().createElement(p.Bj,N)),o().createElement("div",{className:"heading"},o().createElement("div",{className:"title"},null==a?void 0:a.name),o().createElement("div",{className:"sub-title"},(0,d.t)(d.K.COLLABORATION_SPACES)))),o().createElement("div",{className:"divider"}),o().createElement("div",{className:"history",ref:x},g?o().createElement("div",{className:l()("section",{collapsed:b})},o().createElement(s._,{rootRef:x,title:(0,d.t)(d.K.BUSINESS_OBJECTS),collapsed:b,onToggle:()=>k((e=>!e))},o().createElement(p.Py,{icon:m.w,variant:"mini-light",tooltip:(0,d.t)(d.K.BUSINESS_OBJECT_MODELS),tooltipHoist:!0,className:"button",active:O,onClick:()=>(0,c.getHistory)().push(i)})),o().createElement("ul",{className:"items"},g.map(((e,t)=>o().createElement("li",{key:t},o().createElement(u.k,{url:e.url,activeIncludes:e.activeIncludes,render:t=>{let{active:i}=t;return o().createElement(p.EM,{className:l()("item",{active:i}),url:e.url},o().createElement("div",{className:"item-title"},e.title))}})))))):null,h?o().createElement("div",{className:l()("section",{collapsed:S})},o().createElement(s._,{rootRef:x,title:(0,d.t)(d.K.SERVICEFLOWS),collapsed:S,onToggle:()=>y((e=>!e))},o().createElement(p.Py,{icon:m.c,variant:"mini-light",tooltip:(0,d.t)(d.K.CREATE_SERVICEFLOW),tooltipHoist:!0,className:"button",onClick:f})),o().createElement("ul",{className:"items"},h.map(((e,t)=>o().createElement("li",{key:t},o().createElement(u.k,{url:e.url,activeIncludes:e.activeIncludes,render:t=>{let{active:i}=t;return o().createElement(p.EM,{className:l()("item",{active:i}),url:e.url},o().createElement("div",{className:"item-title"},e.title))}})))))):null,null!=v&&v.length?o().createElement("div",{className:"space-links"},v.map(((e,t)=>o().createElement(u.k,{key:t,url:e.url,activeIncludes:e.activeIncludes,render:i=>{let{active:r}=i;return o().createElement(p.EM,{key:t,className:l()("link",{active:r}),url:e.url},o().createElement(p.Bj,(0,n.A)({className:"icon"},e.icon)),o().createElement("span",{className:"title"},e.title))}})))):null))}},51578:(e,t,i)=>{i.d(t,{_:()=>s});var n=i(18769),r=i.n(n),o=i(41030),a=i(53373),l=i.n(a),c=i(70579);function s(e){let{rootRef:t,title:i,collapsed:a,children:s,onToggle:d}=e;const p=(0,n.useRef)(null),[u,m]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{if(a)return void m(!1);const e=t.current,i=p.current,n=null==i?void 0:i.nextElementSibling;if(!e||!i||!n)return;const r=(0,o.throttle)((()=>{const e=i.getBoundingClientRect(),t=n.getBoundingClientRect().top-e.top-e.height;m(t<1)}),100);return e.addEventListener("scroll",r),()=>{e.removeEventListener("scroll",r)}}),[a,t]),r().createElement("div",{className:l()("section-title",{sticky:u}),ref:p},r().createElement("div",{className:"section-label",onClick:d},i,r().createElement(c.Bj,{lib:"fa",icon:"angle-down"})),s)}},61408:(e,t,i)=>{i.d(t,{A:()=>l});var n=i(36758),r=i.n(n),o=i(40935),a=i.n(o)()(r());a.push([e.id,':host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.sidebar{position:relative;z-index:2;width:260px;height:100%;background:rgba(246,247,249,0.5);border:1px solid rgba(255,255,255,0.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:23px 11px 0;display:flex;flex-direction:column;transition:transform 0.3s ease-in-out}.logo-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;margin-left:4px}.main{flex:1;min-height:0;display:flex;flex-direction:column}.divider{border-top:1px solid rgba(0,0,0,0.06);margin:16px 0}.logo-link::part(link){display:block}.logo{vertical-align:middle}.new-chat::part(link){display:flex;gap:0;align-items:center;color:var(--elevo-color-brand);font-size:14px;text-align:left;cursor:pointer}.sidebar .new-chat::part(link){background:#f0f4ff;border-radius:8px;border:1px solid #c9d7ff;padding:9px 13px;font-weight:500;margin-bottom:16px}.sidebar .new-chat::part(link):hover{background:rgba(201,215,255,0.5)}.new-chat-icon{font-size:16px;margin-right:5px}.footer{border-top:1px solid rgba(0,0,0,0.04);padding:9px 12px;margin:0 -12px}.dropdown{display:block}.account{background:none;border:none;border-radius:8px;padding:6px 10px;display:block;width:100%;text-align:left;cursor:pointer}.account:hover{background:rgba(0,0,0,0.04)}.alternative{position:fixed;top:8px;left:8px;padding:6px 10px 6px 8px;display:flex;align-items:center;opacity:0;z-index:2;transition:opacity 0.2s ease-in-out;background:rgba(255,255,255,0);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alternative .new-chat::part(link){padding:4px;margin-left:16px;font-size:12px}.alternative .new-chat::part(link):hover{color:#7891ff}.alternative .new-chat::part(link):active{color:#0911b3}.container{width:270px;padding:10px 0 10px 10px;height:100%;transition:width 0.3s ease-in-out,padding 0.3s ease-in-out}.container.collapsed{width:0;padding:10px 0;overflow:visible}.container.collapsed .sidebar{transform:translateX(-100%)}.container.collapsed .alternative{opacity:1}:host([behavior="drawer"]){z-index:2;width:0}:host(:not([behavior="drawer"])) .alternative .new-chat{display:none}.mask{position:fixed;top:0;right:0;bottom:0;left:0}.link{display:block}.link + .link{margin-top:4px}.link::part(link){display:flex;gap:0;align-items:center;padding:7px 10px;border-radius:8px;color:#000}.link.active::part(link),.link::part(link):hover{background:rgba(0,0,0,0.04)}.link .icon{font-size:16px;margin-right:10px}.link .title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history{flex:1;min-height:0;overflow-y:auto;margin:0 -12px;padding:0 12px}.history ul{list-style:none;margin:0;padding:0}.history .section + .section{margin-top:14px}.history .section-title{display:flex;align-items:center;justify-content:space-between;height:30px;margin-bottom:6px;padding:0 8px;position:sticky;top:0}.history .section-title.sticky::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgb(229,228,234);border-radius:8px;z-index:-1}.history .section-label{display:flex;align-items:center;height:24px;padding:0 8px;margin-left:-8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px;color:#8c8c8c;border-radius:8px}.history .section-label eo-icon{vertical-align:middle;margin-left:6px;transition:transform 0.2s ease-in-out}.history .section-label:hover{background:rgba(0,0,0,0.04)}.history .collapsed > ul{display:none}.history .collapsed .section-label eo-icon{transform:rotate(-90deg)}.history .error,.history .loading{display:flex;align-items:center;height:36px;padding:0 8px}.history .loading{justify-content:center}.history .error{color:var(--color-error)}.history .group + .group{margin-top:15px}.history .group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.history .item{display:block}.history .item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.history .item.active::part(link){background:rgba(0,0,0,0.06)}.history .item.actions-active::part(link),.history .item::part(link):hover{background:rgba(0,0,0,0.04)}.history .item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history .actions{cursor:auto}.history .item:not(:hover):not(.actions-active) .actions{display:none}.history .working{width:8px;height:8px;border-radius:8px;background:var(--elevo-color-brand);margin:0 7px}.history .item.actions-active .working,.history .item:hover .working,.history .item.active .working{display:none}.history .load-more{display:flex;justify-content:center;align-items:center;height:36px}.button{display:flex}.space-links{margin-top:16px}.return-link{display:block}.return-link .heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1;min-width:0}.return-link .title,.return-link .sub-title{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.return-link .title{font-weight:500;font-size:14px}.return-link .sub-title{font-size:12px;color:rgba(0,0,0,0.45)}.return-link .icon{font-size:16px;color:#646a73}.return-link .avatar{background:#fff;border-radius:8px;border:1px solid rgba(0,0,0,0.1);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px}.return-link::part(link){display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 8px;border-radius:8px;color:#262626}.return-link::part(link):hover{background:rgba(0,0,0,0.04)}',""]);const l=a.toString()},70579:(e,t,i)=>{i.d(t,{Bj:()=>r,EM:()=>o,JQ:()=>l,Py:()=>s,qb:()=>a,qu:()=>c});var n=i(30981);const r=(0,n.wrapBrick)("eo-icon"),o=(0,n.wrapBrick)("eo-link"),a=(0,n.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),l=(0,n.wrapBrick)("eo-easyops-avatar"),c=(0,n.wrapBrick)("eo-mini-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),s=(0,n.wrapBrick)("ai-portal.icon-button")},84311:(e,t,i)=>{i.d(t,{d:()=>o});var n=i(18769),r=i(60128);function o(e,t){const[i,o]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{if(!e)return void o(!1);function i(i){for(const n of[e,...null!=t?t:[]])if((0,r.matchPath)(i.pathname,{path:n,exact:!1}))return void o(!0);o(!1)}const n=(0,r.getHistory)();return i(n.location),n.listen(i)}),[e,t]),i}},93358:(e,t,i)=>{i.d(t,{D:()=>b});var n=i(18769),r=i.n(n),o=i(53373),a=i.n(o),l=i(22919),c=i(33885),s=i(41030),d=i(5813),p=i(70579),u=i(40177),m=i(65549),E=i(94504),g=i(51578),h=i(17452),v=i(89575),f=i(84311);function x(e){let{title:t,url:i,activeIncludes:o,actions:l,onClick:c,onActionClick:s,children:u}=e;const m=(0,f.d)(i,o),[E,g]=(0,n.useState)(!1),[h,x]=(0,n.useState)(!1);return r().createElement(p.EM,(0,v.A)({className:a()("item",{"actions-active":E,active:m})},i?{url:i}:null,{onClick:c,onMouseEnter:()=>{x(!0)}}),r().createElement("div",{className:"item-title",title:t},t||(0,d.t)(d.K.UNNAMED)),h&&r().createElement(p.qu,{className:"actions",actions:l,themeVariant:"elevo",onActionClick:s,onVisibleChange:e=>{g(e.detail)}}),u)}const b=(0,n.forwardRef)(k);function k(e,t){let{showProjects:i,historyActions:o,historyUrlTemplate:v,projectUrlTemplate:f,projectActions:b,canAddProject:k,myLinks:S,onActionClick:y,onHistoryClick:O,onProjectActionClick:C,onAddProject:T}=e;const w=(0,n.useRef)(null),[N,_]=(0,n.useState)(!1),[A,R]=(0,n.useState)(null),[I,P]=(0,n.useState)(!1),[B,L]=(0,n.useState)(!1),[U,j]=(0,n.useState)(null),[D,M]=(0,n.useState)(!1),[Y,V]=(0,n.useState)(),[J,H]=(0,n.useState)(),[W,z]=(0,n.useState)(!1),F=(0,n.useRef)(!0),[G,K]=(0,n.useState)([]),q=(0,n.useMemo)((()=>[...null!=o?o:[],{isDropdown:!0,text:(0,d.t)(d.K.MOVE_TO_PROJECT),disabled:!(null!=A&&A.length),items:null==A?void 0:A.map((e=>({event:"move",key:e.instanceId,text:e.name,project:e})))}]),[o,A]);(0,n.useEffect)((()=>{i&&(async()=>{try{const e=await(async()=>(await l.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/projects",{params:{page:1,page_size:3e3}})).data)();R(e.list)}catch(e){console.error("Error loading projects:",e),L(!0),R([])}})()}),[i]),(0,n.useEffect)((()=>{Promise.all([(0,c.E)({token:J,limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}}),...F.current?[]:[new Promise((e=>setTimeout(e,500)))]]).then((e=>{let[t]=e;F.current=!1,j((e=>[...null!=e?e:[],...t.conversations])),V(t.nextToken)})).catch((e=>{console.error("Error loading chat history:",e),j([]),z(!0)}))}),[J]);const Q=(0,n.useRef)(null);(0,n.useEffect)((()=>{const e=Q.current,t=w.current;if(!e||!Y||!t||D)return;const i=new IntersectionObserver((e=>{for(const t of e)t.isIntersecting&&H(Y)}),{root:t});return i.observe(e),()=>{i.disconnect()}}),[Y,D]);const X=(0,n.useRef)(0),$=(0,n.useCallback)((async()=>{try{const e=++X.current,t=await(0,c.E)({limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}});if(e!==X.current)return;j((e=>{const i=null!=e?e:[],n=t.conversations,r=new Set(n.map((e=>e.conversationId))),o=new Map(n.map((e=>[e.conversationId,e])));let a=!1,l=!1,c=!0;for(const e of i){const t=o.get(e.conversationId);if(!t)break;if(a=!0,l=c&&t!==n[0]||!(0,s.isEqual)(t,e),l)break;c=!1}return a?l?[...n,...i.filter((e=>!r.has(e.conversationId)))]:e:(V(t.nextToken),n)}))}catch(e){console.error("Error pulling chat history:",e)}}),[]);(0,n.useImperativeHandle)(t,(()=>({pull:$,removeProject:e=>{R((t=>t?t.filter((t=>t.instanceId!==e)):t))},addProject:e=>{R((t=>t?[...t,e]:[e]))},moveConversation:e=>{K((t=>[...t,e]))}})),[$]);const Z=(0,n.useMemo)((()=>U&&U.length?U.filter((e=>!G.includes(e.conversationId))):U),[U,G]);return r().createElement("div",{className:"history",ref:w},null!=S&&S.length?r().createElement("div",{className:a()("section",{collapsed:N})},r().createElement(g._,{rootRef:w,title:(0,d.t)(d.K.MY),collapsed:N,onToggle:()=>_((e=>!e))}),r().createElement("ul",{className:"items"},S.map(((e,t)=>r().createElement("li",{key:t},r().createElement(E.k,{url:e.url,activeIncludes:e.activeIncludes,render:t=>{let{active:i}=t;return r().createElement(p.EM,{className:a()("item",{active:i}),url:e.url},r().createElement("div",{className:"item-title"},e.title))}})))))):null,i&&r().createElement("div",{className:a()("section",{collapsed:I})},r().createElement(g._,{rootRef:w,title:(0,d.t)(d.K.PROJECTS),collapsed:I,onToggle:()=>P((e=>!e))},k&&r().createElement(p.Py,{icon:h.c,variant:"mini-light",tooltip:(0,d.t)(d.K.CREATE_PROJECT),tooltipHoist:!0,className:"button",onClick:T})),r().createElement("ul",{className:"items"},B?r().createElement("li",{className:"error"},"Failed to load project"):A?A.map((e=>{const t=f?(0,m.Q)(f,e):void 0;return r().createElement("li",{key:e.instanceId},r().createElement(x,{title:e.name,url:t,actions:b,onClick:O,onActionClick:t=>{C({action:t.detail,project:e})}}))})):r().createElement("li",{className:"loading"},r().createElement(p.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})))),r().createElement("div",{className:a()("section",{collapsed:D})},r().createElement(g._,{rootRef:w,title:(0,d.t)(d.K.HISTORY),collapsed:D,onToggle:()=>M((e=>!e))}),r().createElement("ul",{className:"items"},Z?Z.map((e=>{const t=v?(0,m.Q)(v,e):void 0;return r().createElement("li",{key:e.conversationId},r().createElement(x,{title:e.title,url:t,actions:q,onClick:O,onActionClick:t=>{y({action:t.detail,item:e,project:t.detail.project})}},!u.QB.includes(e.state)&&r().createElement("div",{className:"working"})))})):r().createElement("li",{className:"loading"},r().createElement(p.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),W?r().createElement("li",{className:"error"},"Failed to load chat history"):null),!D&&Y&&r().createElement("div",{className:"load-more",ref:Q},r().createElement(p.Bj,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))))}},94504:(e,t,i)=>{i.d(t,{k:()=>r});var n=i(84311);function r(e){let{url:t,activeIncludes:i,render:r}=e;return r({active:(0,n.d)(t,i)})}}}]);
|
|
3
|
-
//# sourceMappingURL=6380.b8610c4b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/6380.b8610c4b.js","mappings":"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","sources":["webpack:///./src/elevo-sidebar/i18n.ts","webpack:///./src/elevo-sidebar/constants.ts","webpack:///./src/elevo-sidebar/SpaceNav.tsx","webpack:///./src/elevo-sidebar/SectionTitle.tsx","webpack:///./src/elevo-sidebar/styles.shadow.css","webpack:///./src/elevo-sidebar/bricks.ts","webpack:///./src/elevo-sidebar/useNavLinkActive.ts","webpack:///./src/elevo-sidebar/NavLinkWithActions.tsx","webpack:///./src/elevo-sidebar/ChatHistory.tsx","webpack:///./node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo/getElevoProjects.js","webpack:///./src/elevo-sidebar/NavLink.tsx"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n NEW_CHAT = \"NEW_CHAT\",\n LOGOUT = \"LOGOUT\",\n TODAY = \"TODAY\",\n YESTERDAY = \"YESTERDAY\",\n PREVIOUS_7_DAYS = \"PREVIOUS_7_DAYS\",\n PREVIOUS_30_DAYS = \"PREVIOUS_30_DAYS\",\n SWITCH_LANGUAGE = \"SWITCH_LANGUAGE\",\n MY = \"MY\",\n PROJECTS = \"PROJECTS\",\n HISTORY = \"HISTORY\",\n CREATE_PROJECT = \"CREATE_PROJECT\",\n MOVE_TO_PROJECT = \"MOVE_TO_PROJECT\",\n UNTITLED = \"UNTITLED\",\n UNNAMED = \"UNNAMED\",\n BUSINESS_OBJECTS = \"BUSINESS_OBJECTS\",\n BUSINESS_OBJECT_MODELS = \"BUSINESS_OBJECT_MODELS\",\n SERVICEFLOWS = \"SERVICEFLOWS\",\n COLLABORATION_SPACES = \"COLLABORATION_SPACES\",\n CREATE_SERVICEFLOW = \"CREATE_SERVICEFLOW\",\n}\n\nconst en: Locale = {\n [K.NEW_CHAT]: \"New chat\",\n [K.LOGOUT]: \"Logout\",\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 [K.SWITCH_LANGUAGE]: \"中文\",\n [K.MY]: \"My\",\n [K.PROJECTS]: \"Projects\",\n [K.HISTORY]: \"Chats\",\n [K.CREATE_PROJECT]: \"Create project\",\n [K.MOVE_TO_PROJECT]: \"Move to project\",\n [K.UNTITLED]: \"Untitled\",\n [K.UNNAMED]: \"Unnamed\",\n [K.BUSINESS_OBJECTS]: \"Business objects\",\n [K.SERVICEFLOWS]: \"Serviceflows\",\n [K.COLLABORATION_SPACES]: \"Collaboration spaces\",\n [K.CREATE_SERVICEFLOW]: \"Create serviceflow\",\n [K.BUSINESS_OBJECT_MODELS]: \"Business object models\",\n};\n\nconst zh: Locale = {\n [K.NEW_CHAT]: \"新对话\",\n [K.LOGOUT]: \"登出\",\n [K.TODAY]: \"今天\",\n [K.YESTERDAY]: \"昨天\",\n [K.PREVIOUS_7_DAYS]: \"过去7天\",\n [K.PREVIOUS_30_DAYS]: \"过去30天\",\n [K.SWITCH_LANGUAGE]: \"English\",\n [K.MY]: \"我的\",\n [K.PROJECTS]: \"项目\",\n [K.HISTORY]: \"对话\",\n [K.CREATE_PROJECT]: \"创建项目\",\n [K.MOVE_TO_PROJECT]: \"移动到项目\",\n [K.UNTITLED]: \"无标题\",\n [K.UNNAMED]: \"未命名\",\n [K.BUSINESS_OBJECTS]: \"业务对象\",\n [K.SERVICEFLOWS]: \"业务流\",\n [K.COLLABORATION_SPACES]: \"协作空间\",\n [K.CREATE_SERVICEFLOW]: \"创建业务流\",\n [K.BUSINESS_OBJECT_MODELS]: \"业务对象模型\",\n};\n\nexport const NS = \"bricks/ai-portal/elevo-sidebar\";\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 type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\n\nexport const ADD_ICON: GeneralIconProps = {\n lib: \"fa\",\n icon: \"plus\",\n};\n\nexport const MODEL_ICON: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"box\",\n};\n","import React, { useRef, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { getHistory } from \"@next-core/runtime\";\nimport { SectionTitle } from \"./SectionTitle.js\";\nimport { K, t } from \"./i18n.js\";\nimport { WrappedIcon, WrappedIconButton, WrappedLink } from \"./bricks.js\";\nimport { NavLink } from \"./NavLink.js\";\nimport type { SidebarLink } from \"./interfaces.js\";\nimport { ADD_ICON, MODEL_ICON } from \"./constants.js\";\nimport { useNavLinkActive } from \"./useNavLinkActive.js\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\n\nexport interface SpaceNavProps {\n returnUrl: string;\n introUrl: string;\n spaceDetail: {\n instanceId: string;\n name: string;\n icon?: GeneralIconProps & {\n color?: string;\n };\n };\n spaceObjects?: SidebarLink[];\n spaceServiceflows?: SidebarLink[];\n spaceLinks?: SidebarLink[];\n}\n\nexport interface SpaceNavComponentProps extends SpaceNavProps {\n onAddServiceflow?: () => void;\n}\n\nexport function SpaceNav({\n returnUrl,\n introUrl,\n spaceDetail,\n spaceObjects,\n spaceServiceflows,\n spaceLinks,\n onAddServiceflow,\n}: SpaceNavComponentProps) {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [objectsCollapsed, setObjectsCollapsed] = useState(false);\n const [serviceflowsCollapsed, setServiceflowsCollapsed] = useState(false);\n const introActive = useNavLinkActive(introUrl);\n\n const avatarIcon = spaceDetail?.icon;\n const avatarColor = avatarIcon?.color || \"gray\";\n const { color, ...iconProps } = avatarIcon || {};\n\n return (\n <>\n <WrappedLink url={returnUrl} className=\"return-link\">\n <WrappedIcon className=\"icon\" lib=\"lucide\" icon=\"chevron-left\" />\n <div\n className=\"avatar\"\n style={{\n color: `var(--theme-${avatarColor}-color)`,\n }}\n >\n <WrappedIcon {...iconProps} />\n </div>\n <div className=\"heading\">\n <div className=\"title\">{spaceDetail?.name}</div>\n <div className=\"sub-title\">{t(K.COLLABORATION_SPACES)}</div>\n </div>\n </WrappedLink>\n <div className=\"divider\" />\n <div className=\"history\" ref={rootRef}>\n {spaceObjects ? (\n <div\n className={classNames(\"section\", { collapsed: objectsCollapsed })}\n >\n <SectionTitle\n rootRef={rootRef}\n title={t(K.BUSINESS_OBJECTS)}\n collapsed={objectsCollapsed}\n onToggle={() => setObjectsCollapsed((prev) => !prev)}\n >\n <WrappedIconButton\n icon={MODEL_ICON}\n variant=\"mini-light\"\n tooltip={t(K.BUSINESS_OBJECT_MODELS)}\n tooltipHoist={true}\n className=\"button\"\n active={introActive}\n onClick={() => getHistory().push(introUrl)}\n />\n </SectionTitle>\n <ul className=\"items\">\n {spaceObjects.map((obj, index) => (\n <li key={index}>\n <NavLink\n url={obj.url}\n activeIncludes={obj.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", { active })}\n url={obj.url}\n >\n <div className=\"item-title\">{obj.title}</div>\n </WrappedLink>\n )}\n />\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n {spaceServiceflows ? (\n <div\n className={classNames(\"section\", {\n collapsed: serviceflowsCollapsed,\n })}\n >\n <SectionTitle\n rootRef={rootRef}\n title={t(K.SERVICEFLOWS)}\n collapsed={serviceflowsCollapsed}\n onToggle={() => setServiceflowsCollapsed((prev) => !prev)}\n >\n <WrappedIconButton\n icon={ADD_ICON}\n variant=\"mini-light\"\n tooltip={t(K.CREATE_SERVICEFLOW)}\n tooltipHoist={true}\n className=\"button\"\n onClick={onAddServiceflow}\n />\n </SectionTitle>\n <ul className=\"items\">\n {spaceServiceflows.map((obj, index) => (\n <li key={index}>\n <NavLink\n url={obj.url}\n activeIncludes={obj.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", { active })}\n url={obj.url}\n >\n <div className=\"item-title\">{obj.title}</div>\n </WrappedLink>\n )}\n />\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n {spaceLinks?.length ? (\n <div className=\"space-links\">\n {spaceLinks.map((link, index) => (\n <NavLink\n key={index}\n url={link.url}\n activeIncludes={link.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n key={index}\n className={classNames(\"link\", { active })}\n url={link.url}\n >\n <WrappedIcon className=\"icon\" {...link.icon} />\n <span className=\"title\">{link.title}</span>\n </WrappedLink>\n )}\n />\n ))}\n </div>\n ) : null}\n </div>\n </>\n );\n}\n","import React, {\n useEffect,\n useRef,\n useState,\n type MutableRefObject,\n type PropsWithChildren,\n} from \"react\";\nimport { throttle } from \"lodash\";\nimport classNames from \"classnames\";\nimport { WrappedIcon } from \"./bricks.js\";\n\nexport interface SectionTitleProps {\n rootRef: MutableRefObject<HTMLDivElement | null>;\n title: string;\n collapsed: boolean;\n onToggle: () => void;\n}\n\nexport function SectionTitle({\n rootRef,\n title,\n collapsed,\n children,\n onToggle,\n}: PropsWithChildren<SectionTitleProps>) {\n const ref = useRef<HTMLDivElement | null>(null);\n const [stickyActive, setStickyActive] = useState(false);\n\n useEffect(() => {\n if (collapsed) {\n setStickyActive(false);\n return;\n }\n const parent = rootRef.current;\n const element = ref.current;\n const sibling = element?.nextElementSibling as HTMLElement | null;\n if (!parent || !element || !sibling) {\n return;\n }\n const onScroll = throttle(() => {\n const rect = element.getBoundingClientRect();\n const siblingRect = sibling.getBoundingClientRect();\n const diff = siblingRect.top - rect.top - rect.height;\n setStickyActive(diff < 1);\n }, 100);\n parent.addEventListener(\"scroll\", onScroll);\n return () => {\n parent.removeEventListener(\"scroll\", onScroll);\n };\n }, [collapsed, rootRef]);\n\n return (\n <div\n className={classNames(\"section-title\", { sticky: stickyActive })}\n ref={ref}\n >\n <div className=\"section-label\" onClick={onToggle}>\n {title}\n <WrappedIcon lib=\"fa\" icon=\"angle-down\" />\n </div>\n {children}\n </div>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.sidebar{position:relative;z-index:2;width:260px;height:100%;background:rgba(246,247,249,0.5);border:1px solid rgba(255,255,255,0.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:23px 11px 0;display:flex;flex-direction:column;transition:transform 0.3s ease-in-out}.logo-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;margin-left:4px}.main{flex:1;min-height:0;display:flex;flex-direction:column}.divider{border-top:1px solid rgba(0,0,0,0.06);margin:16px 0}.logo-link::part(link){display:block}.logo{vertical-align:middle}.new-chat::part(link){display:flex;gap:0;align-items:center;color:var(--elevo-color-brand);font-size:14px;text-align:left;cursor:pointer}.sidebar .new-chat::part(link){background:#f0f4ff;border-radius:8px;border:1px solid #c9d7ff;padding:9px 13px;font-weight:500;margin-bottom:16px}.sidebar .new-chat::part(link):hover{background:rgba(201,215,255,0.5)}.new-chat-icon{font-size:16px;margin-right:5px}.footer{border-top:1px solid rgba(0,0,0,0.04);padding:9px 12px;margin:0 -12px}.dropdown{display:block}.account{background:none;border:none;border-radius:8px;padding:6px 10px;display:block;width:100%;text-align:left;cursor:pointer}.account:hover{background:rgba(0,0,0,0.04)}.alternative{position:fixed;top:8px;left:8px;padding:6px 10px 6px 8px;display:flex;align-items:center;opacity:0;z-index:2;transition:opacity 0.2s ease-in-out;background:rgba(255,255,255,0);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alternative .new-chat::part(link){padding:4px;margin-left:16px;font-size:12px}.alternative .new-chat::part(link):hover{color:#7891ff}.alternative .new-chat::part(link):active{color:#0911b3}.container{width:270px;padding:10px 0 10px 10px;height:100%;transition:width 0.3s ease-in-out,padding 0.3s ease-in-out}.container.collapsed{width:0;padding:10px 0;overflow:visible}.container.collapsed .sidebar{transform:translateX(-100%)}.container.collapsed .alternative{opacity:1}:host([behavior=\"drawer\"]){z-index:2;width:0}:host(:not([behavior=\"drawer\"])) .alternative .new-chat{display:none}.mask{position:fixed;top:0;right:0;bottom:0;left:0}.link{display:block}.link + .link{margin-top:4px}.link::part(link){display:flex;gap:0;align-items:center;padding:7px 10px;border-radius:8px;color:#000}.link.active::part(link),.link::part(link):hover{background:rgba(0,0,0,0.04)}.link .icon{font-size:16px;margin-right:10px}.link .title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history{flex:1;min-height:0;overflow-y:auto;margin:0 -12px;padding:0 12px}.history ul{list-style:none;margin:0;padding:0}.history .section + .section{margin-top:14px}.history .section-title{display:flex;align-items:center;justify-content:space-between;height:30px;margin-bottom:6px;padding:0 8px;position:sticky;top:0}.history .section-title.sticky::before{content:\"\";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgb(229,228,234);border-radius:8px;z-index:-1}.history .section-label{display:flex;align-items:center;height:24px;padding:0 8px;margin-left:-8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px;color:#8c8c8c;border-radius:8px}.history .section-label eo-icon{vertical-align:middle;margin-left:6px;transition:transform 0.2s ease-in-out}.history .section-label:hover{background:rgba(0,0,0,0.04)}.history .collapsed > ul{display:none}.history .collapsed .section-label eo-icon{transform:rotate(-90deg)}.history .error,.history .loading{display:flex;align-items:center;height:36px;padding:0 8px}.history .loading{justify-content:center}.history .error{color:var(--color-error)}.history .group + .group{margin-top:15px}.history .group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.history .item{display:block}.history .item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.history .item.active::part(link){background:rgba(0,0,0,0.06)}.history .item.actions-active::part(link),.history .item::part(link):hover{background:rgba(0,0,0,0.04)}.history .item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history .actions{cursor:auto}.history .item:not(:hover):not(.actions-active) .actions{display:none}.history .working{width:8px;height:8px;border-radius:8px;background:var(--elevo-color-brand);margin:0 7px}.history .item.actions-active .working,.history .item:hover .working,.history .item.active .working{display:none}.history .load-more{display:flex;justify-content:center;align-items:center;height:36px}.button{display:flex}.space-links{margin-top:16px}.return-link{display:block}.return-link .heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1;min-width:0}.return-link .title,.return-link .sub-title{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.return-link .title{font-weight:500;font-size:14px}.return-link .sub-title{font-size:12px;color:rgba(0,0,0,0.45)}.return-link .icon{font-size:16px;color:#646a73}.return-link .avatar{background:#fff;border-radius:8px;border:1px solid rgba(0,0,0,0.1);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px}.return-link::part(link){display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 8px;border-radius:8px;color:#262626}.return-link::part(link):hover{background:rgba(0,0,0,0.04)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import { wrapBrick } from \"@next-core/react-element\";\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 EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\nimport type {\n EoEasyopsAvatar,\n EoEasyopsAvatarProps,\n} from \"@next-bricks/basic/easyops-avatar\";\nimport type {\n EoMiniActions,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping,\n EoMiniActionsProps,\n} from \"@next-bricks/basic/mini-actions\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nexport const WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps & { themeVariant?: \"default\" | \"elevo\" },\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\nexport const WrappedEasyopsAvatar = wrapBrick<\n EoEasyopsAvatar,\n EoEasyopsAvatarProps\n>(\"eo-easyops-avatar\");\nexport const WrappedMiniActions = wrapBrick<\n EoMiniActions,\n EoMiniActionsProps & { themeVariant?: \"default\" | \"elevo\" },\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping\n>(\"eo-mini-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\nexport const WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n","import { useEffect, useState } from \"react\";\nimport { getHistory, matchPath } from \"@next-core/runtime\";\nimport type { Location } from \"history\";\n\nexport function useNavLinkActive(\n url: string | null | undefined,\n activeIncludes?: string[]\n) {\n const [active, setActive] = useState(false);\n\n useEffect(() => {\n if (!url) {\n setActive(false);\n return;\n }\n function checkLinkActive(loc: Location) {\n for (const path of [url!, ...(activeIncludes ?? [])]) {\n const matched = matchPath(loc.pathname, { path, exact: false });\n if (matched) {\n setActive(true);\n return;\n }\n }\n setActive(false);\n }\n const history = getHistory();\n checkLinkActive(history.location);\n return history.listen(checkLinkActive);\n }, [url, activeIncludes]);\n\n return active;\n}\n","import React, { useState, type PropsWithChildren } from \"react\";\nimport classNames from \"classnames\";\nimport type {\n ActionType,\n SimpleActionType,\n} from \"@next-bricks/basic/mini-actions\";\nimport { useNavLinkActive } from \"./useNavLinkActive\";\nimport { WrappedLink, WrappedMiniActions } from \"./bricks\";\nimport { K, t } from \"./i18n\";\n\nexport interface NavLinkWithActionsProps {\n title?: string;\n url?: string;\n activeIncludes?: string[];\n actions?: ActionType[];\n onClick?: () => void;\n onActionClick?: (e: CustomEvent<SimpleActionType>) => void;\n}\n\nexport function NavLinkWithActions({\n title,\n url,\n activeIncludes,\n actions,\n onClick,\n onActionClick,\n children,\n}: PropsWithChildren<NavLinkWithActionsProps>) {\n const active = useNavLinkActive(url, activeIncludes);\n const [actionsVisible, setActionsVisible] = useState(false);\n const [actionsShown, setActionsShown] = useState(false);\n\n return (\n <WrappedLink\n className={classNames(\"item\", {\n \"actions-active\": actionsVisible,\n active,\n })}\n {...(url ? { url } : null)}\n onClick={onClick}\n onMouseEnter={() => {\n setActionsShown(true);\n }}\n >\n <div className=\"item-title\" title={title}>\n {title || t(K.UNNAMED)}\n </div>\n {actionsShown && (\n <WrappedMiniActions\n className=\"actions\"\n actions={actions}\n themeVariant=\"elevo\"\n onActionClick={onActionClick}\n onVisibleChange={(e) => {\n setActionsVisible(e.detail);\n }}\n />\n )}\n {children}\n </WrappedLink>\n );\n}\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ElevoApi_listElevoConversations,\n ElevoApi_getElevoProjects,\n type ElevoApi_ListElevoConversationsRequestParams,\n} from \"@next-api-sdk/llm-sdk\";\nimport type {\n ActionType,\n SimpleActionType,\n} from \"@next-bricks/basic/mini-actions\";\nimport { isEqual } from \"lodash\";\nimport { K, t } from \"./i18n.js\";\nimport { WrappedIcon, WrappedLink, WrappedIconButton } from \"./bricks.js\";\nimport { DONE_STATES } from \"../shared/constants.js\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport type { ConversationState } from \"../shared/interfaces.js\";\nimport type { SidebarLink } from \"./interfaces.js\";\nimport { NavLink } from \"./NavLink.js\";\nimport { SectionTitle } from \"./SectionTitle.js\";\nimport { ADD_ICON } from \"./constants.js\";\nimport { NavLinkWithActions } from \"./NavLinkWithActions.js\";\n\nexport interface HistoryItem {\n conversationId: string;\n title: string;\n startTime: number;\n state?: ConversationState;\n}\n\nexport interface GroupedHistory {\n title: string;\n items: HistoryItem[];\n}\n\nexport interface ActionClickDetail {\n action: SimpleActionType & {\n project?: Project;\n };\n item: HistoryItem;\n project?: Project;\n}\n\nexport interface ProjectActionClickDetail {\n action: SimpleActionType;\n project: Project;\n}\n\nexport interface PersonalActionClickDetail {\n action: SimpleActionType;\n}\n\nexport interface Project {\n /** 实例ID */\n instanceId: string;\n /** 项目名称 */\n name: string;\n /** 项目描述 */\n description: string;\n /** 状态 */\n state: \"active\" | \"inactive\";\n /** 默认数字人ID */\n defaultAiEmployeeId: string;\n /** 创建者 */\n creator: string;\n /** 创建时间 */\n ctime: string;\n /** 修改时间 */\n mtime: string;\n /** 修改者 */\n modifier: string;\n}\n\nexport interface ChatHistoryProps {\n showProjects?: boolean;\n historyUrlTemplate?: string;\n historyActions?: ActionType[];\n projectUrlTemplate?: string;\n projectActions?: ActionType[];\n canAddProject?: boolean;\n myLinks?: SidebarLink[];\n onActionClick: (detail: ActionClickDetail) => void;\n onHistoryClick: () => void;\n onProjectActionClick: (detail: ProjectActionClickDetail) => void;\n onAddProject: () => void;\n}\n\nexport interface ChatHistoryRef {\n pull: () => void;\n removeProject?: (projectId: string) => void;\n addProject?: (project: Project) => void;\n moveConversation?: (conversationId: string) => void;\n}\n\nexport const ChatHistory = forwardRef(LowLevelChatHistory);\n\nexport function LowLevelChatHistory(\n {\n showProjects,\n historyActions,\n historyUrlTemplate,\n projectUrlTemplate,\n projectActions,\n canAddProject,\n myLinks,\n onActionClick,\n onHistoryClick,\n onProjectActionClick,\n onAddProject,\n }: ChatHistoryProps,\n ref: React.Ref<ChatHistoryRef>\n) {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [myCollapsed, setMyCollapsed] = useState(false);\n const [projects, setProjects] = useState<Project[] | null>(null);\n const [projectsCollapsed, setProjectsCollapsed] = useState(false);\n const [projectsError, setProjectsError] = useState(false);\n const [historyList, setHistoryList] = useState<HistoryItem[] | null>(null);\n const [historyCollapsed, setHistoryCollapsed] = useState(false);\n const [nextToken, setNextToken] = useState<string | undefined>();\n const [loadNextToken, setLoadNextToken] = useState<string | undefined>();\n const [historyError, setHistoryError] = useState(false);\n const initialRef = useRef(true);\n const [movedConversations, setMovedConversations] = useState<string[]>([]);\n\n const mergedHistoryActions = useMemo(\n () =>\n [\n ...(historyActions ?? []),\n {\n isDropdown: true,\n text: t(K.MOVE_TO_PROJECT),\n disabled: !projects?.length,\n items: projects?.map((project) => ({\n event: \"move\",\n key: project.instanceId,\n text: project.name,\n project,\n })),\n },\n ] as ActionType[],\n [historyActions, projects]\n );\n\n useEffect(() => {\n if (!showProjects) {\n return;\n }\n (async () => {\n try {\n const projects = await ElevoApi_getElevoProjects({\n page: 1,\n page_size: 3000,\n });\n setProjects(projects.list as Project[]);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error loading projects:\", error);\n setProjectsError(true);\n setProjects([]);\n }\n })();\n }, [showProjects]);\n\n useEffect(() => {\n Promise.all([\n ElevoApi_listElevoConversations(\n {\n token: loadNextToken,\n limit: 30,\n onlyOwner: true,\n onlyUnrelatedProject: true,\n } as ElevoApi_ListElevoConversationsRequestParams,\n {\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n ),\n ...(initialRef.current\n ? []\n : [\n new Promise((resolve) => setTimeout(resolve, 500)), // Force a minimum delay\n ]),\n ])\n .then(([data]) => {\n initialRef.current = false;\n setHistoryList((prev) => [\n ...(prev ?? []),\n ...(data.conversations as HistoryItem[]),\n ]);\n setNextToken(data.nextToken);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error(\"Error loading chat history:\", error);\n setHistoryList([]);\n setHistoryError(true);\n });\n }, [loadNextToken]);\n\n const nextRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const next = nextRef.current;\n const root = rootRef.current;\n if (!next || !nextToken || !root || historyCollapsed) {\n return;\n }\n const observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n setLoadNextToken(nextToken);\n }\n }\n },\n { root }\n );\n observer.observe(next);\n return () => {\n observer.disconnect();\n };\n }, [nextToken, historyCollapsed]);\n\n const pullIdRef = useRef(0);\n\n const pull = useCallback(async () => {\n try {\n const pullId = ++pullIdRef.current;\n const tempList = await ElevoApi_listElevoConversations(\n {\n limit: 30,\n onlyOwner: true,\n onlyUnrelatedProject: true,\n } as ElevoApi_ListElevoConversationsRequestParams,\n {\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n );\n if (pullId !== pullIdRef.current) {\n // Ignore this pull if a newer one has been triggered\n return;\n }\n setHistoryList((prev) => {\n const prevList = prev ?? [];\n const newList = tempList.conversations as HistoryItem[];\n const newIds = new Set(newList.map((item) => item.conversationId));\n const newItemsMap = new Map(\n newList.map((item) => [item.conversationId, item])\n );\n\n let foundIntersection = false;\n let foundChanged = false;\n let isFirst = true;\n for (const item of prevList) {\n const newItem = newItemsMap.get(item.conversationId);\n if (newItem) {\n foundIntersection = true;\n foundChanged =\n (isFirst && newItem !== newList[0]) || !isEqual(newItem, item);\n if (foundChanged) {\n break;\n }\n } else {\n break;\n }\n isFirst = false;\n }\n\n if (!foundIntersection) {\n setNextToken(tempList.nextToken);\n return newList;\n }\n\n if (foundChanged) {\n return [\n ...newList,\n ...prevList.filter((item) => !newIds.has(item.conversationId)),\n ];\n }\n\n return prev;\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error pulling chat history:\", error);\n }\n }, []);\n\n useImperativeHandle(\n ref,\n () => ({\n pull,\n removeProject: (projectId: string) => {\n setProjects((prev) =>\n prev ? prev.filter((p) => p.instanceId !== projectId) : prev\n );\n },\n addProject: (project: Project) => {\n setProjects((prev) => (prev ? [...prev, project] : [project]));\n },\n moveConversation: (conversationId: string) => {\n setMovedConversations((prev) => [...prev, conversationId]);\n },\n }),\n [pull]\n );\n\n const filteredHistoryList = useMemo(() => {\n if (!historyList || !historyList.length) {\n return historyList;\n }\n return historyList.filter(\n (item) => !movedConversations.includes(item.conversationId)\n );\n }, [historyList, movedConversations]);\n\n return (\n <div className=\"history\" ref={rootRef}>\n {myLinks?.length ? (\n <div className={classNames(\"section\", { collapsed: myCollapsed })}>\n <SectionTitle\n rootRef={rootRef}\n title={t(K.MY)}\n collapsed={myCollapsed}\n onToggle={() => setMyCollapsed((prev) => !prev)}\n />\n <ul className=\"items\">\n {myLinks.map((link, index) => (\n <li key={index}>\n <NavLink\n url={link.url}\n activeIncludes={link.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", { active })}\n url={link.url}\n >\n <div className=\"item-title\">{link.title}</div>\n </WrappedLink>\n )}\n />\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n {showProjects && (\n <div\n className={classNames(\"section\", { collapsed: projectsCollapsed })}\n >\n <SectionTitle\n rootRef={rootRef}\n title={t(K.PROJECTS)}\n collapsed={projectsCollapsed}\n onToggle={() => setProjectsCollapsed((prev) => !prev)}\n >\n {canAddProject && (\n <WrappedIconButton\n icon={ADD_ICON}\n variant=\"mini-light\"\n tooltip={t(K.CREATE_PROJECT)}\n tooltipHoist={true}\n className=\"button\"\n onClick={onAddProject}\n />\n )}\n </SectionTitle>\n <ul className=\"items\">\n {projectsError ? (\n <li className=\"error\">Failed to load project</li>\n ) : projects ? (\n projects.map((project) => {\n const url = projectUrlTemplate\n ? parseTemplate(projectUrlTemplate, project)\n : undefined;\n return (\n <li key={project.instanceId}>\n <NavLinkWithActions\n title={project.name}\n url={url}\n actions={projectActions}\n onClick={onHistoryClick}\n onActionClick={(e) => {\n onProjectActionClick({\n action: e.detail,\n project,\n });\n }}\n />\n </li>\n );\n })\n ) : (\n <li className=\"loading\">\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </li>\n )}\n </ul>\n </div>\n )}\n <div className={classNames(\"section\", { collapsed: historyCollapsed })}>\n <SectionTitle\n rootRef={rootRef}\n title={t(K.HISTORY)}\n collapsed={historyCollapsed}\n onToggle={() => setHistoryCollapsed((prev) => !prev)}\n />\n <ul className=\"items\">\n {filteredHistoryList ? (\n filteredHistoryList.map((item) => {\n const url = historyUrlTemplate\n ? parseTemplate(historyUrlTemplate, item)\n : undefined;\n return (\n <li key={item.conversationId}>\n <NavLinkWithActions\n title={item.title}\n url={url}\n actions={mergedHistoryActions}\n onClick={onHistoryClick}\n onActionClick={(e) => {\n onActionClick({\n action: e.detail,\n item,\n project: (e.detail as { project?: Project }).project,\n });\n }}\n >\n {!DONE_STATES.includes(item.state!) && (\n <div className=\"working\"></div>\n )}\n </NavLinkWithActions>\n </li>\n );\n })\n ) : (\n <li className=\"loading\">\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </li>\n )}\n {historyError ? (\n <li className=\"error\">Failed to load chat history</li>\n ) : null}\n </ul>\n {!historyCollapsed && nextToken && (\n <div className=\"load-more\" ref={nextRef}>\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n )}\n </div>\n </div>\n );\n}\n","import { http } from \"@next-core/http\";\n/**\n * @description 获取elevo项目列表\n * @endpoint list /api/v1/elevo/projects\n */\nexport const ElevoApi_getElevoProjects = async (params, options) => /**! @contract easyops.api.llm.elevo.GetElevoProjects@1.0.0 */(await http.get(\"api/gateway/logic.llm.aiops_service/api/v1/elevo/projects\", {\n ...options,\n params\n})).data;\n//# sourceMappingURL=getElevoProjects.js.map","import React from \"react\";\nimport { useNavLinkActive } from \"./useNavLinkActive\";\n\nexport interface NavLinkProps {\n url?: string;\n activeIncludes?: string[];\n render: (props: { active: boolean }) => React.ReactElement;\n}\n\nexport function NavLink({ url, activeIncludes, render }: NavLinkProps) {\n const active = useNavLinkActive(url, activeIncludes);\n\n return render({ active });\n}\n"],"names":["K","en","NEW_CHAT","LOGOUT","TODAY","YESTERDAY","PREVIOUS_7_DAYS","PREVIOUS_30_DAYS","SWITCH_LANGUAGE","MY","PROJECTS","HISTORY","CREATE_PROJECT","MOVE_TO_PROJECT","UNTITLED","UNNAMED","BUSINESS_OBJECTS","SERVICEFLOWS","COLLABORATION_SPACES","CREATE_SERVICEFLOW","BUSINESS_OBJECT_MODELS","zh","NS","locales","t","i18n","getFixedT","ADD_ICON","lib","icon","MODEL_ICON","SpaceNav","_ref","returnUrl","introUrl","spaceDetail","spaceObjects","spaceServiceflows","spaceLinks","onAddServiceflow","rootRef","useRef","objectsCollapsed","setObjectsCollapsed","useState","serviceflowsCollapsed","setServiceflowsCollapsed","introActive","useNavLinkActive","avatarIcon","avatarColor","color","iconProps","React","WrappedLink","url","className","WrappedIcon","style","name","ref","classNames","collapsed","SectionTitle","title","onToggle","prev","WrappedIconButton","variant","tooltip","tooltipHoist","active","onClick","getHistory","push","map","obj","index","key","NavLink","activeIncludes","render","_ref2","_ref3","length","link","_ref4","_extends","children","stickyActive","setStickyActive","useEffect","parent","current","element","sibling","nextElementSibling","onScroll","throttle","rect","getBoundingClientRect","diff","top","height","addEventListener","removeEventListener","sticky","___CSS_LOADER_EXPORT___","module","id","toString","wrapBrick","WrappedDropdownActions","onActionClick","onVisibleChange","WrappedEasyopsAvatar","WrappedMiniActions","setActive","checkLinkActive","loc","path","matchPath","pathname","exact","history","location","listen","NavLinkWithActions","actions","actionsVisible","setActionsVisible","actionsShown","setActionsShown","onMouseEnter","themeVariant","e","detail","ChatHistory","forwardRef","LowLevelChatHistory","showProjects","historyActions","historyUrlTemplate","projectUrlTemplate","projectActions","canAddProject","myLinks","onHistoryClick","onProjectActionClick","onAddProject","myCollapsed","setMyCollapsed","projects","setProjects","projectsCollapsed","setProjectsCollapsed","projectsError","setProjectsError","historyList","setHistoryList","historyCollapsed","setHistoryCollapsed","nextToken","setNextToken","loadNextToken","setLoadNextToken","historyError","setHistoryError","initialRef","movedConversations","setMovedConversations","mergedHistoryActions","useMemo","isDropdown","text","disabled","items","project","event","instanceId","async","http","get","params","page","page_size","data","ElevoApi_getElevoProjects","list","error","console","Promise","all","ElevoApi_listElevoConversations","token","limit","onlyOwner","onlyUnrelatedProject","interceptorParams","ignoreLoadingBar","resolve","setTimeout","then","conversations","catch","nextRef","next","root","observer","IntersectionObserver","entries","entry","isIntersecting","observe","disconnect","pullIdRef","pull","useCallback","pullId","tempList","prevList","newList","newIds","Set","item","conversationId","newItemsMap","Map","foundIntersection","foundChanged","isFirst","newItem","isEqual","filter","has","useImperativeHandle","removeProject","projectId","p","addProject","moveConversation","filteredHistoryList","includes","parseTemplate","undefined","action","theme","spinning","DONE_STATES","state"],"sourceRoot":""}
|