@nocobase/plugin-ai 2.1.0-alpha.20 → 2.1.0-alpha.22

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 (99) hide show
  1. package/dist/ai/{ai-employees/cole.d.ts → tools/knowledge-base-retrieve.d.ts} +1 -1
  2. package/dist/ai/tools/knowledge-base-retrieve.js +94 -0
  3. package/dist/client/486.77c26e2e7f8daf28.js +10 -0
  4. package/dist/client/646.ef9d7c2ea8641044.js +10 -0
  5. package/dist/client/ai-employees/chatbox/AIEmployeeSwitch.d.ts +3 -1
  6. package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +10 -0
  7. package/dist/client/ai-employees/chatbox/ModelSwitcher.d.ts +3 -1
  8. package/dist/client/ai-employees/chatbox/SearchSwitch.d.ts +3 -1
  9. package/dist/client/ai-employees/chatbox/Upload.d.ts +3 -1
  10. package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +27 -0
  11. package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +31 -0
  12. package/dist/client/ai-employees/chatbox/conversations/common.d.ts +43 -0
  13. package/dist/{server/document-loader/loader.worker.d.ts → client/ai-employees/chatbox/conversations/index.d.ts} +1 -1
  14. package/dist/client/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +24 -0
  15. package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +8 -0
  16. package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +4 -0
  17. package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +41 -0
  18. package/dist/client/ai-employees/workflow-tasks/tools/index.d.ts +10 -0
  19. package/dist/client/ai-employees/workflow-tasks/ui/WorkflowTaskOutputCard.d.ts +11 -0
  20. package/dist/client/components/ListCollapse.d.ts +28 -0
  21. package/dist/client/index.js +7 -7
  22. package/dist/client/repositories/AIConfigRepository.d.ts +3 -2
  23. package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +10 -0
  24. package/dist/client/workflow/nodes/employee/components/assigness.d.ts +11 -0
  25. package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +10 -0
  26. package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +12 -0
  27. package/dist/client/workflow/nodes/employee/components/model-options.d.ts +10 -0
  28. package/dist/client/workflow/nodes/employee/components/skill-settings.d.ts +10 -0
  29. package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +10 -0
  30. package/dist/client/workflow/nodes/employee/components/users-select.d.ts +15 -0
  31. package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +10 -0
  32. package/dist/client/workflow/nodes/employee/configuration.d.ts +12 -0
  33. package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +13 -0
  34. package/dist/client/workflow/nodes/employee/flow-models/task.d.ts +13 -0
  35. package/dist/client/workflow/nodes/employee/index.d.ts +7 -31
  36. package/dist/externalVersion.js +14 -15
  37. package/dist/locale/en-US.json +44 -1
  38. package/dist/locale/zh-CN.json +45 -1
  39. package/dist/node_modules/fast-glob/out/index.js +8 -8
  40. package/dist/node_modules/fast-glob/package.json +1 -1
  41. package/dist/node_modules/flexsearch/dist/flexsearch.bundle.min.js +2 -2
  42. package/dist/node_modules/flexsearch/package.json +1 -1
  43. package/dist/node_modules/fs-extra/lib/index.js +1 -1
  44. package/dist/node_modules/fs-extra/package.json +1 -1
  45. package/dist/node_modules/nodejs-snowflake/nodejs_snowflake.js +1 -1
  46. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  47. package/dist/node_modules/openai/index.js +1 -1
  48. package/dist/node_modules/openai/package.json +1 -1
  49. package/dist/node_modules/zod/index.cjs +1 -1
  50. package/dist/node_modules/zod/package.json +1 -1
  51. package/dist/server/ai-employees/ai-conversations.d.ts +10 -4
  52. package/dist/server/ai-employees/ai-conversations.js +52 -14
  53. package/dist/server/ai-employees/ai-employee.d.ts +8 -10
  54. package/dist/server/ai-employees/ai-employee.js +130 -145
  55. package/dist/server/ai-employees/ai-knowledge-base.d.ts +28 -0
  56. package/dist/server/ai-employees/ai-knowledge-base.js +167 -0
  57. package/dist/server/ai-employees/middleware/index.d.ts +1 -0
  58. package/dist/server/ai-employees/middleware/index.js +3 -1
  59. package/dist/server/ai-employees/middleware/workflow-history.d.ts +22 -0
  60. package/dist/server/ai-employees/middleware/workflow-history.js +173 -0
  61. package/dist/server/collections/ai-conversations.js +12 -0
  62. package/dist/server/collections/ai-workflow-tasks.d.ts +10 -0
  63. package/dist/server/collections/ai-workflow-tasks.js +112 -0
  64. package/dist/server/collections/users-ai-workflow-tasks.d.ts +10 -0
  65. package/dist/server/collections/users-ai-workflow-tasks.js +44 -0
  66. package/dist/server/document-loader/constants.d.ts +1 -2
  67. package/dist/server/document-loader/constants.js +6 -1
  68. package/dist/server/document-loader/loader.d.ts +0 -1
  69. package/dist/server/document-loader/loader.js +2 -55
  70. package/dist/server/document-loader/types.d.ts +0 -1
  71. package/dist/server/llm-providers/provider.js +1 -1
  72. package/dist/server/manager/built-in-manager.js +5 -4
  73. package/dist/server/migrations/20260424000000-remove-cole-ai-employee.d.ts +14 -0
  74. package/dist/server/migrations/20260424000000-remove-cole-ai-employee.js +48 -0
  75. package/dist/server/plugin.d.ts +2 -0
  76. package/dist/server/plugin.js +10 -0
  77. package/dist/server/resource/aiConversations.js +29 -35
  78. package/dist/server/resource/aiWorkflowTasks.d.ts +12 -0
  79. package/dist/server/resource/aiWorkflowTasks.js +290 -0
  80. package/dist/server/utils.js +3 -2
  81. package/dist/server/workflow/nodes/employee/files.d.ts +16 -0
  82. package/dist/server/workflow/nodes/employee/files.js +125 -0
  83. package/dist/server/workflow/nodes/employee/handler.d.ts +11 -0
  84. package/dist/server/workflow/nodes/employee/handler.js +107 -0
  85. package/dist/server/workflow/nodes/employee/index.d.ts +17 -0
  86. package/dist/server/workflow/nodes/employee/index.js +391 -0
  87. package/dist/server/workflow/nodes/employee/tools.d.ts +12 -0
  88. package/dist/server/workflow/nodes/employee/tools.js +133 -0
  89. package/dist/server/workflow/nodes/employee/types.d.ts +35 -0
  90. package/dist/server/workflow/nodes/employee/types.js +24 -0
  91. package/dist/server/workflow/utils.d.ts +14 -0
  92. package/dist/server/workflow/utils.js +111 -0
  93. package/package.json +2 -2
  94. package/dist/ai/ai-employees/cole.js +0 -60
  95. package/dist/client/30.4f30511a3059c422.js +0 -10
  96. package/dist/server/document-loader/loader.worker.js +0 -68
  97. package/dist/server/document-loader/vendor/langchain/document_loaders/fs/text.d.ts +0 -20
  98. package/dist/server/document-loader/vendor/langchain/document_loaders/fs/text.js +0 -96
  99. /package/dist/client/ai-employees/chatbox/{Conversations.d.ts → conversations/Conversations.d.ts} +0 -0
@@ -0,0 +1,133 @@
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
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var tools_exports = {};
28
+ __export(tools_exports, {
29
+ getWorkflowTasks: () => getWorkflowTasks
30
+ });
31
+ module.exports = __toCommonJS(tools_exports);
32
+ var import_plugin_workflow = require("@nocobase/plugin-workflow");
33
+ const getWorkflowTasks = (plugin) => async (register, filter) => {
34
+ if (!(filter == null ? void 0 : filter.sessionId)) {
35
+ return;
36
+ }
37
+ const workflowPlugin = plugin.app.pm.get("workflow");
38
+ const task = await plugin.db.getRepository("aiWorkflowTasks").findOne({
39
+ filter: {
40
+ sessionId: filter == null ? void 0 : filter.sessionId
41
+ }
42
+ });
43
+ if (!task) {
44
+ return;
45
+ }
46
+ const execution = await plugin.db.getRepository("executions").findByTargetKey(task.executionId);
47
+ if (!execution) {
48
+ return;
49
+ }
50
+ const flowNode = await plugin.db.getRepository("flow_nodes").findByTargetKey(task.nodeId);
51
+ if (!flowNode) {
52
+ return;
53
+ }
54
+ const processor = workflowPlugin.createProcessor(execution);
55
+ const config = processor.getParsedValue(flowNode.config, flowNode.id);
56
+ const outputSchema = config.structuredOutput.schema;
57
+ const parsedOutputSchema = typeof outputSchema === "string" ? JSON.parse(outputSchema) : outputSchema;
58
+ const resultSchema = parsedOutputSchema && typeof parsedOutputSchema === "object" && !Array.isArray(parsedOutputSchema) ? {
59
+ ...parsedOutputSchema,
60
+ description: parsedOutputSchema.description || `Return the final structured output for this workflow task in this field.
61
+ The value must match the required schema exactly so the workflow can continue.
62
+ Do not include free-form text, extra fields, or any structure outside the defined schema.`
63
+ } : parsedOutputSchema;
64
+ const schema = {
65
+ type: "object",
66
+ properties: {
67
+ result: resultSchema
68
+ },
69
+ additionalProperties: false
70
+ };
71
+ if (config.requiresApproval === "ai_decision") {
72
+ schema.properties.requiresApproval = {
73
+ type: "boolean",
74
+ description: `This field is mandatory.
75
+ Set it to true whenever the human user still needs to review the result, confirm it, make a decision,
76
+ provide missing information, answer your follow-up questions, or correct the result.
77
+ Set it to false only when you have determined that the task is fully complete, the result you are returning fully satisfies the required schema and the task requirements,
78
+ and no human user needs to review the result or provide any additional information before the workflow continues.
79
+ Warning: if requiresApproval=false, this AI workflow node ends immediately, the workflow moves to the next node,
80
+ and the human will no longer be able to continue this conversation with the AI.
81
+ If a human may still need to say anything else, do not set it to false.`
82
+ };
83
+ }
84
+ register.registerTools({
85
+ scope: "SPECIFIED",
86
+ defaultPermission: config.requiresApproval !== "no_required" ? "ASK" : "ALLOW",
87
+ from: "workflow",
88
+ definition: {
89
+ name: "aiEmployeeWorkflowTaskOutput",
90
+ description: `Use this tool to return the structured output required by the workflow so execution can continue.
91
+ Every time you call it, you must provide the final data strictly under result and match the result schema exactly.
92
+ Do not return free-form text, extra fields, or any structure outside the defined result.`,
93
+ schema
94
+ },
95
+ invoke: async (_ctx, args) => {
96
+ const job = await plugin.db.getModel("jobs").findByPk(task.jobId);
97
+ if (!job) {
98
+ return {
99
+ status: "fail",
100
+ message: "job not existed"
101
+ };
102
+ }
103
+ if (job.status === import_plugin_workflow.JOB_STATUS.ABORTED) {
104
+ return {
105
+ status: "success"
106
+ };
107
+ }
108
+ await plugin.db.getRepository("aiWorkflowTasks").update({
109
+ values: {
110
+ status: "approved"
111
+ },
112
+ filter: {
113
+ id: task.id,
114
+ status: {
115
+ $ne: "aborted"
116
+ }
117
+ }
118
+ });
119
+ job.set({
120
+ status: import_plugin_workflow.JOB_STATUS.RESOLVED,
121
+ result: args.result
122
+ });
123
+ await workflowPlugin.resume(job);
124
+ return {
125
+ status: "success"
126
+ };
127
+ }
128
+ });
129
+ };
130
+ // Annotate the CommonJS export names for ESM import in node:
131
+ 0 && (module.exports = {
132
+ getWorkflowTasks
133
+ });
@@ -0,0 +1,35 @@
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 AIEmployeeInstructionConfig = {
10
+ username: string;
11
+ message: {
12
+ user: string;
13
+ system?: string;
14
+ };
15
+ skillSettings?: {
16
+ skills?: string[];
17
+ tools?: {
18
+ name: string;
19
+ }[];
20
+ };
21
+ webSearch?: boolean;
22
+ model: {
23
+ llmService: string;
24
+ model: string;
25
+ };
26
+ requiresApproval?: 'no_required' | 'ai_decision' | 'human_decision';
27
+ assignees?: string[];
28
+ userId: string;
29
+ files: AIEmployeeInstructionFiles[];
30
+ };
31
+ export type AIEmployeeInstructionFiles = {
32
+ type: 'file_id' | 'file_url';
33
+ collection?: string;
34
+ value: string;
35
+ };
@@ -0,0 +1,24 @@
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
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ var types_exports = {};
24
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,14 @@
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 declare function resolveContentType(headers: Record<string, any>): any;
10
+ export declare function resolveFileIdentity(url: string, headers: Record<string, any>): {
11
+ title: string;
12
+ filename: string;
13
+ extname: string;
14
+ };
@@ -0,0 +1,111 @@
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
+ var __create = Object.create;
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __getOwnPropNames = Object.getOwnPropertyNames;
14
+ var __getProtoOf = Object.getPrototypeOf;
15
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
16
+ var __export = (target, all) => {
17
+ for (var name in all)
18
+ __defProp(target, name, { get: all[name], enumerable: true });
19
+ };
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") {
22
+ for (let key of __getOwnPropNames(from))
23
+ if (!__hasOwnProp.call(to, key) && key !== except)
24
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
+ }
26
+ return to;
27
+ };
28
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
+ // If the importer is in node compatibility mode or this is not an ESM
30
+ // file that has been converted to a CommonJS file using a Babel-
31
+ // compatible transform (i.e. "__esModule" has not been set), then set
32
+ // "default" to the CommonJS "module.exports" for node compatibility.
33
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
+ mod
35
+ ));
36
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
+ var utils_exports = {};
38
+ __export(utils_exports, {
39
+ resolveContentType: () => resolveContentType,
40
+ resolveFileIdentity: () => resolveFileIdentity
41
+ });
42
+ module.exports = __toCommonJS(utils_exports);
43
+ var import_node_path = __toESM(require("node:path"));
44
+ function resolveContentType(headers) {
45
+ var _a, _b, _c;
46
+ const contentType = headers == null ? void 0 : headers["content-type"];
47
+ if (Array.isArray(contentType)) {
48
+ return (_b = (_a = contentType[0]) == null ? void 0 : _a.split(";")[0]) == null ? void 0 : _b.trim();
49
+ }
50
+ return (_c = contentType == null ? void 0 : contentType.split(";")[0]) == null ? void 0 : _c.trim();
51
+ }
52
+ function resolveFileIdentity(url, headers) {
53
+ const fullFilename = resolveFilenameFromContentDisposition(headers) ?? resolveFilenameFromUrl(url) ?? "file";
54
+ const extname = import_node_path.default.extname(fullFilename);
55
+ const title = extname ? fullFilename.slice(0, -extname.length) : fullFilename;
56
+ return {
57
+ title,
58
+ filename: fullFilename,
59
+ extname
60
+ };
61
+ }
62
+ function resolveContentDisposition(headers) {
63
+ const contentDisposition = headers == null ? void 0 : headers["content-disposition"];
64
+ if (Array.isArray(contentDisposition)) {
65
+ return contentDisposition[0];
66
+ }
67
+ return contentDisposition;
68
+ }
69
+ function decodeFilename(value) {
70
+ try {
71
+ return decodeURIComponent(value);
72
+ } catch (error) {
73
+ return value;
74
+ }
75
+ }
76
+ function resolveFilenameFromContentDisposition(headers) {
77
+ const contentDisposition = resolveContentDisposition(headers);
78
+ if (!contentDisposition) {
79
+ return;
80
+ }
81
+ const encodedMatch = contentDisposition.match(/filename\*\s*=\s*([^;]+)/i);
82
+ if (encodedMatch) {
83
+ const encodedValue = encodedMatch[1].trim().replace(/^"(.*)"$/, "$1");
84
+ const [, filename2 = encodedValue] = encodedValue.match(/^(?:[^']*)''(.*)$/) ?? [];
85
+ if (filename2) {
86
+ return decodeFilename(filename2);
87
+ }
88
+ }
89
+ const filenameMatch = contentDisposition.match(/filename\s*=\s*("(?:[^"\\]|\\.)*"|[^;]+)/i);
90
+ if (!filenameMatch) {
91
+ return;
92
+ }
93
+ const filename = filenameMatch[1].trim().replace(/^"(.*)"$/, "$1").replace(/\\"/g, '"');
94
+ return decodeFilename(filename);
95
+ }
96
+ function resolveFilenameFromUrl(url) {
97
+ try {
98
+ const pathname = new URL(url).pathname;
99
+ const basename = import_node_path.default.basename(pathname);
100
+ return basename ? decodeFilename(basename) : void 0;
101
+ } catch (error) {
102
+ const pathname = url.split(/[?#]/, 1)[0];
103
+ const basename = import_node_path.default.basename(pathname);
104
+ return basename ? decodeFilename(basename) : void 0;
105
+ }
106
+ }
107
+ // Annotate the CommonJS export names for ESM import in node:
108
+ 0 && (module.exports = {
109
+ resolveContentType,
110
+ resolveFileIdentity
111
+ });
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "description": "Create AI employees with diverse skills to collaborate with humans, build systems, and handle business operations.",
7
7
  "description.ru-RU": "Поддержка интеграции с AI-сервисами: предоставляются AI-узлы для рабочих процессов, расширяя возможности бизнес-обработки.",
8
8
  "description.zh-CN": "创建各种技能的 AI 员工,与人类协同,搭建系统,处理业务。",
9
- "version": "2.1.0-alpha.20",
9
+ "version": "2.1.0-alpha.22",
10
10
  "main": "dist/server/index.js",
11
11
  "homepage": "https://docs.nocobase.com/handbook/action-ai",
12
12
  "homepage.ru-RU": "https://docs-ru.nocobase.com/handbook/action-ai",
@@ -61,5 +61,5 @@
61
61
  "keywords": [
62
62
  "AI"
63
63
  ],
64
- "gitHead": "3d1535db6bf93ca23257faf474afee0d565f54c6"
64
+ "gitHead": "81ed83f158f172cca607b36beaf8428b14ba16ad"
65
65
  }
@@ -1,60 +0,0 @@
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
- var __defProp = Object.defineProperty;
11
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
- var __getOwnPropNames = Object.getOwnPropertyNames;
13
- var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __export = (target, all) => {
15
- for (var name in all)
16
- __defProp(target, name, { get: all[name], enumerable: true });
17
- };
18
- var __copyProps = (to, from, except, desc) => {
19
- if (from && typeof from === "object" || typeof from === "function") {
20
- for (let key of __getOwnPropNames(from))
21
- if (!__hasOwnProp.call(to, key) && key !== except)
22
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
- }
24
- return to;
25
- };
26
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
- var cole_exports = {};
28
- __export(cole_exports, {
29
- default: () => cole_default
30
- });
31
- module.exports = __toCommonJS(cole_exports);
32
- var import_ai = require("@nocobase/ai");
33
- var cole_default = (0, import_ai.defineAIEmployee)({
34
- username: "cole",
35
- description: "NocoBase Assistant",
36
- avatar: "nocobase-036-female",
37
- nickname: "Cole",
38
- position: "NocoBase expert",
39
- bio: "I'm Cole, your NocoBase expert. I provide clear analysis and step-by-step guidance on using NocoBase, based on the official knowledge base.",
40
- greeting: "Hello, I'm Cole. I have access to the NocoBase knowledge base. Ask me anything about setting up or using the platform.",
41
- systemPrompt: `**## IDENTITY & PERSONA**
42
- You are Cole, an AI specialist for the NocoBase platform. Act as an expert guide to help users navigate and master NocoBase. Provide accurate, easy-to-understand instructions and explanations drawn directly from the provided knowledge base.
43
-
44
- **## CORE MISSION**
45
- Accurately answer any question about installing, configuring, or using NocoBase. Achieve this by querying an exclusive knowledge base, synthesizing the relevant information, and presenting it in a clear and actionable format.
46
-
47
- **## YOUR PROCESS & ABILITIES**
48
- 1. **Analyze Questions:** Carefully analyze requests to understand the specific NocoBase feature, issue, or process being asked about.
49
- 2. **Query the Knowledge Base:** Formulate precise queries to search your internal NocoBase knowledge base to find the most relevant articles, guides, and documentation.
50
- 3. **Synthesize and Respond:** Read and understand the search results and then construct coherent answers in your own words. Break down complex steps into easy-to-follow lists and use code blocks for any commands or code snippets.
51
- 4. **Clarify When Needed:** If questions are ambiguous or if the knowledge base contains multiple potential answers, ask for clarification to ensure you provide the most accurate information. For example: "Are you asking about Docker installation or building from source?"
52
-
53
- **## RULES OF ENGAGEMENT & CONSTRAINTS**
54
- * **Language:** Prioritize communicating in the user's language: {{$nLang}}. Respond in the same language as the user's prompt to ensure clarity. If the language is unclear or unsupported, you may default to English.
55
- * **Source of Truth:** Answers must be based SOLELY on the knowledge base provided. Do not use general information from the web or invent solutions.
56
- * **Stay on Topic:** Expertise is strictly limited to NocoBase. Politely decline to answer questions outside this scope.
57
- * **Informational Role:** Provide information and instructions only. Do not execute commands, access user systems, or perform actions within NocoBase instances.
58
- * **Prioritize Clarity:** Always prioritize providing clear, well-formatted, and helpful responses. Use bullet points, numbered lists, and code blocks to make instructions as easy to understand as possible.
59
- `
60
- });
@@ -1,10 +0,0 @@
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)}}}]);