@nocobase/plugin-ai 2.1.0-alpha.13 → 2.1.0-alpha.15

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.
Files changed (104) hide show
  1. package/dist/ai/ai-employees/atlas/index.d.ts +10 -0
  2. package/dist/ai/ai-employees/atlas/index.js +56 -0
  3. package/dist/ai/ai-employees/atlas/prompt.md +84 -0
  4. package/dist/ai/ai-employees/vera.js +1 -1
  5. package/dist/ai/skills/business-analysis-report/SKILLS.md +84 -0
  6. package/dist/ai/tools/businessReportGenerator.d.ts +10 -0
  7. package/dist/ai/tools/businessReportGenerator.js +83 -0
  8. package/dist/ai/tools/chartGenerator.js +1 -0
  9. package/dist/ai/tools/getSkill.js +1 -1
  10. package/dist/ai/tools/sub-agents/dispatch-sub-agent-task.d.ts +10 -0
  11. package/dist/ai/tools/sub-agents/dispatch-sub-agent-task.js +108 -0
  12. package/dist/ai/tools/sub-agents/get-ai-employee.d.ts +10 -0
  13. package/dist/ai/tools/sub-agents/get-ai-employee.js +67 -0
  14. package/dist/ai/tools/sub-agents/list-ai-employees.d.ts +10 -0
  15. package/dist/ai/tools/sub-agents/list-ai-employees.js +64 -0
  16. package/dist/ai/tools/sub-agents/shared.d.ts +33 -0
  17. package/dist/ai/tools/sub-agents/shared.js +169 -0
  18. package/dist/ai/tools/subAgentWebSearch.d.ts +10 -0
  19. package/dist/ai/tools/subAgentWebSearch.js +103 -0
  20. package/dist/ai/tools/suggestions.js +2 -2
  21. package/dist/client/0e94d90f0134df30.js +10 -0
  22. package/dist/client/{4f9117811ffc7ab3.js → 1c3ef55a6d63c9a3.js} +1 -1
  23. package/dist/client/55d67b74f02b8d74.js +10 -0
  24. package/dist/client/{6dc8c9b641452067.js → 5d5c118d11e91913.js} +1 -1
  25. package/dist/client/748fbb87c1013c6e.js +10 -0
  26. package/dist/client/8e82080c5e8ccfb7.js +10 -0
  27. package/dist/client/a8d6d81fb88f1a8e.js +10 -0
  28. package/dist/client/ai-employees/built-in/utils.d.ts +1 -0
  29. package/dist/client/ai-employees/business-report/tools/index.d.ts +10 -0
  30. package/dist/client/ai-employees/business-report/ui/BusinessReportCard.d.ts +12 -0
  31. package/dist/client/ai-employees/business-report/ui/BusinessReportModal.d.ts +17 -0
  32. package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +36 -0
  33. package/dist/client/ai-employees/chatbox/AIEmployeeSwitch.d.ts +0 -1
  34. package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +5 -3
  35. package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +1 -2
  36. package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +1 -1
  37. package/dist/client/ai-employees/chatbox/roles.d.ts +1 -0
  38. package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +8 -0
  39. package/dist/client/ai-employees/chatbox/utils.d.ts +15 -1
  40. package/dist/client/ai-employees/sub-agents/tools/index.d.ts +10 -0
  41. package/dist/client/ai-employees/sub-agents/ui/SubAgentDispatchCard.d.ts +21 -0
  42. package/dist/client/ai-employees/types.d.ts +19 -0
  43. package/dist/client/c065565ccbb41f99.js +10 -0
  44. package/dist/client/d5e9663991c30eed.js +10 -0
  45. package/dist/client/f87cff5213f94856.js +10 -0
  46. package/dist/client/f8c075896e8b9c0b.js +10 -0
  47. package/dist/client/fd4e5dcaf24052c1.js +10 -0
  48. package/dist/client/index.js +7 -7
  49. package/dist/client/manager/ai-manager.d.ts +4 -23
  50. package/dist/externalVersion.js +17 -15
  51. package/dist/locale/en-US.json +30 -1
  52. package/dist/locale/zh-CN.json +30 -1
  53. package/dist/node_modules/fast-glob/package.json +1 -1
  54. package/dist/node_modules/flexsearch/package.json +1 -1
  55. package/dist/node_modules/fs-extra/package.json +1 -1
  56. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  57. package/dist/node_modules/openai/package.json +1 -1
  58. package/dist/node_modules/zod/package.json +1 -1
  59. package/dist/server/ai-employees/ai-conversations.d.ts +64 -0
  60. package/dist/server/ai-employees/ai-conversations.js +285 -0
  61. package/dist/server/ai-employees/ai-employee.d.ts +88 -14
  62. package/dist/server/ai-employees/ai-employee.js +335 -200
  63. package/dist/server/ai-employees/middleware/conversation.d.ts +2 -0
  64. package/dist/server/ai-employees/middleware/conversation.js +38 -5
  65. package/dist/server/ai-employees/middleware/tools.js +37 -10
  66. package/dist/server/ai-employees/prompts.d.ts +11 -1
  67. package/dist/server/ai-employees/prompts.js +29 -2
  68. package/dist/server/ai-employees/sub-agents/dispatcher.d.ts +36 -0
  69. package/dist/server/ai-employees/sub-agents/dispatcher.js +225 -0
  70. package/dist/server/ai-employees/sub-agents/index.d.ts +9 -0
  71. package/dist/server/ai-employees/sub-agents/index.js +36 -0
  72. package/dist/server/ai-employees/utils.js +1 -1
  73. package/dist/server/collections/ai-conversations.js +6 -0
  74. package/dist/server/llm-providers/anthropic.d.ts +1 -0
  75. package/dist/server/llm-providers/anthropic.js +2 -1
  76. package/dist/server/llm-providers/dashscope.d.ts +3 -0
  77. package/dist/server/llm-providers/dashscope.js +13 -1
  78. package/dist/server/llm-providers/deepseek.d.ts +1 -0
  79. package/dist/server/llm-providers/deepseek.js +5 -2
  80. package/dist/server/llm-providers/google-genai.d.ts +1 -0
  81. package/dist/server/llm-providers/google-genai.js +2 -1
  82. package/dist/server/llm-providers/kimi/provider.d.ts +1 -0
  83. package/dist/server/llm-providers/openai/responses.d.ts +1 -0
  84. package/dist/server/llm-providers/openai/responses.js +2 -1
  85. package/dist/server/llm-providers/provider.d.ts +1 -10
  86. package/dist/server/llm-providers/provider.js +3 -34
  87. package/dist/server/manager/ai-manager.d.ts +10 -0
  88. package/dist/server/manager/ai-manager.js +32 -0
  89. package/dist/server/migrations/20260319000000-add-ai-conversations-from.d.ts +14 -0
  90. package/dist/server/migrations/20260319000000-add-ai-conversations-from.js +63 -0
  91. package/dist/server/plugin.d.ts +4 -0
  92. package/dist/server/plugin.js +4 -0
  93. package/dist/server/resource/aiConversations.d.ts +3 -3
  94. package/dist/server/resource/aiConversations.js +125 -159
  95. package/dist/server/types/ai-chat-conversation.type.d.ts +8 -2
  96. package/dist/server/types/ai-message.type.d.ts +7 -0
  97. package/dist/server/utils.d.ts +3 -0
  98. package/dist/server/utils.js +28 -1
  99. package/package.json +4 -2
  100. package/dist/client/27539a4356faebb1.js +0 -10
  101. package/dist/client/39492c2121f4c722.js +0 -10
  102. package/dist/client/53190ab4290ef9d5.js +0 -10
  103. package/dist/client/9c00efb8eb0b4d69.js +0 -10
  104. package/dist/client/d4e2ed9fa44a82b2.js +0 -10
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["768"],{7611:function(e,t,r){r.r(t),r.d(t,{BusinessReportCard:function(){return y}});var n=r(9155),o=r.n(n),i=r(2059),a=r(7375),s=r(5477),l=r(3342),c=r(3079),u=r(7596),d=r(107),f=r(26);function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(){var e,t,r=(e=["\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(220%);\n }\n"],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return p=function(){return r},r}var v=new(function(){var e;function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");m(this,"maxSize",void 0),m(this,"items",void 0),this.maxSize=e,this.items=new Set}return e=[{key:"has",value:function(e){return this.items.has(e)}},{key:"add",value:function(e){if(this.items.has(e))return this;if(this.items.size>=this.maxSize){var t=this.items.values().next().value;void 0!==t&&this.items.delete(t)}return this.items.add(e),this}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(t.prototype,e),t}())(200),b=(0,s.keyframes)(p()),y=function(e){var t,r,p,y,g,h,O,w=e.messageId,k=e.toolCall,j=(0,c.kj)(),P=(0,l.useToken)().token,E=u.J.use.currentConversation(),S=f.H.use.messages(),C=f.H.use.responseLoading(),T=d.y.use.setOpenToolModal(),x=d.y.use.setActiveTool(),z=d.y.use.setActiveMessageId(),B=(0,n.useMemo)(function(){return k.args||{}},[k.args]),M=!["done","confirmed"].includes(k.invokeStatus),_="success"===k.status&&["done","confirmed"].includes(k.invokeStatus),D=null==(r=S[S.length-1])||null==(t=r.content)?void 0:t.messageId,F=!!((null==B?void 0:B.title)||(null==B?void 0:B.summary)||(null==B||null==(p=B.markdown)?void 0:p.trim())||(null==B||null==(y=B.charts)?void 0:y.length)),R=(0,n.useRef)({}),I=(0,n.useMemo)(function(){return(0,s.css)({position:"relative",overflow:"hidden",height:4,borderRadius:999,background:P.colorFillSecondary,"&::after":{content:'""',position:"absolute",inset:0,width:"45%",borderRadius:999,background:"linear-gradient(90deg, ".concat(P.colorPrimaryBg," 0%, ").concat(P.colorPrimary," 100%)"),animation:"".concat(b," 1.2s ease-in-out infinite")}})},[P.colorFillSecondary,P.colorPrimary,P.colorPrimaryBg]),A=(0,n.useCallback)(function(){x(k),z(w),T(!0)},[w,z,x,T,k]);(0,n.useEffect)(function(){if(C&&D===w&&"success"===k.status&&"done"===k.invokeStatus){var e="".concat(E||"global",":").concat(k.id);v.has(e)||(v.add(e),A())}},[E,D,w,A,C,k.id,k.status,k.invokeStatus]),(0,n.useEffect)(function(){if(F){var e,t;e=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){m(e,t,r[t])})}return e}({},R.current,B),t=t={charts:(null==B?void 0:B.charts)||R.current.charts},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),R.current=e}},[F,B]);var G=F?B:R.current,H=(null==G?void 0:G.summary)||((null==G||null==(g=G.markdown)?void 0:g.trim())?G.markdown.trim().split("\n").filter(Boolean).slice(0,2).join(" "):j(M?"Generating business analysis report...":"Open the report to preview, export, or print it.")),L=(null==G||null==(O=G.markdown)||null==(h=O.trim())?void 0:h.split("\n").filter(Boolean).slice(0,3).join(" "))||"",X=(null==G?void 0:G.title)||j("Business analysis report");return o().createElement(i.Card,{hoverable:_,style:{margin:"16px 0",cursor:_?"pointer":M?"progress":"default"},onClick:function(){_&&A()}},o().createElement(i.Card.Meta,{avatar:M?o().createElement(a.LoadingOutlined,{spin:!0}):o().createElement(a.FileTextOutlined,null),title:X,description:o().createElement(i.Space,{direction:"vertical",size:10,style:{width:"100%"}},o().createElement("div",null,H),L?o().createElement(i.Typography.Paragraph,{ellipsis:{rows:3,expandable:!1},style:{marginBottom:0,color:P.colorTextSecondary}},L):null,o().createElement(i.Space,{wrap:!0,size:[8,8]},o().createElement(i.Tag,{bordered:!1,color:M?"warning":"processing"},j(M?"Generating":"Markdown")),o().createElement(i.Tag,{bordered:!1,color:_?"success":"default"},((null==G?void 0:G.charts)||[]).length," ",j("Charts")),o().createElement(i.Tag,{bordered:!1,style:{background:P.colorFillTertiary,color:P.colorTextSecondary}},o().createElement(a.BarChartOutlined,null)," ",j("Preview and export"))),M?o().createElement("div",{className:I}):null)}))}}}]);
@@ -10,5 +10,6 @@ import { AIEmployee } from '../types';
10
10
  export declare const isBuiltIn: (aiEmployee: AIEmployee) => boolean;
11
11
  export declare const isEngineer: (aiEmployee: AIEmployee) => boolean;
12
12
  export declare const isDataModelingAssistant: (aiEmployee: AIEmployee) => boolean;
13
+ export declare const isLeader: (aiEmployee: AIEmployee) => boolean;
13
14
  export declare const isHide: (aiEmployee: AIEmployee) => boolean;
14
15
  export declare const isSupportLanguage: (language: string) => boolean;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { ToolsOptions } from '@nocobase/client';
10
+ export declare const businessReportGeneratorTool: [string, ToolsOptions];
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ import { ToolsUIProperties } from '@nocobase/client';
11
+ import { BusinessReport } from './report-utils';
12
+ export declare const BusinessReportCard: React.FC<ToolsUIProperties<BusinessReport>>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ import { ToolCall } from '@nocobase/client';
11
+ import { BusinessReport } from './report-utils';
12
+ export declare const BusinessReportModalFooter: React.FC<{
13
+ tool: ToolCall<BusinessReport>;
14
+ }>;
15
+ export declare const BusinessReportModal: React.FC<{
16
+ tool: ToolCall<BusinessReport>;
17
+ }>;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export type BusinessReportChart = {
10
+ title?: string;
11
+ summary?: string;
12
+ options: Record<string, any>;
13
+ };
14
+ export type BusinessReport = {
15
+ title: string;
16
+ summary?: string;
17
+ markdown: string;
18
+ charts?: BusinessReportChart[];
19
+ fileName?: string;
20
+ };
21
+ export type BusinessReportRenderState = BusinessReport & {
22
+ generatedAt?: string | number | Date;
23
+ };
24
+ type ReportRenderOptions = {
25
+ locale?: string;
26
+ };
27
+ export declare function getReportFileName(report: BusinessReport): string;
28
+ export declare function buildReportMarkdown(report: BusinessReportRenderState, options?: ReportRenderOptions): string;
29
+ export declare function buildReportHtml(report: BusinessReportRenderState, options?: {
30
+ autoPrint?: boolean;
31
+ printMode?: boolean;
32
+ locale?: string;
33
+ }): Promise<string>;
34
+ export declare function downloadTextFile(filename: string, content: string, mimeType: string): void;
35
+ export declare function printReport(report: BusinessReportRenderState, options?: ReportRenderOptions): Promise<boolean>;
36
+ export {};
@@ -8,4 +8,3 @@
8
8
  */
9
9
  import React from 'react';
10
10
  export declare const AIEmployeeSwitcher: React.FC;
11
- export declare const SenderHeader: React.FC;
@@ -6,11 +6,13 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import { AIEmployee, SendOptions, TriggerTaskOptions } from '../../types';
9
+ import { AIEmployee, ClearOptions, SendOptions, TriggerTaskOptions } from '../../types';
10
10
  export declare const useChatBoxActions: () => {
11
- clear: () => void;
11
+ clear: (options?: ClearOptions) => void;
12
12
  send: (options: SendOptions) => void;
13
13
  startNewConversation: () => void;
14
- switchAIEmployee: (aiEmployee: AIEmployee) => void;
14
+ switchAIEmployee: (aiEmployee: AIEmployee, options?: {
15
+ clear?: ClearOptions;
16
+ }) => void;
15
17
  triggerTask: (options: TriggerTaskOptions) => Promise<void>;
16
18
  };
@@ -7,5 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
- export declare function replaceTagBlockByIndex(input: string, tagName: string, indexToReplace: number, newInnerStr: string): string;
11
- export declare const Echarts: (props: any) => React.JSX.Element;
10
+ export declare const Echarts: React.MemoExoticComponent<(props: any) => React.JSX.Element>;
@@ -8,6 +8,6 @@
8
8
  */
9
9
  import React from 'react';
10
10
  import { Message } from '../../types';
11
- export declare const Markdown: React.FC<{
11
+ export declare const Markdown: React.NamedExoticComponent<{
12
12
  message: Message['content'];
13
13
  }>;
@@ -12,6 +12,7 @@ import { Bubble } from '@ant-design/x';
12
12
  import { AIEmployee } from '../types';
13
13
  export declare const defaultRoles: GetProp<typeof Bubble.List, 'roles'>;
14
14
  export declare const aiEmployeeRole: (aiEmployee: AIEmployee) => {
15
+ nickname: string;
15
16
  placement: string;
16
17
  typing: {
17
18
  step: number;
@@ -41,6 +41,10 @@ export interface ChatMessagesActions {
41
41
  setCurrentEditorRefUid: (uid: string) => void;
42
42
  setWebSearching: (webSearching: WebSearching) => void;
43
43
  setFlowContext: (ctx: any) => void;
44
+ addSubAgentMessage: (sessionId: string, msg: Message) => void;
45
+ addSubAgentMessages: (sessionId: string, msgs: Message[]) => void;
46
+ updateLastSubAgentMessage: (sessionId: string, username: string, updater: (msg: Message) => Message) => void;
47
+ updateSubAgentConversationStatus: (sessionId: string, status: 'pending' | 'completed') => void;
44
48
  }
45
49
  export declare const useChatMessagesStore: {
46
50
  (): ChatMessagesState & ChatMessagesActions;
@@ -77,6 +81,10 @@ export declare const useChatMessagesStore: {
77
81
  setCurrentEditorRefUid: () => (uid: string) => void;
78
82
  setWebSearching: () => (webSearching: WebSearching) => void;
79
83
  setFlowContext: () => (ctx: any) => void;
84
+ addSubAgentMessage: () => (sessionId: string, msg: Message) => void;
85
+ addSubAgentMessages: () => (sessionId: string, msgs: Message[]) => void;
86
+ updateLastSubAgentMessage: () => (sessionId: string, username: string, updater: (msg: Message) => Message) => void;
87
+ updateSubAgentConversationStatus: () => (sessionId: string, status: 'pending' | 'completed') => void;
80
88
  };
81
89
  };
82
90
  export {};
@@ -7,7 +7,7 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { Application } from '@nocobase/client';
10
- import { ContextItem, SkillSettings, TaskMessage } from '../types';
10
+ import { ContextItem, SkillSettings, TaskMessage, Message } from '../types';
11
11
  export declare const parseTask: (task: {
12
12
  message: TaskMessage;
13
13
  webSearch?: boolean;
@@ -25,3 +25,17 @@ export declare const parseTask: (task: {
25
25
  export declare const parseWorkContext: (app: Application, workContext: ContextItem[]) => Promise<any[]>;
26
26
  export declare const UNKNOWN_FILE_ICON: string;
27
27
  export declare function getFileIconByExt(fileName: string): string;
28
+ export declare const formatConversationDuration: (durationMs?: number) => string;
29
+ export type RenderedItem = {
30
+ type: 'message';
31
+ message: Message;
32
+ isRoot: boolean;
33
+ } | {
34
+ type: 'conversation-group';
35
+ key: string;
36
+ roleName?: string;
37
+ status?: 'pending' | 'completed';
38
+ durationMs?: number;
39
+ items: RenderedItem[];
40
+ };
41
+ export declare const flattenMessages: (messages?: Message[], isRoot?: boolean) => RenderedItem[];
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { ToolsOptions } from '@nocobase/client';
10
+ export declare const dispatchSubAgentTaskTool: [string, ToolsOptions];
@@ -0,0 +1,21 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ import { ToolsUIProperties } from '@nocobase/client';
11
+ export declare const SubAgentDispatchCard: React.FC<ToolsUIProperties<{
12
+ username?: string;
13
+ question?: string;
14
+ }>>;
15
+ export type SubAgentDisplayInfo = {
16
+ username: string;
17
+ nickname: string;
18
+ position?: string;
19
+ avatar?: string;
20
+ matched: boolean;
21
+ };
@@ -64,6 +64,7 @@ export type MessageType = 'text' | 'greeting';
64
64
  export type Message = Omit<BubbleProps, 'content'> & {
65
65
  key?: string | number;
66
66
  role?: string;
67
+ createdAt?: string | Date;
67
68
  content: {
68
69
  content: any;
69
70
  ref?: React.MutableRefObject<any>;
@@ -90,6 +91,13 @@ export type Message = Omit<BubbleProps, 'content'> & {
90
91
  status: string;
91
92
  content: string;
92
93
  };
94
+ subAgentConversations?: {
95
+ sessionId: string;
96
+ toolCallId?: string;
97
+ status?: 'pending' | 'completed';
98
+ messages: Message[];
99
+ }[];
100
+ from?: 'main-agent' | 'sub-agent';
93
101
  };
94
102
  };
95
103
  export type Action = {
@@ -97,6 +105,17 @@ export type Action = {
97
105
  content: string;
98
106
  onClick: (content: string) => void;
99
107
  };
108
+ export type ClearOptions = {
109
+ sender?: boolean;
110
+ systemMessage?: boolean;
111
+ attachments?: boolean;
112
+ contextItems?: boolean;
113
+ taskVariables?: boolean;
114
+ toolModal?: boolean;
115
+ activeTool?: boolean;
116
+ activeMessageId?: boolean;
117
+ skillSettings?: boolean;
118
+ };
100
119
  export type SendOptions = {
101
120
  sessionId?: string;
102
121
  aiEmployee?: AIEmployee;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["711"],{602:function(e,t,r){r.r(t),r.d(t,{Echarts:function(){return O}});var n=r(9155),o=r.n(n),c=r(4069),l=r(7251),i=r(7174),a=r(2059),s=r(6803),u=r(3079),f=r(3342),p=r(3002),b=r(26);function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function m(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}var O=o().memo(function(e){var t=e.children,r=(e.className,e.message),O=(e.index,function(e,t){if(null==e)return{};var r,n,o,c={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(c[n]=e[n]);return c}if(c=function(e,t){if(null==e)return{};var r,n,o={},c=Object.getOwnPropertyNames(e);for(n=0;n<c.length;n++)r=c[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(c[n]=e[n]);return c}(e,["children","className","message","index"])),d=(0,n.useRef)(null),h=(0,n.useRef)(null),g=(0,u.kj)(),v=(0,f.useToken)().token,j=(0,f.useGlobalTheme)().isDarkTheme,w=b.H.use.responseLoading(),S={fontSize:v.fontSizeSM,color:v.colorText,borderWidth:0},E=m(y({},S),{color:v.colorLinkHover}),P=o().Children.toArray(t).join(""),z={},k=!0;try{z=JSON.parse(P)}catch(e){k=!1}return((0,n.useEffect)(function(){if(k){var e=function(){var e,t=null==(e=d.current)?void 0:e.getEchartsInstance();null==t||t.resize()},t=[0,100,300].map(function(t){return window.setTimeout(e,t)}),r="u">typeof ResizeObserver&&h.current?new ResizeObserver(function(){e()}):null;return r&&h.current&&r.observe(h.current),function(){t.forEach(function(e){return window.clearTimeout(e)}),null==r||r.disconnect()}}},[P,k]),w&&!r.messageId)?o().createElement(p.z,null):k?o().createElement(o().Fragment,null,o().createElement("div",{ref:h},o().createElement(s.A,{ref:d,option:m(y({},z),{toolbox:{show:!0,feature:{saveAsImage:{title:g("Save as image"),icon:"path://".concat("M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"),iconStyle:S,emphasis:{iconStyle:E}}}}}),theme:j?"dark":"default"}))):o().createElement(a.Card,{size:"small",title:g("ECharts"),styles:{title:{fontSize:v.fontSize,fontWeight:400},body:{width:"100%",fontSize:v.fontSizeSM}}},o().createElement(c.A,m(y({},O),{PreTag:"div",language:"json",style:j?l.A:i.A}),String(t).replace(/\n$/,"")))},function(e,t){var r,n;return o().Children.toArray(e.children).join("")===o().Children.toArray(t.children).join("")&&(null==(r=e.message)?void 0:r.messageId)===(null==(n=t.message)?void 0:n.messageId)&&e.index===t.index})}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["720"],{5707:function(e,t,r){r.r(t),r.d(t,{BusinessReportModalFooter:function(){return H},BusinessReportModal:function(){return _}});var n=r(9155),o=r.n(n),a=r(2059),i=r(7375),l=r(3342),c=r(8668),u=r(3079),s=r(931),d=r(9557),p=r(9597),f=r(7916),m=r(1210),h=r(9256),y=r(1465),b=r(5897);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function v(e,t,r,n,o,a,i){try{var l=e[a](i),c=l.value}catch(e){r(e);return}l.done?t(c):Promise.resolve(c).then(n,o)}function w(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){v(a,n,o,i,l,"next",e)}function l(e){v(a,n,o,i,l,"throw",e)}i(void 0)})}}function k(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function S(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function x(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:c(0)}),l(i,"throw",{value:c(1)}),l(i,"return",{value:c(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function c(l){return function(c){var u=[l,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,n=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function O(e){return(e.fileName||e.title||"business-analysis-report").replace(/[\\/:*?"<>|]+/g,"-").trim()}function j(e,t){var r,n,o,a=["# ".concat(e.title)],i=function(e,t){var r=function(e){if(null==e||""===e)return null;if(null!=(t=Date)&&"u">typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t)return Number.isNaN(e.getTime())?null:e;if("number"==typeof e)return T(e);var t,r=e.trim();if(!r)return null;if(/^\d+$/.test(r))return T(Number(r));var n=new Date(r);return Number.isNaN(n.getTime())?null:n}(e);if(!r)return null;var n=N(t)||"en-US";try{return new Intl.DateTimeFormat(n,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(r)}catch(e){return console.error("Failed to format business report generatedAt:",e),r.toLocaleString()}}(e.generatedAt,null==t?void 0:t.locale);return i&&a.push("_".concat(l.i18n.t("Generated at"),": ").concat(i,"_")),e.summary&&a.push("> ".concat(e.summary)),(null==(o=e.markdown)?void 0:o.trim())&&a.push((r=e.markdown.trim(),n=e.charts||[],r&&n.length?r.replace(/\{\{\s*chart\s*:\s*(\d+)\s*\}\}/gi,function(e,t){var r,o,a,i=Number(t)-1,l=n[i];return l?(r=l,o=i,a=["## ".concat(r.title||"Chart ".concat(o+1))],r.summary&&a.push(r.summary),a.push("<echarts>".concat(JSON.stringify(r.options,null,2),"</echarts>")),a.join("\n\n")):e}):r)),(function(e,t){if(!t.length)return[];for(var r,n=new Set,o=/\{\{\s*chart\s*:\s*(\d+)\s*\}\}/gi,a=e||"";r=o.exec(a);){var i=Number(r[1])-1;i>=0&&i<t.length&&n.add(i)}return t.filter(function(e,t){return!n.has(t)})})(e.markdown,e.charts||[]).forEach(function(e,t){a.push("## ".concat(e.title||"Chart ".concat(t+1))),e.summary&&a.push(e.summary),a.push("<echarts>".concat(JSON.stringify(e.options,null,2),"</echarts>"))}),a.filter(Boolean).join("\n\n")}function E(e,t){return w(function(){var r,n,a,i,l,c,u,s,v,O,E,P;return x(this,function(T){var F,I,L,C,R,B,D,U,G,H;switch(T.label){case 0:return F=j(e,{locale:null==t?void 0:t.locale}),I=[],L=0,n=(r={body:(0,b.renderToStaticMarkup)(o().createElement(p.oz,{components:{echarts:function(e){var t=e.children,r=Array.isArray(t)?t.join(""):String(null!=t?t:""),n="report-chart-".concat(L++),a=function(e){try{var t=JSON.parse(e);if(t&&(void 0===t?"undefined":t&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)=="object")return t}catch(e){console.error("Failed to parse business report chart options:",e)}return null}(r);return a&&I.push({id:n,options:a}),o().createElement("div",{id:n,className:"report-chart"})}},rehypePlugins:[m.A,[h.A,S(k({},y.j),{tagNames:((function(e){if(Array.isArray(e))return g(e)})(C=y.j.tagNames)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(C)||function(e){if(e){if("string"==typeof e)return g(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return g(e,void 0)}}(C)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat(["echarts"])})]],remarkPlugins:[f.A]},F)),charts:I}).body,a=r.charts,i=(null==t?void 0:t.printMode)===!0,c=(B=l=(R=N(null==t?void 0:t.locale))||"en-US").startsWith("zh")?'"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "WenQuanYi Micro Hei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif':B.startsWith("ja")?'"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Noto Sans CJK JP", "Source Han Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif':B.startsWith("ko")?'"Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", "Source Han Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif':'"Inter", "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", -apple-system, BlinkMacSystemFont, sans-serif',u=i?"#ffffff":"#f5f7fb",s=i?"max-width: 190mm; margin: 0 auto; padding: 0;":"max-width: 960px; margin: 0 auto; padding: 32px 24px 64px;",v=i?"background: #fff; border: 0; border-radius: 0; padding: 0; box-shadow: none; width: 100%;":"background: #fff; border: 1px solid #d0d5dd; border-radius: 20px; padding: 40px 48px; box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);",[4,(D=a,U={chartHeight:O=i?320:360,fontFamily:c,printMode:i},w(function(){var e,t,r,n,o,a,i,l,c,u,s,p;return x(this,function(f){var m,h,y;switch(f.label){case 0:if("u"<typeof document||!D.length)return[2,new Map];e=new Map,(t=document.createElement("div")).style.position="fixed",t.style.left="-100000px",t.style.top="0",t.style.width="".concat(U.printMode?718:960,"px"),t.style.pointerEvents="none",t.style.opacity="0",t.style.zIndex="-1",document.body.appendChild(t),f.label=1;case 1:f.trys.push([1,,15,16]),r=!0,n=!1,o=void 0,f.label=2;case 2:f.trys.push([2,12,13,14]),a=D[Symbol.iterator](),f.label=3;case 3:if(r=(i=a.next()).done)return[3,11];l=i.value,(c=document.createElement("div")).style.width=t.style.width,c.style.height="".concat(U.chartHeight,"px"),t.appendChild(c),f.label=4;case 4:return f.trys.push([4,8,9,10]),(s=d.init(c,"default",{renderer:"canvas"})).setOption(S(k({},(h=S(k({},m=l.options),{animation:!1,toolbox:{show:!1}}),m.grid&&(h.grid=Array.isArray(m.grid)?m.grid.map(function(e){return k({containLabel:!0},e)}):k({containLabel:!0},m.grid)),h)),{textStyle:S(k({},(null==(u=l.options)?void 0:u.textStyle)||{}),{fontFamily:U.fontFamily})}),!0),s.resize({width:c.clientWidth||parseInt(t.style.width,10),height:U.chartHeight,silent:!0}),[4,M()];case 5:return f.sent(),[4,M()];case 6:return f.sent(),[4,(y=s,new Promise(function(e){var t=!1,r=function(){t||(t=!0,y.off("finished",r),e())};y.on("finished",r),window.setTimeout(r,400)}))];case 7:return f.sent(),e.set(l.id,s.getDataURL({type:"png",pixelRatio:3,backgroundColor:"#ffffff",excludeComponents:["toolbox"]})),s.dispose(),[3,10];case 8:return console.error("Failed to render business report chart image:",f.sent()),[3,10];case 9:return c.remove(),[7];case 10:return r=!0,[3,3];case 11:return[3,14];case 12:return p=f.sent(),n=!0,o=p,[3,14];case 13:try{r||null==a.return||a.return()}finally{if(n)throw o}return[7];case 14:return[3,16];case 15:return t.remove(),[7];case 16:return[2,e]}})})())];case 1:return E=T.sent(),G=n,H=E,P=G.replace(/<div id="([^"]+)" class="report-chart"><\/div>/g,function(e,t){var r=H.get(t);return r?'<img class="report-chart-image" src="'.concat(r,'" alt="" />'):e}),[2,'<!DOCTYPE html>\n<html lang="'.concat(A(l),'">\n <head>\n <meta charset="UTF-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>').concat(A(e.title),"</title>\n <style>\n * { box-sizing: border-box; }\n html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }\n html, body { font-family: ").concat(c,"; }\n body { margin: 0; color: #1f2937; background: ").concat(u,"; }\n .report-shell { ").concat(s," }\n .report-paper { ").concat(v," }\n h1, h2, h3 { color: #101828; }\n h1 { margin-top: 0; font-size: 32px; }\n h2, h3 { break-after: avoid-page; }\n p, li { line-height: 1.7; }\n blockquote { margin: 16px 0; padding: 12px 16px; border-left: 4px solid #0f766e; background: #f0fdfa; color: #667085; }\n pre, blockquote, table, .report-chart { break-inside: avoid; page-break-inside: avoid; }\n table { width: 100%; border-collapse: collapse; }\n th, td { border: 1px solid #d0d5dd; padding: 10px 12px; text-align: left; }\n .report-chart { width: 100%; min-height: ").concat(O,"px; height: ").concat(O,"px; margin: 24px 0 32px; border: 1px solid #d0d5dd; border-radius: ").concat(16*!i,"px; overflow: hidden; background: #fff; }\n .report-chart-image { display: block; width: 100%; height: auto; border: 1px solid #d0d5dd; background: #fff; margin: 24px 0 32px; break-inside: avoid; page-break-inside: avoid; }\n .report-paper > *:first-child { margin-top: 0; }\n .report-paper > *:last-child { margin-bottom: 0; }\n img, svg, canvas { max-width: 100%; }\n svg, svg text, svg tspan, canvas { font-family: ").concat(c,'; }\n @page { size: A4; margin: 12mm; }\n @media print {\n body { background: #fff; }\n .report-shell { max-width: 100%; padding: 0; margin: 0; }\n .report-paper { border: 0; border-radius: 0; box-shadow: none; padding: 0; width: 100%; }\n .report-chart { margin: 16px 0 24px; height: 320px; min-height: 320px; }\n .report-chart-image { margin: 16px 0 24px; }\n }\n </style>\n </head>\n <body>\n <div class="report-shell">\n <article class="report-paper">').concat(P,"</article>\n </div>\n ").concat((null==t?void 0:t.autoPrint)?"<script>\n window.addEventListener('load', async () => {\n if (document.fonts?.ready) {\n try {\n await document.fonts.ready;\n } catch (error) {\n console.error('Failed to wait for fonts before printing:', error);\n }\n }\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n window.print();\n });\n });\n });\n <\/script>":"","\n </body>\n</html>")]}})})()}function P(e,t,r){var n=new Blob([t],{type:r}),o=URL.createObjectURL(n),a=document.createElement("a");a.href=o,a.download=e,a.click(),URL.revokeObjectURL(o)}function M(){return new Promise(function(e){return requestAnimationFrame(function(){return e()})})}function A(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function T(e){if(!Number.isFinite(e))return null;var t=new Date(e<1e12?1e3*e:e);return Number.isNaN(t.getTime())?null:t}function N(e){if(!e)return null;var t=e.trim().replace(/_/g,"-");if(!t||!/^[a-z]{2,3}(-[a-z0-9]{2,8})*$/i.test(t))return null;try{return Intl.DateTimeFormat.supportedLocalesOf([t])[0]||t}catch(e){return t}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t,r,n,o,a,i){try{var l=e[a](i),c=l.value}catch(e){r(e);return}l.done?t(c):Promise.resolve(c).then(n,o)}function L(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function i(e){I(a,n,o,i,l,"next",e)}function l(e){I(a,n,o,i,l,"throw",e)}i(void 0)})}}function C(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function R(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return F(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return F(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:c(0)}),l(i,"throw",{value:c(1)}),l(i,"return",{value:c(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function c(l){return function(c){var u=[l,c];if(r)throw TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,n=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var U="calc(100vh - 420px)",G=function(e){var t,r,c,d,p,f,m,h,y,b,g,v,w,k,S,x,P,M,A,T,N,F,I,G,H,z=(t=e.tool,r=(0,u.kj)(),c=(0,l.useToken)().token,d=(0,l.useAPIClient)().auth.getLocale(),p=(0,n.useMemo)(function(){return R(C({},null==t?void 0:t.args),{generatedAt:null==t?void 0:t.invokeEndTime})},[null==t?void 0:t.args,null==t?void 0:t.invokeEndTime]),f=(0,n.useMemo)(function(){return JSON.stringify({title:(null==p?void 0:p.title)||"",summary:(null==p?void 0:p.summary)||"",markdown:(null==p?void 0:p.markdown)||"",charts:(null==p?void 0:p.charts)||[],generatedAt:(null==p?void 0:p.generatedAt)||null})},[p]),m=!["done","confirmed"].includes(t.invokeStatus),h=!!((null==p?void 0:p.title)||(null==p?void 0:p.summary)||(null==p?void 0:p.markdown)),b=(y=B((0,n.useState)(null),2))[0],g=y[1],w=(v=B((0,n.useState)(""),2))[0],k=v[1],x=(S=B((0,n.useState)(null),2))[0],P=S[1],(0,n.useEffect)(function(){g(null),P(null)},[t.id]),(0,n.useEffect)(function(){"success"===t.status&&"done"===t.invokeStatus&&h&&f!==x&&(g(p),P(f))},[h,p,f,x,t.invokeStatus,t.status]),M=b||p,A=b&&x||f,T=(null==M?void 0:M.title)||r("Business analysis report"),N=(0,n.useMemo)(function(){return m?R(C({},M),{charts:[]}):M},[M,m]),F=(0,n.useMemo)(function(){return j(M,{locale:d})},[A,d]),I=(0,n.useMemo)(function(){return O(M)},[M]),G=(0,n.useMemo)(function(){return{content:(null==N?void 0:N.markdown)?j(N,{locale:d}):"# ".concat(T,"\n\n").concat((null==M?void 0:M.summary)||r("Generating business analysis report...")),type:"text",messageId:t.id}},[null==M?void 0:M.summary,A,d,N,r,T,t.id]),(0,n.useEffect)(function(){var e=!1;return L(function(){var t,r;return D(this,function(n){switch(n.label){case 0:if(!(null==M?void 0:M.markdown)||m)return k(""),[2];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,E(M,{locale:d})];case 2:if(t=n.sent(),e)return[2];return k(function(e){return e===t?e:t}),[3,4];case 3:return r=n.sent(),e||(console.error("Failed to build business report HTML:",r),k("")),[3,4];case 4:return[2]}})})(),function(){e=!0}},[A,m,d]),H={t:r,token:c,displayReport:M,isGenerating:m,markdown:F,fileName:I,htmlPreview:w,previewMessage:G,title:T,locale:"string"==typeof d?d:void 0,invalid:!1,loading:!1},!h&&m?R(C({},H),{loading:!0}):(null==M?void 0:M.title)||(null==M?void 0:M.markdown)||m?H:R(C({},H),{invalid:!0})),_=z.t,J=z.token,K=z.previewMessage,q=z.htmlPreview,W=z.displayReport,Y=z.isGenerating,$=z.title,Q=z.invalid;return z.loading?o().createElement(a.Result,{icon:o().createElement(i.LoadingOutlined,{spin:!0}),title:_("Generating business analysis report..."),subTitle:_("The report modal will update in real time as new content arrives.")}):Q?o().createElement(a.Alert,{type:"error",showIcon:!0,message:_("Invalid report definition")}):o().createElement("div",null,o().createElement("div",null,o().createElement("div",{style:{paddingRight:J.paddingSM}},o().createElement(a.Typography.Title,{level:4,style:{marginBottom:4}},$,Y?o().createElement(a.Spin,{indicator:o().createElement(i.LoadingOutlined,{spin:!0}),size:"small",style:{marginLeft:12}}):null),W.summary?o().createElement(a.Typography.Paragraph,{type:"secondary",style:{marginBottom:0}},W.summary):Y?o().createElement(a.Typography.Paragraph,{type:"secondary",style:{marginBottom:0}},_("The report modal will update in real time as new content arrives.")):null)),o().createElement(a.Tabs,{style:{height:U},tabBarStyle:{marginBottom:J.marginSM},items:[{key:"preview",label:_("Preview"),children:o().createElement("div",{style:{height:U,overflow:"auto",padding:16,border:"1px solid ".concat(J.colorBorderSecondary),borderRadius:J.borderRadiusLG,background:J.colorBgContainer,color:J.colorText,boxShadow:"inset 0 1px 0 ".concat(J.colorFillQuaternary)}},o().createElement(s.Markdown,{message:K}))},{key:"markdown",label:_("Markdown"),children:o().createElement("pre",{style:{height:U,overflow:"auto",padding:16,borderRadius:12,background:"#0f172a",color:"#e2e8f0",whiteSpace:"pre-wrap",wordBreak:"break-word"}},(null==W?void 0:W.markdown)||_("Generating business analysis report..."))},{key:"html",label:_("HTML"),children:q?o().createElement("iframe",{title:$,srcDoc:q,style:{width:"100%",height:U,border:"1px solid ".concat(J.colorBorderSecondary),borderRadius:J.borderRadiusLG,background:J.colorBgContainer}}):o().createElement(a.Result,{icon:o().createElement(i.LoadingOutlined,{spin:!0}),title:_("Generating business analysis report...")})}]}))},H=function(e){var t=e.tool,r=(0,u.kj)(),c=a.App.useApp().message,s=(0,l.useAPIClient)().auth.getLocale(),d=(0,n.useMemo)(function(){return R(C({},null==t?void 0:t.args),{generatedAt:null==t?void 0:t.invokeEndTime})},[null==t?void 0:t.args,null==t?void 0:t.invokeEndTime]),p=!["done","confirmed"].includes(t.invokeStatus),f=(0,n.useMemo)(function(){return j(d,{locale:s})},[d,s]),m=(0,n.useMemo)(function(){return O(d)},[d]),h=B((0,n.useState)(!1),2),y=h[0],b=h[1];return o().createElement(a.Space,{wrap:!0,style:{justifyContent:"flex-end",width:"100%"}},o().createElement(a.Button,{icon:o().createElement(i.FileMarkdownOutlined,null),disabled:p||!(null==d?void 0:d.markdown),onClick:function(){return P("".concat(m,".md"),f,"text/markdown;charset=utf-8")}},r("Download Markdown")),o().createElement(a.Button,{icon:o().createElement(i.FileTextOutlined,null),disabled:p||!(null==d?void 0:d.markdown)||y,onClick:function(){return L(function(){var e;return D(this,function(t){switch(t.label){case 0:b(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,E(d,{printMode:!0,locale:s})];case 2:return e=t.sent(),P("".concat(m,".html"),e,"text/html;charset=utf-8"),[3,4];case 3:return b(!1),[7];case 4:return[2]}})})()}},r("Download HTML")),o().createElement(a.Button,{type:"primary",icon:o().createElement(i.FilePdfOutlined,null),loading:y,disabled:p||!(null==d?void 0:d.markdown)||y,onClick:function(){return L(function(){return D(this,function(e){switch(e.label){case 0:b(!0),e.label=1;case 1:var t;return e.trys.push([1,3,4,5]),[4,(t={locale:s},w(function(){var e,r;return x(this,function(n){switch(n.label){case 0:if("u"<typeof window)return[2,!1];return[4,E(d,{autoPrint:!0,printMode:!0,locale:null==t?void 0:t.locale})];case 1:if(e=new Blob([n.sent()],{type:"text/html;charset=utf-8"}),r=URL.createObjectURL(e),!window.open(r,"_blank","noopener,noreferrer"))return URL.revokeObjectURL(r),[2,!1];return window.setTimeout(function(){URL.revokeObjectURL(r)},6e4),[2,!0]}})})())];case 2:return e.sent()||c.error(r("Popup blocked. Please allow popups and try again.")),[3,5];case 3:return console.error("Failed to print business report:",e.sent()),c.error(r("Popup blocked. Please allow popups and try again.")),[3,5];case 4:return b(!1),[7];case 5:return[2]}})})()}},r("Print PDF")))},z=function(e){var t=e.error,r=(0,u.kj)();return o().createElement(a.Alert,{type:"error",showIcon:!0,message:r("Invalid report definition"),description:t.message})},_=function(e){var t=e.tool;return o().createElement(c.tH,{FallbackComponent:z,onError:function(e){return console.error("Business report modal render error:",e,t)},resetKeys:[t.id,t.invokeStatus,t.args]},o().createElement(G,{tool:t}))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["30"],{8769:function(e,t,n){n.r(t),n.d(t,{AIEmployeesProvider:function(){return tV}});var r=n(9155),o=n.n(r),l=n(4118),a=n(3342),i=(0,r.createContext)({}),u=function(e){var t=(0,a.useAPIClient)(),n=(0,a.useRequest)(function(){return t.resource("aiSettings").publicGet().then(function(e){var t;return null==e||null==(t=e.data)?void 0:t.data})}).data;return o().createElement(i.Provider,{value:n},e.children)},c=n(2059),s=n(7375),f=n(2341),p=n(5477),m=n(3079),d=n(5230),y=n(166),v=n(7262),b=n(7596),g=n(26),h=n(2456),E=n(2326),O=n(7821),w=n(7330);function x(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function S(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){x(l,r,o,a,i,"next",e)}function i(e){x(l,r,o,a,i,"throw",e)}a(void 0)})}}function j(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function k(){var e,t,n=(e=["\n .ant-conversations-item {\n .ant-conversations-label {\n display: block !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n max-width: calc(100% - 30px);\n }\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return k=function(){return n},n}var C=function(){var e=(0,a.useActionContext)().setVisible,t=(0,d.useForm)();return{onClick:function(){e(!1),t.reset()}}},I=function(e){var t=(0,a.useActionContext)().setVisible,n=(0,a.useAPIClient)(),r=(0,d.useForm)(),o=(0,v.o)().conversationsService;return{onClick:function(){return S(function(){return j(this,function(l){switch(l.label){case 0:return[4,r.submit()];case 1:return l.sent(),[4,n.resource("aiConversations").update({filterByTk:e,values:{title:r.values.title}})];case 2:return l.sent(),t(!1),r.reset(),o.run(),[2]}})})()}}},P=function(e){var t,n,r,l=e.conversation,i=(0,m.kj)();return o().createElement(a.SchemaComponent,{scope:{useCloseActionProps:C,useSubmitActionProps:function(){return I(l.key)}},schema:{name:"rename",type:"void","x-component":"Action","x-component-props":{component:function(e){return o().createElement("div",e,i("Rename"))}},title:i("Rename"),properties:(t={},n=(0,y.uid)(),r={type:"void","x-component":"Action.Modal","x-component-props":{styles:{mask:{zIndex:1100},wrapper:{zIndex:1100}}},title:i("Rename conversation"),"x-decorator":"FormV2",properties:{title:{type:"string",title:i("Title"),required:!0,"x-decorator":"FormItem","x-component":"Input",default:l.title||""},footer:{type:"void","x-component":"Action.Modal.Footer",properties:{close:{title:i("Cancel"),"x-component":"Action","x-use-component-props":"useCloseActionProps"},submit:{title:i("Submit"),"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useSubmitActionProps"}}}}},n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t)}})},A=(0,r.memo)(function(){var e=(0,m.kj)(),t=(0,a.useAPIClient)(),n=c.App.useApp(),l=n.modal,i=n.message,u=(0,w.M)();(0,a.useRequest)(function(){return S(function(){return j(this,function(e){return[2,u.getAIEmployees()]})})()});var d=u.getAIEmployeesMap(),y=O.I.use.currentEmployee(),x=O.I.use.setCurrentEmployee(),C=O.I.use.setShowConversations(),I=O.I.use.setModel(),A=O.I.use.expanded(),T=b.J.use.currentConversation(),M=b.J.use.setCurrentConversation(),z=b.J.use.conversations(),D=b.J.use.keyword(),R=b.J.use.setKeyword(),B=g.H.use.setMessages(),F=(0,h.u)().messagesService,H=(0,v.o)(),L=H.conversationsService,N=H.lastConversationRef,U=L.loading,_=(0,E.Q)(),$=_.startNewConversation,J=_.clear,q=(0,r.useMemo)(function(){var t=z.map(function(t){var n=t.title||e("New conversation");return{key:t.sessionId,title:n,timestamp:new Date(t.updatedAt).getTime(),label:n}});return U&&t.push({key:"loading",label:o().createElement(c.Spin,{style:{display:"block",margin:"8px auto"}})}),t},[z,U]),V=(0,r.useRef)(null);return(0,r.useEffect)(function(){if(V.current&&z.length){var e=V.current.querySelector(".ant-conversations-item:last-child");e&&N(e)}},[z,N]),o().createElement("div",{style:{display:"flex",flexDirection:"column",height:"100%"}},o().createElement("div",{style:{padding:"8px 12px",flexShrink:0}},o().createElement(c.Input.Search,{value:D,onChange:function(e){R(e.target.value)},placeholder:e("Search"),onSearch:function(e){return L.run(1,e)},onClear:function(){return L.run(1)},allowClear:!0})),o().createElement("div",{ref:V,style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden"}},z&&z.length?o().createElement(f.A,{className:(0,p.css)(k()),activeKey:T,onActiveChange:function(e){if(e!==T){M(e);var t,n=z.find(function(t){return t.sessionId===e});x(d[null==n||null==(t=n.aiEmployee)?void 0:t.username]),B([]),J(),I(null),F.run(e),A||C(!1)}},items:q,menu:function(n){return{items:[{label:o().createElement(P,{conversation:n}),key:"rename",icon:o().createElement(s.EditOutlined,null)},{label:e("Delete"),key:"delete",icon:o().createElement(s.DeleteOutlined,null)}],onClick:function(r){var o=r.key;r.domEvent.stopPropagation(),"delete"===o&&l.confirm({title:e("Delete conversation"),content:e("Are you sure you want to delete it?"),onOk:function(){var r;return r=n.key,S(function(){return j(this,function(n){switch(n.label){case 0:return[4,t.resource("aiConversations").destroy({filterByTk:r})];case 1:return n.sent(),i.success(e("Deleted successfully")),L.run(),y&&$(),[2]}})})()}})}}}}):o().createElement(c.Empty,{image:c.Empty.PRESENTED_IMAGE_SIMPLE})))}),T=n(9192),M=n(107),z=n(4969);function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function R(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){R(e,t,n[t])})}return e}function F(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var H=function(){var e,t=(0,m.kj)(),n=(0,a.useToken)().token,l=O.I.use.roles(),i=g.H.use.messages(),u=M.y.use.updateTools(),f=(0,h.u)(),p=f.messagesService,d=f.lastMessageRef,y=(0,r.useMemo)(function(){return(0,z.FA)(i)},[i]),v=function(e){if(Array.isArray(e))return e}(e=(0,r.useState)({}))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return D(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return D(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),b=v[0],E=v[1],w=y.findIndex(function(e){var t;return"message"===e.type&&e.isRoot&&(null==(t=e.message.content)?void 0:t.type)!=="greeting"});(0,r.useEffect)(function(){u(i)},[i,u]),(0,r.useEffect)(function(){E(function(e){var t=B({},e),n=!1,r=function(e){e.forEach(function(e){"conversation-group"===e.type&&("completed"!==e.status||e.key in t||(t[e.key]=!1,n=!0),r(e.items))})};return r(y),n?t:e})},[y]);var x=(0,r.useRef)(null);(0,r.useEffect)(function(){if(x.current){var e=x.current,t=new ResizeObserver(function(){e.scrollTop=e.scrollHeight});return t.observe(e),function(){return t.disconnect()}}},[i]);var S=function(e,r){var l=(0,z.XZ)(e.durationMs);return o().createElement(c.Divider,{key:"".concat(e.key,"-divider-top"),dashed:!0,plain:!0,style:{margin:"0 0 8px 0",color:n.colorTextDescription}},o().createElement(c.Button,{type:"link",size:"small",onClick:function(){return E(function(t){return F(B({},t),R({},e.key,!r))})},style:{paddingInline:0,color:n.colorTextDescription},icon:r?o().createElement(s.RightOutlined,null):o().createElement(s.DownOutlined,null),iconPosition:"end"},t("Done in {{ durationText }}",{durationText:l})))},j=function(e){var r,a=e.roleName?(null==(r=l[e.roleName])?void 0:r.nickname)||e.roleName:void 0;return o().createElement(c.Divider,{key:"".concat(e.key,"-divider-bottom"),dashed:!0,plain:!0,style:{margin:"0 0 8px 0",color:n.colorTextDescription}},t("{{ nickname }} has completed the work",{nickname:a}))},k=function(e,t){if("conversation-group"===e.type)return"completed"===e.status&&!1!==b[e.key]?S(e,!0):o().createElement(o().Fragment,{key:e.key},"completed"===e.status?S(e,!1):null,e.items.map(function(e,n){return k(e,"".concat(t,"-").concat(n))}),"completed"===e.status?j(e):null);var n=e.message,r=l[n.role];return r?t===String(w)?o().createElement("div",{key:n.key,ref:d},o().createElement(T.A,F(B({},r),{loading:n.loading,content:n.content}))):o().createElement(T.A,F(B({},r),{key:n.key,loading:n.loading,content:n.content})):null};return o().createElement(c.Layout.Content,{ref:x,style:{margin:"16px 0",overflow:"auto",position:"relative"}},p.loading&&o().createElement(c.Spin,{style:{display:"block",margin:"8px auto"}}),y.length?o().createElement("div",null,y.map(function(e,t){return k(e,String(t))})):o().createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:n.colorTextDescription}},t("Work with your AI crew")))},L=n(606),N=n(4313),U=n(1609),_=n.n(U);function $(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}var J=function(){var e,t,n,o,l,u,c,s,f,p,m,d,y=g.H.use.setAttachments(),v={action:"aiFiles:create",onChange:function(e){y(e.fileList.map(function(e){if("done"===e.status){var t,n,r;return(null==e||null==(t=e.response)?void 0:t.data)?(n=$({},e.response.data),r=r={status:e.status},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n):e}return e}))}},b=(e=(0,a.useAPIClient)(),$({customRequest:function(t){var n=t.action,r=t.data,o=t.file,l=t.filename,a=t.headers,i=t.onError,u=(t.onProgress,t.onSuccess),c=t.withCredentials,s=new FormData;return r&&Object.keys(r).forEach(function(e){s.append(e,r[e])}),s.append(l,o),e.axios.post(n,s,{withCredentials:c,headers:a}).then(function(e){u(e.data,o)}).catch(function(e){return i(Error(e.message))}).finally(function(){}),{abort:function(){console.log("upload progress is aborted.")}}}},v)),h=(t=(0,r.useContext)(i).storage,n=(0,a.usePlugin)(_()),o=null!=t?t:"",l="storages:getBasicInfo/".concat(o),c=(u=(0,a.useRequest)({url:l},{refreshDeps:[o],cacheKey:l})).loading,s=u.data,f=!c&&(null==s?void 0:s.data)||null,d=(null==(m=null==(p=n.getStorageType(t))?void 0:p.useUploadProps)?void 0:m($({storage:f,rules:f.rules},v)))||{},$({rules:null==f?void 0:f.rules},d));return $({},b,v,h)};function q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}var V=function(){var e=(0,m.kj)(),t=J(),n=O.I.use.chatBoxRef(),l=O.I.use.currentEmployee(),a=g.H.use.attachments(),i=(0,r.useMemo)(function(){return null==a?void 0:a.map(function(e,t){var n;return q({uid:t.toString(),name:e.filename,status:null!=(n=e.status)?n:"done",url:e.url,size:e.size,thumbUrl:e.preview},e)})},[a]);return l?o().createElement(N.A,q({getDropContainer:function(){return n.current},styles:{placeholder:{opacity:.8}},placeholder:{icon:o().createElement(s.PaperClipOutlined,null),title:e("Drag & Drop files here")},items:i},t),o().createElement(c.Tooltip,{title:e("Upload files"),arrow:!1},o().createElement(c.Button,{type:"text",icon:o().createElement(s.PaperClipOutlined,null)}))):o().createElement(c.Button,{type:"text",icon:o().createElement(s.PaperClipOutlined,null),disabled:!0})},W=n(720),X=n(6773),G=n.n(X),K=n(7694),Q=n(475),Y=n(1285),Z=(0,K.observer)(function(){var e,t,n=(0,m.kj)(),l=b.J.use.webSearch(),a=b.J.use.setWebSearch(),i=O.I.use.currentEmployee(),u=O.I.use.model(),f=(0,Q.l)().services,p=(0,Y.JT)(f,u),d=null!=(e=null==p?void 0:p.supportWebSearch)&&e,y=null!=(t=null==p?void 0:p.isToolConflict)&&t;(0,r.useEffect)(function(){!d&&l&&a(!1)},[d,l,a]);var v=function(){d&&a(!l)};if(!i)return o().createElement(c.Button,{type:"text",icon:o().createElement(s.GlobalOutlined,null),disabled:!0});var g=n("Disable search"),h=n("Web search not supported"),E=y?o().createElement("div",null,o().createElement("div",null,n("Enable search"))):n("Enable search");return l?o().createElement(c.Tooltip,{title:g,arrow:!1},o().createElement(c.Button,{color:"primary",variant:"filled",icon:o().createElement(s.GlobalOutlined,null),onClick:v})):o().createElement(c.Tooltip,{title:d?E:h,arrow:!1},o().createElement(c.Button,{type:"text",icon:o().createElement(s.GlobalOutlined,null),onClick:v,disabled:!d}))},{displayName:"SearchSwitch"}),ee=n(9452),et=n(284),en=n(6482),er=n(6759),eo=n(2149);function el(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ea(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function ei(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return el(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return el(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var eu=(0,d.observer)(function(){var e=(0,d.useForm)(),t=(0,en.useProviderSettingsForm)(e.values.provider);return t?o().createElement(t,null):null},{displayName:"ModalSettings"}),ec=function(){return{form:(0,r.useMemo)(function(){return(0,ee.createForm)({initialValues:{name:"v_".concat((0,y.uid)())}})},[])}},es=function(){var e=(0,a.useActionContext)().setVisible;return{type:"default",onClick:function(){e(!1)}}},ef={type:"void",properties:{form:{type:"void","x-decorator":"FormV2","x-use-decorator-props":"useCreateFormProps",properties:{provider:{type:"string","x-decorator":"FormItem",title:'{{ t("Provider") }}',"x-component":"ProviderSelect",required:!0},title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input","x-reactions":{dependencies:["provider"],when:"{{!$self.modified}}",fulfill:{state:{value:"{{$getProviderLabel($deps[0])}}"},schema:{"x-visible":"{{!!$deps[0]}}"}}}},options:{type:"object","x-component":"ModalSettings","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},"options.baseURL":{type:"string","x-decorator":"FormItem",title:'{{ t("Base URL") }}',"x-component":"Input","x-component-props":{placeholder:'{{ t("Base URL is optional, leave blank to use default (recommended)") }}'},"x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},enabledModels:{type:"object","x-decorator":"FormItem",title:'{{ t("Enabled Models") }}',"x-component":"EnabledModelsSelect","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},footer:{type:"void","x-component":"Space","x-component-props":{style:{display:"flex",justifyContent:"flex-end"}},properties:{testFlight:{type:"void","x-component":"LLMTestFlight","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useModalCreateActionProps"}}}}}}},ep=function(e){var t=e.open,n=e.onClose,l=e.onSuccess,i=(0,m.kj)(),u=(0,a.useAPIClient)(),s=ei((0,r.useState)([]),2),f=s[0],p=s[1],y=ei((0,r.useState)(0),2),v=y[0],b=y[1];return(0,a.useRequest)(function(){return u.resource("ai").listLLMProviders().then(function(e){var t;return((null==e||null==(t=e.data)?void 0:t.data)||[]).map(function(e){return{key:e.name,label:d.Schema.compile(e.title||e.name,{t:i}),value:e.name,supportedModel:e.supportedModel}})})},{onSuccess:function(e){p(e)}}),o().createElement(et.PL.Provider,{value:{providers:f}},o().createElement(a.ActionContextProvider,{value:{visible:t,setVisible:function(e){e||(n(),b(function(e){return e+1}))}}},o().createElement(c.Modal,{title:i("Add LLM service"),open:t,onCancel:n,footer:null,destroyOnClose:!0,width:600},o().createElement(a.SchemaComponent,{key:v,schema:ef,components:{ProviderSelect:en.ProviderSelect,ModalSettings:eu,LLMTestFlight:er.e,EnabledModelsSelect:eo.uQ},scope:{useCreateFormProps:ec,useCancelActionProps:es,useModalCreateActionProps:function(){var e=(0,a.useActionContext)().setVisible,t=c.App.useApp().message,n=(0,d.useForm)(),r=(0,a.useAPIClient)(),o=(0,m.kj)();return{type:"primary",onClick:function(){var a;return(a=function(){var a;return function(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(i){switch(i.label){case 0:return[4,n.submit()];case 1:return i.sent(),a=n.values,[4,r.resource("llmServices").create({values:a})];case 2:return i.sent(),t.success(o("Saved successfully")),e(!1),l(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,r){var o=a.apply(e,t);function l(e){ea(o,n,r,l,i,"next",e)}function i(e){ea(o,n,r,l,i,"throw",e)}l(void 0)})})()}}},$getProviderLabel:function(e){var t=f.find(function(t){return t.value===e});return(null==t?void 0:t.label)||e},providers:f}}))))},em=n(8973);function ed(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ey(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ed(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ed(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var ev=(0,K.observer)(function(){var e=(0,m.kj)(),t=(0,a.useApp)(),n=(0,a.useAPIClient)(),l=(0,a.useToken)().token,i=c.App.useApp().message,u=ey((0,r.useState)(!1),2),f=u[0],p=u[1],d=O.I.use.currentEmployee(),y=null==d?void 0:d.username,v=O.I.use.model(),b=O.I.use.setModel(),g=t.pluginSettingsManager.has("ai.llm-services"),h=ey((0,r.useState)(!1),2),E=h[0],w=h[1],x=(0,Q.l)(),S=x.repo,j=x.services,k=x.loading,C=x.allModelsWithLabel,I=x.allModels,P=j.filter(function(e){return Array.isArray(e.enabledModels)&&e.enabledModels.length>0});(0,r.useEffect)(function(){if(y&&I.length){var e=(0,em.AX)(n,y,I,v);(0,em.SQ)(e,v)||b(e)}},[n,y,I,v,b]);var A=(0,r.useMemo)(function(){return(0,em.Ug)(v,I)?v:I.length?{llmService:I[0].llmService,model:I[0].model}:void 0},[v,I]),T=(0,r.useMemo)(function(){if(A){var e=C.find(function(e){return e.llmService===A.llmService&&e.model===A.model});return(null==e?void 0:e.label)||A.model}},[A,C]),M=function(e,t){var r=C.find(function(n){return n.llmService===e&&n.value===t});if(r&&(b({llmService:r.llmService,model:r.model}),d))try{null==n||n.storage.setItem(em.UZ+d.username,"".concat(r.llmService,":").concat(r.model))}catch(e){console.log(e)}};if(!d)return null;if(k&&!j.length)return o().createElement(c.Spin,{size:"small"});var z=P.length>0,D=[];P.forEach(function(e,t){t>0&&D.push({type:"divider",key:"divider-".concat(t)}),D.push({key:"group-".concat(e.llmService),label:o().createElement(c.Typography.Text,{type:"secondary",style:{fontSize:12}},e.llmServiceTitle),disabled:!0,style:{cursor:"default",padding:"4px 12px",height:"auto",minHeight:0}}),e.enabledModels.forEach(function(t){var n=A&&A.llmService===e.llmService&&A.model===t.value;D.push({key:"".concat(e.llmService,":").concat(t.value),label:o().createElement("span",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8}},o().createElement("span",null,t.label),n&&o().createElement(s.CheckOutlined,{style:{fontSize:12,color:l.colorPrimary}})),onClick:function(){return M(e.llmService,t.value)}})})}),z||D.push({key:"empty-placeholder",label:o().createElement(c.Typography.Text,{type:"secondary",style:{fontSize:12}},e("No LLM services enabled yet")),disabled:!0,style:{cursor:"default",padding:"16px 12px",height:"auto",minHeight:0}}),D.length>0&&D.push({type:"divider",key:"divider-add"}),D.push({key:"add-model",icon:o().createElement(s.PlusOutlined,null),label:e("Add LLM service"),onClick:function(){g?w(!0):i.warning(e("Please contact the administrator to configure models"))}});var R=o().createElement("span",{onClick:function(e){e.stopPropagation()},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:12,backgroundColor:l.colorFillTertiary,borderRadius:6,height:28,padding:"0 8px",cursor:"pointer",minWidth:z?"auto":void 0,userSelect:"none"}},o().createElement("span",{style:{color:z?l.colorText:l.colorError,display:"inline-block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:88}},z?T:e("No model available")),o().createElement(s.DownOutlined,{style:{fontSize:10,color:z?l.colorTextSecondary:l.colorError}}));return o().createElement(o().Fragment,null,o().createElement(c.Dropdown,{menu:{items:D,style:{maxHeight:400,overflow:"auto"}},trigger:["hover"],open:f,onOpenChange:p,overlayStyle:{zIndex:1200}},R),g&&o().createElement(ep,{open:E,onClose:function(){return w(!1)},onSuccess:function(){return S.refreshLLMServices()}}))},{displayName:"ModelSwitcher"}),eb=n(6673),eg=n(9929);function eh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var eE=(0,K.observer)(function(){var e,t=(0,m.kj)(),n=function(e){if(Array.isArray(e))return e}(e=(0,r.useState)(!1))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return eh(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return eh(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),l=n[0],i=n[1],u=(0,w.M)(),f=u.aiEmployees,p=O.I.use.currentEmployee(),d=(0,E.Q)().switchAIEmployee,y=(0,a.useToken)().token;(0,r.useEffect)(function(){u.getAIEmployees()},[u]);var v=f.length?f.map(function(e){var t=(null==p?void 0:p.username)===e.username;return{key:e.username,label:o().createElement("span",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8}},o().createElement(eb.a,{aiEmployee:e}),t&&o().createElement(s.CheckOutlined,{style:{fontSize:12,color:y.colorPrimary}})),onClick:function(){return d(e,{clear:{sender:!1,attachments:!1,contextItems:!1}})}}}):[{key:"empty",label:o().createElement("span",{style:{fontSize:12,color:y.colorTextSecondary}},t("Please choose an AI employee")),disabled:!0,style:{cursor:"default",padding:"16px 12px",height:"auto",minHeight:0}}],b=f.length>0,g=p?p.nickname:"".concat(t("Select an")," ").concat(t("AI employee")),h=o().createElement("span",{onClick:function(e){return e.stopPropagation()},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:12,backgroundColor:y.colorFillTertiary,borderRadius:6,height:28,padding:"0 8px",cursor:"pointer",userSelect:"none"}},p?o().createElement(c.Avatar,{shape:"circle",size:20,src:(0,eg.H)(p.avatar)}):null,o().createElement("span",{style:{color:b?y.colorText:y.colorError,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:160}},g),o().createElement(s.DownOutlined,{style:{fontSize:10,color:b?y.colorTextSecondary:y.colorError}}));return o().createElement(c.Dropdown,{menu:{items:v,style:{maxHeight:400,overflow:"auto"}},trigger:["hover"],open:l,onOpenChange:i,overlayStyle:{zIndex:1200}},h)}),eO=function(e){var t,n,l=e.components,a=e.handleSubmit,i=l.SendButton,u=l.LoadingButton,s=(0,r.useRef)(null),f=null==(t=(n=O.I.use).currentEmployee)?void 0:t.call(n),p=g.H.use.responseLoading(),m=g.H.use.addContextItems(),d=g.H.use.removeContextItem(),y=O.I.use.senderValue(),v=g.H.use.contextItems(),b=O.I.use.senderRef();return(0,r.useEffect)(function(){var e;(null==b||null==(e=b.current)?void 0:e.nativeElement)&&(b.current.nativeElement.onkeydown=function(e){if("Enter"===e.key&&!e.shiftKey&&(e.preventDefault(),G().isEmpty(y)&&v.length)){var t;null==(t=s.current)||t.click()}})},[b,y,v]),o().createElement(c.Flex,{justify:"space-between",align:"center"},o().createElement(c.Flex,{gap:"middle",align:"center"},o().createElement(W.b,{onAdd:m,onRemove:d,disabled:!f,ignore:function(e){return"flow-model.variable"===e}}),o().createElement(V,null),o().createElement(Z,null),o().createElement(eE,null),o().createElement(ev,null)),o().createElement(c.Flex,{align:"center",gap:"middle"},p?o().createElement(u,{type:"default"}):o().createElement(i,{ref:s,type:"primary",disabled:!1,onClick:function(){G().isEmpty(y)&&v.length&&a("")}})))};function ew(){var e,t,n=(e=["\n .ant-attachment-list-card .ant-image img {\n height: 60px;\n width: 60px;\n object-fit: cover;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return ew=function(){return n},n}var ex=function(){var e=g.H.use.attachments(),t=g.H.use.removeAttachment(),n=(0,r.useMemo)(function(){return null==e?void 0:e.map(function(e){var t;return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({uid:e.uid||e.filename,name:e.filename||e.name,status:null!=(t=e.status)?t:"done",url:e.url,size:e.size,thumbUrl:e.preview},e)})},[e]);if(!(null==n?void 0:n.length))return null;var l=(0,p.css)(ew());return o().createElement("div",{className:l,style:{display:"flex",flexWrap:"wrap",gap:8,marginTop:4}},n.map(function(e){return o().createElement(N.A.FileCard,{key:e.uid,item:e,onRemove:function(e){return t(e.name)}})}))},eS=n(8723);function ej(){var e,t,n=(e=["\n display: flex;\n justify-content: flex-start;\n flex-wrap: wrap;\n gap: 2px 0;\n margin-top: 4px;\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return ej=function(){return n},n}var ek=function(){var e=g.H.use.contextItems(),t=g.H.use.removeContextItem();return(null==e?void 0:e.length)?o().createElement("div",{className:(0,p.css)(ej())},e.map(function(e){return o().createElement(eS.x,{within:"sender",key:"".concat(e.type,":").concat(e.uid),item:e,closable:!0,onRemove:t})})):null},eC=function(){var e=(0,m.kj)(),t=(0,a.useToken)().token,n=O.I.use.setSenderValue(),r=b.J.use.currentConversation(),l=g.H.use.setMessages(),i=(0,h.u)(),u=i.messagesService,f=i.finishEditingMessage;return o().createElement(c.Alert,{style:{background:t.colorBgContainer,borderColor:t.colorBorderSecondary,color:t.colorText},icon:o().createElement(s.EditOutlined,{style:{color:t.colorText}}),message:e("Editing message for AI employee"),type:"info",showIcon:!0,closable:!0,onClose:function(){f(),n(""),l([]),u.run(r)}})},eI=function(){var e=O.I.use.currentEmployee(),t=O.I.use.isEditingMessage(),n=g.H.use.contextItems(),r=g.H.use.attachments(),l=!!(null==n?void 0:n.length),a=!!(null==r?void 0:r.length);return t||e&&(l||a)?o().createElement("div",{style:{padding:"8px 8px 0 8px"}},t?o().createElement("div",null,o().createElement(eC,null)):null,e?o().createElement(ek,null):null,e?o().createElement(ex,null):null):null};function eP(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function eA(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function eT(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function eM(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||ez(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ez(e,t){if(e){if("string"==typeof e)return eP(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eP(e,t)}}function eD(){var e,t,n=(e=["\n .ant-sender-content {\n padding: 16px;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return eD=function(){return n},n}var eR=function(){var e=O.I.use.currentEmployee(),t=O.I.use.isEditingMessage(),n=O.I.use.editingMessageId(),r=b.J.use.currentConversation(),o=b.J.use.webSearch(),l=g.H.use.attachments(),a=g.H.use.contextItems(),i=g.H.use.systemMessage(),u=g.H.use.skillSettings(),c=(0,h.u)().finishEditingMessage,s=(0,E.Q)().send;return[function(f){s({sessionId:r,aiEmployee:e,systemMessage:i,messages:[{type:"text",content:f}],attachments:l.filter(function(e){return"done"===e.status}),workContext:a,editingMessageId:t?n:void 0,skillSettings:u,webSearch:o}),t&&c()}]},eB=function(){var e=(0,m.kj)(),t=(0,p.css)(eD()),n=eM(eR(),1)[0],l=(0,r.useRef)(null),a=O.I.use.senderValue(),i=O.I.use.setSenderValue(),u=O.I.use.currentEmployee(),c=O.I.use.setSenderRef(),s=g.H.use.setAttachments(),f=J(),d=g.H.use.responseLoading(),y=(0,h.u)().cancelRequest,v=eM((0,r.useState)(a),2),b=v[0],E=v[1];return(0,r.useEffect)(function(){c(l)},[]),(0,r.useEffect)(function(){b!==a&&i(b)},[b]),(0,r.useEffect)(function(){E(a)},[a]),o().createElement("div",{style:{margin:"8px 16px"}},o().createElement(L.A,{className:t,value:b,ref:l,onChange:function(e){E(e)},onPaste:function(e){for(var t=e.clipboardData.items,n=null,r=0;r<t.length;r++)if("file"===t[r].kind){n=t[r].getAsFile();break}if(n){e.preventDefault();var o=Date.now().toString(),l=n,a={uid:o,name:l.name,status:"uploading",originFileObj:l,percent:0,type:l.type,size:l.size};s(function(e){return((function(e){if(Array.isArray(e))return eP(e)})(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ez(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([a])});var i=f.customRequest,u=f.data,c=f.headers,p=f.action;i&&i({file:l,filename:"file",data:u,headers:c,action:p,onProgress:function(e){var t=e.percent;s(function(e){return e.map(function(e){return e.uid===o?eT(eA({},e),{percent:t}):e})})},onSuccess:function(e,t){var n=null==e?void 0:e.data;s(function(t){return t.map(function(t){return t.uid===o?eT(eA(eT(eA({},t),{status:"done",response:e}),n),{url:(null==n?void 0:n.url)||t.url}):t})})},onError:function(e){s(function(t){return t.map(function(t){return t.uid===o?eT(eA({},t),{status:"error",error:e}):t})})}})}},onSubmit:n,onCancel:y,header:o().createElement(eI,null),loading:d,footer:function(e){var t=e.components;return o().createElement(eO,{components:t,handleSubmit:n})},disabled:!u,placeholder:e("Enter your question"),actions:!1,autoSize:{minRows:2,maxRows:8}}))};function eF(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function eH(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function eL(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function eN(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function eU(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return eF(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eF(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var e_=function(){var e,t=(0,m.kj)(),n=(0,a.useToken)().token,l=(0,a.useMobileLayout)().isMobileLayout,i=c.App.useApp().message,u=(0,a.useAPIClient)(),f=O.I.use.currentEmployee(),p=O.I.use.setCurrentEmployee(),d=(0,w.M)(),y=eU((0,r.useState)(!1),2),v=y[0],b=y[1],g=eU((0,r.useState)(!1),2),h=g[0],E=g[1],x=eU((0,r.useState)(!1),2),S=x[0],j=x[1],k=eU((0,r.useState)(""),2),C=k[0],I=k[1],P=l?h:v;(0,r.useEffect)(function(){if(P){var e,t;I(null!=(e=null==f||null==(t=f.userConfig)?void 0:t.prompt)?e:"")}},[P,null==f||null==(e=f.userConfig)?void 0:e.prompt]);var A=function(){l?E(!1):b(!1)},T=o().createElement(c.Card,{variant:"borderless",size:"small",styles:{body:{width:l?"auto":"420px",maxWidth:"calc(100vw - 32px)",padding:"16px"}}},o().createElement(c.Typography.Title,{level:5,style:{margin:0,marginBottom:12,fontSize:n.fontSizeLG,fontWeight:500}},t("Personalized prompt")),o().createElement(c.Typography.Paragraph,{style:{marginBottom:12,color:n.colorTextSecondary}},t("Personalized prompt description")),o().createElement(c.Input.TextArea,{value:C,onChange:function(e){return I(e.target.value)},autoSize:{minRows:4,maxRows:8},placeholder:t("Personalized prompt")}),o().createElement("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:12}},o().createElement(c.Space,null,o().createElement(c.Button,{onClick:A},t("Cancel")),o().createElement(c.Button,{type:"primary",loading:S,onClick:function(){var e;return(e=function(){var e;return function(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:if(!f)return[2];j(!0),n.label=1;case 1:return n.trys.push([1,4,5,6]),[4,u.resource("aiEmployees").updateUserPrompt({values:{aiEmployee:f.username,prompt:C}})];case 2:return n.sent(),[4,d.refreshAIEmployees()];case 3:return n.sent(),p(function(e){return eN(eL({},e),{userConfig:eN(eL({},e.userConfig),{prompt:C})})}),i.success(t("Saved successfully")),A(),[3,6];case 4:return e=n.sent(),i.error((null==e?void 0:e.message)||t("Request failed")),[3,6];case 5:return j(!1),[7];case 6:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){eH(l,r,o,a,i,"next",e)}function i(e){eH(l,r,o,a,i,"throw",e)}a(void 0)})})()}},t("Submit")))));return o().createElement(o().Fragment,null,l?o().createElement(c.Tooltip,{arrow:!1,title:t("Personalized prompt")},o().createElement(c.Button,{icon:o().createElement(s.InfoCircleOutlined,null),type:"text",onClick:function(){return E(!0)}})):o().createElement(c.Tooltip,{arrow:!1,title:t("Personalized prompt")},o().createElement(c.Popover,{zIndex:1101,placement:"bottomRight",open:v,onOpenChange:b,trigger:"click",styles:{body:{padding:0,marginRight:"8px"}},arrow:!1,content:T},o().createElement(c.Button,{icon:o().createElement(s.InfoCircleOutlined,null),type:"text"}))),o().createElement(c.Modal,{open:l&&h,onCancel:A,footer:null,centered:!0,width:"calc(100vw - 32px)",styles:{body:{padding:0}},destroyOnClose:!0},T))},e$=n(9468),eJ=n(4281);function eq(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function eV(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function eW(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function eX(e){return function(e){if(Array.isArray(e))return eq(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||eG(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function eG(e,t){if(e){if("string"==typeof e)return eq(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eq(e,t)}}function eK(){var e,t,n=(e=["\n width: 350px;\n margin-bottom: -1em;\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return eK=function(){return n},n}var eQ=c.Layout.Header,eY=c.Layout.Content,eZ=c.Typography.Title,e0=function(){var e=(0,m.kj)(),t=(0,a.useToken)().token,n=O.I.use.setShowCodeHistory();return o().createElement(c.Layout,{style:{padding:"0 16px 16px",height:"100%"}},o().createElement(eQ,{style:{backgroundColor:t.colorBgContainer,height:"48px",lineHeight:"48px",padding:0,borderBottom:"1px solid ".concat(t.colorBorder)}},o().createElement(c.Flex,{style:{height:"100%"},justify:"flex-start",align:"center",gap:"middle"},o().createElement(c.Button,{icon:o().createElement(s.LeftOutlined,null),type:"text",onClick:function(){n(!1)}}),o().createElement(eZ,{level:5,style:{margin:0}},e("Code history")))),o().createElement(eY,null,o().createElement(e1,null)))},e1=function(){var e,t="javascript",n="code-editor",l=O.I.use.currentEmployee(),a=g.H.use.messages(),i=function(e){if(Array.isArray(e))return e}(e=(0,r.useState)([]))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(e)||eG(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),u=i[0],s=i[1];return(0,r.useEffect)(function(){if(l&&(null==a?void 0:a.length)){var e=RegExp("```"+t+"([\\s\\S]*?)```","s"),r=a.filter(function(e){return"user"===e.role}).filter(function(e){var t,n;return(null==(n=e.content)||null==(t=n.workContext)?void 0:t.length)!==0}).filter(function(e){return e.content.workContext.some(function(e){return e.type===n})}).flatMap(function(e){return e.content.workContext.map(function(t){return{message:e,workContext:t}})}).filter(function(e){return e.workContext.type===n}),o=a.filter(function(e){return e.role===l.username}).filter(function(e){var t;return(null==(t=e.content)?void 0:t.type)==="text"}).filter(function(t){return e.test(t.content.content)}).map(function(r){var o=e.exec(r.content.content);return{message:r,workContext:{type:n,uid:r.key,content:{language:t,code:o[1]}}}}),i=eX(r).concat(eX(o));i.sort(function(e,t){return Number(e.message.key)-Number(t.message.key)}),s(i)}},[a,l]),o().createElement(c.List,{style:{height:"100%",overflowY:"auto"},dataSource:u,renderItem:function(e,t){return o().createElement(c.List.Item,{key:t},o().createElement(e2,e))}})},e2=function(e){var t=e.message,n=e.workContext,r=O.I.use.currentEmployee(),l=n.content,i={size:33,shape:"circle",style:{border:"1px solid #eee"}};return o().createElement(c.Flex,{justify:"space-around",style:{width:"100%"}},"user"===t.role?o().createElement(c.Avatar,eW(eV({},i),{icon:o().createElement(s.UserOutlined,null)})):o().createElement(c.Avatar,eW(eV({},i),{src:(0,eg.H)(r.avatar)})),o().createElement("div",{className:(0,a.css)(eK())},o().createElement(eJ.w,{className:"language-".concat(l.language)},l.code)))},e8=n(8680);function e6(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var e4=c.Layout.Header,e3=c.Layout.Footer,e5=c.Layout.Sider,e7=c.Typography.Text,e9=function(){var e=(0,r.useRef)(null),t=O.I.use.setChatBoxRef(),n=O.I.use.setOpen(),l=O.I.use.currentEmployee(),i=O.I.use.expanded(),u=O.I.use.setExpanded(),f=O.I.use.setMinimize(),p=O.I.use.showConversations(),d=O.I.use.setShowConversations(),y=O.I.use.setShowCodeHistory(),v=O.I.use.showDebugPanel(),b=O.I.use.setShowDebugPanel(),g=(0,E.Q)().startNewConversation,h=(0,a.useToken)().token,w=(0,m.kj)();(0,r.useEffect)(function(){t(e)},[]);var x=(0,a.useMobileLayout)().isMobileLayout;return o().createElement(c.Layout,{style:{height:"100%",position:"relative"},ref:e},p&&!i&&o().createElement(o().Fragment,null,o().createElement("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",zIndex:10,cursor:"pointer"},onClick:function(){return d(!1)}}),o().createElement("div",{style:{position:"absolute",top:0,left:0,width:"300px",height:"100%",backgroundColor:h.colorBgContainer,zIndex:11,borderRight:"1px solid ".concat(h.colorBorder),overflow:"hidden"}},o().createElement(A,null))),p&&i&&o().createElement(e5,{width:300,style:{backgroundColor:h.colorBgContainer,borderRight:"1px solid ".concat(h.colorBorder),overflow:"hidden"}},o().createElement(A,null)),o().createElement(c.Layout,null,o().createElement(e4,{style:{backgroundColor:h.colorBgContainer,height:"48px",lineHeight:"48px",padding:"0 16px",borderBottom:"1px solid ".concat(h.colorBorder),display:"flex",alignItems:"center",justifyContent:"space-between"}},o().createElement("div",null,o().createElement(c.Button,{icon:p?o().createElement(s.MenuFoldOutlined,null):o().createElement(s.MenuUnfoldOutlined,null),type:"text",onClick:function(e){e.stopPropagation(),d(!p)}})),o().createElement("div",null,l?o().createElement(o().Fragment,null,o().createElement(c.Tooltip,{arrow:!1,title:w("New conversation")},o().createElement(c.Button,{icon:o().createElement(s.PlusCircleOutlined,null),type:"text",onClick:g})),o().createElement(e_,null),(0,e8.G8)(l)&&o().createElement(c.Tooltip,{arrow:!1,title:w("Code history")},o().createElement(c.Button,{icon:o().createElement(s.CodeOutlined,null),type:"text",onClick:function(){y(!0)}})),!i&&o().createElement(c.Tooltip,{arrow:!1,title:w("Debug Panel")},o().createElement(c.Button,{icon:o().createElement(s.BugOutlined,null),type:"text",onClick:function(){return b(!v)}})),o().createElement(c.Divider,{type:"vertical"})):null,x?o().createElement(c.Button,{icon:o().createElement(s.CompressOutlined,null),type:"text",onClick:function(){f(!0)}}):o().createElement(c.Button,{icon:i?o().createElement(s.FullscreenExitOutlined,null):o().createElement(s.FullscreenOutlined,null),type:"text",onClick:function(){i||b(!1),u(!i)}}),o().createElement(c.Tooltip,{arrow:!1,title:w("Collapse panel")},o().createElement(c.Button,{icon:o().createElement(s.CloseOutlined,null),type:"text",onClick:function(){return n(!1)}})))),o().createElement(H,null),o().createElement(e3,{style:{backgroundColor:h.colorBgContainer,padding:0}},o().createElement(eB,null),o().createElement("div",{style:{textAlign:"center",margin:"10px 0",fontSize:h.fontSizeSM,color:h.colorTextTertiary}},w("AI disclaimer")))))},te=(0,K.observer)(function(){return o().createElement(c.Card,{style:{position:"fixed",transform:"translate(-50%, -50%)",left:"50%",top:"50%",width:"95%",height:"95%",zIndex:e$.b.shouldHide?-1:1100},styles:{body:{height:"100%",padding:0}}},o().createElement(e9,null))}),tt=(0,K.observer)(function(e){var t=e.minimize;return o().createElement("div",{style:{position:"fixed",left:"0",top:"0",width:"100%",height:"100%",zIndex:e$.b.shouldHide?-1:1100,backgroundColor:"white",display:t?"none":"block"}},o().createElement(e9,null),o().createElement(tn,null))}),tn=function(){var e,t=O.I.use.currentEmployee(),n=O.I.use.minimize(),l=O.I.use.setMinimize(),a=O.I.use.setOpen(),i=(0,m.kj)(),u=function(e){if(Array.isArray(e))return e}(e=c.notification.useNotification())||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return e6(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return e6(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),f=u[0],p=u[1],d=(0,r.useRef)("ai-chat-box-minimize--control-".concat(new Date().getTime())),y=null==t?void 0:t.avatar;return(0,r.useEffect)(function(){return!0===n&&y?f.open({key:d.current,closeIcon:!1,message:o().createElement(c.Flex,{justify:"space-between",align:"center"},o().createElement(c.Avatar,{shape:"circle",size:35,src:(0,eg.H)(y)}),o().createElement(e7,{ellipsis:!0},i("Conversation")),o().createElement(c.Button,{type:"text",icon:o().createElement(s.CloseOutlined,null),onClick:function(e){e.stopPropagation(),a(!1),l(!1)}})),duration:0,placement:"top",style:{width:200},onClick:function(){l(!1)}}):f.destroy(d.current),function(){f.destroy(d.current)}},[f,y,n,l,a,i]),o().createElement(o().Fragment,null,p)},tr=function(){var e=O.I.use.expanded(),t=O.I.use.minimize(),n=O.I.use.showCodeHistory();return(0,a.useMobileLayout)().isMobileLayout?o().createElement(tt,{minimize:t}):e?o().createElement(te,null):o().createElement("div",{style:{position:"fixed",transform:"translateX(0px) !important",right:"-450px",zIndex:1,top:0,width:"450px",height:"100vh",overflow:"hidden",borderInlineStart:"1px solid rgba(5, 5, 5, 0.06)"}},n?o().createElement(e0,null):o().createElement(e9,null))},to=n(5195),tl=n.p+"f0053e745af0ad03.svg",ta=n(4442);function ti(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function tu(){var e,t,n=(e=["\n z-index: 1050;\n position: fixed;\n bottom: 42px;\n inset-inline-end: -8px;\n padding: 9px 22px 9px 10px;\n border-radius: 31px 0 0 31px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n opacity: 0.7;\n background: ",";\n box-shadow: ",";\n transform: translateX(0);\n will-change: transform;\n transition:\n transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),\n opacity 0.2s ease;\n &:hover {\n opacity: 1;\n transform: translateX(-8px);\n }\n\n ","\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return tu=function(){return n},n}var tc=(0,K.observer)(function(){var e,t,n=(0,K.useFlowContext)(),l=(0,ta.useLocation)().pathname,i=(0,a.useMobileLayout)().isMobileLayout,u=(null==n||null==(t=n.pageInfo)?void 0:t.version)==="v1",s=(0,a.useToken)().token,f=(0,w.M)(),m=f.aiEmployees;o().useEffect(function(){f.getAIEmployees()},[f]);var d=function(e){if(Array.isArray(e))return e}(e=(0,r.useState)(!1))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return ti(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ti(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),y=d[0],v=d[1],b=O.I.use.open(),g=O.I.use.setOpen();O.I.use.currentEmployee();var h=(0,E.Q)().switchAIEmployee;if(b||!(null==m?void 0:m.length)||u||!l.startsWith("/admin"))return null;var x=s.boxShadowSecondary||s.boxShadow;return!i&&o().createElement("div",{onClick:function(){v(!1),g(!0);var e=m.find(e8.oT);e&&h(e)},className:(0,p.css)(tu(),s.colorBgElevated,x,y?"\n opacity: 1;\n transform: translateX(-8px);\n ":"")},o().createElement(c.Avatar,{src:tl,size:42,shape:"square"}))}),ts=n(1646);function tf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){tf(e,t,n[t])})}return e}var tm=function(){var e=(0,w.M)(),t=e.aiEmployees,n=O.I.use.open(),o=O.I.use.senderRef(),l=O.I.use.currentEmployee(),a=O.I.use.setRoles(),i=(0,v.o)().conversationsService;(0,r.useEffect)(function(){e.getAIEmployees()},[e]),(0,r.useEffect)(function(){if(!t)return void a(function(e){return tp({},e,ts.H)});var e=t.reduce(function(e,t){var n,r;return n=tp({},e),r=null!=(r=tf({},t.username,(0,ts.V)(t)))?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n},{});a(function(t){return tp({},t,ts.H,e)})},[t]),(0,r.useEffect)(function(){var e;null==o||null==(e=o.current)||e.focus()},[l]),(0,r.useEffect)(function(){if(n){var t;i.run(),null==o||null==(t=o.current)||t.focus(),e.refreshAITools()}},[n]),(0,r.useEffect)(function(){l&&n&&i.run()},[null==l?void 0:l.username])},td=n(2427);function ty(e,t,n,r,o,l,a){try{var i=e[l](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function tv(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){ty(l,r,o,a,i,"next",e)}function i(e){ty(l,r,o,a,i,"throw",e)}a(void 0)})}}function tb(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:u(0)}),i(a,"throw",{value:u(1)}),i(a,"return",{value:u(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){l.label=c[1];break}if(6===c[0]&&l.label<o[1]){l.label=o[1],o=c;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(c);break}o[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var tg=function(e){return{onOk:function(){return tv(function(){return tb(this,function(e){return[2]})})()}}},th=(0,K.observer)(function(){var e,t,n,l,i=(0,m.kj)(),u=(0,w.M)(),s=u.aiTools,f=(0,a.toToolsMap)(s);(0,r.useEffect)(function(){u.getAITools()},[u]);var p=M.y.use.openToolModal(),y=M.y.use.setOpenToolModal(),v=M.y.use.activeTool(),g=M.y.use.setActiveTool(),E=M.y.use.activeMessageId(),O=M.y.use.setActiveMessageId(),x=M.y.use.toolsByMessageId(),S=M.y.use.toolsByName(),j=b.J.use.currentConversation(),k=(0,h.u)(),C=k.updateToolArgs;k.messagesService;var I=(E&&(null==v?void 0:v.id)?null==(e=x[E])?void 0:e[v.id]:null)||v,P=f.get(null==I?void 0:I.name),A=null==P||null==(t=P.ui)?void 0:t.modal,T=(null==P||null==(l=P.ui)||null==(n=l.modal)?void 0:n.useOnOk)||tg,z=null==A?void 0:A.Component,D=null==A?void 0:A.footer,R=null==A?void 0:A.props,B=M.y.use.adjustArgs(),F=T((0,(0,td.t)({messageId:E}).getDecisionActions)(I),B).onOk,H=S[null==I?void 0:I.name]||[],L=H.map(function(e,t){return{key:e.id,value:e.id,label:"Version ".concat(t+1)}}),N=(0,r.useCallback)(function(e){return tv(function(){return tb(this,function(t){switch(t.label){case 0:if(!I||!j||!E)return[2];return[4,C({sessionId:j,messageId:E,tool:{id:I.id,args:e}})];case 1:var n,r;return t.sent(),c.message.success(i("Saved successfully")),g((n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},I),r=r={args:e},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n)),[2]}})})()},[E,j,I,g,i,C]);return o().createElement(c.Modal,{title:o().createElement(o().Fragment,null,(null==A?void 0:A.title)?d.Schema.compile(A.title,{t:i}):"",L.length>1&&o().createElement(c.Select,{options:L,value:null==I?void 0:I.id,style:{marginLeft:"8px"},onChange:function(e){var t=H.find(function(t){return t.id===e});O((null==t?void 0:t.messageId)||""),g(t)}})),open:p,width:(null==R?void 0:R.width)||"90%",styles:null==R?void 0:R.styles,onCancel:function(){y(!1),g(null)},okText:(null==A?void 0:A.okText)?d.Schema.compile(A.okText,{t:i}):i("Submit"),onOk:function(){return tv(function(){return tb(this,function(e){switch(e.label){case 0:return[4,null==F?void 0:F()];case 1:return e.sent(),y(!1),[2]}})})()},okButtonProps:{disabled:!["init","interrupted","pending"].includes(null==I?void 0:I.invokeStatus)},footer:D&&I?o().createElement(D,{tool:I}):(null==A?void 0:A.hideOkButton)?null:function(e,t){var n=t.OkBtn;return o().createElement(o().Fragment,null,o().createElement(n,null))}},z&&I?o().createElement(z,{tool:I,saveToolArgs:N}):null)}),tE=n(4143),tO=n(6768);function tw(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var tx=(0,r.forwardRef)(function(e,t){var n,l=e.data,a=e.itemKey,i=e.itemHeight,u=e.children,c=(0,r.useRef)(null),s=(0,r.useRef)(null),f=function(e){if(Array.isArray(e))return e}(n=(0,r.useState)(400))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(n)||function(e){if(e){if("string"==typeof e)return tw(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return tw(e,2)}}(n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),p=f[0],m=f[1];return(0,r.useEffect)(function(){var e=c.current;if(e){var t=new ResizeObserver(function(e){var t=!0,n=!1,r=void 0;try{for(var o,l=e[Symbol.iterator]();!(t=(o=l.next()).done);t=!0){var a=o.value;m(a.contentRect.height)}}catch(e){n=!0,r=e}finally{try{t||null==l.return||l.return()}finally{if(n)throw r}}});return t.observe(e),m(e.clientHeight),function(){return t.disconnect()}}},[]),(0,r.useImperativeHandle)(t,function(){return{scrollTo:function(e){var t;null==(t=s.current)||t.scrollTo(e)}}}),o().createElement("div",{ref:c,style:{flex:1,overflow:"hidden"}},o().createElement(tO.A,{ref:s,data:l,itemKey:a,height:p,itemHeight:void 0===i?48:i,fullHeight:!1},u))});function tS(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function tj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||tI(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tk(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function tC(e){return function(e){if(Array.isArray(e))return tS(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||tI(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tI(e,t){if(e){if("string"==typeof e)return tS(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tS(e,t)}}function tP(){var e=tk(["\n padding: 8px 12px;\n border-bottom: 1px solid ",";\n &:hover {\n background-color: ",";\n }\n "]);return tP=function(){return e},e}function tA(){var e=tk(["\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n "]);return tA=function(){return e},e}function tT(){var e=tk(["\n color: ",";\n "]);return tT=function(){return e},e}function tM(){var e=tk(["\n margin: 8px 0 0 18px;\n padding: 8px;\n background-color: ",";\n border-radius: 4px;\n font-size: 12px;\n overflow-x: auto;\n max-height: 300px;\n overflow-y: auto;\n "]);return tM=function(){return e},e}function tz(){var e=tk(["\n display: flex;\n flex-direction: column;\n height: 100%;\n "]);return tz=function(){return e},e}function tD(){var e=tk(["\n padding: 12px;\n border-bottom: 1px solid ",";\n display: flex;\n gap: 8px;\n "]);return tD=function(){return e},e}var tR=c.Typography.Text,tB=c.Input.Search,tF={request:"blue",stream_text:"green",stream_search:"cyan",stream_start:"geekblue",stream_tools:"orange",stream_delta:"lime",stream_reasoning:"magenta",stream_error:"volcano",tool_call:"gold",tool_result:"purple",error:"red"},tH=[{value:"all",label:"All"},{value:"request",label:"Request"},{value:"stream_text",label:"Stream Text"},{value:"stream_search",label:"Stream Search"},{value:"stream_start",label:"Stream Start"},{value:"stream_tools",label:"Stream Tools"},{value:"stream_delta",label:"Stream Delta"},{value:"stream_reasoning",label:"Stream Reasoning"},{value:"stream_error",label:"Stream Error"},{value:"tool_call",label:"Tool Call"},{value:"tool_result",label:"Tool Result"},{value:"error",label:"Error"}],tL=function(e){var t=e.log,n=e.expanded,r=e.onToggleExpand,l=(0,a.useToken)().token,i=function(){try{navigator.clipboard.writeText(JSON.stringify(t.data,null,2)),c.message.success("Copied to clipboard")}catch(e){c.message.error("Failed to copy")}};return o().createElement("div",{className:(0,p.css)(tP(),l.colorBorderSecondary,l.colorFillQuaternary)},o().createElement("div",{className:(0,p.css)(tA()),onClick:r},n?o().createElement(s.DownOutlined,{style:{fontSize:10}}):o().createElement(s.RightOutlined,{style:{fontSize:10}}),o().createElement(tR,{type:"secondary",style:{fontFamily:"monospace",fontSize:12}},new Date(t.time).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3})),o().createElement(c.Tag,{color:tF[t.type],style:{margin:0}},t.type),o().createElement(tR,{ellipsis:!0,style:{flex:1,fontFamily:"monospace",fontSize:12},className:(0,p.css)(tT(),l.colorTextSecondary)},function(e){try{var t=JSON.stringify(e);return t.length>100?t.slice(0,100)+"...":t}catch(e){return"[Unable to stringify]"}}(t.data)),o().createElement(c.Tooltip,{title:"Copy"},o().createElement(c.Button,{type:"text",size:"small",icon:o().createElement(s.CopyOutlined,null),onClick:function(e){e.stopPropagation(),i()}}))),n&&o().createElement("pre",{className:(0,p.css)(tM(),l.colorFillSecondary)},JSON.stringify(t.data,null,2)))},tN=function(){var e=O.I.use.showDebugPanel(),t=O.I.use.setShowDebugPanel(),n=b.J.use.currentConversation(),l=tj((0,r.useState)([]),2),i=l[0],u=l[1],f=tj((0,r.useState)("all"),2),d=f[0],y=f[1],v=tj((0,r.useState)(""),2),g=v[0],h=v[1],E=tj((0,r.useState)(new Set),2),w=E[0],x=E[1],S=(0,r.useRef)(null),j=(0,m.kj)(),k=(0,a.useToken)().token;(0,r.useEffect)(function(){if(!n)return void u([]);var e=tE._.getSession(n);return e?u(tC(e.logs)):u([]),tE._.subscribe(function(e,t){t===n&&u(function(t){return tC(t).concat([e])})})},[n]);var C=(0,r.useMemo)(function(){return i.filter(function(e){if("all"!==d&&e.type!==d)return!1;if(g){var t=g.toLowerCase();return JSON.stringify(e.data).toLowerCase().includes(t)}return!0})},[i,d,g]);(0,r.useEffect)(function(){C.length>0&&requestAnimationFrame(function(){var e;null==(e=S.current)||e.scrollTo({index:C.length-1,align:"bottom"})})},[i]);var I=(0,r.useCallback)(function(e){x(function(t){var n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),P=(0,r.useCallback)(function(e){return w.has(e.id)?"".concat(e.id,"-e"):e.id},[w]);return o().createElement(c.Drawer,{title:o().createElement(c.Space,null,o().createElement("span",null,j("Debug Panel")),n&&o().createElement(tR,{type:"secondary",style:{fontSize:12}},"(",i.length," logs)")),placement:"right",width:500,open:e,onClose:function(){return t(!1)},styles:{body:{padding:0,overflow:"hidden"}},extra:o().createElement(c.Button,{icon:o().createElement(s.DownloadOutlined,null),size:"small",onClick:function(){if(n&&0!==i.length){var e=tE._.getSession(n),t=new Blob([JSON.stringify({sessionId:n,employeeId:null==e?void 0:e.employeeId,employeeName:null==e?void 0:e.employeeName,exportedAt:new Date().toISOString(),logs:i},null,2)],{type:"application/json"}),r=URL.createObjectURL(t),o=document.createElement("a");o.href=r;var l=(null==e?void 0:e.employeeName)||"unknown";o.download="ai-chat-log-".concat(l,"-").concat(new Date().toISOString().slice(0,16).replace("T","_"),".json"),o.click(),URL.revokeObjectURL(r)}},disabled:0===i.length},j("Export"))},o().createElement("div",{className:(0,p.css)(tz())},o().createElement("div",{className:(0,p.css)(tD(),k.colorBorder)},o().createElement(c.Select,{value:d,onChange:y,options:tH,style:{width:120},size:"small"}),o().createElement(tB,{placeholder:j("Search logs..."),value:g,onChange:function(e){return h(e.target.value)},allowClear:!0,size:"small",style:{flex:1}})),n?0===C.length?o().createElement(c.Empty,{description:j("No logs"),style:{marginTop:100}}):o().createElement(tx,{ref:S,data:C,itemKey:P,itemHeight:40},function(e){return o().createElement(tL,{log:e,expanded:w.has(e.id),onToggleExpand:function(){return I(e.id)}})}):o().createElement(c.Empty,{description:j("No conversation selected"),style:{marginTop:100}})))},tU=function(e){var t=O.I.use.open(),n=O.I.use.expanded(),r=M.y.use.activeTool(),l=O.I.use.showDebugPanel(),i=(0,a.useMobileLayout)().isMobileLayout;return tm(),o().createElement(o().Fragment,null,e.children,o().createElement(tc,null),!t||n||i?null:o().createElement(to.m,null,o().createElement("style",{type:"text/css"},"\nhtml {\n padding-left: 450px;\n}\nhtml body {\n position: relative;\n overflow: hidden;\n transform: translateX(-450px);\n}\n.ant-dropdown-placement-topLeft {\n transform: translateX(450px) !important;\n}\n.ant-dropdown-placement-bottomLeft {\n transform: translateX(450px) !important;\n}\n.ant-dropdown-menu-submenu-placement-rightTop {\n transform: translateX(450px) !important;\n}\n.ant-dropdown-menu-submenu-placement-rightBottom {\n transform: translateX(450px) !important;\n}\n")),t?o().createElement(tr,null):null,r&&o().createElement(th,null),l&&o().createElement(tN,null))},t_=n(4310),t$=(0,K.observer)(function(){return t_.l.selectable&&o().createElement(to.m,null,o().createElement("style",{type:"text/css"},"\n.ai-selectable {\n position: relative;\n transition: all 0.3s ease;\n &:hover {\n cursor: grab;\n }\n &::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 210, 255, 0.2);\n opacity: 0;\n transition: opacity 0.3s ease;\n z-index: 100;\n }\n\n &:hover::after {\n opacity: 1;\n }\n}\n"))});function tJ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var tq=(0,K.observer)(function(){var e,t=(0,m.kj)(),n=c.theme.useToken().token,l=function(e){if(Array.isArray(e))return e}(e=c.notification.useNotification())||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],l=!0,a=!1;try{for(r=r.call(e);!(l=(t=r.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(a)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return tJ(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return tJ(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),a=l[0],i=l[1],u=(0,r.useRef)("ai-selection-control-".concat(new Date().getTime())),f=t_.l.selectable;return(0,r.useEffect)(function(){return""!==f?a.open({key:u.current,closeIcon:!1,message:o().createElement(c.Flex,{justify:"space-between",align:"center",style:{width:"100%"}},o().createElement("span",{style:{fontWeight:500,fontSize:13,color:n.colorTextSecondary,lineHeight:1.2}},t("Picking block")),o().createElement(c.Button,{type:"text",size:"small",icon:o().createElement(s.StopOutlined,null),style:{color:n.colorError,fontSize:13,lineHeight:1.2},"aria-label":t("Cancel"),onClick:function(){t_.l.stopSelect(),e$.b.resume()}})),duration:0,placement:"bottom",style:{width:180,padding:"7px 12px 5px 12px",background:n.colorBgContainer,border:"1px solid ".concat(n.colorBorder),boxShadow:n.boxShadowSecondary,borderRadius:6}}):a.destroy(u.current),function(){a.destroy(u.current)}},[a,f,t,n]),o().createElement(o().Fragment,null,i)}),tV=function(e){var t,n=(0,r.useContext)(a.CurrentUserContext);return(null==n||null==(t=n.data)?void 0:t.data)?o().createElement(l.S7,null,o().createElement(u,null,o().createElement(tU,null,e.children),o().createElement(t$,null),o().createElement(tq,null))):o().createElement(o().Fragment,null,e.children)}},4281:function(e,t,n){n.d(t,{w:function(){return S},Rs:function(){return x},Cy:function(){return j}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(3342),u=n(3079),c=n(8680),s=n(7694),f=n(26);function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function m(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function d(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var y=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,v=function(e){var t=e.language,n=e.value,r=e.height,l=e.scrollToBottom,a=d(e,["language","value","height","scrollToBottom"]);return o().createElement(y,m(p({},a),{language:t,value:n,height:r,scrollToBottom:l}))},b=function(e){var t=(0,s.useFlowContext)(),n=(0,u.kj)(),r=e.children,i=e.className,c=(e.node,e.message),y=d(e,["children","className","node","message"]),b=/language-(\w+)/.exec(i||""),h=b?b[1]:"",E=String(r).replace(/<!--[\s\S]*?-->/g,"").replace(/\n$/,""),O=l.App.useApp().message,w=!0;(null==c?void 0:c.type)==="text"&&(w=RegExp("```"+h+"[\\s\\S]*?```","s").test(c.content));var x=f.H.use.editorRef()[f.H.use.currentEditorRefUid()];return b?o().createElement(l.Card,{type:"inner",size:"small",title:o().createElement(l.Space,{style:{margin:"0 8px"},size:"middle"},o().createElement(a.CodeOutlined,null),o().createElement("span",null,h)),extra:o().createElement(o().Fragment,null,o().createElement(l.Tooltip,{title:n("Copy")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.CopyOutlined,null),onClick:function(){navigator.clipboard.writeText(E),O.success(n("Copied"))}})),o().createElement(l.Divider,{type:"vertical"}),o().createElement(l.Tooltip,{title:n("Expand")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.ExpandOutlined,null),onClick:function(){t.viewer.dialog({width:"80%",zIndex:6e3,content:o().createElement(g,m(p({},y),{language:h,value:E,height:"75vh"}))})}}))),styles:{header:{padding:0},body:{padding:0}},actions:x?[o().createElement(l.Button,{key:"accept",type:"link",onClick:function(e){e.stopPropagation(),null==x||x.write(E),t.message.info(n("Applied"))},disabled:!w},n("Apply to editor"))]:[]},o().createElement(v,m(p({},y),{language:h,value:E,scrollToBottom:!w}))):o().createElement(l.Typography.Text,m(p({code:!0},y),{className:i}),r)},g=function(e){var t=e.language,n=e.value,r=d(e,["language","value"]),i=(0,s.useFlowViewContext)(),u=i.view.Header,c=o().createElement(l.Button,{type:"text",icon:o().createElement(a.CloseOutlined,null),onClick:function(){i.view.close()}});return o().createElement("div",{style:{borderRadius:8}},o().createElement(u,{title:o().createElement(o().Fragment,null,o().createElement(l.Space,null,c,o().createElement("span",null,t)))}),o().createElement(v,m(p({},r),{language:t,value:n})))};function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function E(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function O(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var w=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,x=function(e){var t=e.language,n=e.value,r=O(e,["language","value"]);return o().createElement(w,E(h({},r),{language:t,value:n}))},S=function(e){var t=e.children,n=e.className,r=(e.node,e.message,O(e,["children","className","node","message"])),c=/language-(\w+)/.exec(n||""),s=c?c[1]:"",f=(0,i.useToken)().token,p=(0,u.kj)(),m=String(t).replace(/\n$/,""),d=l.App.useApp().message;return c?o().createElement(l.Card,{size:"small",title:s,styles:{title:{fontSize:f.fontSize,fontWeight:400},body:{width:"100%",fontSize:f.fontSizeSM}},extra:o().createElement(l.Button,{variant:"link",color:"default",size:"small",onClick:function(){navigator.clipboard.writeText(m),d.success(p("Copied"))},icon:o().createElement(a.CopyOutlined,null)})},o().createElement(x,E(h({},r),{language:s,value:m}))):o().createElement(l.Typography.Text,E(h({code:!0},r),{className:n}),t)},j=function(e){var t=e.className,n=/language-(\w+)/.exec(t||""),r=n?n[1]:"";return f.H.use.editorRef()[f.H.use.currentEditorRefUid()]&&(0,c._t)(r)?o().createElement(b,e):o().createElement(S,e)}}}]);