@nocobase/plugin-ai 2.3.0-alpha.1 → 3.0.0-alpha.1

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 (246) hide show
  1. package/dist/ai/docs/nocobase/ai-employees/block/ai-chat-box.md +133 -0
  2. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +1 -1
  3. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +11 -7
  4. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +12 -8
  5. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-database.md +3 -3
  6. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +1 -1
  7. package/dist/ai/docs/nocobase/api/app/env.md +3 -1
  8. package/dist/ai/docs/nocobase/api/cli/index.md +14 -2
  9. package/dist/ai/docs/nocobase/api/cli/portal/config.md +44 -0
  10. package/dist/ai/docs/nocobase/api/cli/portal/create.md +48 -0
  11. package/dist/ai/docs/nocobase/api/cli/portal/deploy.md +39 -0
  12. package/dist/ai/docs/nocobase/api/cli/portal/destroy.md +41 -0
  13. package/dist/ai/docs/nocobase/api/cli/portal/dev.md +39 -0
  14. package/dist/ai/docs/nocobase/api/cli/portal/index.md +136 -0
  15. package/dist/ai/docs/nocobase/api/cli/portal/info.md +41 -0
  16. package/dist/ai/docs/nocobase/api/cli/portal/list.md +40 -0
  17. package/dist/ai/docs/nocobase/api/cli/portal/pull.md +43 -0
  18. package/dist/ai/docs/nocobase/api/cli/portal/push.md +41 -0
  19. package/dist/ai/docs/nocobase/building-tips/ai-fill-js-block-form.md +1092 -0
  20. package/dist/ai/docs/nocobase/data-sources/calendar/calendar-collection.md +100 -3
  21. package/dist/ai/docs/nocobase/data-sources/collection-comment/index.md +92 -39
  22. package/dist/ai/docs/nocobase/data-sources/collection-sql/index.md +150 -29
  23. package/dist/ai/docs/nocobase/data-sources/collection-tree/index.md +93 -5
  24. package/dist/ai/docs/nocobase/data-sources/collection-view/index.md +226 -4
  25. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/china-region.md +122 -5
  26. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/collection-select.md +105 -4
  27. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/json.md +102 -4
  28. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/nano-id.md +104 -4
  29. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/snowflake-id.md +108 -4
  30. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/sort.md +3 -19
  31. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/uuid.md +104 -4
  32. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/index.md +44 -8
  33. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/color.md +102 -4
  34. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/email.md +104 -4
  35. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/icon.md +102 -4
  36. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/input.md +112 -8
  37. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/integer.md +103 -4
  38. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/number.md +103 -4
  39. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/password.md +102 -4
  40. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/percent.md +104 -5
  41. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/phone.md +104 -4
  42. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/textarea.md +99 -8
  43. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/url.md +103 -4
  44. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox-group.md +105 -3
  45. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox.md +102 -4
  46. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/china-region.md +108 -5
  47. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/multiple-select.md +103 -5
  48. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/radio-group.md +106 -4
  49. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/select.md +103 -5
  50. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/date.md +102 -4
  51. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime-without-tz.md +103 -5
  52. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime.md +103 -5
  53. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/index.md +53 -47
  54. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/time.md +102 -4
  55. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/unix-timestamp.md +103 -5
  56. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/circle.md +102 -4
  57. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/line.md +103 -5
  58. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/point.md +102 -4
  59. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/polygon.md +102 -4
  60. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/index.md +62 -16
  61. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/markdown.md +104 -4
  62. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/rich-text.md +105 -5
  63. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-at.md +105 -5
  64. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-by.md +103 -5
  65. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/space.md +100 -6
  66. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/table-oid.md +102 -4
  67. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-at.md +104 -5
  68. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-by.md +104 -6
  69. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +68 -58
  70. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection.md +32 -13
  71. package/dist/ai/docs/nocobase/data-sources/data-modeling/index.md +41 -33
  72. package/dist/ai/docs/nocobase/data-sources/data-source-external-mariadb/index.md +114 -6
  73. package/dist/ai/docs/nocobase/data-sources/data-source-external-mssql/index.md +117 -6
  74. package/dist/ai/docs/nocobase/data-sources/data-source-external-mysql/index.md +103 -6
  75. package/dist/ai/docs/nocobase/data-sources/data-source-external-nocobase/index.md +75 -73
  76. package/dist/ai/docs/nocobase/data-sources/data-source-external-oracle/index.md +129 -11
  77. package/dist/ai/docs/nocobase/data-sources/data-source-external-postgres/index.md +110 -6
  78. package/dist/ai/docs/nocobase/data-sources/data-source-kingbase/index.md +75 -49
  79. package/dist/ai/docs/nocobase/data-sources/data-source-main/general-collection.md +116 -15
  80. package/dist/ai/docs/nocobase/data-sources/data-source-main/index.md +92 -62
  81. package/dist/ai/docs/nocobase/data-sources/data-source-main/inheritance-collection.md +97 -10
  82. package/dist/ai/docs/nocobase/data-sources/data-source-manager/external-database.md +97 -58
  83. package/dist/ai/docs/nocobase/data-sources/data-source-manager/index.md +32 -24
  84. package/dist/ai/docs/nocobase/data-sources/data-source-rest-api/index.md +115 -153
  85. package/dist/ai/docs/nocobase/data-sources/external/clickhouse.md +124 -0
  86. package/dist/ai/docs/nocobase/data-sources/external/doris.md +130 -0
  87. package/dist/ai/docs/nocobase/data-sources/external/index.md +140 -0
  88. package/dist/ai/docs/nocobase/data-sources/external/kingbase.md +129 -0
  89. package/dist/ai/docs/nocobase/data-sources/external/mariadb.md +126 -0
  90. package/dist/ai/docs/nocobase/data-sources/external/mssql.md +129 -0
  91. package/dist/ai/docs/nocobase/data-sources/external/mysql.md +115 -0
  92. package/dist/ai/docs/nocobase/data-sources/external/nocobase.md +159 -0
  93. package/dist/ai/docs/nocobase/data-sources/external/oceanbase.md +126 -0
  94. package/dist/ai/docs/nocobase/data-sources/external/oracle.md +158 -0
  95. package/dist/ai/docs/nocobase/data-sources/external/postgresql.md +122 -0
  96. package/dist/ai/docs/nocobase/data-sources/external/rest-api.md +245 -0
  97. package/dist/ai/docs/nocobase/data-sources/field-attachment-url/index.md +100 -12
  98. package/dist/ai/docs/nocobase/data-sources/field-encryption/index.md +48 -47
  99. package/dist/ai/docs/nocobase/data-sources/field-formula/index.md +99 -5
  100. package/dist/ai/docs/nocobase/data-sources/field-markdown-vditor/index.md +105 -5
  101. package/dist/ai/docs/nocobase/data-sources/field-sequence/index.md +102 -5
  102. package/dist/ai/docs/nocobase/data-sources/field-signature/index.md +18 -16
  103. package/dist/ai/docs/nocobase/data-sources/field-sort/index.md +76 -73
  104. package/dist/ai/docs/nocobase/data-sources/file-manager/field-attachment.md +101 -7
  105. package/dist/ai/docs/nocobase/data-sources/file-manager/file-collection.md +101 -14
  106. package/dist/ai/docs/nocobase/data-sources/index.md +49 -33
  107. package/dist/ai/docs/nocobase/data-sources/main/index.md +130 -0
  108. package/dist/ai/docs/nocobase/data-sources/main/kingbase.md +147 -0
  109. package/dist/ai/docs/nocobase/data-sources/main/mariadb.md +59 -0
  110. package/dist/ai/docs/nocobase/data-sources/main/mysql.md +59 -0
  111. package/dist/ai/docs/nocobase/data-sources/main/oceanbase.md +62 -0
  112. package/dist/ai/docs/nocobase/data-sources/main/postgresql.md +61 -0
  113. package/dist/ai/docs/nocobase/file-manager/storage/index.md +66 -26
  114. package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +58 -7
  115. package/dist/ai/docs/nocobase/get-started/installation/env.md +2 -2
  116. package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +1 -2
  117. package/dist/ai/docs/nocobase/runjs/context/ai.md +194 -4
  118. package/dist/ai/tools/executeFrontendTool.d.ts +10 -0
  119. package/dist/ai/tools/executeFrontendTool.js +86 -0
  120. package/dist/ai/tools/getSkill.js +1 -1
  121. package/dist/ai/tools/loadFrontendTool.d.ts +10 -0
  122. package/dist/ai/tools/loadFrontendTool.js +99 -0
  123. package/dist/client/244.8631eb5cf3f05e21.js +10 -0
  124. package/dist/client/{525.203778500aca5d05.js → 525.94dd4136c1361477.js} +1 -1
  125. package/dist/client/681.6ffbc9329b9ac242.js +10 -0
  126. package/dist/{client-v2/705.1d10027ff8cfdf79.js → client/705.19b642db34de438a.js} +1 -1
  127. package/dist/client/index.d.ts +1 -3
  128. package/dist/client/index.js +8 -8
  129. package/dist/client-v2/244.c428e645ecb94414.js +10 -0
  130. package/dist/client-v2/420.b2aedb1ff71fca0e.js +10 -0
  131. package/dist/client-v2/681.6890caa389564ff7.js +10 -0
  132. package/dist/client-v2/705.8dc34d43f02f322c.js +10 -0
  133. package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +2 -0
  134. package/dist/client-v2/ai-employees/AddContextButton.d.ts +2 -0
  135. package/dist/client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts +1 -0
  136. package/dist/client-v2/ai-employees/chatbox/components/ChatBoxUnreadBadge.d.ts +17 -0
  137. package/dist/client-v2/ai-employees/chatbox/components/Conversations.d.ts +9 -1
  138. package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +1 -1
  139. package/dist/client-v2/ai-employees/chatbox/components/Messages.d.ts +5 -1
  140. package/dist/client-v2/ai-employees/chatbox/components/ModelSwitcher.d.ts +4 -0
  141. package/dist/client-v2/ai-employees/chatbox/components/Sender.d.ts +33 -1
  142. package/dist/client-v2/ai-employees/chatbox/components/index.d.ts +1 -0
  143. package/dist/client-v2/ai-employees/chatbox/hooks/useChat.d.ts +8 -5
  144. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +3 -2
  145. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +2 -1
  146. package/dist/client-v2/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +3 -2
  147. package/dist/client-v2/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +4 -2
  148. package/dist/client-v2/ai-employees/chatbox/hooks/useToolCallActions.d.ts +3 -1
  149. package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +13 -3
  150. package/dist/client-v2/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +3 -2
  151. package/dist/client-v2/ai-employees/chatbox/index.d.ts +17 -0
  152. package/dist/client-v2/ai-employees/chatbox/roles.d.ts +2 -153
  153. package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +46 -31
  154. package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +7 -7
  155. package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +23 -18
  156. package/dist/client-v2/ai-employees/chatbox/stores/chat-sender.d.ts +43 -0
  157. package/dist/client-v2/ai-employees/chatbox/stores/chat-tool-call.d.ts +6 -5
  158. package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +11 -5
  159. package/dist/client-v2/ai-employees/chatbox/stores/mounted-chat-boxes.d.ts +20 -0
  160. package/dist/client-v2/ai-employees/chatbox/stores/runtime.d.ts +43 -0
  161. package/dist/client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts +22 -10
  162. package/dist/client-v2/ai-employees/chatbox/upload.d.ts +19 -0
  163. package/dist/client-v2/ai-employees/chatbox/utils.d.ts +28 -4
  164. package/dist/client-v2/ai-employees/frontend-tools.d.ts +11 -0
  165. package/dist/client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts +1 -1
  166. package/dist/client-v2/ai-employees/tools/WorkflowTaskOutputCard.d.ts +1 -1
  167. package/dist/client-v2/ai-employees/types.d.ts +30 -0
  168. package/dist/client-v2/block/ai-chat-box/AIChatBoxBlockModel.d.ts +21 -0
  169. package/dist/client-v2/block/ai-chat-box/AIChatBoxCoreModel.d.ts +13 -0
  170. package/dist/client-v2/block/ai-chat-box/components/AIChatBoxCoreView.d.ts +10 -0
  171. package/dist/client-v2/block/ai-chat-box/components/AIChatBoxView.d.ts +12 -0
  172. package/dist/client-v2/block/ai-chat-box/index.d.ts +14 -0
  173. package/dist/client-v2/block/ai-chat-box/settings.d.ts +12 -0
  174. package/dist/client-v2/block/ai-chat-box/sub-models.d.ts +26 -0
  175. package/dist/client-v2/block/ai-chat-box/types.d.ts +38 -0
  176. package/dist/client-v2/block/ai-chat-box/utils.d.ts +26 -0
  177. package/dist/client-v2/index.d.ts +3 -5
  178. package/dist/client-v2/index.js +3 -3
  179. package/dist/client-v2/llm-services/model-select.d.ts +33 -0
  180. package/dist/client-v2/llm-services/utils.d.ts +1 -0
  181. package/dist/client-v2/manager/ai-manager.d.ts +10 -3
  182. package/dist/client-v2/manager/frontend-tool-registry.d.ts +30 -0
  183. package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +4 -1
  184. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +5 -0
  185. package/dist/client-v2/pages/EmployeesPage.d.ts +2 -0
  186. package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +1 -0
  187. package/dist/common/ai-employee-validation.d.ts +15 -0
  188. package/dist/common/ai-employee-validation.js +61 -0
  189. package/dist/common/error-codes.d.ts +13 -0
  190. package/dist/common/error-codes.js +48 -0
  191. package/dist/common/frontend-tools.d.ts +26 -0
  192. package/dist/common/frontend-tools.js +57 -0
  193. package/dist/common/llm-service-models.d.ts +16 -0
  194. package/dist/common/llm-service-models.js +84 -0
  195. package/dist/externalVersion.js +16 -16
  196. package/dist/locale/en-US.json +67 -0
  197. package/dist/locale/zh-CN.json +67 -0
  198. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  199. package/dist/node_modules/@langchain/xai/package.json +1 -1
  200. package/dist/node_modules/fs-extra/package.json +1 -1
  201. package/dist/node_modules/jsonrepair/package.json +1 -1
  202. package/dist/node_modules/just-bash/package.json +1 -1
  203. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  204. package/dist/node_modules/openai/package.json +1 -1
  205. package/dist/node_modules/zod/package.json +1 -1
  206. package/dist/server/ai-employees/ai-conversations.d.ts +4 -1
  207. package/dist/server/ai-employees/ai-conversations.js +2 -0
  208. package/dist/server/ai-employees/ai-employee.d.ts +2 -1
  209. package/dist/server/ai-employees/ai-employee.js +26 -7
  210. package/dist/server/ai-employees/middleware/conversation.js +9 -2
  211. package/dist/server/collections/ai-conversations.js +5 -0
  212. package/dist/server/document-loader/constants.js +1 -1
  213. package/dist/server/frontend-tools.d.ts +25 -0
  214. package/dist/server/frontend-tools.js +171 -0
  215. package/dist/server/manager/work-context-handler.js +10 -3
  216. package/dist/server/plugin.d.ts +1 -0
  217. package/dist/server/plugin.js +25 -0
  218. package/dist/server/resource/aiConversations.d.ts +2 -0
  219. package/dist/server/resource/aiConversations.js +33 -3
  220. package/dist/server/resource/aiEmployees.d.ts +2 -0
  221. package/dist/server/resource/aiEmployees.js +62 -0
  222. package/dist/server/resource/aiWorkflowTasks.js +9 -1
  223. package/dist/server/resource/llmServices.d.ts +11 -0
  224. package/dist/server/resource/llmServices.js +85 -0
  225. package/dist/server/types/knowledge-base.type.d.ts +6 -2
  226. package/dist/swagger/common.d.ts +143 -0
  227. package/dist/swagger/common.js +144 -0
  228. package/dist/swagger/employees.d.ts +301 -0
  229. package/dist/swagger/employees.js +131 -0
  230. package/dist/swagger/index.d.ts +1588 -0
  231. package/dist/swagger/index.js +62 -0
  232. package/dist/swagger/llm.d.ts +555 -0
  233. package/dist/swagger/llm.js +247 -0
  234. package/dist/swagger/schemas.d.ts +736 -0
  235. package/dist/swagger/schemas.js +381 -0
  236. package/package.json +2 -2
  237. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +0 -24
  238. package/dist/ai/docs/nocobase/data-sources/development/index.md +0 -6
  239. package/dist/client/372.40eb52905e3f3049.js +0 -10
  240. package/dist/client/681.399948c18d753667.js +0 -10
  241. package/dist/client/705.380279da896021fb.js +0 -10
  242. package/dist/client-v2/372.8cc3fde09c9bec77.js +0 -10
  243. package/dist/client-v2/406.341be51205c674e0.js +0 -10
  244. package/dist/client-v2/681.082f4f1c7b841983.js +0 -10
  245. package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +0 -46
  246. package/dist/client-v2/ai-employees/chatbox/utils/normalizeTriggerTaskOptions.d.ts +0 -19
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai_client_v2=self.webpackChunk_nocobase_plugin_ai_client_v2||[]).push([["244"],{143:function(u,e,t){t.r(e),t.d(e,{buildEmployeeSubmitValues:function(){return ua},listAIEmployees:function(){return H},default:function(){return uf},isAIEmployeeUsernameConflictError:function(){return z},EMPLOYEE_PROMPT_VARIABLE_NAMESPACES:function(){return L},createAIEmployee:function(){return Y},normalizeSkillSettings:function(){return ul},updateAIEmployee:function(){return X},EmployeesPage:function(){return um},updateAIEmployeeEnabled:function(){return J},deleteAIEmployee:function(){return $},moveAIEmployee:function(){return q},isKnowledgeBaseEnabled:function(){return Q},listKnowledgeBases:function(){return Z}});var n=t(9155),r=t.n(n),l=t(2059),a=t(7375),A=t(5428),o=t(5477),E=t(3485),i=t(7694),F=t(9488),s=t(4196),c=t(3617),D=t(9312),B=t(8666),C=t(9937),m=/^[a-zA-Z0-9_-]+$/,d=RegExp("^[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376-\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E-\\u066F\\u0671-\\u06D3\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4-\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088F\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC-\\u09DD\\u09DF-\\u09E1\\u09F0-\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0-\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5C-\\u0C5D\\u0C60-\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDC-\\u0CDE\\u0CE0-\\u0CE1\\u0CF1-\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E81-\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065-\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE-\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183-\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3006\\u3031-\\u3035\\u303B-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7DC\\uA7F1-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD-\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}-\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{1031F}\\u{1032D}-\\u{10340}\\u{10342}-\\u{10349}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{103A0}-\\u{103C3}\\u{103C8}-\\u{103CF}\\u{10400}-\\u{1049D}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{10570}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}-\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}-\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}-\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10860}-\\u{10876}\\u{10880}-\\u{1089E}\\u{108E0}-\\u{108F2}\\u{108F4}-\\u{108F5}\\u{10900}-\\u{10915}\\u{10920}-\\u{10939}\\u{10940}-\\u{10959}\\u{10980}-\\u{109B7}\\u{109BE}-\\u{109BF}\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A60}-\\u{10A7C}\\u{10A80}-\\u{10A9C}\\u{10AC0}-\\u{10AC7}\\u{10AC9}-\\u{10AE4}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B60}-\\u{10B72}\\u{10B80}-\\u{10B91}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10D00}-\\u{10D23}\\u{10D4A}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10E80}-\\u{10EA9}\\u{10EB0}-\\u{10EB1}\\u{10EC2}-\\u{10EC7}\\u{10F00}-\\u{10F1C}\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F70}-\\u{10F81}\\u{10FB0}-\\u{10FC4}\\u{10FE0}-\\u{10FF6}\\u{11003}-\\u{11037}\\u{11071}-\\u{11072}\\u{11075}\\u{11083}-\\u{110AF}\\u{110D0}-\\u{110E8}\\u{11103}-\\u{11126}\\u{11144}\\u{11147}\\u{11150}-\\u{11172}\\u{11176}\\u{11183}-\\u{111B2}\\u{111C1}-\\u{111C4}\\u{111DA}\\u{111DC}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122B}\\u{1123F}-\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A8}\\u{112B0}-\\u{112DE}\\u{11305}-\\u{1130C}\\u{1130F}-\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}-\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}\\u{11350}\\u{1135D}-\\u{11361}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}\\u{113D1}\\u{113D3}\\u{11400}-\\u{11434}\\u{11447}-\\u{1144A}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114AF}\\u{114C4}-\\u{114C5}\\u{114C7}\\u{11580}-\\u{115AE}\\u{115D8}-\\u{115DB}\\u{11600}-\\u{1162F}\\u{11644}\\u{11680}-\\u{116AA}\\u{116B8}\\u{11700}-\\u{1171A}\\u{11740}-\\u{11746}\\u{11800}-\\u{1182B}\\u{118A0}-\\u{118DF}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}-\\u{11916}\\u{11918}-\\u{1192F}\\u{1193F}\\u{11941}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D0}\\u{119E1}\\u{119E3}\\u{11A00}\\u{11A0B}-\\u{11A32}\\u{11A3A}\\u{11A50}\\u{11A5C}-\\u{11A89}\\u{11A9D}\\u{11AB0}-\\u{11AF8}\\u{11BC0}-\\u{11BE0}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2E}\\u{11C40}\\u{11C72}-\\u{11C8F}\\u{11D00}-\\u{11D06}\\u{11D08}-\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D60}-\\u{11D65}\\u{11D67}-\\u{11D68}\\u{11D6A}-\\u{11D89}\\u{11D98}\\u{11DB0}-\\u{11DDB}\\u{11EE0}-\\u{11EF2}\\u{11F02}\\u{11F04}-\\u{11F10}\\u{11F12}-\\u{11F33}\\u{11FB0}\\u{12000}-\\u{12399}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF0}\\u{13000}-\\u{1342F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A70}-\\u{16ABE}\\u{16AD0}-\\u{16AED}\\u{16B00}-\\u{16B2F}\\u{16B40}-\\u{16B43}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D6C}\\u{16E40}-\\u{16E7F}\\u{16EA0}-\\u{16EB8}\\u{16EBB}-\\u{16ED3}\\u{16F00}-\\u{16F4A}\\u{16F50}\\u{16F93}-\\u{16F9F}\\u{16FE0}-\\u{16FE1}\\u{16FE3}\\u{16FF2}-\\u{16FF3}\\u{17000}-\\u{18CD5}\\u{18CFF}-\\u{18D1E}\\u{18D80}-\\u{18DF2}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}-\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}-\\u{1D49F}\\u{1D4A2}\\u{1D4A5}-\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E14E}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E4D0}-\\u{1E4EB}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}\\u{1E6C0}-\\u{1E6DE}\\u{1E6E0}-\\u{1E6E2}\\u{1E6E4}-\\u{1E6E5}\\u{1E6E7}-\\u{1E6ED}\\u{1E6F0}-\\u{1E6F4}\\u{1E6FE}-\\u{1E6FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}-\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E800}-\\u{1E8C4}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}-\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}-\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}-\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B81D}\\u{2B820}-\\u{2CEAD}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{33479}\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4-\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962-\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7-\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2-\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47-\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2-\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47-\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62-\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3C\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55-\\u0C56\\u0C62-\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5-\\u0CD6\\u0CE2-\\u0CE3\\u0CF3\\u0D00-\\u0D03\\u0D3B-\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62-\\u0D63\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2-\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18-\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F3F\\u0F71-\\u0F84\\u0F86-\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1715\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885-\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ADD\\u1AE0-\\u1AEB\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099-\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E-\\uA69F\\uA6F0-\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880-\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C-\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7-\\uAAB8\\uAABE-\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5-\\uAAF6\\uABE3-\\uABEA\\uABEC-\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}-\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}-\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}-\\u{10EAC}\\u{10EFA}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11000}-\\u{11002}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}-\\u{11074}\\u{1107F}-\\u{11082}\\u{110B0}-\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{11134}\\u{11145}-\\u{11146}\\u{11173}\\u{11180}-\\u{11182}\\u{111B3}-\\u{111C0}\\u{111C9}-\\u{111CC}\\u{111CE}-\\u{111CF}\\u{1122C}-\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}-\\u{112EA}\\u{11300}-\\u{11303}\\u{1133B}-\\u{1133C}\\u{1133E}-\\u{11344}\\u{11347}-\\u{11348}\\u{1134B}-\\u{1134D}\\u{11357}\\u{11362}-\\u{11363}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113B8}-\\u{113C0}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}-\\u{113D0}\\u{113D2}\\u{113E1}-\\u{113E2}\\u{11435}-\\u{11446}\\u{1145E}\\u{114B0}-\\u{114C3}\\u{115AF}-\\u{115B5}\\u{115B8}-\\u{115C0}\\u{115DC}-\\u{115DD}\\u{11630}-\\u{11640}\\u{116AB}-\\u{116B7}\\u{1171D}-\\u{1172B}\\u{1182C}-\\u{1183A}\\u{11930}-\\u{11935}\\u{11937}-\\u{11938}\\u{1193B}-\\u{1193E}\\u{11940}\\u{11942}-\\u{11943}\\u{119D1}-\\u{119D7}\\u{119DA}-\\u{119E0}\\u{119E4}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A39}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A5B}\\u{11A8A}-\\u{11A99}\\u{11B60}-\\u{11B67}\\u{11C2F}-\\u{11C36}\\u{11C38}-\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CA9}-\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}-\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D8A}-\\u{11D8E}\\u{11D90}-\\u{11D91}\\u{11D93}-\\u{11D97}\\u{11EF3}-\\u{11EF6}\\u{11F00}-\\u{11F01}\\u{11F03}\\u{11F34}-\\u{11F3A}\\u{11F3E}-\\u{11F42}\\u{11F5A}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F51}-\\u{16F87}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{16FF0}-\\u{16FF1}\\u{1BC9D}-\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D165}-\\u{1D169}\\u{1D16D}-\\u{1D172}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}-\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}-\\u{1E5EF}\\u{1E6E3}\\u{1E6E6}\\u{1E6EE}-\\u{1E6EF}\\u{1E6F5}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}\\u0030-\\u0039\\u00B2-\\u00B3\\u00B9\\u00BC-\\u00BE\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u09F4-\\u09F9\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0B72-\\u0B77\\u0BE6-\\u0BF2\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0CE6-\\u0CEF\\u0D58-\\u0D5E\\u0D66-\\u0D78\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F33\\u1040-\\u1049\\u1090-\\u1099\\u1369-\\u137C\\u16EE-\\u16F0\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19DA\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u2182\\u2185-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3007\\u3021-\\u3029\\u3038-\\u303A\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA620-\\uA629\\uA6E6-\\uA6EF\\uA830-\\uA835\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19\\u{10107}-\\u{10133}\\u{10140}-\\u{10178}\\u{1018A}-\\u{1018B}\\u{102E1}-\\u{102FB}\\u{10320}-\\u{10323}\\u{10341}\\u{1034A}\\u{103D1}-\\u{103D5}\\u{104A0}-\\u{104A9}\\u{10858}-\\u{1085F}\\u{10879}-\\u{1087F}\\u{108A7}-\\u{108AF}\\u{108FB}-\\u{108FF}\\u{10916}-\\u{1091B}\\u{109BC}-\\u{109BD}\\u{109C0}-\\u{109CF}\\u{109D2}-\\u{109FF}\\u{10A40}-\\u{10A48}\\u{10A7D}-\\u{10A7E}\\u{10A9D}-\\u{10A9F}\\u{10AEB}-\\u{10AEF}\\u{10B58}-\\u{10B5F}\\u{10B78}-\\u{10B7F}\\u{10BA9}-\\u{10BAF}\\u{10CFA}-\\u{10CFF}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D49}\\u{10E60}-\\u{10E7E}\\u{10F1D}-\\u{10F26}\\u{10F51}-\\u{10F54}\\u{10FC5}-\\u{10FCB}\\u{11052}-\\u{1106F}\\u{110F0}-\\u{110F9}\\u{11136}-\\u{1113F}\\u{111D0}-\\u{111D9}\\u{111E1}-\\u{111F4}\\u{112F0}-\\u{112F9}\\u{11450}-\\u{11459}\\u{114D0}-\\u{114D9}\\u{11650}-\\u{11659}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11730}-\\u{1173B}\\u{118E0}-\\u{118F2}\\u{11950}-\\u{11959}\\u{11BF0}-\\u{11BF9}\\u{11C50}-\\u{11C6C}\\u{11D50}-\\u{11D59}\\u{11DA0}-\\u{11DA9}\\u{11DE0}-\\u{11DE9}\\u{11F50}-\\u{11F59}\\u{11FC0}-\\u{11FD4}\\u{12400}-\\u{1246E}\\u{16130}-\\u{16139}\\u{16A60}-\\u{16A69}\\u{16AC0}-\\u{16AC9}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16D70}-\\u{16D79}\\u{16E80}-\\u{16E96}\\u{16FF4}-\\u{16FF6}\\u{1CCF0}-\\u{1CCF9}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D7CE}-\\u{1D7FF}\\u{1E140}-\\u{1E149}\\u{1E2F0}-\\u{1E2F9}\\u{1E4F0}-\\u{1E4F9}\\u{1E5F1}-\\u{1E5FA}\\u{1E8C7}-\\u{1E8CF}\\u{1E950}-\\u{1E959}\\u{1EC71}-\\u{1ECAB}\\u{1ECAD}-\\u{1ECAF}\\u{1ECB1}-\\u{1ECB4}\\u{1ED01}-\\u{1ED2D}\\u{1ED2F}-\\u{1ED3D}\\u{1F100}-\\u{1F10C}\\u{1FBF0}-\\u{1FBF9} ._'’()&\xb7-]+$","u"),f=function(u){return u.trim()},p=function(u,e){return u.length>0&&Array.from(u).length<=e},y=function(u){var e=f(u);return p(e,64)&&m.test(e)},b=function(u){var e=f(u);return p(e,64)&&d.test(e)&&RegExp("[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376-\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E-\\u066F\\u0671-\\u06D3\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4-\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088F\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC-\\u09DD\\u09DF-\\u09E1\\u09F0-\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0-\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5C-\\u0C5D\\u0C60-\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDC-\\u0CDE\\u0CE0-\\u0CE1\\u0CF1-\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E81-\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065-\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE-\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183-\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3006\\u3031-\\u3035\\u303B-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7DC\\uA7F1-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD-\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}-\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{1031F}\\u{1032D}-\\u{10340}\\u{10342}-\\u{10349}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{103A0}-\\u{103C3}\\u{103C8}-\\u{103CF}\\u{10400}-\\u{1049D}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{10570}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}-\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}-\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}-\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10860}-\\u{10876}\\u{10880}-\\u{1089E}\\u{108E0}-\\u{108F2}\\u{108F4}-\\u{108F5}\\u{10900}-\\u{10915}\\u{10920}-\\u{10939}\\u{10940}-\\u{10959}\\u{10980}-\\u{109B7}\\u{109BE}-\\u{109BF}\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A60}-\\u{10A7C}\\u{10A80}-\\u{10A9C}\\u{10AC0}-\\u{10AC7}\\u{10AC9}-\\u{10AE4}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B60}-\\u{10B72}\\u{10B80}-\\u{10B91}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10D00}-\\u{10D23}\\u{10D4A}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10E80}-\\u{10EA9}\\u{10EB0}-\\u{10EB1}\\u{10EC2}-\\u{10EC7}\\u{10F00}-\\u{10F1C}\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F70}-\\u{10F81}\\u{10FB0}-\\u{10FC4}\\u{10FE0}-\\u{10FF6}\\u{11003}-\\u{11037}\\u{11071}-\\u{11072}\\u{11075}\\u{11083}-\\u{110AF}\\u{110D0}-\\u{110E8}\\u{11103}-\\u{11126}\\u{11144}\\u{11147}\\u{11150}-\\u{11172}\\u{11176}\\u{11183}-\\u{111B2}\\u{111C1}-\\u{111C4}\\u{111DA}\\u{111DC}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122B}\\u{1123F}-\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A8}\\u{112B0}-\\u{112DE}\\u{11305}-\\u{1130C}\\u{1130F}-\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}-\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}\\u{11350}\\u{1135D}-\\u{11361}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}\\u{113D1}\\u{113D3}\\u{11400}-\\u{11434}\\u{11447}-\\u{1144A}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114AF}\\u{114C4}-\\u{114C5}\\u{114C7}\\u{11580}-\\u{115AE}\\u{115D8}-\\u{115DB}\\u{11600}-\\u{1162F}\\u{11644}\\u{11680}-\\u{116AA}\\u{116B8}\\u{11700}-\\u{1171A}\\u{11740}-\\u{11746}\\u{11800}-\\u{1182B}\\u{118A0}-\\u{118DF}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}-\\u{11916}\\u{11918}-\\u{1192F}\\u{1193F}\\u{11941}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D0}\\u{119E1}\\u{119E3}\\u{11A00}\\u{11A0B}-\\u{11A32}\\u{11A3A}\\u{11A50}\\u{11A5C}-\\u{11A89}\\u{11A9D}\\u{11AB0}-\\u{11AF8}\\u{11BC0}-\\u{11BE0}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2E}\\u{11C40}\\u{11C72}-\\u{11C8F}\\u{11D00}-\\u{11D06}\\u{11D08}-\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D60}-\\u{11D65}\\u{11D67}-\\u{11D68}\\u{11D6A}-\\u{11D89}\\u{11D98}\\u{11DB0}-\\u{11DDB}\\u{11EE0}-\\u{11EF2}\\u{11F02}\\u{11F04}-\\u{11F10}\\u{11F12}-\\u{11F33}\\u{11FB0}\\u{12000}-\\u{12399}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF0}\\u{13000}-\\u{1342F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A70}-\\u{16ABE}\\u{16AD0}-\\u{16AED}\\u{16B00}-\\u{16B2F}\\u{16B40}-\\u{16B43}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D6C}\\u{16E40}-\\u{16E7F}\\u{16EA0}-\\u{16EB8}\\u{16EBB}-\\u{16ED3}\\u{16F00}-\\u{16F4A}\\u{16F50}\\u{16F93}-\\u{16F9F}\\u{16FE0}-\\u{16FE1}\\u{16FE3}\\u{16FF2}-\\u{16FF3}\\u{17000}-\\u{18CD5}\\u{18CFF}-\\u{18D1E}\\u{18D80}-\\u{18DF2}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}-\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}-\\u{1D49F}\\u{1D4A2}\\u{1D4A5}-\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E14E}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E4D0}-\\u{1E4EB}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}\\u{1E6C0}-\\u{1E6DE}\\u{1E6E0}-\\u{1E6E2}\\u{1E6E4}-\\u{1E6E5}\\u{1E6E7}-\\u{1E6ED}\\u{1E6F0}-\\u{1E6F4}\\u{1E6FE}-\\u{1E6FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}-\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E800}-\\u{1E8C4}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}-\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}-\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}-\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B81D}\\u{2B820}-\\u{2CEAD}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{33479}\\u0030-\\u0039\\u00B2-\\u00B3\\u00B9\\u00BC-\\u00BE\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u09F4-\\u09F9\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0B72-\\u0B77\\u0BE6-\\u0BF2\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0CE6-\\u0CEF\\u0D58-\\u0D5E\\u0D66-\\u0D78\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F33\\u1040-\\u1049\\u1090-\\u1099\\u1369-\\u137C\\u16EE-\\u16F0\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19DA\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u2182\\u2185-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3007\\u3021-\\u3029\\u3038-\\u303A\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA620-\\uA629\\uA6E6-\\uA6EF\\uA830-\\uA835\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19\\u{10107}-\\u{10133}\\u{10140}-\\u{10178}\\u{1018A}-\\u{1018B}\\u{102E1}-\\u{102FB}\\u{10320}-\\u{10323}\\u{10341}\\u{1034A}\\u{103D1}-\\u{103D5}\\u{104A0}-\\u{104A9}\\u{10858}-\\u{1085F}\\u{10879}-\\u{1087F}\\u{108A7}-\\u{108AF}\\u{108FB}-\\u{108FF}\\u{10916}-\\u{1091B}\\u{109BC}-\\u{109BD}\\u{109C0}-\\u{109CF}\\u{109D2}-\\u{109FF}\\u{10A40}-\\u{10A48}\\u{10A7D}-\\u{10A7E}\\u{10A9D}-\\u{10A9F}\\u{10AEB}-\\u{10AEF}\\u{10B58}-\\u{10B5F}\\u{10B78}-\\u{10B7F}\\u{10BA9}-\\u{10BAF}\\u{10CFA}-\\u{10CFF}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D49}\\u{10E60}-\\u{10E7E}\\u{10F1D}-\\u{10F26}\\u{10F51}-\\u{10F54}\\u{10FC5}-\\u{10FCB}\\u{11052}-\\u{1106F}\\u{110F0}-\\u{110F9}\\u{11136}-\\u{1113F}\\u{111D0}-\\u{111D9}\\u{111E1}-\\u{111F4}\\u{112F0}-\\u{112F9}\\u{11450}-\\u{11459}\\u{114D0}-\\u{114D9}\\u{11650}-\\u{11659}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11730}-\\u{1173B}\\u{118E0}-\\u{118F2}\\u{11950}-\\u{11959}\\u{11BF0}-\\u{11BF9}\\u{11C50}-\\u{11C6C}\\u{11D50}-\\u{11D59}\\u{11DA0}-\\u{11DA9}\\u{11DE0}-\\u{11DE9}\\u{11F50}-\\u{11F59}\\u{11FC0}-\\u{11FD4}\\u{12400}-\\u{1246E}\\u{16130}-\\u{16139}\\u{16A60}-\\u{16A69}\\u{16AC0}-\\u{16AC9}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16D70}-\\u{16D79}\\u{16E80}-\\u{16E96}\\u{16FF4}-\\u{16FF6}\\u{1CCF0}-\\u{1CCF9}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D7CE}-\\u{1D7FF}\\u{1E140}-\\u{1E149}\\u{1E2F0}-\\u{1E2F9}\\u{1E4F0}-\\u{1E4F9}\\u{1E5F1}-\\u{1E5FA}\\u{1E8C7}-\\u{1E8CF}\\u{1E950}-\\u{1E959}\\u{1EC71}-\\u{1ECAB}\\u{1ECAD}-\\u{1ECAF}\\u{1ECB1}-\\u{1ECB4}\\u{1ED01}-\\u{1ED2D}\\u{1ED2F}-\\u{1ED3D}\\u{1F100}-\\u{1F10C}\\u{1FBF0}-\\u{1FBF9}]","u").test(e)};function g(u,e){(null==e||e>u.length)&&(e=u.length);for(var t=0,n=Array(e);t<e;t++)n[t]=u[t];return n}function h(u,e,t,n,r,l,a){try{var A=u[l](a),o=A.value}catch(u){t(u);return}A.done?e(o):Promise.resolve(o).then(n,r)}function v(u){return function(){var e=this,t=arguments;return new Promise(function(n,r){var l=u.apply(e,t);function a(u){h(l,n,r,a,A,"next",u)}function A(u){h(l,n,r,a,A,"throw",u)}a(void 0)})}}function S(u){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(u){return Object.getOwnPropertyDescriptor(t,u).enumerable}))),n.forEach(function(e){var n;n=t[e],e in u?Object.defineProperty(u,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):u[e]=n})}return u}function k(u,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(e)):(function(u){var e=Object.keys(u);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(u);e.push.apply(e,t)}return e})(Object(e)).forEach(function(t){Object.defineProperty(u,t,Object.getOwnPropertyDescriptor(e,t))}),u}function w(u,e){return function(u){if(Array.isArray(u))return u}(u)||function(u,e){var t,n,r=null==u?null:"u">typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=r){var l=[],a=!0,A=!1;try{for(r=r.call(u);!(a=(t=r.next()).done)&&(l.push(t.value),!e||l.length!==e);a=!0);}catch(u){A=!0,n=u}finally{try{a||null==r.return||r.return()}finally{if(A)throw n}}return l}}(u,e)||x(u,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.")}()}function I(u){return function(u){if(Array.isArray(u))return g(u)}(u)||function(u){if("u">typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(u)||x(u)||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 x(u,e){if(u){if("string"==typeof u)return g(u,e);var t=Object.prototype.toString.call(u).slice(8,-1);if("Object"===t&&u.constructor&&(t=u.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return g(u,e)}}function T(u,e){var t,n,r,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),A=Object.defineProperty;return A(a,"next",{value:o(0)}),A(a,"throw",{value:o(1)}),A(a,"return",{value:o(2)}),"function"==typeof Symbol&&A(a,Symbol.iterator,{value:function(){return this}}),a;function o(A){return function(o){var E=[A,o];if(t)throw TypeError("Generator is already executing.");for(;a&&(a=0,E[0]&&(l=0)),l;)try{if(t=1,n&&(r=2&E[0]?n.return:E[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,E[1])).done)return r;switch(n=0,r&&(E=[2&E[0],r.value]),E[0]){case 0:case 1:r=E;break;case 4:return l.label++,{value:E[1],done:!1};case 5:l.label++,n=E[1],E=[0];continue;case 7:E=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===E[0]||2===E[0])){l=0;continue}if(3===E[0]&&(!r||E[1]>r[0]&&E[1]<r[3])){l.label=E[1];break}if(6===E[0]&&l.label<r[1]){l.label=r[1],r=E;break}if(r&&l.label<r[2]){l.label=r[2],l.ops.push(E);break}r[2]&&l.ops.pop(),l.trys.pop();continue}E=e.call(u,l)}catch(u){E=[6,u],n=0}finally{t=r=0}if(5&E[0])throw E[1];return{value:E[0]?E[1]:void 0,done:!0}}}}function O(){var u,e,t=(u=["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n"],e||(e=u.slice(0)),Object.freeze(Object.defineProperties(u,{raw:{value:Object.freeze(e)}})));return O=function(){return t},t}var P=Object.keys(s.B)[0],j="sort",L=["user","roleName","locale","now","timestamp"],M=function(u){return"".concat(u,":")},R=(0,o.css)(O()),K=function(u){return null!==u&&(void 0===u?"undefined":u&&"u">typeof Symbol&&u.constructor===Symbol?"symbol":typeof u)=="object"&&!Array.isArray(u)},z=function(u){if(!K(u)||!K(u.response)||!K(u.response.data))return!1;var e=u.response.data.errors;return Array.isArray(e)&&e.some(function(u){return K(u)&&"AI_EMPLOYEE_USERNAME_CONFLICT"===u.code})},_=function(u){var e;if(K(u))return null==(e=u.data)?void 0:e.data},W=function(u){if(!K(u))return{};var e=u.data;return K(e)?e:{}},G=function(u){return K(u)&&"string"==typeof u.username},N=function(u){return K(u)&&"string"==typeof u.key&&"string"==typeof u.name},V=function(u,e,t,n){return v(function(){var r;return T(this,function(l){if("function"!=typeof(r=u.resource(e)[t]))throw Error("Missing resource action: ".concat(e,".").concat(t));return[2,r(n)]})})()},U=function(u,e){var t=k(S({},u),{username:f(u.username),nickname:"string"==typeof u.nickname?f(u.nickname):u.nickname});return e.edit&&("system"===u._aboutMode&&(t.about=null),delete t._aboutMode,delete t.enabled),t};function H(u,e){return v(function(){var t,n,r;return T(this,function(l){switch(l.label){case 0:return[4,V(u,"aiEmployees","list",{page:e.page,pageSize:e.pageSize,filter:{category:e.category},sort:[j]})];case 1:return n=_(t=l.sent()),r=W(t),[2,{data:Array.isArray(n)?n.filter(G):[],total:"number"==typeof r.count?r.count:void 0}]}})})()}function q(u,e,t){return v(function(){return T(this,function(n){switch(n.label){case 0:return[4,V(u,"aiEmployees","move",{sourceId:e,targetId:t,sortField:j})];case 1:return n.sent(),[2]}})})()}function Y(u,e){return v(function(){return T(this,function(t){switch(t.label){case 0:return[4,V(u,"aiEmployees","create",{values:U(e,{edit:!1})})];case 1:return t.sent(),[2]}})})()}function X(u,e){return v(function(){return T(this,function(t){switch(t.label){case 0:if(!e.username)throw Error("Missing AI employee username.");return[4,V(u,"aiEmployees","update",{values:U(e,{edit:!0}),filterByTk:e.username})];case 1:return t.sent(),[2]}})})()}function $(u,e){return v(function(){return T(this,function(t){switch(t.label){case 0:return[4,V(u,"aiEmployees","destroy",{filterByTk:e})];case 1:return t.sent(),[2]}})})()}function J(u,e,t){return v(function(){return T(this,function(n){switch(n.label){case 0:return[4,V(u,"aiEmployees","update",{filterByTk:e,values:{enabled:t}})];case 1:return n.sent(),[2]}})})()}function Q(u){return v(function(){var e;return T(this,function(t){switch(t.label){case 0:return[4,V(u,"aiSettings","isKnowledgeBaseEnabled")];case 1:return[2,K(e=_(t.sent()))&&!0===e.enabled]}})})()}function Z(u){return v(function(){var e;return T(this,function(t){switch(t.label){case 0:return[4,V(u,"aiKnowledgeBase","list",{fields:["key","name"],filter:{enabled:!0}})];case 1:return[2,Array.isArray(e=_(t.sent()))?e.filter(N):[]]}})})()}var uu=function(u){var e=u.disabled,t=u.value,a=u.onChange,A=l.theme.useToken().token,o=t||P,E=(0,n.useMemo)(function(){return Object.keys(s.B).map(function(u){return{seed:u,uri:(0,s.H)(u)}})},[]);return r().createElement(r().Fragment,null,r().createElement("div",{style:{marginBottom:A.marginLG+A.margin}},r().createElement(l.Avatar,{size:2*A.controlHeightLG+A.paddingSM+2*A.lineWidth,src:(0,s.H)(o)})),e?null:r().createElement(l.List,{grid:{gutter:A.margin,column:10},dataSource:E,renderItem:function(u){return r().createElement(l.List.Item,null,r().createElement("button",{"aria-label":u.seed,type:"button",onClick:function(){return null==a?void 0:a(u.seed)},onKeyDown:function(e){("Enter"===e.key||" "===e.key)&&(e.preventDefault(),null==a||a(u.seed))},style:{background:"transparent",borderColor:o===u.seed?A.colorPrimary:"transparent",borderStyle:"solid",borderWidth:2*A.lineWidth,borderRadius:"50%",cursor:"pointer",display:"inline-flex",padding:0}},r().createElement(l.Avatar,{size:A.controlHeightLG+A.paddingSM+2*A.lineWidth,src:u.uri})))}}))},ue=function(u){var e=u.edit,t=u.builtIn,n=(0,F.kj)();return r().createElement(r().Fragment,null,r().createElement(l.Form.Item,{name:"username",label:M(n("Username")),rules:[{required:!0,whitespace:!0},{validator:function(u,e){return"string"==typeof e&&y(e)?Promise.resolve():Promise.reject(Error(n("Use 1-64 letters, numbers, underscores, or hyphens.")))}}],preserve:!0},r().createElement(l.Input,{disabled:e})),r().createElement(l.Form.Item,{name:"nickname",label:M(n("Nickname")),rules:[{required:!0,whitespace:!0},{validator:function(u,e){return"string"==typeof e&&b(e)?Promise.resolve():Promise.reject(Error(n("Use 1-64 letters, numbers, spaces, or . _ - ' ( ) & \xb7.")))}}],preserve:!0},r().createElement(l.Input,{disabled:t})),r().createElement(l.Form.Item,{name:"position",label:M(n("Position")),extra:n("Position description"),preserve:!0},r().createElement(l.Input,{disabled:t,placeholder:n("Position placeholder")})),r().createElement(l.Form.Item,{name:"avatar",label:M(n("Avatar")),preserve:!0},r().createElement(uu,{disabled:t})),r().createElement(l.Form.Item,{name:"bio",label:M(n("Bio")),preserve:!0},r().createElement(l.Input.TextArea,{disabled:t,placeholder:n("Bio placeholder")})),r().createElement(l.Form.Item,{name:"greeting",label:M(n("Greeting message")),preserve:!0},r().createElement(l.Input.TextArea,{disabled:t,placeholder:n("Greeting message placeholder")})))},ut=function(u){var e,t=u.builtIn,a=u.record,A=(0,F.kj)(),o=l.theme.useToken().token,i=l.Form.useFormInstance(),s=null!=(e=l.Form.useWatch("_aboutMode",i))?e:(null==a?void 0:a.about)?"custom":"system";return(0,n.useEffect)(function(){t&&!i.getFieldValue("_aboutMode")&&i.setFieldValue("_aboutMode",(null==a?void 0:a.about)?"custom":"system")},[t,i,null==a?void 0:a.about]),r().createElement(r().Fragment,null,r().createElement(l.Alert,{message:A("Role setting description"),type:"info",showIcon:!0}),t?r().createElement(l.Form.Item,{name:"_aboutMode",preserve:!0},r().createElement(l.Radio.Group,null,r().createElement(l.Radio,{value:"system"},A("System default")),r().createElement(l.Radio,{value:"custom"},A("Custom")))):null,t&&"system"===s?r().createElement(l.Typography.Paragraph,{copyable:!0,style:{backgroundColor:o.colorFillQuaternary,borderColor:o.colorBorder,borderRadius:o.borderRadius,borderStyle:"solid",borderWidth:o.lineWidth,margin:0,maxHeight:12*o.controlHeightLG,overflowY:"auto",paddingBlock:o.paddingSM,paddingInline:o.padding,whiteSpace:"pre-wrap",wordBreak:"break-word"}},(null==a?void 0:a.defaultPrompt)||""):r().createElement(l.Form.Item,{name:"about",label:M(A("Role setting")),preserve:!0},r().createElement(E.VariableTextArea,{namespaces:L,placeholder:A("Role setting placeholder"),rows:15})))},un=function(u){return K(u)?u:{}},ur=function(u){return"string"==typeof u?{name:u,autoCall:!1}:K(u)&&"string"==typeof u.name?{name:u.name,autoCall:!0===u.autoCall}:void 0},ul=function(u){return K(u)?{skills:Array.isArray(u.skills)?u.skills.filter(function(u){return"string"==typeof u}):[],tools:Array.isArray(u.tools)?u.tools.map(ur).filter(function(u){return!!u}):[]}:{}},ua=function(u,e){var t=k(S({},u),{skillSettings:ul(e.skillSettings)});return K(e.modelSettings)&&(t.modelSettings=un(e.modelSettings)),t},uA=function(){var u=(0,c.M)(),e=w((0,n.useState)(!1),2),t=e[0],r=e[1];return(0,n.useEffect)(function(){var e=!1;return v(function(){return T(this,function(t){switch(t.label){case 0:r(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,u.getLLMServices()];case 2:return t.sent(),[3,5];case 3:return console.error(t.sent()),[3,5];case 4:return e||r(!1),[7];case 5:return[2]}})})().catch(function(u){console.error(u)}),function(){e=!0}},[u]),{services:u.llmServices,loading:t||u.llmServicesLoading}},uo=(0,i.observer)(function(){var u=(0,F.kj)(),e=l.Form.useFormInstance(),t=l.Form.useWatch("modelSettings",{form:e,preserve:!0}),a=w((0,n.useState)(function(){return un(e.getFieldValue("modelSettings"))}),2),A=a[0],o=a[1],E=uA(),i=E.services,s=E.loading,c=!!A.enabled,D=(0,n.useMemo)(function(){var u=Array.isArray(A.models)?A.models:[];if(u.length)return u.map(C.Wm).filter(function(u){return!!u});var e=(0,C.Wm)(A);return e?[e]:[]},[A]),B=(0,n.useCallback)(function(u){var t=S({},un(e.getFieldValue("modelSettings")),u);o(t),e.setFieldsValue({modelSettings:t})},[e]);return(0,n.useEffect)(function(){o(un(t))},[t]),(0,n.useEffect)(function(){if(c&&!D.length&&i.length){var u=i[0],e=null==u?void 0:u.enabledModels[0],t=u&&e?"".concat(u.llmService,":").concat(e.value):void 0;t&&B({models:[(0,C.JC)(t)]})}},[c,D.length,i,B]),r().createElement(r().Fragment,null,r().createElement(l.Alert,{type:"info",showIcon:!0,message:u("Restrict this AI employee to the selected models.")}),r().createElement(l.Form.Item,{label:r().createElement(l.Typography.Text,{strong:!0},M(u("Enable dedicated model configuration"))),preserve:!0},r().createElement(l.Switch,{checked:c,onChange:function(u){return B({enabled:u})}})),r().createElement(l.Form.Item,{label:r().createElement(l.Typography.Text,{strong:!0},M(u("Models"))),preserve:!0},r().createElement(C.AE,{disabled:!c,loading:s,placeholder:u("Select models"),services:i,value:D,onChange:function(u){u.length?B({llmService:void 0,model:void 0,models:u.map(C.JC)}):B({llmService:void 0,model:void 0,models:[]})}})))}),uE=function(){var u=(0,F.kj)();return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e?u(e):t}},ui=function(u){var e=u.title,t=u.description,n=l.theme.useToken().token;return r().createElement("div",null,r().createElement("div",{style:{fontWeight:n.fontWeightStrong,fontSize:n.fontSizeSM}},e),r().createElement("div",{style:{color:n.colorTextSecondary,fontSize:n.fontSizeSM}},t))},uF=(0,i.observer)(function(u){var e,t=u.builtIn,a=(0,F.kj)(),A=uE(),o=(0,c.M)(),E=l.Form.useFormInstance(),i=null!=(e=l.Form.useWatch("skillSettings",{form:E,preserve:!0}))?e:{},s=Array.isArray(i.skills)?i.skills:[];(0,n.useEffect)(function(){o.getAISkills().catch(function(u){console.error(u)})},[o]);var D=new Map(o.aiSkills.map(function(u){return[u.name,u]})),B=o.aiSkills.filter(function(u){return"GENERAL"===u.scope}),C=s.map(function(u){return D.get(u)}).filter(function(u){return!!u&&"SPECIFIED"===u.scope}),m=function(u){var e,t;return r().createElement(l.List.Item,{key:u.name},r().createElement("div",null,A(null!=(e=u.title)?e:u.name,u.name)),r().createElement(l.Typography.Text,{type:"secondary"},A(null!=(t=u.about)?t:u.description)))},d=[{key:"general-skills",label:r().createElement(ui,{title:a("General skills"),description:a("Shared by all AI employees.")}),children:r().createElement(l.List,{itemLayout:"vertical",size:"small",dataSource:B,renderItem:m})}];return t&&C.length&&d.push({key:"specific-skills",label:r().createElement(ui,{title:a("Employee-specific skills"),description:a("Only available to this AI employee.")}),children:r().createElement(l.List,{itemLayout:"vertical",size:"small",dataSource:C,renderItem:m})}),o.aiSkillsLoading?r().createElement(l.Spin,null):r().createElement(l.Collapse,{ghost:!0,size:"small",defaultActiveKey:[],items:d})}),us=function(u,e){return"CUSTOM"===u.scope?(null==e?void 0:e.autoCall)?"ALLOW":"ASK":"ALLOW"===u.defaultPermission?"ALLOW":"ASK"},uc=(0,i.observer)(function(u){var e=u.builtIn,t=(0,F.kj)(),A=l.theme.useToken().token,o=uE(),E=(0,c.M)(),i=l.Form.useFormInstance(),s=l.Form.useWatch("skillSettings",{form:i,preserve:!0}),D=w((0,n.useState)(function(){return ul(i.getFieldValue("skillSettings"))}),2),B=D[0],C=D[1],m=Array.isArray(B.tools)?B.tools:[],d=w((0,n.useState)(e&&!m.length?[]:["custom-tools"]),2),f=d[0],p=d[1],y=r().useRef(m.length),b=[{label:t("Ask"),value:"ASK"},{label:t("Allow"),value:"ALLOW"}];(0,n.useEffect)(function(){E.refreshAITools().catch(function(u){console.error(u)})},[E]),(0,n.useEffect)(function(){C(ul(s))},[s]);var g=function(u){var e=k(S({},ul(i.getFieldValue("skillSettings"))),{tools:u});C(e),i.setFieldsValue({skillSettings:e})},h=new Set(m.map(function(u){return u.name})),v=new Map(E.aiTools.map(function(u){return[u.definition.name,u]})),x=E.aiTools.filter(function(u){return"GENERAL"===u.scope&&"loader"===u.from}),T=m.filter(function(u){var e=v.get(u.name);return e&&"GENERAL"!==e.scope&&"CUSTOM"!==e.scope}),O=m.filter(function(u){var e=v.get(u.name);return!e||"CUSTOM"===e.scope});(0,n.useEffect)(function(){var u=0===y.current;e&&0===O.length?p([]):u&&O.length>0&&p(["custom-tools"]),y.current=O.length},[e,O.length]);var P=E.aiTools.filter(function(u){return"CUSTOM"===u.scope&&!h.has(u.definition.name)}).map(function(u){var e,t,n,a;return{key:u.definition.name,label:r().createElement("div",{style:{maxWidth:8*A.controlHeightLG,minWidth:4*A.controlHeightLG}},r().createElement(l.Flex,{justify:"space-between"},r().createElement("div",null,o(null!=(e=null==(n=u.introduction)?void 0:n.title)?e:u.definition.name,u.definition.name))),r().createElement(l.Typography.Text,{type:"secondary"},o(null!=(t=null==(a=u.introduction)?void 0:a.about)?t:u.definition.description))),onClick:function(){var e=ul(i.getFieldValue("skillSettings")),t=Array.isArray(e.tools)?e.tools:[];t.some(function(e){return e.name===u.definition.name})||g(I(t).concat([{name:u.definition.name,autoCall:!1}]))}}}),j=function(u){var e,n,a,A,E="definition"in u?u:v.get(u.name);if(!E)return null;var i="definition"in u?void 0:u;return r().createElement(l.List.Item,{key:E.definition.name,extra:r().createElement(l.Flex,{vertical:!0,justify:"end"},r().createElement(l.Space,null,r().createElement(l.Typography.Text,{type:"secondary"},t("Permission")),r().createElement(l.Segmented,{size:"small",options:b,value:us(E,i),disabled:!0})))},r().createElement("div",null,o(null!=(e=null==(a=E.introduction)?void 0:a.title)?e:E.definition.name,E.definition.name)),r().createElement(l.Typography.Text,{type:"secondary"},o(null!=(n=null==(A=E.introduction)?void 0:A.about)?n:E.definition.description)))},L=[{key:"general-tools",label:r().createElement(ui,{title:t("General tools"),description:t("Shared by all AI employees.")}),children:r().createElement(l.List,{itemLayout:"vertical",size:"small",dataSource:x,renderItem:j})}];return e&&T.length&&L.push({key:"specific-tools",label:r().createElement(ui,{title:t("Employee-specific tools"),description:t("Only available to this AI employee.")}),children:r().createElement(l.List,{itemLayout:"vertical",size:"small",dataSource:T,renderItem:j})}),L.push({key:"custom-tools",label:r().createElement(ui,{title:t("Custom tools"),description:t("Created by workflow. You can add/remove and set default permissions.")}),extra:r().createElement("div",{onClick:function(u){u.stopPropagation()},onKeyDown:function(u){u.stopPropagation()}},r().createElement(l.Dropdown,{menu:{items:P},disabled:!(null==P?void 0:P.length),placement:"bottomRight"},r().createElement(l.Button,{type:"primary",icon:r().createElement(a.PlusOutlined,null),disabled:!(null==P?void 0:P.length),style:{pointerEvents:(null==P?void 0:P.length)?void 0:"none"}},t("Add tool")))),children:r().createElement(l.List,{itemLayout:"vertical",bordered:!0,dataSource:O,renderItem:function(u){var e,n,A,E,i=v.get(u.name),F=i?o(null!=(e=null==(A=i.introduction)?void 0:A.title)?e:i.definition.name,i.definition.name):u.name,s=i?o(null!=(n=null==(E=i.introduction)?void 0:E.about)?n:i.definition.description):null;return r().createElement(l.List.Item,{key:u.name,extra:r().createElement(l.Space,null,r().createElement(l.Typography.Text,null,t("Permission")),r().createElement(l.Segmented,{size:"small",options:b,value:i?us(i,u):u.autoCall?"ALLOW":"ASK",onChange:function(e){g(m.map(function(t){return t.name===u.name?k(S({},t),{autoCall:"ALLOW"===e}):t}))}}),r().createElement(l.Button,{"aria-label":t("Delete"),icon:r().createElement(a.DeleteOutlined,null),type:"text",onClick:function(){g(m.filter(function(e){return e.name!==u.name}))}}))},r().createElement("div",null,F),s?r().createElement(l.Typography.Text,{type:"secondary"},s):null)}})}),E.aiToolsLoading?r().createElement(l.Spin,null):r().createElement(l.Collapse,{ghost:!0,size:"small",activeKey:f,onChange:function(u){return p(Array.isArray(u)?u.map(String):[String(u)])},items:L})}),uD=function(u){var e=u.apiClient,t=(0,F.kj)(),a=l.Form.useFormInstance(),A=l.Form.useWatch("enableKnowledgeBase",a),o=w((0,n.useState)([]),2),E=o[0],i=o[1],s=w((0,n.useState)(!1),2),c=s[0],D=s[1];return(0,n.useEffect)(function(){var u=!1;return v(function(){var t;return T(this,function(n){switch(n.label){case 0:D(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,Z(e)];case 2:return t=n.sent(),u||i(t),[3,5];case 3:return console.error(n.sent()),[3,5];case 4:return u||D(!1),[7];case 5:return[2]}})})().catch(function(u){console.error(u)}),function(){u=!0}},[e]),r().createElement(r().Fragment,null,r().createElement(l.Form.Item,{name:"enableKnowledgeBase",label:M(t("Enable Knowledge Base")),valuePropName:"checked",preserve:!0},r().createElement(l.Switch,null)),r().createElement(l.Form.Item,{name:"knowledgeBasePrompt",label:M(t("Knowledge Base Prompt")),rules:[{required:!0}],preserve:!0},r().createElement(l.Input.TextArea,{disabled:!A,autoSize:{minRows:5}})),r().createElement(l.Form.Item,{name:["knowledgeBase","knowledgeBaseKeys"],label:M(t("Knowledge Base")),rules:[{required:!!A}],preserve:!0},r().createElement(l.Select,{disabled:!A,fieldNames:{label:"name",value:"key"},loading:c,mode:"multiple",options:E})),r().createElement(l.Form.Item,{name:["knowledgeBase","topK"],label:M(t("Top K")),rules:[{required:!0}],preserve:!0},r().createElement(l.InputNumber,{disabled:!A,min:1,max:100})),r().createElement(l.Form.Item,{name:["knowledgeBase","score"],label:M(t("Score")),rules:[{required:!0}],preserve:!0},r().createElement(l.InputNumber,{disabled:!A,min:0,max:1,step:.1})))},uB=function(u){var e,t=u.apiClient,n=u.activeTab,a=u.edit,A=u.onTabChange,o=u.record,E=u.knowledgeBaseEnabled,i=(0,F.kj)(),s=l.Form.useFormInstance(),c=null!=(e=l.Form.useWatch("chatSettings",s))?e:{},D=!!(null==o?void 0:o.builtIn),B=!1!==c.enableSkills,C=!1!==c.enableTools;return r().createElement(l.Tabs,{activeKey:n,onChange:A,items:[{key:"profile",label:i("Profile"),children:r().createElement(ue,{edit:a,builtIn:D}),forceRender:!0},{key:"roleSetting",label:i("Role setting"),children:r().createElement(ut,{builtIn:D,record:o}),forceRender:!0},{key:"modelSettings",label:i("Model settings"),children:r().createElement(uo,null),forceRender:!0}].concat(I(B?[{key:"skills",label:i("Skills"),children:r().createElement(uF,{builtIn:D}),forceRender:!0}]:[]),I(C?[{key:"tools",label:i("Tools"),children:r().createElement(uc,{builtIn:D}),forceRender:!0}]:[]),I(E?[{key:"knowledgeBase",label:i("KnowledgeBase"),children:r().createElement(uD,{apiClient:t}),forceRender:!0}]:[]))})},uC=function(u){var e=u.record,t=u.onUpdated,a=(0,E.useApp)(),A=(0,F.kj)(),o=l.App.useApp().message,i=(0,c.M)(),s=w((0,n.useState)(!1),2),D=s[0],B=s[1];return r().createElement(l.Switch,{checked:!!e.enabled,onChange:function(u){return v(function(){return T(this,function(n){switch(n.label){case 0:B(!0),n.label=1;case 1:return n.trys.push([1,5,6,7]),[4,J(a.apiClient,e.username,u)];case 2:return n.sent(),o.success(A("Saved successfully")),[4,t()];case 3:return n.sent(),[4,i.refreshAIEmployees()];case 4:return n.sent(),[3,7];case 5:return console.error(n.sent()),o.error(A("Failed to update")),[3,7];case 6:return B(!1),[7];case 7:return[2]}})})()},loading:D,size:"small"})},um=function(){var u=(0,E.useApp)(),e=(0,i.useFlowContext)(),t=(0,F.kj)(),o=l.theme.useToken().token,B=l.App.useApp().message,C=(0,c.M)(),m=w((0,n.useState)("business"),2),d=m[0],f=m[1],p=w((0,n.useState)([]),2),y=p[0],b=p[1],g=w((0,n.useState)(!1),2),h=g[0],S=g[1],k=w((0,n.useState)(!1),2),I=k[0],x=k[1],O=w((0,n.useState)([]),2),P=O[0],j=O[1],L=u.apiClient.auth,M=(null==L?void 0:L.role)==="root",K=(0,n.useMemo)(function(){return{color:o.colorPrimary,marginInline:-o.paddingSM,paddingBlock:o.paddingSM,paddingInlineEnd:o.paddingXS+o.paddingSM,paddingInlineStart:o.paddingSM}},[o.colorPrimary,o.paddingSM,o.paddingXS]),z=(0,n.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d;return v(function(){return T(this,function(t){switch(t.label){case 0:S(!0),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,H(u.apiClient,{category:e})];case 2:return b(t.sent().data),[3,4];case 3:return S(!1),[7];case 4:return[2]}})})()},[u.apiClient,d]);(0,n.useEffect)(function(){z().catch(function(u){console.error(u),S(!1)})},[z]),(0,n.useEffect)(function(){v(function(){return T(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,Q(u.apiClient)];case 1:return x.apply(void 0,[e.sent()]),[3,3];case 2:return console.error(e.sent()),[3,3];case 3:return[2]}})})().catch(function(u){console.error(u)})},[u.apiClient]);var _=function(u){e.viewer.open({type:"drawer",width:D.o,closable:!0,content:r().createElement(ud,{editingRecord:u,knowledgeBaseEnabled:I,onSubmitted:function(){return v(function(){return T(this,function(u){switch(u.label){case 0:return[4,z()];case 1:return u.sent(),[4,C.refreshAIEmployees()];case 2:return u.sent(),[2]}})})()}})})},W=[{title:t("Avatar"),dataIndex:"avatar",render:function(u){return u?r().createElement(l.Avatar,{shape:"circle",size:"large",src:(0,s.H)(u)}):null}},{title:t("Username"),dataIndex:"username",render:function(u,e){var n=e.missingKnowledgeBaseKeys||[];return n.length?r().createElement(l.Space,{size:"small"},r().createElement("span",null,u),r().createElement(l.Tooltip,{title:t("Missing knowledge base configuration for keys: {{keys}}. Create knowledge bases with the same keys to enable this employee normally.",{keys:n.join(", ")})},r().createElement(a.ExclamationCircleOutlined,null))):u}},{title:t("Nickname"),dataIndex:"nickname"},{title:t("Position"),dataIndex:"position"},{title:t("Enabled"),dataIndex:"enabled",render:function(u,e){return r().createElement(uC,{record:e,onUpdated:function(){return z()}})}},{title:t("Actions"),key:"actions",render:function(e,n){return r().createElement(l.Space,{size:o.marginXS},r().createElement("a",{style:K,onClick:function(){return _(n)}},t("Edit")),r().createElement(l.Popconfirm,{title:t("Delete AI employee"),description:t("Are you sure you want to delete this AI employee?"),onConfirm:function(){return v(function(){return T(this,function(e){switch(e.label){case 0:if(n.builtIn&&!M)return B.warning(t("Cannot delete built-in ai employees")),[2];return[4,$(u.apiClient,n.username)];case 1:return e.sent(),B.success(t("Saved successfully")),[4,z()];case 2:return e.sent(),[4,C.refreshAIEmployees()];case 3:return e.sent(),[2]}})})()}},r().createElement("a",{style:K},t("Delete"))))}}];return r().createElement(l.Card,{style:{display:"flex",flexDirection:"column",minHeight:"100%"},styles:{body:{display:"flex",flex:1,flexDirection:"column",minHeight:0}}},r().createElement(l.Flex,{vertical:!0,gap:"middle",style:{flex:1,minHeight:0}},r().createElement(l.Flex,{justify:"space-between",wrap:"wrap",gap:"middle"},r().createElement(l.Radio.Group,{optionType:"button",value:d,options:[{label:t("Business"),value:"business"},{label:t("Developer"),value:"developer"}],onChange:function(u){return f(u.target.value)}}),r().createElement(l.Space,null,r().createElement(l.Button,{icon:r().createElement(a.ReloadOutlined,null),onClick:function(){return z()}},t("Refresh")),r().createElement(l.Button,{type:"primary",icon:r().createElement(a.PlusOutlined,null),onClick:function(){e.viewer.open({type:"drawer",width:D.o,closable:!0,content:r().createElement(ud,{knowledgeBaseEnabled:I,onSubmitted:function(){return v(function(){return T(this,function(u){switch(u.label){case 0:return[4,z()];case 1:return u.sent(),[4,C.refreshAIEmployees()];case 2:return u.sent(),[2]}})})()}})})}},t("New AI employee")))),r().createElement("div",{style:{display:"flex",flex:1,flexDirection:"column",minHeight:0}},r().createElement(E.Table,{rowKey:"username",loading:h,columns:W,dataSource:y,className:R,isDraggable:!0,onSortEnd:function(e,n){return v(function(){var r,l,a;return T(this,function(o){switch(o.label){case 0:if(!e.username||!n.username||e.username===n.username)return[2];r=y,l=y.findIndex(function(u){return u.username===e.username}),a=y.findIndex(function(u){return u.username===n.username}),l>=0&&a>=0&&b((0,A.arrayMove)(y,l,a)),o.label=1;case 1:return o.trys.push([1,5,,6]),[4,q(u.apiClient,e.username,n.username)];case 2:return o.sent(),B.success(t("Saved successfully")),[4,z()];case 3:return o.sent(),[4,C.refreshAIEmployees()];case 4:return o.sent(),[3,6];case 5:return console.error(o.sent()),b(r),B.error(t("Failed to update")),[3,6];case 6:return[2]}})})()},rowSelection:{selectedRowKeys:P,onChange:j},pagination:{defaultPageSize:20,showTotal:function(u){return t("Total {{count}} items",{count:u})}},scroll:{x:"max-content",y:"100%"}}))))},ud=function(u){var e=u.editingRecord,t=u.knowledgeBaseEnabled,a=u.onSubmitted,A=(0,E.useApp)(),o=(0,i.useFlowContext)(),s=(0,F.kj)(),c=l.App.useApp().message,D=w(l.Form.useForm(),1)[0],C=w((0,n.useState)(!1),2),m=C[0],d=C[1],f=w((0,n.useState)("profile"),2),p=f[0],y=f[1],b=w((0,n.useState)(!1),2),g=b[0],h=b[1],I=(0,n.useRef)();I.current||(I.current=e?k(S({},e),{_aboutMode:e.builtIn?e.about?"custom":"system":void 0}):{username:(0,i.randomId)(),enabled:!0,enableKnowledgeBase:!1,knowledgeBase:{knowledgeBaseKeys:[],topK:3,score:"0.6"},knowledgeBasePrompt:s("knowledge Base Prompt default"),avatar:P,builtIn:!1,category:"business"});var x=I.current,O=o.view,j=O.Header,L=O.Footer;(0,n.useEffect)(function(){D.setFieldsValue(x)},[D,x]);var M=(0,B.C)({view:o.view,form:D,initialValues:x,dirty:g,title:s("Unsaved changes"),content:s("Are you sure you don't want to save?")});return r().createElement(r().Fragment,null,r().createElement(j,{title:e?s("Edit AI employee"):s("New AI employee")}),r().createElement(l.Spin,{spinning:m},r().createElement(l.Form,{form:D,layout:"vertical",onFinish:function(u){return v(function(){var t,n;return T(this,function(r){switch(r.label){case 0:d(!0),r.label=1;case 1:if(r.trys.push([1,8,9,10]),t=ua(u,D.getFieldsValue(!0)),!e)return[3,3];return[4,X(A.apiClient,t)];case 2:return r.sent(),[3,5];case 3:return[4,Y(A.apiClient,t)];case 4:r.sent(),r.label=5;case 5:return c.success(s("Saved successfully")),[4,a()];case 6:return r.sent(),[4,o.view.close(void 0,!0)];case 7:return r.sent(),[3,10];case 8:if(n=r.sent(),!e&&z(n))return y("profile"),D.setFields([{name:"username",errors:[s("Username already exists")]}]),[2];throw n;case 9:return d(!1),[7];case 10:return[2]}})})()},onValuesChange:function(){return h(!0)}},r().createElement(uB,{apiClient:A.apiClient,activeTab:p,edit:!!e,onTabChange:y,record:e,knowledgeBaseEnabled:t}))),r().createElement(L,null,r().createElement(l.Flex,{justify:"end",gap:"small"},r().createElement(l.Button,{onClick:M},s("Cancel")),r().createElement(l.Button,{type:"primary",loading:m,onClick:function(){return D.submit()}},s("Submit")))))},uf=um}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai_client_v2=self.webpackChunk_nocobase_plugin_ai_client_v2||[]).push([["420"],{5887:function(e,t,r){r.r(t),r.d(t,{normalizeShortcutTasksSkillSettings:function(){return o.im},AIEmployeeActionModel:function(){return k},AIEmployeeButtonModel:function(){return o.uq},AIEmployeeShortcutModel:function(){return o.wq},AIEmployeeShortcutListModel:function(){return s},WorkContext:function(){return o.Zz},normalizeShortcutTaskSkillSettings:function(){return o.xi}});var o=r(7317),n=r(9155),l=r.n(n),c=r(2059),i=r(7694);function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(f=function(){return!!e})()}var s=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t,o,n;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return t=r,o=arguments,t=u(t),e=function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,f()?Reflect.construct(t,o||[],u(this).constructor):t.apply(this,o)),(n="isNewModel")in e?Object.defineProperty(e,n,{value:!1,enumerable:!0,configurable:!0,writable:!0}):e[n]=!1,e}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&a(r,e),t=[{key:"render",value:function(){return l().createElement(c.Flex,{gap:"small"},l().createElement(i.DndProvider,null,this.mapSubModels("shortcuts",function(e){var t;return l().createElement(i.Droppable,{model:e,key:e.uid},l().createElement(i.FlowModelRenderer,{key:e.uid,model:e,showFlowSettings:!(null==(t=e.props)?void 0:t.builtIn),extraToolbarItems:[{key:"drag-handler",component:i.DragHandler,sort:1}]}))})))}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(r.prototype,t),r}(i.FlowModel),p=r(3485),y=r(7176),b=r(4196),d=r(9488);function m(e,t,r,o,n,l,c){try{var i=e[l](c),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(o,n)}function v(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(g=function(){return!!e})()}var w=function(e){var t=e.aiEmployee,r=c.theme.useToken().token;return l().createElement(c.Popover,{content:l().createElement(y.g,{aiEmployee:t}),placement:"leftTop"},l().createElement(c.Flex,{align:"center",style:{padding:"4px 2px"},gap:8},l().createElement(c.Avatar,{shape:"circle",size:36,src:(0,b.H)(t.avatar)}),l().createElement(c.Flex,{vertical:!0},l().createElement("div",{style:{fontSize:r.fontSizeSM,color:r.colorText,lineHeight:1.4}},t.nickname),l().createElement("div",{style:{fontSize:r.fontSizeSM,color:r.colorTextSecondary,lineHeight:1.4}},t.position))))},E="AIChatBoxBlockModel",j=function(e){for(var t,r=e;r;){if((null==(t=r)?void 0:t.use)===E||(null==t?void 0:t.constructor.name)===E)return r.uid;r=r.parent}},S=function(e){var t=j(e);return t?{defaultTaskChatBoxUid:t,tasks:[{chatBoxUid:t}]}:{}},k=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=h(e),function(e,t){var r;if(t&&("object"==((r=t)&&"u">typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,g()?Reflect.construct(e,t||[],h(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&O(r,e),t=[{key:"defineChildren",value:function(e){var t;return(t=function(){var t,r;return function(e,t){var r,o,n,l={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(c,"next",{value:u(0)}),i(c,"throw",{value:u(1)}),i(c,"return",{value:u(2)}),"function"==typeof Symbol&&i(c,Symbol.iterator,{value:function(){return this}}),c;function u(i){return function(u){var a=[i,u];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,a[0]&&(l=0)),l;)try{if(r=1,o&&(n=2&a[0]?o.return:a[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,a[1])).done)return n;switch(o=0,n&&(a=[2&a[0],n.value]),a[0]){case 0:case 1:n=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,o=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(n=(n=l.trys).length>0&&n[n.length-1])&&(6===a[0]||2===a[0])){l=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]<n[3])){l.label=a[1];break}if(6===a[0]&&l.label<n[1]){l.label=n[1],n=a;break}if(n&&l.label<n[2]){l.label=n[2],l.ops.push(a);break}n[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],o=0}finally{r=n=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}}(this,function(o){switch(o.label){case 0:return[4,e.aiConfigRepository.getAIEmployees()];case 1:return t=o.sent(),r=S(e.model),[2,null==t?void 0:t.filter(function(e){return(null==e?void 0:e.deprecated)!==!0&&(null==e?void 0:e.category)!=="developer"}).map(function(t){var o,n;return{key:t.username,label:l().createElement(w,{aiEmployee:t}),createModelOptions:{use:"AIEmployeeButtonModel",props:(o=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){v(e,t,r[t])})}return e}({aiEmployee:{username:t.username},context:{workContext:[{type:"flow-model",uid:e.model.uid}]}},r),n=n={auto:!1},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(n,e))}),o)}}})]}})},function(){var e=this,r=arguments;return new Promise(function(o,n){var l=t.apply(e,r);function c(e){m(l,o,n,c,i,"next",e)}function i(e){m(l,o,n,c,i,"throw",e)}c(void 0)})})()}}],function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(r,t),r}(p.ActionModel);v(k,"scene",p.ActionSceneEnum.all),k.define({label:(0,d.MZ)("AI employees"),sort:8e3}),p.CollectionActionGroupModel.registerActionModels({AIEmployeeActionModel:k}),p.RecordActionGroupModel.registerActionModels({AIEmployeeActionModel:k}),p.FormActionGroupModel.registerActionModels({AIEmployeeActionModel:k}),p.PopupSubTableFormActionGroupModel.registerActionModels({AIEmployeeActionModel:k})}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai_client_v2=self.webpackChunk_nocobase_plugin_ai_client_v2||[]).push([["681"],{6600:function(e,t,n){n.r(t),n.d(t,{DataModelingModal:function(){return ed}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(4069),c=n(7251),u=n(7174),s=n(3485),f=n(9488),d=n(3397),p=n(5477),y=n(7757),m=n.n(y),b=n(809);n(7695);var v=n(842),h=/^\s*\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,\s*([\s\S]*?))?\)\s*\}\}\s*$/,g=/\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,\s*([\s\S]*?))?\)\s*\}\}/g;function O(e){var t=null==e?void 0:e.trim();if(t){try{var n=JSON.parse(t);return n&&(void 0===n?"undefined":n&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)=="object"&&!Array.isArray(n)?n:void 0}catch(e){}var r={},o=t.match(/(?:^|[{,\s])ns\s*:\s*(\[[\s\S]*?\])/);if(null==o?void 0:o[1]){var l,a,i=(l=o[1],a=[],l.replace(/(['"])(.*?)\1/g,function(e,t,n){return a.push(n),""}),a.length?a:void 0);i&&(r.ns=i)}else{var c=t.match(/(?:^|[{,\s])ns\s*:\s*(['"])(.*?)\1/);(null==c?void 0:c[2])&&(r.ns=c[2])}var u=t.match(/(?:^|[{,\s])nsMode\s*:\s*(['"])(.*?)\1/);return(null==u?void 0:u[2])&&(r.nsMode=u[2]),Object.keys(r).length?r:void 0}}function w(e,t){if("string"!=typeof e)return e;var n=e.match(h);return(null==n?void 0:n[2])?t(n[2],O(n[3])):e.replace(g,function(e,n,r,o){return t(r,O(o))})}function S(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 j(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function E(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 k(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 x(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)||P(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 I(e){return function(e){if(Array.isArray(e))return S(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||P(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 P(e,t){if(e){if("string"==typeof e)return S(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 S(e,t)}}function A(){var e,t,n=(e=["\n width: 100%;\n height: 100%;\n svg:not(:root) {\n overflow: unset;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return A=function(){return n},n}var T=new(m()),C={collection:function(e){var t=e.data,n=l.theme.useToken().token,r=(0,s.useApp)(),i=(0,f.kj)(),c=r.dataSourceManager.collectionFieldInterfaceManager,u={top:"50%",transform:"translateY(-50%)",width:n.sizeXS,height:n.sizeXS,opacity:0,pointerEvents:"none"};return o().createElement(l.Card,{size:"small",title:o().createElement("div",{style:{position:"relative"}},o().createElement(b.h7,{type:"target",position:v.yX.Left,id:t.name,style:u}),t.title," ",o().createElement("span",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},t.name),o().createElement(b.h7,{type:"source",position:v.yX.Right,id:t.name,style:u})),styles:{body:{padding:0,minWidth:5*n.sizeXXL}}},o().createElement(l.List,{dataSource:t.fields,size:"small",renderItem:function(e){var r=e.interface?null==c?void 0:c.getFieldInterface(e.interface):void 0;return o().createElement(l.List.Item,{style:{position:"relative"}},o().createElement(l.Flex,{justify:"space-between",gap:n.marginLG,style:{width:"100%"}},o().createElement(b.h7,{type:"source",position:v.yX.Right,id:"".concat(t.name,"-").concat(e.name),style:u}),o().createElement(l.Flex,{vertical:!0},o().createElement("div",null,e.title,e.primaryKey?o().createElement(a.KeyOutlined,{style:{marginLeft:n.marginXXS}}):null),o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},e.name)),o().createElement(l.Flex,{vertical:!0,align:"flex-end"},o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextSecondary}},(null==r?void 0:r.title)?w(r.title,i):""),o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},e.type))))}}))}},M=function(e,t,n,r){var o;return(o=function(){var o,l,a,i;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:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(c){switch(c.label){case 0:return l=!t.length,a={id:"root",layoutOptions:{"elk.algorithm":t.length?"org.eclipse.elk.layered":"org.eclipse.elk.box"},children:e.map(function(e){var t;return k(E({},e),{targetPosition:l?"left":"top",sourcePosition:l?"right":"bottom",width:n,height:r*(((null==(t=e.data.fields)?void 0:t.length)||0)+1)})}),edges:t},[4,T.layout(a)];case 1:return[2,{nodes:(null==(o=(i=c.sent()).children)?void 0:o.map(function(e){return k(E({},e),{position:{x:e.x||0,y:e.y||0}})}))||[],edges:i.edges||[]}]}})},function(){var e=this,t=arguments;return new Promise(function(n,r){var l=o.apply(e,t);function a(e){j(l,n,r,a,i,"next",e)}function i(e){j(l,n,r,a,i,"throw",e)}a(void 0)})})()},F=function(e){var t=e.map(function(e){return k(E({},e),{fields:e.autoGenId&&!e.fields.some(function(e){return"id"===e.name})?[{name:"id",interface:"id",type:"bigInt",title:"ID",primaryKey:!0,autoIncrement:!0}].concat(I(e.fields)):I(e.fields)})}),n=new Map(t.map(function(e){return[e.name,e]})),r=new Set,o=t.map(function(e){return{id:e.name,type:"collection",position:{x:0,y:0},data:{title:e.title,name:e.name,fields:I(e.fields)}}}),l=[],a=function(e,t){var n="".concat(e,"-").concat(t),o="".concat(t,"-").concat(e);r.has(n)||r.has(o)||(l.push({id:n,source:e,sourceHandle:e,target:t,targetHandle:t,type:"smoothstep",animated:!0}),r.add(n))},i=!0,c=!1,u=void 0;try{for(var s,f=t[Symbol.iterator]();!(i=(s=f.next()).done);i=!0){var d=s.value,p=!0,y=!1,m=void 0;try{for(var b,v=d.fields[Symbol.iterator]();!(p=(b=v.next()).done);p=!0){var h=b.value,g="string"==typeof h.target?h.target:void 0,O="string"==typeof h.through?h.through:void 0;g&&g!==d.name&&("belongsToMany"===h.type&&O&&n.has(O)?(a(d.name,O),a(O,g)):a(d.name,g))}}catch(e){y=!0,m=e}finally{try{p||null==v.return||v.return()}finally{if(y)throw m}}}}catch(e){c=!0,u=e}finally{try{i||null==f.return||f.return()}finally{if(c)throw u}}return{nodes:o,edges:l}},D=function(e){var t=e.collections,n=(0,s.useGlobalTheme)().isDarkTheme,a=l.theme.useToken().token,i=x((0,b.ck)([]),3),c=i[0],u=i[1],f=i[2],d=x((0,b.fM)([]),3),y=d[0],m=d[1],v=d[2],h=(0,r.useMemo)(function(){return F(t)},[t]),g=8*a.controlHeightLG,O=a.controlHeightLG+a.paddingSM;return(0,r.useEffect)(function(){M(h.nodes,h.edges,g,O).then(function(e){u(e.nodes),m(e.edges)}).catch(function(e){return console.error("Error laying out elements:",e)})},[h,g,O,m,u]),o().createElement("div",{className:(0,p.css)(A())},o().createElement(b.Gc,{nodes:c,edges:y,nodeTypes:C,fitView:!0,panOnDrag:!0,zoomOnScroll:!0,proOptions:{hideAttribution:!0},onNodesChange:f,onEdgesChange:v,colorMode:n?"dark":"light"},o().createElement(b.VS,null),o().createElement(b.H2,{position:"top-right"})))},R=n(2625);function L(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 G(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 X=function(){var e=(0,s.useApp)(),t=(0,f.kj)();return(0,r.useMemo)(function(){var n,r,o,l=e.dataSourceManager.collectionFieldInterfaceManager,a=(null==l||null==(r=l.getFieldInterfaces)?void 0:r.call(l))||[],i=(null==l||null==(o=l.getFieldInterfaceGroups)?void 0:o.call(l))||{};return n=a.reduce(function(e,t){var n=t.group||"basic";return e[n]||(e[n]=[]),e[n].push(t),e},{}),Object.keys(i).map(function(e){var r=i[e];return G(L({},r),{label:w(r.label,t),key:e,options:(n[e]||[]).filter(function(e){return!e.hidden}).map(function(n){return G(L({},n),{key:"".concat(e,"-").concat(n.name),value:n.name,label:w(n.title||n.name,t)})}).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})})}).filter(function(e){return e.options.length>0}).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})},[e.dataSourceManager.collectionFieldInterfaceManager,t])};function z(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 N(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function H(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K(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){H(e,t,n[t])})}return e}function _(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 B(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 z(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 z(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function U(){var e,t,n=(e=["\n .editable-cell {\n position: relative;\n }\n\n .editable-cell-value-wrap {\n padding: ","px ","px;\n cursor: pointer;\n }\n\n &:hover .editable-cell-value-wrap {\n border: ","px "," ",";\n border-radius: ","px;\n padding: ","px\n ","px;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return U=function(){return n},n}var V=o().createContext(null),q=function(e){var t=B(l.Form.useForm(),1)[0];return o().createElement(l.Form,{form:t,component:!1},o().createElement(V.Provider,{value:t},o().createElement("tr",e)))},W=function(e){var t=e.title,n=e.editable,a=e.EditComponent,i=e.ReadComponent,c=e.children,u=e.dataIndex,s=e.record,f=e.handleSave,d=function(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}(e,["title","editable","EditComponent","ReadComponent","children","dataIndex","record","handleSave"]),p=B((0,r.useState)(!1),2),y=p[0],m=p[1],b=(0,r.useRef)(null),v=(0,r.useContext)(V);(0,r.useEffect)(function(){if(y){var e,t;null==(t=b.current)||null==(e=t.focus)||e.call(t)}},[y]);var h=function(){m(!y),null==v||v.setFieldsValue(H({},u,s[u]))},g=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:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:if(!v)return[2];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,v.validateFields()];case 2:return e=t.sent(),h(),f(K({},s,e)),[3,4];case 3:return console.log("Save failed:",t.sent()),[3,4];case 4:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){N(l,r,o,a,i,"next",e)}function i(e){N(l,r,o,a,i,"throw",e)}a(void 0)})})()},O=(null==i?void 0:i(s))||c;if(n){var w=a?o().createElement(a,{record:s,save:g,focusRef:b}):o().createElement(l.Input,{ref:b,onPressEnter:g,onBlur:g});O=y?o().createElement(l.Form.Item,{style:{margin:0},name:u,rules:[{required:!0,message:"".concat(t," is required.")}]},w):o().createElement("div",{className:"editable-cell-value-wrap",onClick:h},O)}return o().createElement("td",d,O)},$=function(e){var t=(0,f.kj)(),n=l.theme.useToken().token,r={collectionTitle:5*n.controlHeightLG,collectionName:4*n.controlHeightLG,template:4*n.controlHeightLG,preset:8*n.controlHeightLG,description:9*n.controlHeightLG};return[{title:t("Collection display name"),dataIndex:"title",key:"title",width:r.collectionTitle,editable:!0},{title:t("Collection name"),dataIndex:"name",key:"name",width:r.collectionName,editable:!0},{title:t("Collection template"),dataIndex:"template",key:"template",width:r.template,render:function(e){if("string"!=typeof e||!e)return null;var n=e.charAt(0).toUpperCase()+e.slice(1);return o().createElement(l.Tag,null,t("".concat(n," collection")))}},{title:t("Preset fields"),key:"preset",width:r.preset,render:function(e,n){var r=[];return!1!==n.autoGenId&&r.push("id"),!1!==n.createdAt&&r.push("createdAt"),!1!==n.updatedAt&&r.push("updatedAt"),n.createdBy&&r.push("createdBy"),n.updatedBy&&r.push("updatedBy"),o().createElement(l.Checkbox.Group,{options:[{label:"ID",value:"id"},{label:t("Created at"),value:"createdAt"},{label:t("Last updated at"),value:"updatedAt"},{label:t("Created by"),value:"createdBy"},{label:t("Last updated by"),value:"updatedBy"}],defaultValue:r,disabled:!0})}},{title:t("Description"),dataIndex:"description",key:"description",width:r.description}].map(function(t){return t.editable?_(K({},t),{onCell:function(n,r){return{record:n,editable:t.editable,dataIndex:t.dataIndex,title:t.title,handleSave:function(t){return e(r,t)}}}}):t})},J=function(e){var t=e.record,n=e.save,a=e.focusRef,i=e.collection,c=(0,f.kj)(),u=(0,s.useApp)(),d=(0,R.useRequest)(function(){return u.apiClient.request({url:"app:getInfo"})},{cacheKey:"@nocobase/plugin-ai/app-info"}),p=X(),y=(0,r.useMemo)(function(){return p.map(function(e){return _(K({},e),{options:e.options.filter(function(e){return Y(e,i,d.data)})})}).filter(function(e){return e.options.length>0}).map(function(e){return _(K({},e),{label:e.label,options:e.options.map(function(e){return _(K({},e),{label:e.label,value:e.value})})})})},[i,p,d.data]),m=u.dataSourceManager.collectionFieldInterfaceManager,b=t.interface?null==m?void 0:m.getFieldInterface(t.interface):void 0,v=b?function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=w(e,t);return null==r||""===r?n:"string"==typeof r||"number"==typeof r||"boolean"==typeof r?String(r):n}(b.title||t.interface,c):t.interface;return o().createElement(l.Select,{ref:a,options:y,defaultValue:v,onBlur:n})},Y=function(e,t,n){if(e.hidden)return!1;if("tableoid"===e.value){var r,o;return(null==n||null==(o=n.data)||null==(r=o.database)?void 0:r.dialect)==="postgres"}return"string"==typeof e.value&&"boolean"==typeof t[e.value]?!!t[e.value]:!["o2o","subTable","linkTo"].includes(e.name||"")},Q=function(e,t,n){var r=(0,f.kj)(),a=(0,s.useApp)(),i=l.theme.useToken().token,c={fieldTitle:5*i.controlHeightLG,fieldName:4*i.controlHeightLG,fieldInterface:5*i.controlHeightLG,description:9*i.controlHeightLG};return[l.Table.EXPAND_COLUMN,{title:r("Field display name"),dataIndex:"title",width:c.fieldTitle,key:"title",editable:!0},{title:r("Field name"),dataIndex:"name",key:"name",width:c.fieldName,editable:!0},{title:r("Field interface"),width:c.fieldInterface,dataIndex:"interface",key:"interface",editable:!0,EditComponent:function(t){return o().createElement(J,_(K({},t),{collection:e}))},ReadComponent:function(e){var t,n=e.interface;if(!n)return null;var i=null==(t=a.dataSourceManager.collectionFieldInterfaceManager)?void 0:t.getFieldInterface(n);return o().createElement(l.Tag,null,i?w(i.title,r):n)}},{title:r("Description"),dataIndex:"description",key:"description",width:c.description}].map(function(e){return e.editable?_(K({},e),{onCell:function(r,o){return{record:r,editable:e.editable,dataIndex:e.dataIndex,title:e.title,EditComponent:e.EditComponent,ReadComponent:e.ReadComponent,handleSave:function(e){return n(t,o,e)}}}}):e})},Z=function(e){var t=e.record,n=l.theme.useToken().token,r={color:n.colorTextSecondary,marginRight:n.marginXS,marginLeft:n.marginXXL},a=[["Target",t.target],["TargetKey",t.targetKey],["SourceKey",t.sourceKey],["ForeignKey",t.foreignKey],["OtherKey",t.otherKey]];return o().createElement(o().Fragment,null,t.enum?o().createElement("div",null,o().createElement("span",{style:r},"Enumurations:"),t.enum.map(function(e){return o().createElement(l.Tag,{key:e.value},e.label," (",e.value,")")})):null,a.map(function(e){var t=B(e,2),n=t[0],l=t[1];return l?o().createElement("div",{key:n},o().createElement("span",{style:r},n,":"),o().createElement("span",null,l)):null}))},ee=function(e){var t=e.record,n=e.collectionIndex,r=e.rowClassName,a=Q(t,n,e.updateFieldRecord);return o().createElement(l.Table,{rowKey:"name",rowClassName:r,columns:a,components:{body:{row:q,cell:W}},dataSource:t.fields,pagination:!1,expandable:{rowExpandable:function(e){var t;return!!(null==(t=e.enum)?void 0:t.length)||["m2m","m2o","o2m","o2o"].includes(String(e.interface))},expandedRowRender:function(e){return o().createElement(Z,{record:e})}}})},et=function(e){var t,n=e.collections,a=e.updateCollectionRecord,i=e.updateFieldRecord,c=l.theme.useToken().token,u=$(a),s=(t=l.theme.useToken().token,(0,r.useMemo)(function(){return(0,p.cx)("editable-row",(0,p.css)(U(),t.paddingXXS,t.paddingSM,t.lineWidth,t.lineType,t.colorBorder,t.borderRadius,Math.max(t.paddingXXS-t.lineWidth,0),Math.max(t.paddingSM-t.lineWidth,0)))},[t]));return o().createElement(l.Table,{scroll:{y:"calc(100vh - ".concat(c.controlHeightLG+8*c.marginXXL,"px)")},style:{height:"calc(100vh - ".concat(c.controlHeightLG+6*c.marginXXL,"px)")},rowKey:"name",rowClassName:s,columns:u,dataSource:n,components:{body:{row:q,cell:W}},expandable:{expandedRowRender:function(e,t,r,l){var a=n.findIndex(function(t){return t.name===e.name});return l?o().createElement(ee,{record:e,collectionIndex:a,rowClassName:s,updateFieldRecord:i}):null},rowExpandable:function(e){var t;return!!(null==(t=e.fields)?void 0:t.length)}}})};function en(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 er(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function eo(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){er(l,r,o,a,i,"next",e)}function i(e){er(l,r,o,a,i,"throw",e)}a(void 0)})}}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 ea(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 ei(e){return function(e){if(Array.isArray(e))return en(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return en(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return en(e,void 0)}}(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 ec(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:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var eu=function(e){if(Array.isArray(e))return e;if("string"!=typeof e)return null;try{var t=JSON.parse(e);return Array.isArray(t)?t:null}catch(e){return null}},es=function(e){var t=e.children,n=l.theme.useToken().token;return o().createElement("div",{style:{height:"calc(100vh - ".concat(n.controlHeightLG+7*n.marginXXL,"px)"),overflowY:"auto"}},t)},ef=function(e){var t=(0,s.useApp)();return(0,r.useMemo)(function(){var n=t.dataSourceManager.collectionFieldInterfaceManager;return(e||[]).map(function(e){var t;return ea(el({},e),{hidden:!1,fields:(null==(t=e.fields)?void 0:t.map(function(e){var t=e.interface?null==n?void 0:n.getFieldInterface(e.interface):void 0,r=(null==t?void 0:t.default)||{},o=el(ea(el({},r.uiSchema,e.uiSchema),{title:e.title}),e.enum?{enum:e.enum}:{});return ea(el({},e),{type:e.type||r.type,uiSchema:o})}))||[]})})},[t.dataSourceManager.collectionFieldInterfaceManager,e])},ed=function(e){var t=e.tool,n=e.saveToolArgs,p=(0,f.kj)(),y=(0,s.useGlobalTheme)().isDarkTheme,m=ef(eu(t.args.collections)),b=(0,d.VU)().chatToolModel,v={updateCollectionRecord:(0,r.useCallback)(function(e,r){return eo(function(){var o,l;return ec(this,function(a){switch(a.label){case 0:if(!(null==(o=eu(t.args.collections))?void 0:o[e]))return[2];return(l=ei(o))[e]=el({},l[e],r),[4,null==n?void 0:n(ea(el({},t.args),{collections:l}))];case 1:return a.sent(),[2]}})})()},[n,t.args]),updateFieldRecord:(0,r.useCallback)(function(e,r,o){return eo(function(){var l,a,i,c,u;return ec(this,function(s){switch(s.label){case 0:if(!(null==(i=eu(t.args.collections))||null==(a=i[e])||null==(l=a.fields)?void 0:l[r]))return[2];return c=ei(i),(u=ei(c[e].fields))[r]=el({},u[r],o),c[e]=ea(el({},c[e]),{fields:u}),[4,null==n?void 0:n(ea(el({},t.args),{collections:c}))];case 1:return s.sent(),[2]}})})()},[n,t.args])},h=v.updateCollectionRecord,g=v.updateFieldRecord;return((0,r.useEffect)(function(){b.setAdjustArgs(ea(el({},t.args),{collections:m}))},[b,m,t.args]),eu(t.args.collections))?o().createElement(l.Tabs,{defaultActiveKey:"collections",items:[{key:"collections",label:p("Collections"),icon:o().createElement(a.DatabaseOutlined,null),children:o().createElement(et,{collections:m,updateCollectionRecord:h,updateFieldRecord:g})},{key:"graph",icon:o().createElement(a.NodeIndexOutlined,null),label:p("Diagram"),children:o().createElement(es,null,o().createElement(D,{collections:m}))},{key:"definition",icon:o().createElement(a.FileTextOutlined,null),label:"Definition",children:o().createElement(es,null,o().createElement(i.A,{language:"json",style:y?c.A:u.A},JSON.stringify(m,null,2)))}]}):o().createElement(l.Alert,{showIcon:!0,type:"error",message:p("Invalid definition")})}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai_client_v2=self.webpackChunk_nocobase_plugin_ai_client_v2||[]).push([["705"],{2951:function(e,t,n){n.d(t,{X:function(){return r}});function r(e){return null}},4893:function(e,t,n){n.d(t,{f:function(){return f}});var r=n(9155),l=n.n(r),o=n(7375),a=n(2059);function i(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 u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var o=[],a=!0,i=!1;try{for(l=l.call(e);!(a=(n=l.next()).done)&&(o.push(n.value),!t||o.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==l.return||l.return()}finally{if(i)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(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 i(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 c=function(e){return Array.from({length:e},function(e,t){return String(t)})},s=function(e,t,n){var r=e.slice(),l=u(r.splice(t,1),1)[0];return r.splice(n,0,l),r},m=function(e,t,n){var r=Number(e);return Number.isNaN(r)?e:r===t?String(n):t<n&&r>t&&r<=n?String(r-1):t>n&&r>=n&&r<t?String(r+1):e},f=function(e){var t=e.value,n=e.onChange,i=e.defaultValue,f=e.getDefaultValue,d=e.addText,p=e.itemTitle,v=e.size,g=e.bordered,y=e.defaultOpenPanelCount,b=void 0===y?5:y,h=e.renderHeader,E=e.renderItem,S=a.theme.useToken().token,k=Array.isArray(t)?t:[],w=u((0,r.useState)(function(){return c(Math.min(k.length,b))}),2),A=w[0],j=w[1];(0,r.useEffect)(function(){j(function(e){var t=e.filter(function(e){return Number(e)<k.length});return t.length>0||0===k.length?t:c(Math.min(k.length,b))})},[b,k.length]);var x=(0,r.useMemo)(function(){return k.map(function(e,t){return{key:String(t),label:h?h(e,t):"".concat(p," ").concat(t+1),extra:l().createElement(a.Space,{size:4,onClick:function(e){return e.stopPropagation()}},l().createElement(a.Button,{type:"text",size:"small","aria-label":"move-up",icon:l().createElement(o.UpOutlined,null),disabled:0===t,onClick:function(){0!==t&&(null==n||n(s(k,t,t-1)),j(function(e){return e.map(function(e){return m(e,t,t-1)})}))}}),l().createElement(a.Button,{type:"text",size:"small","aria-label":"move-down",icon:l().createElement(o.DownOutlined,null),disabled:t===k.length-1,onClick:function(){t!==k.length-1&&(null==n||n(s(k,t,t+1)),j(function(e){return e.map(function(e){return m(e,t,t+1)})}))}}),l().createElement(a.Button,{type:"text",size:"small","aria-label":"delete",icon:l().createElement(o.DeleteOutlined,null),onClick:function(){var e=k.filter(function(e,n){return n!==t});null==n||n(e),j(function(n){var r;return r=e.length,n.filter(function(e){return Number(e)!==t}).map(function(e){var n=Number(e);return n>t?String(n-1):e}).filter(function(e){return Number(e)<r})})}})),children:E(e,t),forceRender:!0}})},[p,k,n,h,E]);return l().createElement(a.Flex,{vertical:!0,gap:"middle"},k.length>0?l().createElement(a.Collapse,{size:void 0===v?"small":v,bordered:void 0===g||g,activeKey:A,items:x,onChange:function(e){return j(Array.isArray(e)?e.map(String):[String(e)])}}):l().createElement(a.Empty,{style:{border:"".concat(S.lineWidth,"px dashed ").concat(S.colorBorder),borderRadius:S.borderRadiusLG,margin:0,padding:S.padding}}),l().createElement(a.Button,{block:!0,type:"dashed",icon:l().createElement(o.PlusOutlined,null),onClick:function(){var e=f?f():i,t=k.concat(e);null==n||n(t),j(function(e){return Array.from(new Set(e.concat(String(t.length-1))))})}},d))}},5208:function(e,t,n){n.d(t,{AIEmployeeFieldset:function(){return es}});var r=n(9155),l=n.n(r),o=n(2059),a=n(7375),i=n(5477),u=n(4221),c=n(9488),s=n(7694),m=n(1204),f=n(3617),d=(0,s.observer)(function(e){var t=e.value,n=e.onChange,o=(0,f.M)(),a=o.aiEmployees,i=(0,r.useMemo)(function(){return a.find(function(e){return e.username===t})},[a,t]);return(0,r.useEffect)(function(){o.getAIEmployees()},[o]),l().createElement(m.Y,{aiEmployees:a,currentEmployee:i,onSelect:function(e){return null==n?void 0:n(e.username)}})}),p=n(9180),v=n(5428);"u">typeof window&&void 0!==window.document&&window.document.createElement;let g=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[g.Translate.toString(e),g.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}});var y=n(197),b=n(293);function h(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 E(){var e,t,n=(e=["\n display: flex;\n width: 100%;\n\n .ant-select {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n .ant-btn {\n flex-shrink: 0;\n margin-inline-start: -","px;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n\n .ant-btn:hover,\n .ant-btn:focus {\n z-index: 2;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return E=function(){return n},n}function S(e){if(Array.isArray(e)){var t=(function(e){if(Array.isArray(e))return e}(e)||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var l=[],o=!0,a=!1;try{for(r=r.call(e);!(o=(t=r.next()).done)&&(l.push(t.value),1!==l.length);o=!0);}catch(e){a=!0,n=e}finally{try{o||null==r.return||r.return()}finally{if(a)throw n}}return l}}(e)||function(e){if(e){if("string"==typeof e)return h(e,1);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 h(e,1)}}(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.")}())[0];return null==t?void 0:String(t)}return null==e?void 0:String(e)}function k(e){return e.isForeignKey||"context"===e.type?"users"===e.target:"users"===e.collectionName&&"id"===e.name}function w(e){var t,n=null!=(t=null==e?void 0:e.paths)?t:[];return n.length?"{{".concat(n.join("."),"}}"):""}function A(e){if("string"==typeof e){var t=e.trim().match(/^\{\{\s*(.+?)\s*\}\}$/);if(t)return t[1].split(".")}}function j(e){var t,n=e.value,r=e.onChange,a=o.theme.useToken().token,u="string"==typeof(t=S(n))&&t.includes("{{")?S(n):void 0,c=(0,y.useWorkflowVariableOptions)({types:[k]}),m=(0,i.css)(E(),a.lineWidth);return l().createElement(o.Space.Compact,{className:m},l().createElement(b.l,{manual:!1,fieldNames:{label:"nickname",value:"id"},service:{resource:"users"},value:u?void 0:n,onChange:function(e){return null==r?void 0:r(e)}}),l().createElement(s.FlowContextSelector,{value:u,metaTree:c,parseValueToPath:A,formatPathToValue:w,onlyLeafSelectable:!0,dropdownFooter:null,onChange:function(e){e&&(null==r||r(e))}}))}function x(){var e=(0,c.kj)();return l().createElement(o.Form.Item,{name:["config","userId"],label:e("Operator"),tooltip:e("Complete the task using operator permissions"),rules:[{required:!0}]},l().createElement(j,null))}function O(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 C(e,t,n,r,l,o,a){try{var i=e[o](a),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function F(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function I(){var e=F(["\n width: 100%;\n padding: ","px;\n border: ","px dashed ",";\n "]);return I=function(){return e},e}function T(){var e=F(["\n width: 100%;\n "]);return T=function(){return e},e}function M(){var e=F(["\n width: 100%;\n\n &.ant-space.ant-space-horizontal {\n flex-wrap: nowrap;\n }\n\n > .ant-space-item:nth-child(2) {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n .ant-form-item {\n margin-bottom: 0;\n }\n "]);return M=function(){return e},e}var z=l().createContext(null);function N(e){var t,n=e.value,r=e.onChange,a=o.theme.useToken().token,u=(0,i.css)(I(),a.paddingSM,a.lineWidth,a.colorBorder);return null===n||(void 0===n?"undefined":n&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)!="object"||Array.isArray(n)?l().createElement(j,{value:n,onChange:function(e){return null==r?void 0:r(e)}}):l().createElement("div",{className:u},l().createElement(y.FilterDynamicComponent,{collection:"users",value:null!=(t=n.filter)?t:{},onChange:function(e){return null==r?void 0:r({filter:null!=e?e:{}})}}))}function P(e){var t,n,r=e.disabled,i=(0,c.kj)(),u=o.theme.useToken().token,s=l().useContext(z);return l().createElement(o.Button,(t=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}({ref:r||null==s?void 0:s.setActivatorNodeRef,"aria-label":i("Drag sort"),disabled:r,icon:l().createElement(a.MenuOutlined,null),type:"text",size:"small"},r?{}:null==s?void 0:s.attributes,r?{}:null==s?void 0:s.listeners),n=n={style:{color:u.colorTextTertiary,cursor:r?"not-allowed":"grab"}},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))}function V(e){var t=e.children,n=e.className,r=e.disabled,a=e.id,i=(0,v.useSortable)({disabled:r,id:a}),u=i.attributes,c=i.isDragging,s=i.listeners,m=i.setActivatorNodeRef,f=i.setNodeRef,d=i.transform,p=i.transition,y=o.theme.useToken().token;return l().createElement(z.Provider,{value:{attributes:u,listeners:s,setActivatorNodeRef:m}},l().createElement(o.Space,{ref:f,align:"center",className:n,size:y.marginXXS,style:{position:c?"relative":void 0,zIndex:c?1:void 0,transform:g.Transform.toString(d),transition:p}},t))}function _(){var e,t=(0,c.kj)(),n=o.Form.useFormInstance(),u=o.theme.useToken().token,s=(0,p.useSensors)((0,p.useSensor)(p.PointerSensor,{activationConstraint:{distance:1}})),m=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 l=[],o=!0,a=!1;try{for(r=r.call(e);!(o=(t=r.next()).done)&&(l.push(t.value),2!==l.length);o=!0);}catch(e){a=!0,n=e}finally{try{o||null==r.return||r.return()}finally{if(a)throw n}}return l}}(e)||function(e){if(e){if("string"==typeof e)return O(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 O(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=m[0],d=m[1],g=o.Form.useWatch(["config","requiresApproval"],n),y=null!=g?g:n.getFieldValue(["config","requiresApproval"]);if(!(y&&"no_required"!==y))return null;var b=(0,i.css)(T()),h=(0,i.css)(M());return l().createElement(o.Form.Item,{label:t("Assignees"),required:!0},l().createElement(o.Form.List,{name:["config","assignees"],rules:[{validator:function(e,n){var r;return(r=function(){return function(e,t){var n,r,l,o={label:0,sent:function(){if(1&l[0])throw l[1];return l[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]&&(o=0)),o;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(l=(l=o.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){o.label=c[1];break}if(6===c[0]&&o.label<l[1]){o.label=l[1],l=c;break}if(l&&o.label<l[2]){o.label=l[2],o.ops.push(c);break}l[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){if(!Array.isArray(n)||0===n.length)throw Error(t("Assignees is required"));return[2]})},function(){var e=this,t=arguments;return new Promise(function(n,l){var o=r.apply(e,t);function a(e){C(o,n,l,a,i,"next",e)}function i(e){C(o,n,l,a,i,"throw",e)}a(void 0)})})()}}]},function(e,n,r){return l().createElement(o.Space,{direction:"vertical",className:b,size:u.marginXS},l().createElement(p.DndContext,{collisionDetection:p.closestCenter,sensors:s,onDragEnd:function(t){var r=t.active,l=t.over;if(l&&r.id!==l.id){var o=e.findIndex(function(e){return String(e.key)===String(r.id)}),a=e.findIndex(function(e){return String(e.key)===String(l.id)});o<0||a<0||n.move(o,a)}}},l().createElement(v.SortableContext,{items:e.map(function(e){return String(e.key)}),strategy:v.verticalListSortingStrategy},l().createElement(o.Space,{direction:"vertical",className:b,size:u.marginXS},e.map(function(t){return l().createElement(V,{key:t.key,className:h,disabled:e.length<2,id:String(t.key)},l().createElement(P,{disabled:e.length<2}),l().createElement(o.Form.Item,{name:[t.name],noStyle:!0},l().createElement(N,null)),l().createElement(o.Button,{type:"text",size:"small","aria-label":"delete",icon:l().createElement(a.DeleteOutlined,null),onClick:function(){return n.remove(t.name)}}))})))),l().createElement(o.Form.ErrorList,{errors:r.errors}),l().createElement(o.Popover,{trigger:"click",open:f,onOpenChange:d,placement:"bottom",content:l().createElement(o.Space,{direction:"vertical"},l().createElement(o.Button,{type:"text",onClick:function(){n.add(null),d(!1)}},t("Select users")),l().createElement(o.Button,{type:"text",onClick:function(){n.add({filter:{}}),d(!1)}},t("Query users")))},l().createElement(o.Button,{block:!0,type:"dashed","aria-label":t("Add assignee"),icon:l().createElement(a.PlusOutlined,null)},t("Add assignee"))))}))}function D(e){var t=e.value,n=e.onChange,a=(0,c.kj)(),i=!0===t?"human_decision":!1===t||null==t?"no_required":u.fd.includes(t)?t:"no_required";return(0,r.useEffect)(function(){t!==i&&(null==n||n(i))},[i,n,t]),l().createElement(o.Radio.Group,{value:i,onChange:function(e){return null==n?void 0:n(e.target.value)},options:[{label:l().createElement(o.Tooltip,{title:a("Do not initiate approval")},l().createElement("span",null,a("No required"))),value:"no_required"},{label:l().createElement(o.Tooltip,{title:a("Initiate approval when needed")},l().createElement("span",null,a("AI decision"))),value:"ai_decision"},{label:l().createElement(o.Tooltip,{title:a("Always initiate approval")},l().createElement("span",null,a("Human decision"))),value:"human_decision"}]})}function X(){var e=(0,c.kj)();return l().createElement(o.Form.Item,{name:["config","requiresApproval"],label:e("Approval & Notice"),tooltip:e("Configure whether task output should be sent to specified users for notification, carbon copy, or approval"),initialValue:"no_required"},l().createElement(D,null))}var L=n(2951),W=n(4893),q={type:"attachments"};function R(){var e,t=(0,c.kj)(),n=o.Form.useFormInstance(),a=(0,s.useFlowEngine)(),i=o.Form.useWatch(["config","files"],n),u=Array.isArray(e=null!=i?i:n.getFieldValue(["config","files"]))?e:[],m=(0,r.useMemo)(function(){var e,t,n,r,l,o,i,u;return(null!=(t=null!=(n=null==(u=null==(e=a.context.dataSourceManager)||null==(r=e.getDataSource)?void 0:r.call(e,"main"))||null==(l=u.getCollections)?void 0:l.call(u))?n:null==u||null==(i=u.collectionManager)||null==(o=i.getCollections)?void 0:o.call(i))?t:[]).filter(function(e){var t;return!e.hidden&&(null==(t=e.options)?void 0:t.template)==="file"&&e.name}).map(function(e){var t;return{label:null!=(t=e.title)?t:e.name,value:e.name}})},[a.context.dataSourceManager]),f=(0,r.useCallback)(function(e){n.setFieldValue(["config","files"],e)},[n]),d=(0,r.useCallback)(function(e,t){f(u.map(function(n,r){return r===e?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}({},n,t):n}))},[u,f]);return l().createElement(l().Fragment,null,l().createElement(o.Form.Item,{name:["config","files"],noStyle:!0},l().createElement(L.X,null)),l().createElement(W.f,{value:u,onChange:f,defaultValue:q,getDefaultValue:function(){return{type:"attachments"}},addText:t("Add file"),itemTitle:t("Files"),renderHeader:function(e,n){return"".concat(t("Files")," ").concat(n+1)},renderItem:function(e,n){return l().createElement(l().Fragment,null,l().createElement(o.Form.Item,{label:t("Attachment Type"),required:!0},l().createElement(o.Select,{value:e.type,options:[{label:t("File (load via Attachment)"),value:"attachments"},{label:t("File (load via Files collection)"),value:"file_id"},{label:t("File (load via URL)"),value:"file_url"}],onChange:function(t){return d(n,{type:t,collection:"file_id"===t?e.collection:void 0})}})),"file_id"===e.type?l().createElement(o.Form.Item,{label:t("Collection"),required:!0},l().createElement(o.Select,{value:e.collection,options:m,onChange:function(e){return d(n,{collection:e})}})):null,l().createElement(o.Form.Item,{label:function(e,t){switch(t){case"attachments":return e("Attachment field");case"file_id":return e("ID");case"file_url":return e("URL");default:return e("Unknown")}}(t,e.type),required:!0},l().createElement(y.WorkflowVariableInput,{value:e.value,onChange:function(e){return d(n,{value:e})}})))}}))}function B(){var e=(0,c.kj)();return l().createElement(l().Fragment,null,l().createElement(o.Form.Item,{name:["config","message","system"],label:e("Background"),tooltip:e("Additional system prompt appended to the AI employee’s definition, used to refine instructions")},l().createElement(y.WorkflowVariableTextArea,{rows:10})),l().createElement(o.Form.Item,{name:["config","message","user"],label:e("Default user message"),tooltip:e("Enter the specific task description")},l().createElement(y.WorkflowVariableTextArea,{rows:10})))}var U=n(3734);function H(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 $=(0,s.observer)(function(e){var t=e.value,n=e.onChange,a=(0,c.kj)(),i=o.Form.useFormInstance(),u=o.Form.useWatch(["config","username"],i),s=(0,f.M)(),m="string"==typeof u?s.getAIEmployeesMap()[u]:void 0,d=s.llmServices,p=s.llmServicesLoading||s.aiEmployeesLoading;(0,r.useEffect)(function(){s.getLLMServices(),s.getAIEmployees()},[s]);var v=(0,r.useMemo)(function(){var e=new Set((0,U.lf)(m,(0,U.i2)(d)).map(function(e){return"".concat(e.llmService,":").concat(e.model)}));return d.map(function(t){return{label:t.llmServiceTitle,options:t.enabledModels.filter(function(n){return e.has("".concat(t.llmService,":").concat(n.value))}).map(function(e){return{label:"".concat(t.llmServiceTitle," / ").concat(e.label),value:"".concat(t.llmService,":").concat(e.value)}})}}).filter(function(e){return e.options.length>0})},[m,d]),g=(0,r.useMemo)(function(){return new Set(v.flatMap(function(e){return e.options.map(function(e){return e.value})}))},[v]),y=(null==t?void 0:t.llmService)&&t.model?"".concat(t.llmService,":").concat(t.model):void 0;return(0,r.useEffect)(function(){y&&!g.has(y)&&(null==n||n(null))},[n,g,y]),l().createElement(o.Select,{allowClear:!0,showSearch:!0,value:y,placeholder:a("Use default model"),options:v,loading:p,notFoundContent:p?l().createElement(o.Spin,{size:"small"}):null,optionFilterProp:"label",onChange:function(e){if(!e){null==n||n(null);return}var t,r=function(e){if(Array.isArray(e))return e}(t=e.split(":"))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var l=[],o=!0,a=!1;try{for(r=r.call(e);!(o=(t=r.next()).done)&&(l.push(t.value),2!==l.length);o=!0);}catch(e){a=!0,n=e}finally{try{o||null==r.return||r.return()}finally{if(a)throw n}}return l}}(t)||function(e){if(e){if("string"==typeof e)return H(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 H(e,2)}}(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.")}(),l=r[0],o=r[1];null==n||n({llmService:l,model:o})}})});function G(){var e=(0,c.kj)();return l().createElement(o.Form.Item,{name:["config","model"],label:e("Model"),tooltip:e("Leave empty to use AI employee or global default model.")},l().createElement($,null))}function J(){var e,t,n=(e=["\n display: flex;\n flex-direction: column;\n row-gap: ","px;\n margin-bottom: ","px;\n\n .nb-ai-capability-label {\n display: inline-flex;\n align-items: center;\n column-gap: ","px;\n color: ",";\n font-size: ","px;\n font-weight: ",";\n line-height: ",";\n white-space: nowrap;\n }\n\n .nb-ai-capability-control {\n width: 100%;\n min-width: 0;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return J=function(){return n},n}var Q="preset",K="custom",Y=function(e){return null!==e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e)},Z=function(e){return Y(e)&&"string"==typeof e.name};function ee(e){var t=e.title,n=e.description,r=(0,c.kj)(),a=o.theme.useToken().token,i=t?r(t):"",u=n?r(n):"";return l().createElement("div",{style:{display:"flex",flexDirection:"column",gap:a.marginXXS,width:"100%",minWidth:0,padding:"".concat(a.paddingXXS,"px 0")}},l().createElement("div",null,i),u?l().createElement(o.Typography.Text,{type:"secondary",style:{fontSize:a.fontSizeSM},ellipsis:{tooltip:u}},u):null)}var et=(0,s.observer)(function(e){var t=e.type,n=e.value,a=e.onChange,i=(0,c.kj)(),u=o.theme.useToken().token,s=o.Form.useFormInstance(),m=o.Form.useWatch(["config","username"],s),d=(0,f.M)(),p="string"==typeof m?d.getAIEmployeesMap()[m]:void 0,v=(0,r.useMemo)(function(){var e,n,r,l,o;return"skills"===t?null!=(l=null==p||null==(o=p.skillSettings)?void 0:o.skills)?l:[]:null!=(e=null==p||null==(r=p.skillSettings)||null==(n=r.tools)?void 0:n.map(function(e){return e.name}))?e:[]},[p,t]),g=(0,r.useMemo)(function(){return[{label:l().createElement(o.Tooltip,{title:i("skills"===t?"Use the AI employee's default skills for this task.":"Use the AI employee's default tools for this task.")},l().createElement("span",null,i("Preset"))),value:Q},{label:l().createElement(o.Tooltip,{title:i("skills"===t?"Select the specific skills this task is allowed to use.":"Select the specific tools this task is allowed to use.")},l().createElement("span",null,i("Custom"))),value:K}]},[i,t]),y=Array.isArray(n)?K:Q,h="skills"===t?"aiSkills":"aiTools";return(0,r.useEffect)(function(){d.getAIEmployees()},[d]),l().createElement(o.Space,{direction:"vertical",size:u.marginXXS,style:{width:"100%"}},l().createElement(o.Radio.Group,{value:y,onChange:function(e){if(e.target.value===Q){null==a||a(void 0);return}null==a||a(v)},options:g}),y===K?l().createElement(b.l,{key:"string"==typeof m?m:void 0,multiple:!0,value:n,onChange:function(e){null==a||a(null==e?void 0:e.filter(function(e){return v.includes(e)}))},manual:!1,popupMatchSelectWidth:!0,placeholder:i("skills"===t?"Leave empty to disable skills.":"Leave empty to disable tools."),fieldNames:{label:"title",value:"name"},service:{resource:h,action:"listBinding",params:{username:m}},optionFilter:Z,optionRender:function(e){var t=e.data;return Z(t)?l().createElement(ee,{title:t.title,description:t.description}):null}}):null)});function en(e){var t=e.name,n=e.label,r=e.tooltip,u=e.children,c=o.theme.useToken().token,s=(0,i.css)(J(),c.marginXXS,c.margin,c.marginXXS,c.colorText,c.fontSize,c.fontWeightStrong,c.lineHeight);return l().createElement("div",{className:s},l().createElement("span",{className:"nb-ai-capability-label"},n,l().createElement(o.Tooltip,{title:r},l().createElement(a.QuestionCircleOutlined,null))),l().createElement("div",{className:"nb-ai-capability-control"},l().createElement(o.Form.Item,{name:t,noStyle:!0},u)))}function er(){var e=(0,c.kj)();return l().createElement(l().Fragment,null,l().createElement(o.Form.Item,{name:["config","skillSettings","skillsVersion"],initialValue:2,hidden:!0},l().createElement(L.X,null)),l().createElement(o.Form.Item,{name:["config","skillSettings","toolsVersion"],initialValue:2,hidden:!0},l().createElement(L.X,null)),l().createElement(en,{name:["config","skillSettings","skills"],label:e("Skills"),tooltip:e("Configure the skills available to this task")},l().createElement(et,{type:"skills"})),l().createElement(en,{name:["config","skillSettings","tools"],label:e("Tools"),tooltip:e("Configure the tools available to this task")},l().createElement(et,{type:"tools"})))}function el(){var e=(0,c.kj)(),t=(0,r.useMemo)(function(){return JSON.stringify({type:"object",properties:{result:{title:e("Response result"),type:"string",description:"The text message sent to the user"}}},null,2)},[e]);return l().createElement(o.Form.Item,{name:["config","structuredOutput","schema"],label:e("Structured output"),tooltip:e("Define the data structure of the final output of the node"),initialValue:t,rules:[{required:!0}],extra:l().createElement(o.Space,{size:4},l().createElement("span",null,e("Syntax references")),l().createElement(o.Typography.Link,{href:"https://json-schema.org",target:"_blank",rel:"noreferrer"},"JSON Schema"))},l().createElement(y.WorkflowVariableJsonTextArea,{json5:!0,autoSize:{minRows:10}}))}var eo=(0,s.observer)(function(e){var t=e.value,n=e.onChange,a=(0,c.kj)(),i=o.Form.useFormInstance(),u=(0,f.M)(),s=o.Form.useWatch(["config","model"],i),m=(0,r.useMemo)(function(){var e=u.llmServices;return(null==s?void 0:s.llmService)?e.find(function(e){return e.llmService===s.llmService}):void 0},[u.llmServices,s]),d=!!s&&(null==m?void 0:m.supportWebSearch)===!1;return(0,r.useEffect)(function(){u.getLLMServices()},[u]),(0,r.useEffect)(function(){d&&t&&(null==n||n(!1))},[d,n,t]),l().createElement(o.Space,{direction:"vertical"},l().createElement(o.Switch,{checked:!!t,disabled:d,onChange:function(e){return null==n?void 0:n(e)}}),d?l().createElement(o.Typography.Text,{type:"secondary"},a("Web search not supported")):null)});function ea(){var e=(0,c.kj)();return l().createElement(o.Form.Item,{name:["config","webSearch"],label:e("Web search"),tooltip:e("Enable the LLM to use web search tools during task execution"),initialValue:!1},l().createElement(eo,null))}function ei(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function eu(){var e=ei(["\n .ant-form-item-control-input-content > .ant-select,\n .ant-form-item-control-input-content > .ant-space-compact {\n width: 100%;\n }\n "]);return eu=function(){return e},e}function ec(){var e=ei(["\n display: flex;\n align-items: center;\n column-gap: ","px;\n margin-bottom: ","px;\n\n .nb-ai-employee-inline-label {\n display: inline-flex;\n align-items: center;\n column-gap: ","px;\n color: ",";\n font-size: ","px;\n font-weight: ",";\n line-height: ",";\n }\n "]);return ec=function(){return e},e}function es(){var e=(0,c.kj)(),t=o.Form.useFormInstance(),n=o.theme.useToken().token,r=(0,i.css)(eu()),s=(0,i.css)(ec(),n.marginXS,n.margin,n.marginXXS,n.colorText,n.fontSize,n.fontWeightStrong,n.lineHeight);return l().createElement(o.Tabs,{items:[{key:"task",label:e("Task"),forceRender:!0,children:l().createElement("div",{className:r},l().createElement("div",{className:s},l().createElement("span",{className:"nb-ai-employee-inline-label"},e("AI employee"),l().createElement(o.Tooltip,{title:e("Choose the AI employee for this task")},l().createElement(a.QuestionCircleOutlined,null))),l().createElement(o.Form.Item,{name:["config","username"],initialValue:u.zw,noStyle:!0},l().createElement(d,{onChange:function(e){t.setFieldValue(["config","username"],e),t.setFieldValue(["config","skillSettings","skills"],void 0),t.setFieldValue(["config","skillSettings","tools"],void 0)}}))),l().createElement(G,null),l().createElement(x,null),l().createElement(B,null),l().createElement(o.Form.Item,{label:e("Attachments"),tooltip:e("Select the file or image to be sent to the LLM")},l().createElement(R,null)),l().createElement(er,null),l().createElement(ea,null))},{key:"feedback",label:e("Feedback & Notification"),forceRender:!0,children:l().createElement("div",{className:r},l().createElement(el,null),l().createElement(X,null),l().createElement(_,null))}]})}}}]);
@@ -7,6 +7,7 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
+ import { type ChatBoxRuntime } from './chatbox/stores/runtime';
10
11
  import type { AIEmployee, ContextItem, Task } from './types';
11
12
  type ShortcutAIEmployee = Pick<AIEmployee, 'username'> & Partial<AIEmployee>;
12
13
  type ShortcutContext = {
@@ -24,5 +25,6 @@ export declare const AIEmployeeShortcut: React.FC<{
24
25
  onTaskClick?: (task: Task) => void;
25
26
  taskLoadingTitle?: string;
26
27
  loadingTaskTitle?: string;
28
+ runtime?: ChatBoxRuntime;
27
29
  }>;
28
30
  export {};
@@ -8,10 +8,12 @@
8
8
  */
9
9
  import React from 'react';
10
10
  import type { ContextItem, WorkContextOptions } from './types';
11
+ import type { ChatBoxRuntime } from './chatbox/stores/runtime';
11
12
  export declare const AddContextButton: React.FC<{
12
13
  contextItems?: ContextItem[];
13
14
  onAdd: (item: ContextItem) => void;
14
15
  onRemove: (type: string, uid: string) => void;
15
16
  disabled?: boolean;
16
17
  ignore?: (key: string, workContext: WorkContextOptions) => boolean;
18
+ runtime?: ChatBoxRuntime;
17
19
  }>;
@@ -9,4 +9,5 @@
9
9
  import React from 'react';
10
10
  export declare const AIEmployeeSwitcher: React.FC<{
11
11
  disabled?: boolean;
12
+ allowedUsernames?: string[];
12
13
  }>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ import { type BadgeProps } from 'antd';
11
+ export type ChatBoxUnreadBadgeProps = {
12
+ children?: React.ReactNode;
13
+ className?: string;
14
+ offset?: BadgeProps['offset'];
15
+ showCount?: boolean;
16
+ };
17
+ export declare const ChatBoxUnreadBadge: React.FC<ChatBoxUnreadBadgeProps>;
@@ -7,4 +7,12 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
- export declare const Conversations: React.FC;
10
+ import { type ConversationsProps as AntConversationsProps } from '@ant-design/x';
11
+ import type { Conversation } from '../../types';
12
+ import { type ModelRef } from '../stores/chat-box';
13
+ export declare const getConversationItems: (conversations: Conversation[], t: (key: string) => string) => AntConversationsProps['items'];
14
+ export type ConversationsProps = {
15
+ onOpen?: () => void;
16
+ };
17
+ export declare const Conversations: React.FC<ConversationsProps>;
18
+ export declare function getConversationModel(conversation?: Conversation): ModelRef | null;
@@ -10,7 +10,7 @@ import React from 'react';
10
10
  import { Bubble } from '@ant-design/x';
11
11
  import type { Message } from '../../types';
12
12
  type MessagePayload = Message['content'];
13
- type ChatBubbleRole = Omit<React.ComponentProps<typeof Bubble>, 'content' | 'messageRender' | 'loadingRender'> & {
13
+ export type ChatBubbleRole = Omit<React.ComponentProps<typeof Bubble>, 'content' | 'messageRender' | 'loadingRender'> & {
14
14
  nickname?: string;
15
15
  content?: MessagePayload;
16
16
  messageRender?: (content: MessagePayload) => React.ReactNode;
@@ -7,4 +7,8 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
- export declare const Messages: React.FC;
10
+ type MessagesProps = {
11
+ containerStyle?: React.CSSProperties;
12
+ };
13
+ export declare const Messages: React.FC<MessagesProps>;
14
+ export {};
@@ -7,6 +7,10 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
+ import type { LLMServiceItem } from '../../../repositories/AIConfigRepository';
11
+ import { type ModelRef } from '../stores/chat-box';
10
12
  export declare const ModelSwitcher: React.FC<{
11
13
  disabled?: boolean;
14
+ allowedModelKeys?: string[];
12
15
  }>;
16
+ export declare function getVisibleModelServices(services: LLMServiceItem[], allowedModelKeys?: string[], currentConversationModel?: ModelRef | null): LLMServiceItem[];
@@ -7,4 +7,36 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
- export declare const Sender: React.FC;
10
+ import type { AIEmployee, Attachment, ContextItem as AIContextItem, SendOptions, SkillSettings } from '../../types';
11
+ export type SenderOptions = {
12
+ placeholder?: string;
13
+ showContextSelector?: boolean;
14
+ showUpload?: boolean;
15
+ showWebSearch?: boolean;
16
+ showEmployeeSelect?: boolean;
17
+ showModelSelect?: boolean;
18
+ showDisclaimer?: boolean;
19
+ defaultSystemMessage?: string;
20
+ defaultUserMessage?: string;
21
+ allowedAIEmployees?: string[];
22
+ allowedModels?: string[];
23
+ };
24
+ export type BuildSenderSendOptionsInput = {
25
+ content: string;
26
+ currentConversation?: string;
27
+ currentEmployee?: AIEmployee;
28
+ systemMessage?: string;
29
+ attachments?: Attachment[];
30
+ contextItems?: AIContextItem[];
31
+ defaultSystemMessage?: string;
32
+ defaultUserMessage?: string;
33
+ isEditingMessage?: boolean;
34
+ editingMessageId?: string | null;
35
+ skillSettings?: SkillSettings | null;
36
+ webSearch?: boolean;
37
+ uploadEnabled?: boolean;
38
+ webSearchEnabled?: boolean;
39
+ };
40
+ export declare const mergeSenderContextItems: (contextItems?: AIContextItem[]) => AIContextItem[];
41
+ export declare const buildSenderSendOptions: ({ content, currentConversation, currentEmployee, systemMessage, attachments, contextItems, defaultSystemMessage, defaultUserMessage, isEditingMessage, editingMessageId, skillSettings, webSearch, uploadEnabled, webSearchEnabled, }: BuildSenderSendOptionsInput) => SendOptions | null;
42
+ export declare const Sender: React.FC<SenderOptions>;
@@ -9,5 +9,6 @@
9
9
  export { ChatBox } from './ChatBox';
10
10
  export { ChatBoxLayout } from './ChatBoxLayout';
11
11
  export { ChatButton } from './ChatButton';
12
+ export { ChatBoxUnreadBadge } from './ChatBoxUnreadBadge';
12
13
  export { AIEmployeeSwitcher } from './AIEmployeeSwitcher';
13
14
  export { ModelSwitcher } from './ModelSwitcher';
@@ -8,8 +8,9 @@
8
8
  */
9
9
  import { Attachment, ChatEditorRef, ContextItem, Message, SkillSettings, WebSearching } from '../../types';
10
10
  import { ChatSessionState } from '../stores/chat-messages';
11
+ import { type ChatBoxRuntime } from '../stores/runtime';
11
12
  type MessagesMeta = ChatSessionState['messagesMeta'];
12
- export declare const useChat: (sessionId?: string) => {
13
+ export declare const useChat: (sessionId?: string, runtime?: ChatBoxRuntime) => {
13
14
  use: {
14
15
  messages: () => Message[];
15
16
  messagesLoading: () => boolean;
@@ -53,14 +54,15 @@ export declare const useChat: (sessionId?: string) => {
53
54
  removeAttachment: (filename: string) => void;
54
55
  addContextItems: (items: ContextItem | ContextItem[]) => void;
55
56
  removeContextItem: (type: string, uid: string) => void;
56
- setAbortController: (controller: AbortController | undefined) => void;
57
+ setAbortController: (controller: AbortController | undefined | null) => void;
57
58
  setSkillSettings: (settings: SkillSettings | undefined) => void;
58
- setWebSearching: (webSearching: WebSearching) => void;
59
+ setWebSearching: (webSearching: WebSearching | null | undefined) => void;
59
60
  addSubAgentMessage: (subSessionId: string, msg: Message) => void;
60
61
  addSubAgentMessages: (subSessionId: string, msgs: Message[]) => void;
61
62
  updateLastSubAgentMessage: (subSessionId: string, username: string, updater: (msg: Message) => Message) => void;
62
63
  updateSubAgentConversationStatus: (subSessionId: string, status: 'pending' | 'completed') => void;
63
64
  setEditorRef: (uid: string, editorRef: ChatEditorRef | null) => void;
65
+ unregisterEditorRef: (uid: string, editorRef: ChatEditorRef) => void;
64
66
  setCurrentEditorRefUid: (uid: string) => void;
65
67
  setFlowContext: (flowContext: unknown) => void;
66
68
  migrateSessionState: (toSessionId: string) => void;
@@ -106,14 +108,15 @@ export declare const useChat: (sessionId?: string) => {
106
108
  removeAttachment: (filename: string) => void;
107
109
  addContextItems: (items: ContextItem | ContextItem[]) => void;
108
110
  removeContextItem: (type: string, uid: string) => void;
109
- setAbortController: (controller: AbortController | undefined) => void;
111
+ setAbortController: (controller: AbortController | undefined | null) => void;
110
112
  setSkillSettings: (settings: SkillSettings | undefined) => void;
111
- setWebSearching: (webSearching: WebSearching) => void;
113
+ setWebSearching: (webSearching: WebSearching | null | undefined) => void;
112
114
  addSubAgentMessage: (subSessionId: string, msg: Message) => void;
113
115
  addSubAgentMessages: (subSessionId: string, msgs: Message[]) => void;
114
116
  updateLastSubAgentMessage: (subSessionId: string, username: string, updater: (msg: Message) => Message) => void;
115
117
  updateSubAgentConversationStatus: (subSessionId: string, status: 'pending' | 'completed') => void;
116
118
  setEditorRef: (uid: string, editorRef: ChatEditorRef | null) => void;
119
+ unregisterEditorRef: (uid: string, editorRef: ChatEditorRef) => void;
117
120
  setCurrentEditorRefUid: (uid: string) => void;
118
121
  setFlowContext: (flowContext: unknown) => void;
119
122
  migrateSessionState: (toSessionId: string) => void;
@@ -7,9 +7,10 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { AIEmployee, ClearOptions, SendOptions, TriggerTaskOptions } from '../../types';
10
- export declare const useChatBoxActions: () => {
10
+ import { type ChatBoxRuntime } from '../stores/runtime';
11
+ export declare const useChatBoxActions: (runtime?: ChatBoxRuntime) => {
11
12
  clear: (options?: ClearOptions, sessionId?: string | undefined) => void;
12
- send: (options: SendOptions) => void;
13
+ send: (options: SendOptions) => Promise<void>;
13
14
  startNewConversation: () => void;
14
15
  switchAIEmployee: (aiEmployee: AIEmployee, options?: {
15
16
  clear?: ClearOptions;
@@ -6,4 +6,5 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- export declare const useChatBoxEffect: () => void;
9
+ import { type ChatBoxRuntime } from '../stores/runtime';
10
+ export declare const useChatBoxEffect: (runtime?: ChatBoxRuntime) => void;
@@ -7,7 +7,8 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { Conversation } from '../../types';
10
- export declare const useChatConversationActions: () => {
10
+ import { type ChatBoxRuntime } from '../stores/runtime';
11
+ export declare const useChatConversationActions: (runtime?: ChatBoxRuntime) => {
11
12
  conversationsService: import("ahooks/lib/useRequest/src/types").Result<{
12
13
  data: Conversation[];
13
14
  meta: {
@@ -21,5 +22,5 @@ export declare const useChatConversationActions: () => {
21
22
  lastConversationRef: (node: HTMLElement) => void;
22
23
  runSearch: (keyword?: string) => void;
23
24
  refresh: () => void;
24
- unreadCount: number;
25
+ readonly unreadCount: number;
25
26
  };