@next-bricks/ai-portal 0.60.1 → 0.60.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 +26 -26
- package/dist/chunks/{1480.ec45b604.js → 1480.0de951a3.js} +2 -2
- package/dist/chunks/{1480.ec45b604.js.map → 1480.0de951a3.js.map} +1 -1
- package/dist/chunks/{2084.ddaad7cc.js → 2084.aae5392b.js} +3 -3
- package/dist/chunks/2084.aae5392b.js.map +1 -0
- package/dist/chunks/{2232.02cd2bbc.js → 2232.085b8abd.js} +2 -2
- package/dist/chunks/{2232.02cd2bbc.js.map → 2232.085b8abd.js.map} +1 -1
- package/dist/chunks/{2324.d6932d39.js → 2324.a4a90c77.js} +2 -2
- package/dist/chunks/{2324.d6932d39.js.map → 2324.a4a90c77.js.map} +1 -1
- package/dist/chunks/{3171.a0251432.js → 3171.45ef4669.js} +2 -2
- package/dist/chunks/{3171.a0251432.js.map → 3171.45ef4669.js.map} +1 -1
- package/dist/chunks/{7146.1af0c62e.js → 4765.03d9c7c5.js} +2 -2
- package/dist/chunks/{4765.e2813cac.js.map → 4765.03d9c7c5.js.map} +1 -1
- package/dist/chunks/{4837.c7f9a784.js → 4837.570099ad.js} +2 -2
- package/dist/chunks/{4837.c7f9a784.js.map → 4837.570099ad.js.map} +1 -1
- package/dist/chunks/{5552.84bdc597.js → 5552.09658542.js} +2 -2
- package/dist/chunks/{5552.84bdc597.js.map → 5552.09658542.js.map} +1 -1
- package/dist/chunks/{5712.4f691939.js → 5712.f692e3f5.js} +2 -2
- package/dist/chunks/5712.f692e3f5.js.map +1 -0
- package/dist/chunks/{6792.26bcd166.js → 6792.03e66697.js} +2 -2
- package/dist/chunks/{6792.26bcd166.js.map → 6792.03e66697.js.map} +1 -1
- package/dist/chunks/{4765.e2813cac.js → 7146.b327120d.js} +2 -2
- package/dist/chunks/{7146.1af0c62e.js.map → 7146.b327120d.js.map} +1 -1
- package/dist/chunks/{7888.c0645842.js → 7888.61a7cdf2.js} +3 -3
- package/dist/chunks/{7888.c0645842.js.map → 7888.61a7cdf2.js.map} +1 -1
- package/dist/chunks/948.e601f18c.js +3 -0
- package/dist/chunks/948.e601f18c.js.map +1 -0
- package/dist/chunks/{9599.1f04dd1f.js → 9599.02a5e6e3.js} +2 -2
- package/dist/chunks/{9599.1f04dd1f.js.map → 9599.02a5e6e3.js.map} +1 -1
- package/dist/chunks/{action-buttons.989fd1c9.js → action-buttons.68666920.js} +2 -2
- package/dist/chunks/{action-buttons.989fd1c9.js.map → action-buttons.68666920.js.map} +1 -1
- package/dist/chunks/{activity-timeline.60adaa84.js → activity-timeline.96e7aaea.js} +2 -2
- package/dist/chunks/{activity-timeline.60adaa84.js.map → activity-timeline.96e7aaea.js.map} +1 -1
- package/dist/chunks/{ai-agents.92ed0274.js → ai-agents.cffd08a0.js} +3 -3
- package/dist/chunks/{ai-agents.92ed0274.js.map → ai-agents.cffd08a0.js.map} +1 -1
- package/dist/chunks/{ai-employees.52fe4443.js → ai-employees.267c3626.js} +3 -3
- package/dist/chunks/{ai-employees.52fe4443.js.map → ai-employees.267c3626.js.map} +1 -1
- package/dist/chunks/{call-tool.89a848e0.js → call-tool.a3219d5e.js} +2 -2
- package/dist/chunks/{call-tool.89a848e0.js.map → call-tool.a3219d5e.js.map} +1 -1
- package/dist/chunks/chat-box.a8e58e50.js +3 -0
- package/dist/chunks/chat-box.a8e58e50.js.map +1 -0
- package/dist/chunks/{chat-input.fce2d021.js → chat-input.e999f79c.js} +2 -2
- package/dist/chunks/{chat-input.fce2d021.js.map → chat-input.e999f79c.js.map} +1 -1
- package/dist/chunks/{chat-stream.362a2292.js → chat-stream.8d8dc5a0.js} +2 -2
- package/dist/chunks/{chat-stream.362a2292.js.map → chat-stream.8d8dc5a0.js.map} +1 -1
- package/dist/chunks/{cruise-canvas.426be93e.js → cruise-canvas.4a0692fb.js} +2 -2
- package/dist/chunks/{cruise-canvas.426be93e.js.map → cruise-canvas.4a0692fb.js.map} +1 -1
- package/dist/chunks/{dropdown-select.1140bf2b.js → dropdown-select.336442ba.js} +2 -2
- package/dist/chunks/{dropdown-select.1140bf2b.js.map → dropdown-select.336442ba.js.map} +1 -1
- package/dist/chunks/{elevo-sidebar.0d1f76dd.js → elevo-sidebar.68648b33.js} +3 -3
- package/dist/chunks/elevo-sidebar.68648b33.js.map +1 -0
- package/dist/chunks/{gantt-chart.0086539c.js → gantt-chart.42c7f514.js} +2 -2
- package/dist/chunks/{gantt-chart.0086539c.js.map → gantt-chart.42c7f514.js.map} +1 -1
- package/dist/chunks/{goal-card-list.44c21cf2.js → goal-card-list.74ab5767.js} +3 -3
- package/dist/chunks/{goal-card-list.44c21cf2.js.map → goal-card-list.74ab5767.js.map} +1 -1
- package/dist/chunks/{load-request-store.b4cf045b.js → load-request-store.a6effafd.js} +2 -2
- package/dist/chunks/{load-request-store.b4cf045b.js.map → load-request-store.a6effafd.js.map} +1 -1
- package/dist/chunks/main.fc9fd5d4.js +2 -0
- package/dist/chunks/{main.08db9bee.js.map → main.fc9fd5d4.js.map} +1 -1
- package/dist/chunks/{mcp-tools.0acb474a.js → mcp-tools.f132c502.js} +2 -2
- package/dist/chunks/{mcp-tools.0acb474a.js.map → mcp-tools.f132c502.js.map} +1 -1
- package/dist/chunks/{notice-dropdown.365134e6.js → notice-dropdown.63cb2415.js} +2 -2
- package/dist/chunks/{notice-dropdown.365134e6.js.map → notice-dropdown.63cb2415.js.map} +1 -1
- package/dist/chunks/{notice-list.d51c0103.js → notice-list.9a78cc87.js} +3 -3
- package/dist/chunks/{notice-list.d51c0103.js.map → notice-list.9a78cc87.js.map} +1 -1
- package/dist/chunks/{page-container.570e7c6d.js → page-container.08e26095.js} +2 -2
- package/dist/chunks/{page-container.570e7c6d.js.map → page-container.08e26095.js.map} +1 -1
- package/dist/chunks/{preview-container.5793faee.js → preview-container.a0ca6e2f.js} +2 -2
- package/dist/chunks/{preview-container.5793faee.js.map → preview-container.a0ca6e2f.js.map} +1 -1
- package/dist/chunks/{project-conversations.3f559e57.js → project-conversations.4cc72f40.js} +3 -3
- package/dist/chunks/{project-conversations.3f559e57.js.map → project-conversations.4cc72f40.js.map} +1 -1
- package/dist/chunks/{project-knowledges.24611263.js → project-knowledges.51731410.js} +3 -3
- package/dist/chunks/{project-knowledges.24611263.js.map → project-knowledges.51731410.js.map} +1 -1
- package/dist/chunks/{set-chat-command.367b9c88.js → set-chat-command.182747cc.js} +2 -2
- package/dist/chunks/{set-chat-command.367b9c88.js.map → set-chat-command.182747cc.js.map} +1 -1
- package/dist/chunks/{show-case.7bc5fc9e.js → show-case.44e995fc.js} +2 -2
- package/dist/chunks/{show-case.7bc5fc9e.js.map → show-case.44e995fc.js.map} +1 -1
- package/dist/chunks/{show-cases.85fe99d4.js → show-cases.c3921ea0.js} +2 -2
- package/dist/chunks/{show-cases.85fe99d4.js.map → show-cases.c3921ea0.js.map} +1 -1
- package/dist/chunks/{stage-flow.22610ca5.js → stage-flow.9b6fad93.js} +2 -2
- package/dist/chunks/{stage-flow.22610ca5.js.map → stage-flow.9b6fad93.js.map} +1 -1
- package/dist/examples.json +12 -12
- package/dist/index.f2850973.js +2 -0
- package/dist/index.f2850973.js.map +1 -0
- package/dist/manifest.json +227 -227
- package/dist/types.json +6072 -4106
- package/dist-types/elevo-sidebar/ChatHistory.d.ts +3 -1
- package/dist-types/elevo-sidebar/index.d.ts +2 -1
- package/dist-types/jsx.d.ts +77 -0
- package/dist-types/shared/interfaces.d.ts +40 -2
- package/package.json +5 -3
- package/dist/chunks/2084.ddaad7cc.js.map +0 -1
- package/dist/chunks/5712.4f691939.js.map +0 -1
- package/dist/chunks/948.d125d58c.js +0 -3
- package/dist/chunks/948.d125d58c.js.map +0 -1
- package/dist/chunks/chat-box.991e397f.js +0 -3
- package/dist/chunks/chat-box.991e397f.js.map +0 -1
- package/dist/chunks/elevo-sidebar.0d1f76dd.js.map +0 -1
- package/dist/chunks/main.08db9bee.js +0 -2
- package/dist/index.8852dff5.js +0 -2
- package/dist/index.8852dff5.js.map +0 -1
- /package/dist/chunks/{2084.ddaad7cc.js.LICENSE.txt → 2084.aae5392b.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{7888.c0645842.js.LICENSE.txt → 7888.61a7cdf2.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{948.d125d58c.js.LICENSE.txt → 948.e601f18c.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{ai-agents.92ed0274.js.LICENSE.txt → ai-agents.cffd08a0.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{ai-employees.52fe4443.js.LICENSE.txt → ai-employees.267c3626.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-box.991e397f.js.LICENSE.txt → chat-box.a8e58e50.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{elevo-sidebar.0d1f76dd.js.LICENSE.txt → elevo-sidebar.68648b33.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{goal-card-list.44c21cf2.js.LICENSE.txt → goal-card-list.74ab5767.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{notice-list.d51c0103.js.LICENSE.txt → notice-list.9a78cc87.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{project-conversations.3f559e57.js.LICENSE.txt → project-conversations.4cc72f40.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{project-knowledges.24611263.js.LICENSE.txt → project-knowledges.51731410.js.LICENSE.txt} +0 -0
|
@@ -3,7 +3,7 @@ import { ReactNextElement } from "@next-core/react-element";
|
|
|
3
3
|
import "@next-core/theme";
|
|
4
4
|
import type { ActionType } from "@next-bricks/basic/mini-actions";
|
|
5
5
|
import type { GeneralIconProps } from "@next-bricks/icons/general-icon";
|
|
6
|
-
import { type Project } from "./ChatHistory.js";
|
|
6
|
+
import { type ActionClickDetail, type Project, type ProjectActionClickDetail } from "./ChatHistory.js";
|
|
7
7
|
export interface ElevoSidebarProps {
|
|
8
8
|
userInstanceId?: string;
|
|
9
9
|
behavior?: "default" | "drawer";
|
|
@@ -26,6 +26,7 @@ export interface SidebarLink {
|
|
|
26
26
|
icon?: GeneralIconProps;
|
|
27
27
|
activeIncludes?: string[];
|
|
28
28
|
}
|
|
29
|
+
export type { ActionClickDetail, Project, ProjectActionClickDetail };
|
|
29
30
|
/**
|
|
30
31
|
* 构件 `ai-portal.elevo-sidebar`
|
|
31
32
|
*/
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { DetailedHTMLProps, HTMLAttributes } from "react";
|
|
2
|
+
import type { ActionButtons, ActionButtonsProps } from "./action-buttons";
|
|
3
|
+
import type { ActivityTimeline, ActivityTimelineProps } from "./activity-timeline";
|
|
4
|
+
import type { AIAgents, AIAgentsProps } from "./ai-agents";
|
|
5
|
+
import type { AIEmployees, AIEmployeesProps } from "./ai-employees";
|
|
6
|
+
import type { BlankState, BlankStateProps } from "./blank-state";
|
|
7
|
+
import type { ChatBox, ChatBoxProps } from "./chat-box";
|
|
8
|
+
import type { ChatInput, ChatInputProps } from "./chat-input";
|
|
9
|
+
import type { ChatStream, ChatStreamProps } from "./chat-stream";
|
|
10
|
+
import type { CruiseCanvas, CruiseCanvasProps } from "./cruise-canvas";
|
|
11
|
+
import type { DropdownSelect, DropdownSelectProps } from "./dropdown-select";
|
|
12
|
+
import type { ElevoCard, ElevoCardProps } from "./elevo-card";
|
|
13
|
+
import type { ElevoLogo } from "./elevo-logo";
|
|
14
|
+
import type { ActionClickDetail, ElevoSidebar, ElevoSidebarProps, ProjectActionClickDetail } from "./elevo-sidebar";
|
|
15
|
+
import type { FlowTabs, FlowTabsProps } from "./flow-tabs";
|
|
16
|
+
import type { GanttChart, GanttChartProps } from "./gantt-chart";
|
|
17
|
+
import type { GoalCardList, GoalCardListProps } from "./goal-card-list";
|
|
18
|
+
import type { HomeContainer } from "./home-container";
|
|
19
|
+
import type { IconButton, IconButtonProps } from "./icon-button";
|
|
20
|
+
import type { McpTools, McpToolsProps } from "./mcp-tools";
|
|
21
|
+
import type { NoticeDropdown, NoticeDropdownProps, NoticeItem } from "./notice-dropdown";
|
|
22
|
+
import type { NoticeList, NoticeListProps } from "./notice-list";
|
|
23
|
+
import type { PageContainer, PageContainerProps } from "./page-container";
|
|
24
|
+
import type { PreviewContainer, PreviewContainerProps } from "./preview-container";
|
|
25
|
+
import type { ProjectConversations, ProjectConversationsProps } from "./project-conversations";
|
|
26
|
+
import type { ProjectKnowledges, ProjectKnowledgesProps } from "./project-knowledges";
|
|
27
|
+
import type { RunningFlow, RunningFlowProps } from "./running-flow";
|
|
28
|
+
import type { ShowCase, ShowCaseProps } from "./show-case";
|
|
29
|
+
import type { ShowCases, ShowCasesProps } from "./show-cases";
|
|
30
|
+
import type { StageFlow, StageFlowProps } from "./stage-flow";
|
|
31
|
+
import type { StatWithMiniChart, StatWithMiniChartProps } from "./stat-with-mini-chart";
|
|
32
|
+
import type { StickyContainer, StickyContainerProps } from "./sticky-container";
|
|
33
|
+
import type { TabList, TabListProps } from "./tab-list";
|
|
34
|
+
declare global {
|
|
35
|
+
namespace JSX {
|
|
36
|
+
interface IntrinsicElements {
|
|
37
|
+
"ai-portal--action-buttons": DetailedHTMLProps<HTMLAttributes<ActionButtons>, ActionButtons> & ActionButtonsProps;
|
|
38
|
+
"ai-portal--activity-timeline": DetailedHTMLProps<HTMLAttributes<ActivityTimeline>, ActivityTimeline> & ActivityTimelineProps;
|
|
39
|
+
"ai-portal--ai-agents": DetailedHTMLProps<HTMLAttributes<AIAgents>, AIAgents> & AIAgentsProps;
|
|
40
|
+
"ai-portal--ai-employees": DetailedHTMLProps<HTMLAttributes<AIEmployees>, AIEmployees> & AIEmployeesProps;
|
|
41
|
+
"ai-portal--blank-state": DetailedHTMLProps<HTMLAttributes<BlankState>, BlankState> & BlankStateProps;
|
|
42
|
+
"ai-portal--chat-box": DetailedHTMLProps<HTMLAttributes<ChatBox>, ChatBox> & ChatBoxProps;
|
|
43
|
+
"ai-portal--chat-input": DetailedHTMLProps<HTMLAttributes<ChatInput>, ChatInput> & ChatInputProps;
|
|
44
|
+
"ai-portal--chat-stream": DetailedHTMLProps<HTMLAttributes<ChatStream>, ChatStream> & ChatStreamProps;
|
|
45
|
+
"ai-portal--cruise-canvas": DetailedHTMLProps<HTMLAttributes<CruiseCanvas>, CruiseCanvas> & CruiseCanvasProps;
|
|
46
|
+
"ai-portal--dropdown-select": DetailedHTMLProps<HTMLAttributes<DropdownSelect>, DropdownSelect> & DropdownSelectProps;
|
|
47
|
+
"ai-portal--elevo-card": DetailedHTMLProps<HTMLAttributes<ElevoCard>, ElevoCard> & ElevoCardProps;
|
|
48
|
+
"ai-portal--elevo-logo": DetailedHTMLProps<HTMLAttributes<ElevoLogo>, ElevoLogo>;
|
|
49
|
+
"ai-portal--elevo-sidebar": DetailedHTMLProps<HTMLAttributes<ElevoSidebar>, ElevoSidebar> & ElevoSidebarProps & {
|
|
50
|
+
onActionClick?: (event: CustomEvent<ActionClickDetail>) => void;
|
|
51
|
+
onProjectActionClick?: (event: CustomEvent<ProjectActionClickDetail>) => void;
|
|
52
|
+
};
|
|
53
|
+
"ai-portal--flow-tabs": DetailedHTMLProps<HTMLAttributes<FlowTabs>, FlowTabs> & FlowTabsProps;
|
|
54
|
+
"ai-portal--gantt-chart": DetailedHTMLProps<HTMLAttributes<GanttChart>, GanttChart> & GanttChartProps;
|
|
55
|
+
"ai-portal--goal-card-list": DetailedHTMLProps<HTMLAttributes<GoalCardList>, GoalCardList> & GoalCardListProps;
|
|
56
|
+
"ai-portal--home-container": DetailedHTMLProps<HTMLAttributes<HomeContainer>, HomeContainer>;
|
|
57
|
+
"ai-portal--icon-button": DetailedHTMLProps<HTMLAttributes<IconButton>, IconButton> & IconButtonProps;
|
|
58
|
+
"ai-portal--mcp-tools": DetailedHTMLProps<HTMLAttributes<McpTools>, McpTools> & McpToolsProps;
|
|
59
|
+
"ai-portal--notice-dropdown": DetailedHTMLProps<HTMLAttributes<NoticeDropdown>, NoticeDropdown> & NoticeDropdownProps & {
|
|
60
|
+
onMarkAllRead?: (event: CustomEvent<void>) => void;
|
|
61
|
+
onNoticeClick?: (event: CustomEvent<NoticeItem>) => void;
|
|
62
|
+
};
|
|
63
|
+
"ai-portal--notice-list": DetailedHTMLProps<HTMLAttributes<NoticeList>, NoticeList> & NoticeListProps;
|
|
64
|
+
"ai-portal--page-container": DetailedHTMLProps<HTMLAttributes<PageContainer>, PageContainer> & PageContainerProps;
|
|
65
|
+
"ai-portal--preview-container": DetailedHTMLProps<HTMLAttributes<PreviewContainer>, PreviewContainer> & PreviewContainerProps;
|
|
66
|
+
"ai-portal--project-conversations": DetailedHTMLProps<HTMLAttributes<ProjectConversations>, ProjectConversations> & ProjectConversationsProps;
|
|
67
|
+
"ai-portal--project-knowledges": DetailedHTMLProps<HTMLAttributes<ProjectKnowledges>, ProjectKnowledges> & ProjectKnowledgesProps;
|
|
68
|
+
"ai-portal--running-flow": DetailedHTMLProps<HTMLAttributes<RunningFlow>, RunningFlow> & RunningFlowProps;
|
|
69
|
+
"ai-portal--show-case": DetailedHTMLProps<HTMLAttributes<ShowCase>, ShowCase> & ShowCaseProps;
|
|
70
|
+
"ai-portal--show-cases": DetailedHTMLProps<HTMLAttributes<ShowCases>, ShowCases> & ShowCasesProps;
|
|
71
|
+
"ai-portal--stage-flow": DetailedHTMLProps<HTMLAttributes<StageFlow>, StageFlow> & StageFlowProps;
|
|
72
|
+
"ai-portal--stat-with-mini-chart": DetailedHTMLProps<HTMLAttributes<StatWithMiniChart>, StatWithMiniChart> & StatWithMiniChartProps;
|
|
73
|
+
"ai-portal--sticky-container": DetailedHTMLProps<HTMLAttributes<StickyContainer>, StickyContainer> & StickyContainerProps;
|
|
74
|
+
"ai-portal--tab-list": DetailedHTMLProps<HTMLAttributes<TabList>, TabList> & TabListProps;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -165,8 +165,46 @@ export interface ConversationError {
|
|
|
165
165
|
taskId?: string;
|
|
166
166
|
error?: string;
|
|
167
167
|
}
|
|
168
|
-
export type CommandPayload =
|
|
169
|
-
export interface
|
|
168
|
+
export type CommandPayload = CommandPayloadServiceFlowStart | CommandPayloadServiceFlowCreate | CommandPayloadServiceFlowEdit | CommandPayloadGoalPlan | LegacyCommandPayloadServiceFlowStarting;
|
|
169
|
+
export interface BaseCommandPayload {
|
|
170
|
+
type: string;
|
|
171
|
+
payload?: unknown;
|
|
172
|
+
}
|
|
173
|
+
export interface CommandPayloadServiceFlowStart extends BaseCommandPayload {
|
|
174
|
+
type: "serviceflow-start";
|
|
175
|
+
payload: {
|
|
176
|
+
spaceInstanceId: string;
|
|
177
|
+
spaceName?: string;
|
|
178
|
+
flowInstanceId?: string;
|
|
179
|
+
flowName?: string;
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
export interface CommandPayloadServiceFlowCreate extends BaseCommandPayload {
|
|
183
|
+
type: "serviceflow-create";
|
|
184
|
+
payload: {
|
|
185
|
+
spaceInstanceId: string;
|
|
186
|
+
spaceName?: string;
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
export interface CommandPayloadServiceFlowEdit extends BaseCommandPayload {
|
|
190
|
+
type: "serviceflow-edit";
|
|
191
|
+
payload: {
|
|
192
|
+
spaceInstanceId: string;
|
|
193
|
+
spaceName?: string;
|
|
194
|
+
flowInstanceId: string;
|
|
195
|
+
flowName?: string;
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
export interface CommandPayloadGoalPlan extends BaseCommandPayload {
|
|
199
|
+
type: "goal-plan";
|
|
200
|
+
payload: {
|
|
201
|
+
goalId: string;
|
|
202
|
+
goalName?: string;
|
|
203
|
+
description?: string;
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
/** @deprecated Use `payload` instead */
|
|
207
|
+
export interface LegacyCommandPayloadServiceFlowStarting {
|
|
170
208
|
type: "serviceFlowStarting";
|
|
171
209
|
serviceFlowStarting: {
|
|
172
210
|
spaceInstanceId: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-bricks/ai-portal",
|
|
3
|
-
"version": "0.60.
|
|
3
|
+
"version": "0.60.3",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-advanced-bricks/tree/master/bricks/ai-portal",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,10 +15,12 @@
|
|
|
15
15
|
"dist-types",
|
|
16
16
|
"docs"
|
|
17
17
|
],
|
|
18
|
+
"types": "dist-types/jsx.d.ts",
|
|
18
19
|
"exports": {
|
|
19
20
|
"./package.json": "./package.json",
|
|
20
21
|
"./dist/bricks.json": "./dist/bricks.json",
|
|
21
22
|
"./dist/manifest.json": "./dist/manifest.json",
|
|
23
|
+
".": "./dist-types/jsx.d.ts",
|
|
22
24
|
"./*": {
|
|
23
25
|
"types": "./dist-types/*/index.d.ts"
|
|
24
26
|
}
|
|
@@ -35,7 +37,7 @@
|
|
|
35
37
|
"postpublish": "mv package.json.bak package.json"
|
|
36
38
|
},
|
|
37
39
|
"devDependencies": {
|
|
38
|
-
"@next-core/build-next-bricks": "^1.
|
|
40
|
+
"@next-core/build-next-bricks": "^1.25.1",
|
|
39
41
|
"@next-core/test-next": "^2.0.1"
|
|
40
42
|
},
|
|
41
43
|
"peerDependencies": {
|
|
@@ -47,5 +49,5 @@
|
|
|
47
49
|
"@next-bricks/presentational": "*",
|
|
48
50
|
"@next-bricks/vs": "*"
|
|
49
51
|
},
|
|
50
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "d3542d1e1dcffba3e041e88d9b9c398f8c782ad7"
|
|
51
53
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/2084.ddaad7cc.js","mappings":"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","sources":["webpack:///./src/elevo-sidebar/i18n.ts","webpack:///./src/elevo-sidebar/styles.shadow.css","webpack:///./src/elevo-sidebar/bricks.ts","webpack:///../../node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo/getElevoProjects.js","webpack:///../../node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo/listElevoConversations.js","webpack:///./src/elevo-sidebar/ChatHistory.tsx","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}\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};\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};\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","// 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}.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}.links{border-bottom:1px solid rgba(0,0,0,0.06);padding-bottom:16px;margin-bottom:16px}.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}`, \"\"]);\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 { 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 { http } from \"@next-core/http\";\n/**\n * @description 获取elevo会话列表\n * @endpoint GET /api/v1/elevo/conversations\n */\nexport const ElevoApi_listElevoConversations = async (params, options) => /**! @contract easyops.api.llm.elevo.ListElevoConversations@1.0.0 */(await http.get(\"api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations\", {\n ...options,\n params\n})).data;\n//# sourceMappingURL=listElevoConversations.js.map","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type MutableRefObject,\n type PropsWithChildren,\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 type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { isEqual, throttle } from \"lodash\";\nimport { K, t } from \"./i18n.js\";\nimport {\n WrappedIcon,\n WrappedLink,\n WrappedMiniActions,\n WrappedIconButton,\n} 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 \"./index.js\";\nimport { NavLink } from \"./NavLink.js\";\n\nconst ADD_ICON: GeneralIconProps = {\n lib: \"fa\",\n icon: \"plus\",\n};\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 item: HistoryItem;\n project?: Project;\n}\n\nexport interface ProjectActionClickDetail {\n action: SimpleActionType;\n project: Project;\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 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 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 (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 }, []);\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 [actionsVisible, setActionsVisible] = useState<string | null>(null);\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 <div className={classNames(\"section\", { collapsed: projectsCollapsed })}>\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 <NavLink\n url={url}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", {\n \"actions-active\":\n project.instanceId === actionsVisible,\n active,\n })}\n onClick={onHistoryClick}\n {...(url ? { url } : null)}\n >\n <div className=\"item-title\" title={project.name}>\n {project.name || t(K.UNNAMED)}\n </div>\n <WrappedMiniActions\n className=\"actions\"\n actions={projectActions}\n themeVariant=\"elevo\"\n onActionClick={(e) => {\n onProjectActionClick({ action: e.detail, project });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(\n e.detail ? project.instanceId : null\n );\n }}\n />\n </WrappedLink>\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 <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 <NavLink\n url={url}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", {\n \"actions-active\":\n item.conversationId === actionsVisible,\n active,\n })}\n onClick={onHistoryClick}\n {...(historyUrlTemplate\n ? { url: parseTemplate(historyUrlTemplate, item) }\n : null)}\n >\n <div className=\"item-title\" title={item.title}>\n {item.title || t(K.UNTITLED)}\n </div>\n <WrappedMiniActions\n className=\"actions\"\n actions={mergedHistoryActions}\n onActionClick={(e) => {\n onActionClick({ action: e.detail, item });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(\n e.detail ? item.conversationId : null\n );\n }}\n />\n {!DONE_STATES.includes(item.state!) && (\n <div className=\"working\"></div>\n )}\n </WrappedLink>\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 {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\ninterface SectionTitleProps {\n rootRef: MutableRefObject<HTMLDivElement | null>;\n title: string;\n collapsed: boolean;\n onToggle: () => void;\n}\n\nfunction 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","import React, { useEffect, useState } from \"react\";\nimport { getHistory, matchPath } from \"@next-core/runtime\";\nimport type { Location } from \"history\";\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, setActive] = useState(false);\n\n useEffect(() => {\n function checkLinkActive(loc: Location) {\n if (!url) {\n setActive(false);\n return;\n }\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 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","zh","NS","locales","t","i18n","getFixedT","___CSS_LOADER_EXPORT___","push","module","id","toString","WrappedIcon","wrapBrick","WrappedLink","WrappedDropdownActions","onActionClick","onVisibleChange","WrappedEasyopsAvatar","WrappedMiniActions","WrappedIconButton","ElevoApi_listElevoConversations","async","params","options","http","get","data","ADD_ICON","lib","icon","ChatHistory","forwardRef","LowLevelChatHistory","_ref","ref","historyActions","historyUrlTemplate","projectUrlTemplate","projectActions","canAddProject","myLinks","onHistoryClick","onProjectActionClick","onAddProject","rootRef","useRef","myCollapsed","setMyCollapsed","useState","projects","setProjects","projectsCollapsed","setProjectsCollapsed","projectsError","setProjectsError","historyList","setHistoryList","historyCollapsed","setHistoryCollapsed","nextToken","setNextToken","loadNextToken","setLoadNextToken","historyError","setHistoryError","initialRef","movedConversations","setMovedConversations","mergedHistoryActions","useMemo","isDropdown","text","disabled","length","items","map","project","event","key","instanceId","name","useEffect","page","page_size","ElevoApi_getElevoProjects","list","error","console","Promise","all","token","limit","onlyOwner","onlyUnrelatedProject","interceptorParams","ignoreLoadingBar","current","resolve","setTimeout","then","_ref2","prev","conversations","catch","actionsVisible","setActionsVisible","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","React","className","classNames","collapsed","SectionTitle","title","onToggle","link","index","NavLink","url","activeIncludes","render","_ref3","active","variant","tooltip","tooltipHoist","onClick","parseTemplate","undefined","_ref4","_extends","actions","themeVariant","e","action","detail","theme","spinning","_ref5","DONE_STATES","state","_ref6","children","stickyActive","setStickyActive","parent","element","sibling","nextElementSibling","onScroll","throttle","rect","getBoundingClientRect","diff","top","height","addEventListener","removeEventListener","sticky","setActive","checkLinkActive","loc","path","matchPath","pathname","exact","history","getHistory","location","listen"],"sourceRoot":""}
|