@nocobase/plugin-ai 2.2.0-alpha.4 → 2.2.0-alpha.6

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 (383) hide show
  1. package/client-v2.d.ts +1 -0
  2. package/dist/ai/docs/nocobase/api/app/env.md +28 -1
  3. package/dist/ai/docs/nocobase/api/cli/config/delete.md +8 -6
  4. package/dist/ai/docs/nocobase/api/cli/config/get.md +8 -6
  5. package/dist/ai/docs/nocobase/api/cli/config/index.md +37 -26
  6. package/dist/ai/docs/nocobase/api/cli/config/set.md +14 -8
  7. package/dist/ai/docs/nocobase/file-manager/field-attachment.md +6 -0
  8. package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +3 -12
  9. package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +9 -0
  10. package/dist/ai/docs/nocobase/file-manager/storage/amazon-s3.md +9 -0
  11. package/dist/ai/docs/nocobase/file-manager/storage/index.md +23 -0
  12. package/dist/ai/docs/nocobase/file-manager/storage/local.md +9 -0
  13. package/dist/ai/docs/nocobase/file-manager/storage/migrate-to-s3-pro.md +269 -0
  14. package/dist/ai/docs/nocobase/file-manager/storage/tencent-cos.md +9 -0
  15. package/dist/ai/docs/nocobase/get-started/installation/docker-caddy.mdx +175 -0
  16. package/dist/ai/docs/nocobase/get-started/installation/docker-nginx.mdx +176 -0
  17. package/dist/ai/docs/nocobase/get-started/installation/docker.mdx +94 -1
  18. package/dist/ai/docs/nocobase/get-started/installation/env.md +14 -4
  19. package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/comment.md +107 -0
  20. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-comment/index.md +14 -0
  21. package/dist/ai/docs/nocobase/workflow/development/api.md +259 -77
  22. package/dist/ai/docs/nocobase/workflow/development/index.md +2 -1
  23. package/dist/ai/docs/nocobase/workflow/development/migration.md +319 -0
  24. package/dist/ai/docs/nocobase/workflow/development/node.md +84 -51
  25. package/dist/ai/docs/nocobase/workflow/development/trigger.md +122 -20
  26. package/dist/client/23.65ea8c37cd4b884b.js +10 -0
  27. package/dist/client/264.cc98933ef65608b6.js +10 -0
  28. package/dist/client/336.7a8a8853196ad779.js +11 -0
  29. package/dist/client/372.da38fe350bf841f4.js +10 -0
  30. package/dist/client/416.92b74ca47e4099c4.js +10 -0
  31. package/dist/client/446.d63c38d0309fe250.js +10 -0
  32. package/dist/client/525.203778500aca5d05.js +10 -0
  33. package/dist/client/663.680bcf6272a8504d.js +10 -0
  34. package/dist/client/681.399948c18d753667.js +10 -0
  35. package/dist/client/705.380279da896021fb.js +10 -0
  36. package/dist/client/ai-employees/1.x/selector/AIContextCollector.d.ts +1 -4
  37. package/dist/client/ai-employees/permissions/PermissionsTab.d.ts +21 -5
  38. package/dist/client/index.d.ts +15 -20
  39. package/dist/client/index.js +8 -8
  40. package/dist/client/workflow/nodes/employee/index.d.ts +2 -23
  41. package/dist/client/workflow/nodes/llm/index.d.ts +2 -52
  42. package/dist/client/workflow/triggers/ai-employee/index.d.ts +2 -83
  43. package/dist/client-v2/23.1bcb6986b40723d8.js +10 -0
  44. package/dist/client-v2/264.be92ff6a4d2612f1.js +10 -0
  45. package/dist/client-v2/336.e406470429e0670e.js +11 -0
  46. package/dist/client-v2/372.d76ea1ceed2be2a4.js +10 -0
  47. package/dist/client-v2/406.341be51205c674e0.js +10 -0
  48. package/dist/client-v2/416.0e1c2d9cde43b83d.js +10 -0
  49. package/dist/client-v2/446.073d450882db29fd.js +10 -0
  50. package/dist/client-v2/457.d72febb89e88fc00.js +10 -0
  51. package/dist/client-v2/663.342341f0b2b412d8.js +10 -0
  52. package/dist/client-v2/681.082f4f1c7b841983.js +10 -0
  53. package/dist/client-v2/705.1d10027ff8cfdf79.js +10 -0
  54. package/dist/{client/ai-employees/admin/AvatarSelect.d.ts → client-v2/ai-employees/AIEmployeeDropdown.d.ts} +8 -9
  55. package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +9 -2
  56. package/dist/{client → client-v2}/ai-employees/AddContextButton.d.ts +1 -1
  57. package/dist/{client → client-v2}/ai-employees/ai-coding/AICodingButton.d.ts +2 -1
  58. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Actions.d.ts +2 -4
  59. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/AddLLMModal.d.ts +2 -4
  60. package/dist/client-v2/ai-employees/chatbox/components/Attachments.d.ts +27 -0
  61. package/dist/{client/ai-employees/permissions/Permissions.d.ts → client-v2/ai-employees/chatbox/components/ChatBox.d.ts} +2 -2
  62. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatBoxLayout.d.ts +1 -1
  63. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ContextItem.d.ts +1 -1
  64. package/dist/{client/ai-employees/admin/Employees.d.ts → client-v2/ai-employees/chatbox/components/DebugPanel.d.ts} +1 -1
  65. package/dist/{client/ai-employees/chatbox/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/Markdown.d.ts} +12 -5
  66. package/dist/{client/ai-employees/admin/ProfileSettings.d.ts → client-v2/ai-employees/chatbox/components/MessageContent.d.ts} +3 -2
  67. package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +39 -0
  68. package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolCard.d.ts +7 -5
  69. package/dist/{client/ai-employees/admin/datasource/components/basic → client-v2/ai-employees/chatbox/components}/index.d.ts +5 -2
  70. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChat.d.ts +21 -22
  71. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +3 -2
  72. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +2 -2
  73. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +8 -4
  74. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useToolCallActions.d.ts +1 -1
  75. package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +46 -0
  76. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +1 -1
  77. package/dist/{client → client-v2}/ai-employees/chatbox/model.d.ts +9 -2
  78. package/dist/client-v2/ai-employees/chatbox/roles.d.ts +162 -0
  79. package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +1 -49
  80. package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +2 -19
  81. package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +1 -46
  82. package/dist/{client → client-v2}/ai-employees/chatbox/stores/chat-tool-call.d.ts +1 -15
  83. package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +30 -0
  84. package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +31 -3
  85. package/dist/{client/ai-employees/chatbox/conversations/common.d.ts → client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts} +21 -4
  86. package/dist/{client → client-v2}/ai-employees/chatbox/utils.d.ts +21 -6
  87. package/dist/{client/ai-employees/data-visualization/context.d.ts → client-v2/ai-employees/context/chart-config.d.ts} +1 -1
  88. package/dist/{client → client-v2}/ai-employees/context/code-editor.d.ts +1 -1
  89. package/dist/{client → client-v2}/ai-employees/context/datasource.d.ts +1 -1
  90. package/dist/{client → client-v2}/ai-employees/context/flow-models.d.ts +1 -1
  91. package/dist/{client/ai-employees/admin/datasource/components/DatasourceSettingDetail.d.ts → client-v2/ai-employees/data-modeling/setup.d.ts} +6 -5
  92. package/dist/{client → client-v2}/ai-employees/datasource/DatasourceSelector.d.ts +6 -2
  93. package/dist/{client/ai-employees/admin/datasource/flow-models/DatasourceSettingModel.d.ts → client-v2/ai-employees/flow/index.d.ts} +4 -6
  94. package/dist/{client → client-v2}/ai-employees/form-filler/tools/index.d.ts +1 -1
  95. package/dist/{client → client-v2}/ai-employees/stores/ai-selection.d.ts +4 -4
  96. package/dist/{client → client-v2}/ai-employees/stores/dialog-controller.d.ts +4 -4
  97. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportCard.d.ts +2 -2
  98. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportModal.d.ts +2 -2
  99. package/dist/{client/ai-employees/1.x/selector/withAISelectable.d.ts → client-v2/ai-employees/tools/ChartGeneratorCard.d.ts} +5 -4
  100. package/dist/{client/ai-employees/ai-coding/ui → client-v2/ai-employees/tools}/CodeToolCard.d.ts +1 -1
  101. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingCard.d.ts +3 -5
  102. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingModal.d.ts +4 -6
  103. package/dist/{client/ai-employees/sub-agents/ui → client-v2/ai-employees/tools}/SubAgentDispatchCard.d.ts +4 -9
  104. package/dist/{client/ai-employees/AISettingsProvider.d.ts → client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts} +6 -8
  105. package/dist/{client/ai-employees/workflow-tasks/ui → client-v2/ai-employees/tools}/WorkflowTaskOutputCard.d.ts +7 -2
  106. package/dist/{client/ai-employees/ai-coding/tools/context-tools.d.ts → client-v2/ai-employees/tools/ai-coding.d.ts} +3 -1
  107. package/dist/client-v2/ai-employees/tools/business-report-utils.d.ts +45 -0
  108. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/CollectionNode.d.ts +2 -3
  109. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Diagram.d.ts +1 -1
  110. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Table.d.ts +2 -2
  111. package/dist/client-v2/ai-employees/tools/data-modeling/legacy-template.d.ts +13 -0
  112. package/dist/client-v2/ai-employees/tools/data-modeling/runtime.d.ts +15 -0
  113. package/dist/{client/ai-employees → client-v2/ai-employees/tools}/data-modeling/types.d.ts +27 -4
  114. package/dist/client-v2/ai-employees/tools/data-modeling/useFieldInterfaceOptions.d.ts +150 -0
  115. package/dist/{client/ai-employees/data-visualization/tools/index.d.ts → client-v2/ai-employees/tools/data-visualization.d.ts} +1 -1
  116. package/dist/client-v2/ai-employees/tools/index.d.ts +32 -0
  117. package/dist/client-v2/ai-employees/types.d.ts +101 -7
  118. package/dist/client-v2/components/RemoteSelect.d.ts +43 -0
  119. package/dist/{client → client-v2}/debug-logger.d.ts +2 -2
  120. package/dist/client-v2/f0053e745af0ad03.svg +50 -0
  121. package/dist/client-v2/index.d.ts +9 -8
  122. package/dist/client-v2/index.js +37 -1
  123. package/dist/client-v2/llm-providers/forms.d.ts +42 -0
  124. package/dist/client-v2/llm-providers/index.d.ts +23 -0
  125. package/dist/{client/ai-employees/ai-coding/tools/index.d.ts → client-v2/llm-services/utils.d.ts} +5 -3
  126. package/dist/client-v2/locale.d.ts +14 -0
  127. package/dist/{client → client-v2}/manager/ai-manager.d.ts +4 -5
  128. package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +33 -0
  129. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +44 -0
  130. package/dist/client-v2/pages/AdminSettingsPage.d.ts +24 -0
  131. package/dist/client-v2/pages/DatasourceSettingsPage.d.ts +62 -0
  132. package/dist/client-v2/pages/EmployeesPage.d.ts +53 -0
  133. package/dist/client-v2/pages/LLMServicesPage.d.ts +75 -0
  134. package/dist/client-v2/pages/MCPSettingsPage.d.ts +73 -0
  135. package/dist/client-v2/pages/drawerWidth.d.ts +10 -0
  136. package/dist/client-v2/pages/permissions/Permissions.d.ts +67 -0
  137. package/dist/client-v2/pages/permissions/PermissionsTab.d.ts +12 -0
  138. package/dist/client-v2/pages/useUnsavedChangesBeforeClose.d.ts +29 -0
  139. package/dist/client-v2/plugin.d.ts +32 -0
  140. package/dist/client-v2/repositories/AIConfigRepository.d.ts +3 -23
  141. package/dist/client-v2/workflow/components/FormValueRegistry.d.ts +12 -0
  142. package/dist/{client/components/ListCollapse.d.ts → client-v2/workflow/components/WorkflowListCollapse.d.ts} +4 -4
  143. package/dist/client-v2/workflow/constants.d.ts +26 -0
  144. package/dist/client-v2/workflow/nodes/employee/components/AIEmployeeFieldset.d.ts +11 -0
  145. package/dist/{client/ai-employees/common/CodeHighlight.d.ts → client-v2/workflow/nodes/employee/components/AIEmployeeSelect.d.ts} +5 -6
  146. package/dist/{client/ai-employees/ContextAwareTooltip.d.ts → client-v2/workflow/nodes/employee/components/Assignees.d.ts} +2 -1
  147. package/dist/client-v2/workflow/nodes/employee/components/FeedbackSettings.d.ts +17 -0
  148. package/dist/client-v2/workflow/nodes/employee/components/FileInputs.d.ts +11 -0
  149. package/dist/{client/ai-employees/AIEmployeesProvider.d.ts → client-v2/workflow/nodes/employee/components/MessageInputs.d.ts} +2 -3
  150. package/dist/client-v2/workflow/nodes/employee/components/ModelOptions.d.ts +17 -0
  151. package/dist/{client/ai-employees/admin/datasource/components/basic/CollectionCascader.d.ts → client-v2/workflow/nodes/employee/components/SkillSettings.d.ts} +6 -3
  152. package/dist/client-v2/workflow/nodes/employee/components/StructuredOutput.d.ts +11 -0
  153. package/dist/client-v2/workflow/nodes/employee/components/UserInput.d.ts +18 -0
  154. package/dist/client-v2/workflow/nodes/employee/components/WebSearchOptions.d.ts +16 -0
  155. package/dist/client-v2/workflow/nodes/employee/index.d.ts +23 -0
  156. package/dist/{client/ai-employees/AIEmployeeListItem.d.ts → client-v2/workflow/nodes/llm/components/LLMFieldset.d.ts} +3 -5
  157. package/dist/{client/admin-settings/AdminSettings.d.ts → client-v2/workflow/nodes/llm/components/Messages.d.ts} +2 -1
  158. package/dist/client-v2/workflow/nodes/llm/components/StructuredOutput.d.ts +11 -0
  159. package/dist/client-v2/workflow/nodes/llm/index.d.ts +30 -0
  160. package/dist/{client/ai-employees/1.x/selector/BlockSelector.d.ts → client-v2/workflow/register.d.ts} +2 -6
  161. package/dist/client-v2/workflow/triggers/ai-employee/AIEmployeeTriggerConfig.d.ts +11 -0
  162. package/dist/client-v2/workflow/triggers/ai-employee/Parameters.d.ts +11 -0
  163. package/dist/client-v2/workflow/triggers/ai-employee/index.d.ts +25 -0
  164. package/dist/client-v2/workflow/types.d.ts +128 -0
  165. package/dist/externalVersion.js +20 -25
  166. package/dist/locale/en-US.json +41 -1
  167. package/dist/locale/zh-CN.json +41 -1
  168. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  169. package/dist/node_modules/@langchain/xai/package.json +1 -1
  170. package/dist/node_modules/fs-extra/package.json +1 -1
  171. package/dist/node_modules/jsonrepair/package.json +1 -1
  172. package/dist/node_modules/just-bash/package.json +1 -1
  173. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  174. package/dist/node_modules/openai/package.json +1 -1
  175. package/dist/node_modules/zod/package.json +1 -1
  176. package/dist/server/ai-employees/ai-employee.js +5 -0
  177. package/dist/server/ai-employees/checkpoints/cleaner.d.ts +2 -0
  178. package/dist/server/ai-employees/checkpoints/cleaner.js +11 -1
  179. package/dist/server/workflow/nodes/employee/index.js +1 -1
  180. package/dist/server/workflow/nodes/employee/tools.js +8 -1
  181. package/package.json +5 -5
  182. package/dist/client/119.c6bf8c6433167d81.js +0 -10
  183. package/dist/client/170.d98eacdc00d9d527.js +0 -10
  184. package/dist/client/228.b4b709f93b86b6b9.js +0 -10
  185. package/dist/client/280.003b9e9788599244.js +0 -10
  186. package/dist/client/290.0f7f441d8a94f03c.js +0 -10
  187. package/dist/client/331.d547c95410476a69.js +0 -10
  188. package/dist/client/406.15c09d98faa2ccf1.js +0 -10
  189. package/dist/client/428.5eb4f53ddbb6a3b8.js +0 -10
  190. package/dist/client/462.d172d0fe91519e35.js +0 -10
  191. package/dist/client/486.dcac8f3fcec19c33.js +0 -10
  192. package/dist/client/502.2b4a51e0a8122e52.js +0 -10
  193. package/dist/client/525.33a9c8ec28be4ec4.js +0 -10
  194. package/dist/client/559.9f97ebcdb0bd6231.js +0 -10
  195. package/dist/client/561.7ec804ef39ec7dcd.js +0 -10
  196. package/dist/client/580.35ba54ff91b7fe6d.js +0 -10
  197. package/dist/client/597.b0d64948d74cf6cb.js +0 -10
  198. package/dist/client/604.89c674f35b52b4ef.js +0 -10
  199. package/dist/client/614.aa766080f6b99aab.js +0 -10
  200. package/dist/client/646.d4483b4ff23da0a0.js +0 -10
  201. package/dist/client/687.224e569a99cae4bb.js +0 -10
  202. package/dist/client/699.57c0a1acb723202a.js +0 -10
  203. package/dist/client/711.92cd94681fde7e05.js +0 -10
  204. package/dist/client/758.a9741e81911e53c3.js +0 -10
  205. package/dist/client/768.5177bff46ae71a5b.js +0 -10
  206. package/dist/client/792.abb57765453bcbcc.js +0 -10
  207. package/dist/client/820.f72ef2462b61d812.js +0 -10
  208. package/dist/client/832.0cf69e3f43c320b2.js +0 -10
  209. package/dist/client/927.d95c74ebb8fd51c9.js +0 -10
  210. package/dist/client/ai-employees/1.x/selector/AISelectorProvider.d.ts +0 -33
  211. package/dist/client/ai-employees/ProfileCard.d.ts +0 -15
  212. package/dist/client/ai-employees/admin/ChatSettings.d.ts +0 -10
  213. package/dist/client/ai-employees/admin/DataSourceSettings.d.ts +0 -10
  214. package/dist/client/ai-employees/admin/EnableSwitch.d.ts +0 -10
  215. package/dist/client/ai-employees/admin/InputsFormSettings.d.ts +0 -10
  216. package/dist/client/ai-employees/admin/KnowledgeBaseSettings.d.ts +0 -10
  217. package/dist/client/ai-employees/admin/ModelSettings.d.ts +0 -10
  218. package/dist/client/ai-employees/admin/SkillSettings.d.ts +0 -19
  219. package/dist/client/ai-employees/admin/SystemPrompt.d.ts +0 -10
  220. package/dist/client/ai-employees/admin/Templates.d.ts +0 -10
  221. package/dist/client/ai-employees/admin/ToolsSettings.d.ts +0 -17
  222. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingForm.d.ts +0 -10
  223. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingGrid.d.ts +0 -10
  224. package/dist/client/ai-employees/admin/datasource/components/basic/FieldsTransfer.d.ts +0 -17
  225. package/dist/client/ai-employees/admin/datasource/components/form-steps/CollectionSetting.d.ts +0 -17
  226. package/dist/client/ai-employees/admin/datasource/components/form-steps/FieldsSetting.d.ts +0 -15
  227. package/dist/client/ai-employees/admin/datasource/components/form-steps/FilterSetting.d.ts +0 -17
  228. package/dist/client/ai-employees/admin/datasource/components/form-steps/Preview.d.ts +0 -13
  229. package/dist/client/ai-employees/admin/datasource/components/form-steps/SortSetting.d.ts +0 -15
  230. package/dist/client/ai-employees/admin/datasource/components/form-steps/index.d.ts +0 -13
  231. package/dist/client/ai-employees/admin/datasource/components/index.d.ts +0 -9
  232. package/dist/client/ai-employees/admin/datasource/context.d.ts +0 -17
  233. package/dist/client/ai-employees/admin/datasource/flow-models/index.d.ts +0 -9
  234. package/dist/client/ai-employees/admin/datasource/index.d.ts +0 -10
  235. package/dist/client/ai-employees/admin/hooks.d.ts +0 -39
  236. package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +0 -10
  237. package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +0 -19
  238. package/dist/client/ai-employees/admin/mcp/context.d.ts +0 -15
  239. package/dist/client/ai-employees/admin/mcp/schemas.d.ts +0 -1314
  240. package/dist/client/ai-employees/ai-coding/CodeHistory.d.ts +0 -10
  241. package/dist/client/ai-employees/ai-coding/markdown/Code.d.ts +0 -16
  242. package/dist/client/ai-employees/avatars.d.ts +0 -9
  243. package/dist/client/ai-employees/built-in/utils.d.ts +0 -15
  244. package/dist/client/ai-employees/business-report/tools/index.d.ts +0 -10
  245. package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +0 -38
  246. package/dist/client/ai-employees/chart-generator/tools/index.d.ts +0 -10
  247. package/dist/client/ai-employees/chart-generator/ui/ECharts.d.ts +0 -13
  248. package/dist/client/ai-employees/chatbox/AIThinking.d.ts +0 -12
  249. package/dist/client/ai-employees/chatbox/Attachment.d.ts +0 -14
  250. package/dist/client/ai-employees/chatbox/AttachmentsHeader.d.ts +0 -10
  251. package/dist/client/ai-employees/chatbox/ChatBox.d.ts +0 -12
  252. package/dist/client/ai-employees/chatbox/ContextItemsHeader.d.ts +0 -10
  253. package/dist/client/ai-employees/chatbox/DebugPanel.d.ts +0 -16
  254. package/dist/client/ai-employees/chatbox/EditMessageHeader.d.ts +0 -10
  255. package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +0 -10
  256. package/dist/client/ai-employees/chatbox/MessageRenderer.d.ts +0 -33
  257. package/dist/client/ai-employees/chatbox/SenderFooter.d.ts +0 -13
  258. package/dist/client/ai-employees/chatbox/SenderHeader.d.ts +0 -10
  259. package/dist/client/ai-employees/chatbox/SenderPrefix.d.ts +0 -10
  260. package/dist/client/ai-employees/chatbox/Upload.d.ts +0 -12
  261. package/dist/client/ai-employees/chatbox/VirtualList.d.ts +0 -28
  262. package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +0 -13
  263. package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +0 -13
  264. package/dist/client/ai-employees/chatbox/conversations/index.d.ts +0 -9
  265. package/dist/client/ai-employees/chatbox/generative-ui/DefaultToolCard.d.ts +0 -16
  266. package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +0 -18
  267. package/dist/client/ai-employees/chatbox/hooks/useUploadFiles.d.ts +0 -12
  268. package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +0 -10
  269. package/dist/client/ai-employees/chatbox/markdown/Form.d.ts +0 -10
  270. package/dist/client/ai-employees/chatbox/markdown/Generating.d.ts +0 -10
  271. package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +0 -13
  272. package/dist/client/ai-employees/chatbox/roles.d.ts +0 -32
  273. package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +0 -9
  274. package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +0 -9
  275. package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +0 -9
  276. package/dist/client/ai-employees/chatbox/stores/chat-tools.d.ts +0 -51
  277. package/dist/client/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
  278. package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +0 -45
  279. package/dist/client/ai-employees/context/classic-pages.d.ts +0 -10
  280. package/dist/client/ai-employees/data-modeling/Table.d.ts +0 -12
  281. package/dist/client/ai-employees/data-modeling/setup.d.ts +0 -10
  282. package/dist/client/ai-employees/data-modeling/tools/index.d.ts +0 -10
  283. package/dist/client/ai-employees/data-modeling/ui/useFieldInterfaceOptions.d.ts +0 -14
  284. package/dist/client/ai-employees/datasource/DatasourceList.d.ts +0 -17
  285. package/dist/client/ai-employees/datasource/index.d.ts +0 -9
  286. package/dist/client/ai-employees/flow/events/index.d.ts +0 -9
  287. package/dist/client/ai-employees/flow/index.d.ts +0 -36
  288. package/dist/client/ai-employees/flow/models/AIEmployeeActionModel.d.ts +0 -18
  289. package/dist/client/ai-employees/flow/models/AIEmployeeShortcutModel.d.ts +0 -30
  290. package/dist/client/ai-employees/shortcuts/ShortcutList.d.ts +0 -10
  291. package/dist/client/ai-employees/shortcuts/useShortcuts.d.ts +0 -13
  292. package/dist/client/ai-employees/stores/context-aware.d.ts +0 -19
  293. package/dist/client/ai-employees/sub-agents/tools/index.d.ts +0 -10
  294. package/dist/client/ai-employees/suggestions/tools/index.d.ts +0 -10
  295. package/dist/client/ai-employees/suggestions/ui/SuggestionsOptions.d.ts +0 -13
  296. package/dist/client/ai-employees/types.d.ts +0 -259
  297. package/dist/client/ai-employees/workflow-tasks/tools/index.d.ts +0 -10
  298. package/dist/client/chat-settings/Messages.d.ts +0 -11
  299. package/dist/client/chat-settings/StructuredOutput.d.ts +0 -11
  300. package/dist/client/components/skill-settings.d.ts +0 -22
  301. package/dist/client/features/components.d.ts +0 -9
  302. package/dist/client/features/feature-manager.d.ts +0 -9
  303. package/dist/client/features/index.d.ts +0 -9
  304. package/dist/client/features/vector-database-provider.d.ts +0 -9
  305. package/dist/client/features/vector-store-provider.d.ts +0 -9
  306. package/dist/client/llm-providers/anthropic/ModelSettings.d.ts +0 -10
  307. package/dist/client/llm-providers/anthropic/ProviderSettings.d.ts +0 -10
  308. package/dist/client/llm-providers/anthropic/index.d.ts +0 -10
  309. package/dist/client/llm-providers/components/Chat.d.ts +0 -10
  310. package/dist/client/llm-providers/components/ModelSelect.d.ts +0 -10
  311. package/dist/client/llm-providers/dashscope/ModelSettings.d.ts +0 -10
  312. package/dist/client/llm-providers/dashscope/ProviderSettings.d.ts +0 -10
  313. package/dist/client/llm-providers/dashscope/index.d.ts +0 -10
  314. package/dist/client/llm-providers/deepseek/ModelSettings.d.ts +0 -10
  315. package/dist/client/llm-providers/deepseek/index.d.ts +0 -10
  316. package/dist/client/llm-providers/google-genai/MessageRenderer.d.ts +0 -13
  317. package/dist/client/llm-providers/google-genai/ModelSettings.d.ts +0 -10
  318. package/dist/client/llm-providers/google-genai/ProviderSettings.d.ts +0 -10
  319. package/dist/client/llm-providers/google-genai/index.d.ts +0 -10
  320. package/dist/client/llm-providers/kimi/ModelSettings.d.ts +0 -10
  321. package/dist/client/llm-providers/kimi/index.d.ts +0 -10
  322. package/dist/client/llm-providers/mimo/ModelSettings.d.ts +0 -10
  323. package/dist/client/llm-providers/mimo/index.d.ts +0 -10
  324. package/dist/client/llm-providers/mistral/ModelSettings.d.ts +0 -10
  325. package/dist/client/llm-providers/mistral/index.d.ts +0 -10
  326. package/dist/client/llm-providers/ollama/ModelSettings.d.ts +0 -10
  327. package/dist/client/llm-providers/ollama/ProviderSettings.d.ts +0 -10
  328. package/dist/client/llm-providers/ollama/index.d.ts +0 -10
  329. package/dist/client/llm-providers/openai/completions/ModelSettings.d.ts +0 -10
  330. package/dist/client/llm-providers/openai/completions/index.d.ts +0 -10
  331. package/dist/client/llm-providers/openai/components/ProviderSettings.d.ts +0 -10
  332. package/dist/client/llm-providers/openai/responses/ModelSettings.d.ts +0 -10
  333. package/dist/client/llm-providers/openai/responses/index.d.ts +0 -10
  334. package/dist/client/llm-providers/tongyi/ModelSettings.d.ts +0 -10
  335. package/dist/client/llm-providers/tongyi/ProviderSettings.d.ts +0 -10
  336. package/dist/client/llm-providers/tongyi/index.d.ts +0 -10
  337. package/dist/client/llm-providers/xai/ModelSettings.d.ts +0 -10
  338. package/dist/client/llm-providers/xai/index.d.ts +0 -10
  339. package/dist/client/llm-services/LLMServices.d.ts +0 -13
  340. package/dist/client/llm-services/component/DefaultModelSelect.d.ts +0 -10
  341. package/dist/client/llm-services/component/EnabledModelsSelect.d.ts +0 -23
  342. package/dist/client/llm-services/component/LLMTestFlight.d.ts +0 -10
  343. package/dist/client/llm-services/component/ModelOptionsSettings.d.ts +0 -10
  344. package/dist/client/llm-services/component/UnifiedModelSettings.d.ts +0 -10
  345. package/dist/client/llm-services/hooks/useLLMServiceCatalog.d.ts +0 -18
  346. package/dist/client/llm-services/llm-providers.d.ts +0 -27
  347. package/dist/client/llm-services/utils.d.ts +0 -35
  348. package/dist/client/manager/ai-feature-manager.d.ts +0 -9
  349. package/dist/client/repositories/AIConfigRepository.d.ts +0 -60
  350. package/dist/client/repositories/hooks/useAIConfigRepository.d.ts +0 -10
  351. package/dist/client/schemas/llms.d.ts +0 -347
  352. package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +0 -10
  353. package/dist/client/workflow/nodes/employee/components/assigness.d.ts +0 -11
  354. package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +0 -10
  355. package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +0 -12
  356. package/dist/client/workflow/nodes/employee/components/model-options.d.ts +0 -10
  357. package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +0 -10
  358. package/dist/client/workflow/nodes/employee/components/users-select.d.ts +0 -15
  359. package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +0 -10
  360. package/dist/client/workflow/nodes/employee/configuration.d.ts +0 -12
  361. package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +0 -14
  362. package/dist/client/workflow/nodes/employee/flow-models/task.d.ts +0 -13
  363. package/dist/client/workflow/nodes/llm/ModelSettings.d.ts +0 -11
  364. package/dist/client/workflow/triggers/ai-employee/Parameters.d.ts +0 -13
  365. /package/dist/{client → client-v2}/ai-employees/AISelection.d.ts +0 -0
  366. /package/dist/{client → client-v2}/ai-employees/AISelectionControl.d.ts +0 -0
  367. /package/dist/{client → client-v2}/ai-employees/ai-coding/prompts.d.ts +0 -0
  368. /package/dist/{client → client-v2}/ai-employees/ai-coding/setup.d.ts +0 -0
  369. /package/dist/{client/ai-employees/chatbox/AIEmployeeSwitch.d.ts → client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts} +0 -0
  370. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatButton.d.ts +0 -0
  371. /package/dist/{client/ai-employees/chatbox/conversations → client-v2/ai-employees/chatbox/components}/Conversations.d.ts +0 -0
  372. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Messages.d.ts +0 -0
  373. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ModelSwitcher.d.ts +0 -0
  374. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/SearchSwitch.d.ts +0 -0
  375. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Sender.d.ts +0 -0
  376. /package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolModal.d.ts +0 -0
  377. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/UserPrompt.d.ts +0 -0
  378. /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +0 -0
  379. /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useLoadMoreObserver.d.ts +0 -0
  380. /package/dist/client-v2/ai-employees/{chatbox/stores → stores}/global-store.d.ts +0 -0
  381. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/AIEmployeeShortcutListModel.d.ts +0 -0
  382. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/index.d.ts +0 -0
  383. /package/dist/{client/ai-employees/flow/events/ai-context-selection.d.ts → client-v2/workflow/components/index.d.ts} +0 -0
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["372"],{1735:function(e,t,n){n.r(t),n.d(t,{EMPLOYEE_PROMPT_VARIABLE_NAMESPACES:function(){return B},EmployeesPage:function(){return ed},createAIEmployee:function(){return H},deleteAIEmployee:function(){return V},isKnowledgeBaseEnabled:function(){return q},listAIEmployees:function(){return G},listKnowledgeBases:function(){return X},moveAIEmployee:function(){return _},updateAIEmployee:function(){return N},updateAIEmployeeEnabled:function(){return U}});var r=n(9155),l=n.n(r),a=n(2059),o=n(7375),i=n(5428),u=n(5477),c=n(3485),s=n(7694),m=n(9488),d=n(4196),f=n(3617),p=n(9312),y=n(8666);function b(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 g(e){if(Array.isArray(e))return e}function h(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function v(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){h(a,r,l,o,i,"next",e)}function i(e){h(a,r,l,o,i,"throw",e)}o(void 0)})}}function E(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function S(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function w(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 I(e,t){return g(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||C(e,t)||S()}function A(e){return function(e){if(Array.isArray(e))return b(e)}(e)||E(e)||C(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 C(e,t){if(e){if("string"==typeof e)return b(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 b(e,t)}}function F(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}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}}}}function x(){var e,t,n=(e=["\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"],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return x=function(){return n},n}var T=Object.keys(d.B)[0],O="sort",B=["user","roleName","locale","now","timestamp"],M=function(e){return"".concat(e,":")},P=(0,u.css)(x()),j=function(e){return null!==e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e)},L=function(e){var t;if(j(e))return null==(t=e.data)?void 0:t.data},R=function(e){if(!j(e))return{};var t=e.data;return j(t)?t:{}},K=function(e){return j(e)&&"string"==typeof e.username},z=function(e){return j(e)&&"string"==typeof e.key&&"string"==typeof e.name},W=function(e,t,n,r){return v(function(){var l;return F(this,function(a){if("function"!=typeof(l=e.resource(t)[n]))throw Error("Missing resource action: ".concat(t,".").concat(n));return[2,l(r)]})})()},D=function(e,t){var n=w({},e);return t.edit&&("system"===e._aboutMode&&(n.about=null),delete n._aboutMode,delete n.enabled),n};function G(e,t){return v(function(){var n,r,l;return F(this,function(a){switch(a.label){case 0:return[4,W(e,"aiEmployees","list",{page:t.page,pageSize:t.pageSize,filter:{category:t.category},sort:[O]})];case 1:return r=L(n=a.sent()),l=R(n),[2,{data:Array.isArray(r)?r.filter(K):[],total:"number"==typeof l.count?l.count:void 0}]}})})()}function _(e,t,n){return v(function(){return F(this,function(r){switch(r.label){case 0:return[4,W(e,"aiEmployees","move",{sourceId:t,targetId:n,sortField:O})];case 1:return r.sent(),[2]}})})()}function H(e,t){return v(function(){return F(this,function(n){switch(n.label){case 0:return[4,W(e,"aiEmployees","create",{values:D(t,{edit:!1})})];case 1:return n.sent(),[2]}})})()}function N(e,t){return v(function(){return F(this,function(n){switch(n.label){case 0:if(!t.username)throw Error("Missing AI employee username.");return[4,W(e,"aiEmployees","update",{values:D(t,{edit:!0}),filterByTk:t.username})];case 1:return n.sent(),[2]}})})()}function V(e,t){return v(function(){return F(this,function(n){switch(n.label){case 0:return[4,W(e,"aiEmployees","destroy",{filterByTk:t})];case 1:return n.sent(),[2]}})})()}function U(e,t,n){return v(function(){return F(this,function(r){switch(r.label){case 0:return[4,W(e,"aiEmployees","update",{filterByTk:t,values:{enabled:n}})];case 1:return r.sent(),[2]}})})()}function q(e){return v(function(){var t;return F(this,function(n){switch(n.label){case 0:return[4,W(e,"aiSettings","isKnowledgeBaseEnabled")];case 1:return[2,j(t=L(n.sent()))&&!0===t.enabled]}})})()}function X(e){return v(function(){var t;return F(this,function(n){switch(n.label){case 0:return[4,W(e,"aiKnowledgeBase","list",{fields:["key","name"],filter:{enabled:!0}})];case 1:return[2,Array.isArray(t=L(n.sent()))?t.filter(z):[]]}})})()}var Y=function(e){var t=e.disabled,n=e.value,o=e.onChange,i=a.theme.useToken().token,u=n||T,c=(0,r.useMemo)(function(){return Object.keys(d.B).map(function(e){return{seed:e,uri:(0,d.H)(e)}})},[]);return l().createElement(l().Fragment,null,l().createElement("div",{style:{marginBottom:i.marginLG+i.margin}},l().createElement(a.Avatar,{size:2*i.controlHeightLG+i.paddingSM+2*i.lineWidth,src:(0,d.H)(u)})),t?null:l().createElement(a.List,{grid:{gutter:i.margin,column:10},dataSource:c,renderItem:function(e){return l().createElement(a.List.Item,null,l().createElement("button",{"aria-label":e.seed,type:"button",onClick:function(){return null==o?void 0:o(e.seed)},onKeyDown:function(t){("Enter"===t.key||" "===t.key)&&(t.preventDefault(),null==o||o(e.seed))},style:{background:"transparent",borderColor:u===e.seed?i.colorPrimary:"transparent",borderStyle:"solid",borderWidth:2*i.lineWidth,borderRadius:"50%",cursor:"pointer",display:"inline-flex",padding:0}},l().createElement(a.Avatar,{size:i.controlHeightLG+i.paddingSM+2*i.lineWidth,src:e.uri})))}}))},Q=function(e){var t=e.edit,n=e.builtIn,r=(0,m.kj)();return l().createElement(l().Fragment,null,l().createElement(a.Form.Item,{name:"username",label:M(r("Username")),rules:[{required:!0}],preserve:!0},l().createElement(a.Input,{disabled:t})),l().createElement(a.Form.Item,{name:"nickname",label:M(r("Nickname")),rules:[{required:!0}],preserve:!0},l().createElement(a.Input,{disabled:n})),l().createElement(a.Form.Item,{name:"position",label:M(r("Position")),extra:r("Position description"),preserve:!0},l().createElement(a.Input,{disabled:n,placeholder:r("Position placeholder")})),l().createElement(a.Form.Item,{name:"avatar",label:M(r("Avatar")),preserve:!0},l().createElement(Y,{disabled:n})),l().createElement(a.Form.Item,{name:"bio",label:M(r("Bio")),preserve:!0},l().createElement(a.Input.TextArea,{disabled:n,placeholder:r("Bio placeholder")})),l().createElement(a.Form.Item,{name:"greeting",label:M(r("Greeting message")),preserve:!0},l().createElement(a.Input.TextArea,{disabled:n,placeholder:r("Greeting message placeholder")})))},$=function(e){var t,n=e.builtIn,o=e.record,i=(0,m.kj)(),u=a.theme.useToken().token,s=a.Form.useFormInstance(),d=null!=(t=a.Form.useWatch("_aboutMode",s))?t:(null==o?void 0:o.about)?"custom":"system";return(0,r.useEffect)(function(){n&&!s.getFieldValue("_aboutMode")&&s.setFieldValue("_aboutMode",(null==o?void 0:o.about)?"custom":"system")},[n,s,null==o?void 0:o.about]),l().createElement(l().Fragment,null,l().createElement(a.Alert,{message:i("Role setting description"),type:"info",showIcon:!0}),n?l().createElement(a.Form.Item,{name:"_aboutMode",preserve:!0},l().createElement(a.Radio.Group,null,l().createElement(a.Radio,{value:"system"},i("System default")),l().createElement(a.Radio,{value:"custom"},i("Custom")))):null,n&&"system"===d?l().createElement(a.Typography.Paragraph,{copyable:!0,style:{backgroundColor:u.colorFillQuaternary,borderColor:u.colorBorder,borderRadius:u.borderRadius,borderStyle:"solid",borderWidth:u.lineWidth,margin:0,maxHeight:12*u.controlHeightLG,overflowY:"auto",paddingBlock:u.paddingSM,paddingInline:u.padding,whiteSpace:"pre-wrap",wordBreak:"break-word"}},(null==o?void 0:o.defaultPrompt)||""):l().createElement(a.Form.Item,{name:"about",label:M(i("Role setting")),preserve:!0},l().createElement(c.VariableTextArea,{namespaces:B,placeholder:i("Role setting placeholder"),rows:15})))},J=function(e){var t,n=g(t=e.split(":"))||E(t)||C(t)||S();return{llmService:n[0],model:n.slice(1).join(":")}},Z=function(e){return e.llmService&&e.model?"".concat(e.llmService,":").concat(e.model):void 0},ee=function(e){return j(e)?e:{}},et=function(e){return j(e)?e:{}},en=function(){var e=(0,f.M)(),t=I((0,r.useState)(!1),2),n=t[0],l=t[1];return(0,r.useEffect)(function(){var t=!1;return v(function(){return F(this,function(n){switch(n.label){case 0:l(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,e.getLLMServices()];case 2:return n.sent(),[3,5];case 3:return console.error(n.sent()),[3,5];case 4:return t||l(!1),[7];case 5:return[2]}})})().catch(function(e){console.error(e)}),function(){t=!0}},[e]),{services:e.llmServices,loading:n||e.llmServicesLoading}},er=(0,s.observer)(function(){var e=(0,m.kj)(),t=a.Form.useFormInstance(),n=a.Form.useWatch("modelSettings",t),o=I((0,r.useState)(function(){return ee(t.getFieldValue("modelSettings"))}),2),i=o[0],u=o[1],c=en(),s=c.services,d=c.loading,f=!!i.enabled,p=(0,r.useMemo)(function(){var e=Array.isArray(i.models)?i.models:[];if(e.length)return e.map(Z).filter(function(e){return!!e});var t=Z(i);return t?[t]:[]},[i]),y=(0,r.useMemo)(function(){return s.map(function(e){return{label:e.llmServiceTitle,options:e.enabledModels.map(function(t){return{label:"".concat(e.llmServiceTitle," / ").concat(t.label),value:"".concat(e.llmService,":").concat(t.value)}})}})},[s]),b=(0,r.useMemo)(function(){var e=new Map;return y.forEach(function(t){t.options.forEach(function(t){return e.set(t.value,t.label)})}),e},[y]),g=(0,r.useCallback)(function(e){var n=w({},ee(t.getFieldValue("modelSettings")),e);u(n),t.setFieldsValue({modelSettings:n})},[t]);return(0,r.useEffect)(function(){u(ee(n))},[n]),(0,r.useEffect)(function(){if(f&&!p.length&&y.length){var e,t,n,r=null==(n=y[0])||null==(t=n.options)||null==(e=t[0])?void 0:e.value;r&&g({models:[J(r)]})}},[f,y,p.length,g]),l().createElement(l().Fragment,null,l().createElement(a.Alert,{type:"info",showIcon:!0,message:e("Restrict this AI employee to the selected models.")}),l().createElement(a.Form.Item,{label:l().createElement(a.Typography.Text,{strong:!0},M(e("Enable dedicated model configuration"))),preserve:!0},l().createElement(a.Switch,{checked:f,onChange:function(e){return g({enabled:e})}})),l().createElement(a.Form.Item,{label:l().createElement(a.Typography.Text,{strong:!0},M(e("Models"))),preserve:!0},l().createElement(a.Select,{allowClear:!0,disabled:!f,loading:d,mode:"multiple",notFoundContent:d?l().createElement(a.Spin,{size:"small"}):null,optionFilterProp:"label",options:y,placeholder:e("Select models"),showSearch:!0,tagRender:function(e){return l().createElement(a.Tag,{closable:e.closable,onClose:e.onClose},b.get(String(e.value))||e.label)},value:p,onChange:function(e){e.length?g({llmService:void 0,model:void 0,models:e.map(J)}):g({llmService:void 0,model:void 0,models:[]})}})))}),el=function(){var e=(0,m.kj)();return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return t?e(t):n}},ea=function(e){var t=e.title,n=e.description,r=a.theme.useToken().token;return l().createElement("div",null,l().createElement("div",{style:{fontWeight:r.fontWeightStrong,fontSize:r.fontSizeSM}},t),l().createElement("div",{style:{color:r.colorTextSecondary,fontSize:r.fontSizeSM}},n))},eo=(0,s.observer)(function(e){var t,n=e.builtIn,o=(0,m.kj)(),i=el(),u=(0,f.M)(),c=a.Form.useFormInstance(),s=null!=(t=a.Form.useWatch("skillSettings",c))?t:{},d=Array.isArray(s.skills)?s.skills:[];(0,r.useEffect)(function(){u.getAISkills().catch(function(e){console.error(e)})},[u]);var p=new Map(u.aiSkills.map(function(e){return[e.name,e]})),y=u.aiSkills.filter(function(e){return"GENERAL"===e.scope}),b=d.map(function(e){return p.get(e)}).filter(function(e){return!!e&&"SPECIFIED"===e.scope}),g=function(e){var t,n;return l().createElement(a.List.Item,{key:e.name},l().createElement("div",null,i(null!=(t=e.title)?t:e.name,e.name)),l().createElement(a.Typography.Text,{type:"secondary"},i(null!=(n=e.about)?n:e.description)))},h=[{key:"general-skills",label:l().createElement(ea,{title:o("General skills"),description:o("Shared by all AI employees.")}),children:l().createElement(a.List,{itemLayout:"vertical",size:"small",dataSource:y,renderItem:g})}];return n&&b.length&&h.push({key:"specific-skills",label:l().createElement(ea,{title:o("Employee-specific skills"),description:o("Only available to this AI employee.")}),children:l().createElement(a.List,{itemLayout:"vertical",size:"small",dataSource:b,renderItem:g})}),u.aiSkillsLoading?l().createElement(a.Spin,null):l().createElement(a.Collapse,{ghost:!0,size:"small",defaultActiveKey:[],items:h})}),ei=function(e,t){return"CUSTOM"===e.scope?(null==t?void 0:t.autoCall)?"ALLOW":"ASK":"ALLOW"===e.defaultPermission?"ALLOW":"ASK"},eu=(0,s.observer)(function(e){var t=e.builtIn,n=(0,m.kj)(),i=a.theme.useToken().token,u=el(),c=(0,f.M)(),s=a.Form.useFormInstance(),d=a.Form.useWatch("skillSettings",s),p=I((0,r.useState)(function(){return et(s.getFieldValue("skillSettings"))}),2),y=p[0],b=p[1],g=Array.isArray(y.tools)?y.tools:[],h=I((0,r.useState)(t&&!g.length?[]:["custom-tools"]),2),v=h[0],E=h[1],S=l().useRef(g.length),C=[{label:n("Ask"),value:"ASK"},{label:n("Allow"),value:"ALLOW"}];(0,r.useEffect)(function(){c.getAITools().catch(function(e){console.error(e)})},[c]),(0,r.useEffect)(function(){b(et(d))},[d]);var F=function(e){var t=k(w({},et(s.getFieldValue("skillSettings"))),{tools:e});b(t),s.setFieldsValue({skillSettings:t})},x=new Set(g.map(function(e){return e.name})),T=new Map(c.aiTools.map(function(e){return[e.definition.name,e]})),O=c.aiTools.filter(function(e){return"GENERAL"===e.scope&&"loader"===e.from}),B=g.filter(function(e){var t=T.get(e.name);return t&&"GENERAL"!==t.scope&&"CUSTOM"!==t.scope}),M=g.filter(function(e){var t;return(null==(t=T.get(e.name))?void 0:t.scope)==="CUSTOM"});(0,r.useEffect)(function(){var e=0===S.current;t&&0===M.length?E([]):e&&M.length>0&&E(["custom-tools"]),S.current=M.length},[t,M.length]);var P=c.aiTools.filter(function(e){return"CUSTOM"===e.scope&&!x.has(e.definition.name)}).map(function(e){var t,n,r,o;return{key:e.definition.name,label:l().createElement("div",{style:{maxWidth:8*i.controlHeightLG,minWidth:4*i.controlHeightLG}},l().createElement(a.Flex,{justify:"space-between"},l().createElement("div",null,u(null!=(t=null==(r=e.introduction)?void 0:r.title)?t:e.definition.name,e.definition.name))),l().createElement(a.Typography.Text,{type:"secondary"},u(null!=(n=null==(o=e.introduction)?void 0:o.about)?n:e.definition.description))),onClick:function(){var t=et(s.getFieldValue("skillSettings")),n=Array.isArray(t.tools)?t.tools:[];n.some(function(t){return t.name===e.definition.name})||F(A(n).concat([{name:e.definition.name,autoCall:!1}]))}}}),j=function(e){var t,r,o,i,c="definition"in e?e:T.get(e.name);if(!c)return null;var s="definition"in e?void 0:e;return l().createElement(a.List.Item,{key:c.definition.name,extra:l().createElement(a.Flex,{vertical:!0,justify:"end"},l().createElement(a.Space,null,l().createElement(a.Typography.Text,{type:"secondary"},n("Permission")),l().createElement(a.Segmented,{size:"small",options:C,value:ei(c,s),disabled:!0})))},l().createElement("div",null,u(null!=(t=null==(o=c.introduction)?void 0:o.title)?t:c.definition.name,c.definition.name)),l().createElement(a.Typography.Text,{type:"secondary"},u(null!=(r=null==(i=c.introduction)?void 0:i.about)?r:c.definition.description)))},L=[{key:"general-tools",label:l().createElement(ea,{title:n("General tools"),description:n("Shared by all AI employees.")}),children:l().createElement(a.List,{itemLayout:"vertical",size:"small",dataSource:O,renderItem:j})}];return t&&B.length&&L.push({key:"specific-tools",label:l().createElement(ea,{title:n("Employee-specific tools"),description:n("Only available to this AI employee.")}),children:l().createElement(a.List,{itemLayout:"vertical",size:"small",dataSource:B,renderItem:j})}),L.push({key:"custom-tools",label:l().createElement(ea,{title:n("Custom tools"),description:n("Created by workflow. You can add/remove and set default permissions.")}),extra:l().createElement("div",{onClick:function(e){e.stopPropagation()},onKeyDown:function(e){e.stopPropagation()}},l().createElement(a.Dropdown,{menu:{items:P},disabled:!(null==P?void 0:P.length),placement:"bottomRight"},l().createElement(a.Button,{type:"primary",icon:l().createElement(o.PlusOutlined,null),disabled:!(null==P?void 0:P.length),style:{pointerEvents:(null==P?void 0:P.length)?void 0:"none"}},n("Add tool")))),children:l().createElement(a.List,{itemLayout:"vertical",bordered:!0,dataSource:M,renderItem:function(e){var t,r,i,c,s=T.get(e.name);return s?l().createElement(a.List.Item,{key:e.name,extra:l().createElement(a.Space,null,l().createElement(a.Typography.Text,null,n("Permission")),l().createElement(a.Segmented,{size:"small",options:C,value:ei(s,e),onChange:function(t){F(g.map(function(n){return n.name===e.name?k(w({},n),{autoCall:"ALLOW"===t}):n}))}}),l().createElement(a.Button,{"aria-label":n("Delete"),icon:l().createElement(o.DeleteOutlined,null),type:"text",onClick:function(){F(g.filter(function(t){return t.name!==e.name}))}}))},l().createElement("div",null,u(null!=(t=null==(i=s.introduction)?void 0:i.title)?t:s.definition.name,s.definition.name)),l().createElement(a.Typography.Text,{type:"secondary"},u(null!=(r=null==(c=s.introduction)?void 0:c.about)?r:s.definition.description))):null}})}),c.aiToolsLoading?l().createElement(a.Spin,null):l().createElement(a.Collapse,{ghost:!0,size:"small",activeKey:v,onChange:function(e){return E(Array.isArray(e)?e.map(String):[String(e)])},items:L})}),ec=function(e){var t=e.apiClient,n=(0,m.kj)(),o=a.Form.useFormInstance(),i=a.Form.useWatch("enableKnowledgeBase",o),u=I((0,r.useState)([]),2),c=u[0],s=u[1],d=I((0,r.useState)(!1),2),f=d[0],p=d[1];return(0,r.useEffect)(function(){var e=!1;return v(function(){var n;return F(this,function(r){switch(r.label){case 0:p(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,X(t)];case 2:return n=r.sent(),e||s(n),[3,5];case 3:return console.error(r.sent()),[3,5];case 4:return e||p(!1),[7];case 5:return[2]}})})().catch(function(e){console.error(e)}),function(){e=!0}},[t]),l().createElement(l().Fragment,null,l().createElement(a.Form.Item,{name:"enableKnowledgeBase",label:M(n("Enable Knowledge Base")),valuePropName:"checked",preserve:!0},l().createElement(a.Switch,null)),l().createElement(a.Form.Item,{name:"knowledgeBasePrompt",label:M(n("Knowledge Base Prompt")),rules:[{required:!0}],preserve:!0},l().createElement(a.Input.TextArea,{disabled:!i,autoSize:{minRows:5}})),l().createElement(a.Form.Item,{name:["knowledgeBase","knowledgeBaseKeys"],label:M(n("Knowledge Base")),rules:[{required:!!i}],preserve:!0},l().createElement(a.Select,{disabled:!i,fieldNames:{label:"name",value:"key"},loading:f,mode:"multiple",options:c})),l().createElement(a.Form.Item,{name:["knowledgeBase","topK"],label:M(n("Top K")),rules:[{required:!0}],preserve:!0},l().createElement(a.InputNumber,{disabled:!i,min:1,max:100})),l().createElement(a.Form.Item,{name:["knowledgeBase","score"],label:M(n("Score")),rules:[{required:!0}],preserve:!0},l().createElement(a.InputNumber,{disabled:!i,min:0,max:1,step:.1})))},es=function(e){var t,n=e.apiClient,r=e.activeTab,o=e.edit,i=e.onTabChange,u=e.record,c=e.knowledgeBaseEnabled,s=(0,m.kj)(),d=a.Form.useFormInstance(),f=null!=(t=a.Form.useWatch("chatSettings",d))?t:{},p=!!(null==u?void 0:u.builtIn),y=!1!==f.enableSkills,b=!1!==f.enableTools;return l().createElement(a.Tabs,{activeKey:r,onChange:i,items:[{key:"profile",label:s("Profile"),children:l().createElement(Q,{edit:o,builtIn:p}),forceRender:!0},{key:"roleSetting",label:s("Role setting"),children:l().createElement($,{builtIn:p,record:u}),forceRender:!0},{key:"modelSettings",label:s("Model settings"),children:l().createElement(er,null),forceRender:!0}].concat(A(y?[{key:"skills",label:s("Skills"),children:l().createElement(eo,{builtIn:p}),forceRender:!0}]:[]),A(b?[{key:"tools",label:s("Tools"),children:l().createElement(eu,{builtIn:p}),forceRender:!0}]:[]),A(c?[{key:"knowledgeBase",label:s("KnowledgeBase"),children:l().createElement(ec,{apiClient:n}),forceRender:!0}]:[]))})},em=function(e){var t=e.record,n=e.onUpdated,o=(0,c.useApp)(),i=(0,m.kj)(),u=a.App.useApp().message,s=(0,f.M)(),d=I((0,r.useState)(!1),2),p=d[0],y=d[1];return l().createElement(a.Switch,{checked:!!t.enabled,onChange:function(e){return v(function(){return F(this,function(r){switch(r.label){case 0:y(!0),r.label=1;case 1:return r.trys.push([1,5,6,7]),[4,U(o.apiClient,t.username,e)];case 2:return r.sent(),u.success(i("Saved successfully")),[4,n()];case 3:return r.sent(),[4,s.refreshAIEmployees()];case 4:return r.sent(),[3,7];case 5:return console.error(r.sent()),u.error(i("Failed to update")),[3,7];case 6:return y(!1),[7];case 7:return[2]}})})()},loading:p,size:"small"})},ed=function(){var e=(0,c.useApp)(),t=(0,s.useFlowContext)(),n=(0,m.kj)(),u=a.theme.useToken().token,y=a.App.useApp().message,b=(0,f.M)(),g=I((0,r.useState)("business"),2),h=g[0],E=g[1],S=I((0,r.useState)([]),2),w=S[0],k=S[1],A=I((0,r.useState)(!1),2),C=A[0],x=A[1],T=I((0,r.useState)(!1),2),O=T[0],B=T[1],M=I((0,r.useState)([]),2),j=M[0],L=M[1],R=e.apiClient.auth,K=(null==R?void 0:R.role)==="root",z=(0,r.useMemo)(function(){return{color:u.colorPrimary,marginInline:-u.paddingSM,paddingBlock:u.paddingSM,paddingInlineEnd:u.paddingXS+u.paddingSM,paddingInlineStart:u.paddingSM}},[u.colorPrimary,u.paddingSM,u.paddingXS]),W=(0,r.useCallback)(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h;return v(function(){return F(this,function(n){switch(n.label){case 0:x(!0),n.label=1;case 1:return n.trys.push([1,,3,4]),[4,G(e.apiClient,{category:t})];case 2:return k(n.sent().data),[3,4];case 3:return x(!1),[7];case 4:return[2]}})})()},[e.apiClient,h]);(0,r.useEffect)(function(){W().catch(function(e){console.error(e),x(!1)})},[W]),(0,r.useEffect)(function(){v(function(){return F(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,q(e.apiClient)];case 1:return B.apply(void 0,[t.sent()]),[3,3];case 2:return console.error(t.sent()),[3,3];case 3:return[2]}})})().catch(function(e){console.error(e)})},[e.apiClient]);var D=function(e){t.viewer.open({type:"drawer",width:p.o,closable:!0,content:l().createElement(ef,{editingRecord:e,knowledgeBaseEnabled:O,onSubmitted:function(){return v(function(){return F(this,function(e){switch(e.label){case 0:return[4,W()];case 1:return e.sent(),[4,b.refreshAIEmployees()];case 2:return e.sent(),[2]}})})()}})})},H=[{title:n("Avatar"),dataIndex:"avatar",render:function(e){return e?l().createElement(a.Avatar,{shape:"circle",size:"large",src:(0,d.H)(e)}):null}},{title:n("Username"),dataIndex:"username",render:function(e,t){var r=t.missingKnowledgeBaseKeys||[];return r.length?l().createElement(a.Space,{size:"small"},l().createElement("span",null,e),l().createElement(a.Tooltip,{title:n("Missing knowledge base configuration for keys: {{keys}}. Create knowledge bases with the same keys to enable this employee normally.",{keys:r.join(", ")})},l().createElement(o.ExclamationCircleOutlined,null))):e}},{title:n("Nickname"),dataIndex:"nickname"},{title:n("Position"),dataIndex:"position"},{title:n("Enabled"),dataIndex:"enabled",render:function(e,t){return l().createElement(em,{record:t,onUpdated:function(){return W()}})}},{title:n("Actions"),key:"actions",render:function(t,r){return l().createElement(a.Space,{size:u.marginXS},l().createElement("a",{style:z,onClick:function(){return D(r)}},n("Edit")),l().createElement(a.Popconfirm,{title:n("Delete AI employee"),description:n("Are you sure you want to delete this AI employee?"),onConfirm:function(){return v(function(){return F(this,function(t){switch(t.label){case 0:if(r.builtIn&&!K)return y.warning(n("Cannot delete built-in ai employees")),[2];return[4,V(e.apiClient,r.username)];case 1:return t.sent(),y.success(n("Saved successfully")),[4,W()];case 2:return t.sent(),[4,b.refreshAIEmployees()];case 3:return t.sent(),[2]}})})()}},l().createElement("a",{style:z},n("Delete"))))}}];return l().createElement(a.Card,{style:{display:"flex",flexDirection:"column",minHeight:"100%"},styles:{body:{display:"flex",flex:1,flexDirection:"column",minHeight:0}}},l().createElement(a.Flex,{vertical:!0,gap:"middle",style:{flex:1,minHeight:0}},l().createElement(a.Flex,{justify:"space-between",wrap:"wrap",gap:"middle"},l().createElement(a.Radio.Group,{optionType:"button",value:h,options:[{label:n("Business"),value:"business"},{label:n("Developer"),value:"developer"}],onChange:function(e){return E(e.target.value)}}),l().createElement(a.Space,null,l().createElement(a.Button,{icon:l().createElement(o.ReloadOutlined,null),onClick:function(){return W()}},n("Refresh")),l().createElement(a.Button,{type:"primary",icon:l().createElement(o.PlusOutlined,null),onClick:function(){t.viewer.open({type:"drawer",width:p.o,closable:!0,content:l().createElement(ef,{knowledgeBaseEnabled:O,onSubmitted:function(){return v(function(){return F(this,function(e){switch(e.label){case 0:return[4,W()];case 1:return e.sent(),[4,b.refreshAIEmployees()];case 2:return e.sent(),[2]}})})()}})})}},n("New AI employee")))),l().createElement("div",{style:{display:"flex",flex:1,flexDirection:"column",minHeight:0}},l().createElement(c.Table,{rowKey:"username",loading:C,columns:H,dataSource:w,className:P,isDraggable:!0,onSortEnd:function(t,r){return v(function(){var l,a,o;return F(this,function(u){switch(u.label){case 0:if(!t.username||!r.username||t.username===r.username)return[2];l=w,a=w.findIndex(function(e){return e.username===t.username}),o=w.findIndex(function(e){return e.username===r.username}),a>=0&&o>=0&&k((0,i.arrayMove)(w,a,o)),u.label=1;case 1:return u.trys.push([1,5,,6]),[4,_(e.apiClient,t.username,r.username)];case 2:return u.sent(),y.success(n("Saved successfully")),[4,W()];case 3:return u.sent(),[4,b.refreshAIEmployees()];case 4:return u.sent(),[3,6];case 5:return console.error(u.sent()),k(l),y.error(n("Failed to update")),[3,6];case 6:return[2]}})})()},rowSelection:{selectedRowKeys:j,onChange:L},pagination:{defaultPageSize:20,showTotal:function(e){return n("Total {{count}} items",{count:e})}},scroll:{x:"max-content",y:"100%"}}))))},ef=function(e){var t=e.editingRecord,n=e.knowledgeBaseEnabled,o=e.onSubmitted,i=(0,c.useApp)(),u=(0,s.useFlowContext)(),d=(0,m.kj)(),f=a.App.useApp().message,p=I(a.Form.useForm(),1)[0],b=I((0,r.useState)(!1),2),g=b[0],h=b[1],E=I((0,r.useState)("profile"),2),S=E[0],A=E[1],C=I((0,r.useState)(!1),2),x=C[0],O=C[1],B=(0,r.useMemo)(function(){return t?k(w({},t),{_aboutMode:t.builtIn?t.about?"custom":"system":void 0}):{username:(0,s.randomId)(),enabled:!0,enableKnowledgeBase:!1,knowledgeBase:{knowledgeBaseKeys:[],topK:3,score:"0.6"},knowledgeBasePrompt:d("knowledge Base Prompt default"),avatar:T,builtIn:!1,category:"business"}},[t,d]),M=u.view,P=M.Header,j=M.Footer;(0,r.useEffect)(function(){p.setFieldsValue(B)},[p,B]);var L=(0,y.C)({view:u.view,form:p,initialValues:B,dirty:x,title:d("Unsaved changes"),content:d("Are you sure you don't want to save?")});return l().createElement(l().Fragment,null,l().createElement(P,{title:t?d("Edit AI employee"):d("New AI employee")}),l().createElement(a.Spin,{spinning:g},l().createElement(a.Form,{form:p,layout:"vertical",onFinish:function(e){return v(function(){return F(this,function(n){switch(n.label){case 0:h(!0),n.label=1;case 1:if(n.trys.push([1,,8,9]),!t)return[3,3];return[4,N(i.apiClient,e)];case 2:return n.sent(),[3,5];case 3:return[4,H(i.apiClient,e)];case 4:n.sent(),n.label=5;case 5:return f.success(d("Saved successfully")),[4,o()];case 6:return n.sent(),[4,u.view.close(void 0,!0)];case 7:return n.sent(),[3,9];case 8:return h(!1),[7];case 9:return[2]}})})()},onValuesChange:function(){return O(!0)}},l().createElement(es,{apiClient:i.apiClient,activeTab:S,edit:!!t,onTabChange:A,record:t,knowledgeBaseEnabled:n}))),l().createElement(j,null,l().createElement(a.Flex,{justify:"end",gap:"small"},l().createElement(a.Button,{onClick:L},d("Cancel")),l().createElement(a.Button,{type:"primary",loading:g,onClick:function(){return p.submit()}},d("Submit")))))};t.default=ed}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["416"],{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),a=n(7375),o=n(2059);function u(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 i(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 a=[],o=!0,u=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(u)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return u(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 u(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=i(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,u=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=o.theme.useToken().token,C=Array.isArray(t)?t:[],A=i((0,r.useState)(function(){return c(Math.min(C.length,b))}),2),k=A[0],F=A[1];(0,r.useEffect)(function(){F(function(e){var t=e.filter(function(e){return Number(e)<C.length});return t.length>0||0===C.length?t:c(Math.min(C.length,b))})},[b,C.length]);var x=(0,r.useMemo)(function(){return C.map(function(e,t){return{key:String(t),label:h?h(e,t):"".concat(p," ").concat(t+1),extra:l().createElement(o.Space,{size:4,onClick:function(e){return e.stopPropagation()}},l().createElement(o.Button,{type:"text",size:"small","aria-label":"move-up",icon:l().createElement(a.UpOutlined,null),disabled:0===t,onClick:function(){0!==t&&(null==n||n(s(C,t,t-1)),F(function(e){return e.map(function(e){return m(e,t,t-1)})}))}}),l().createElement(o.Button,{type:"text",size:"small","aria-label":"move-down",icon:l().createElement(a.DownOutlined,null),disabled:t===C.length-1,onClick:function(){t!==C.length-1&&(null==n||n(s(C,t,t+1)),F(function(e){return e.map(function(e){return m(e,t,t+1)})}))}}),l().createElement(o.Button,{type:"text",size:"small","aria-label":"delete",icon:l().createElement(a.DeleteOutlined,null),onClick:function(){var e=C.filter(function(e,n){return n!==t});null==n||n(e),F(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,C,n,h,E]);return l().createElement(o.Flex,{vertical:!0,gap:"middle"},C.length>0?l().createElement(o.Collapse,{size:void 0===v?"small":v,bordered:void 0===g||g,activeKey:k,items:x,onChange:function(e){return F(Array.isArray(e)?e.map(String):[String(e)])}}):l().createElement(o.Empty,{style:{border:"".concat(S.lineWidth,"px dashed ").concat(S.colorBorder),borderRadius:S.borderRadiusLG,margin:0,padding:S.padding}}),l().createElement(o.Button,{block:!0,type:"dashed",icon:l().createElement(a.PlusOutlined,null),onClick:function(){var e=f?f():u,t=C.concat(e);null==n||n(t),F(function(e){return Array.from(new Set(e.concat(String(t.length-1))))})}},d))}},6003:function(e,t,n){n.d(t,{LLMFieldset:function(){return T}});var r=n(9155),l=n.n(r),a=n(2059),o=n(3485),u=n(293),i=n(7694),c=n(312),s=n(8831),m=n(3617),f=n(9488),d=n(197),p=n(2951),v=n(4893);function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}var y={type:"text"},b={role:"user",content:[y]};function h(){return{role:"user",content:[{type:"text"}]}}function E(e){return Array.isArray(e)?e:[]}function S(e){return"text"===e.type?e.content:void 0}function C(e){return"image_url"===e.type||"image_base64"===e.type?e.image_url:void 0}function A(){var e=(0,f.kj)(),t=a.Form.useFormInstance(),n=a.Form.useWatch(["config","messages"],t),o=null!=n?n:t.getFieldValue(["config","messages"]),u=Array.isArray(o)?Array.isArray(o)?o:[]:[h()];(0,r.useEffect)(function(){Array.isArray(t.getFieldValue(["config","messages"]))||t.setFieldValue(["config","messages"],[h()])},[t]);var i=(0,r.useCallback)(function(e){t.setFieldValue(["config","messages"],e)},[t]),c=(0,r.useCallback)(function(e,t){i(u.map(function(n,r){return r===e?g({},n,t):n}))},[u,i]),s=(0,r.useCallback)(function(e,t){c(e,{content:t})},[c]),m=(0,r.useCallback)(function(e,t,n){var r,l=E(null==(r=u[e])?void 0:r.content);s(e,l.map(function(e,r){return r===t?g({},e,n):e}))},[u,s]),A=(0,r.useCallback)(function(e,t,n){var r,l=E(null==(r=u[e])?void 0:r.content);s(e,l.map(function(e,r){return r===t?n:e}))},[u,s]);return l().createElement(l().Fragment,null,l().createElement(a.Form.Item,{name:["config","messages"],noStyle:!0},l().createElement(p.X,null)),l().createElement(v.f,{value:u,onChange:i,getDefaultValue:h,defaultValue:b,addText:e("Add prompt"),itemTitle:e("Message"),renderHeader:function(t,n){return e("Message")||"".concat(n+1)},renderItem:function(t,n){var r,o=null!=(r=t.role)?r:"user";return l().createElement(l().Fragment,null,l().createElement(a.Form.Item,{label:e("Role"),required:!0},l().createElement(a.Select,{value:o,options:[{label:"System",value:"system"},{label:"User",value:"user"},{label:"Assistant",value:"assistant"}],onChange:function(e){var r;c(n,g({role:e},"user"===e?{content:E(t.content).length?E(t.content):[y]}:{message:null!=(r=t.message)?r:"",content:t.content}))}})),"user"===o?l().createElement(v.f,{value:E(t.content),onChange:function(e){return s(n,e)},defaultValue:y,getDefaultValue:function(){return{type:"text"}},addText:e("Add content"),itemTitle:e("Content"),bordered:!1,renderHeader:function(){return e("Content")},renderItem:function(t,r){var o,u=null!=(o=t.type)?o:"text";return l().createElement(l().Fragment,null,l().createElement(a.Form.Item,{label:e("Type"),required:!0},l().createElement(a.Select,{value:u,options:[{label:e("Text"),value:"text"},{label:e("Image (send via URL)"),value:"image_url"},{label:e("Image (send via Base64)"),value:"image_base64"}],onChange:function(e){A(n,r,"text"===e?{type:e,content:S(t)}:{type:e,image_url:C(t)})}})),"text"===u?l().createElement(a.Form.Item,{label:e("Content")},l().createElement(d.WorkflowVariableTextArea,{value:S(t),autoSize:{minRows:5},onChange:function(e){return m(n,r,{content:e})}})):l().createElement(a.Form.Item,{label:e("Image"),required:!0},l().createElement(d.WorkflowVariableInput,{value:function(e){var t=C(e);return"string"==typeof t?t:t&&(void 0===t?"undefined":t&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)=="object"&&!Array.isArray(t)?"string"==typeof t.url?t.url:void 0:void 0}(t),onChange:function(e){return m(n,r,{image_url:{url:e}})}})))}}):l().createElement(a.Form.Item,{label:e("Content")},l().createElement(d.WorkflowVariableTextArea,{value:t.message,onChange:function(e){return c(n,{message:e})}})))}}))}function k(){var e=(0,f.kj)();return l().createElement(l().Fragment,null,l().createElement(a.Form.Item,{name:["config","structuredOutput","schema"],label:e("JSON Schema"),extra:l().createElement(a.Space,{size:4},l().createElement("span",null,e("Syntax references"),":"),l().createElement(a.Typography.Link,{href:"https://json-schema.org",target:"_blank",rel:"noreferrer"},"JSON Schema"))},l().createElement(d.WorkflowVariableJsonTextArea,{json5:!0,autoSize:{minRows:10}})),l().createElement(a.Form.Item,{name:["config","structuredOutput","name"],label:e("Name")},l().createElement(a.Input,null)),l().createElement(a.Form.Item,{name:["config","structuredOutput","description"],label:e("Description")},l().createElement(a.Input.TextArea,null)),l().createElement(a.Form.Item,{name:["config","structuredOutput","strict"],valuePropName:"checked"},l().createElement(a.Checkbox,null,e("Strict"))))}function F(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 x(e,t,n,r,l,a,o){try{var u=e[a](o),i=u.value}catch(e){n(e);return}u.done?t(i):Promise.resolve(i).then(r,l)}function I(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 a=[],o=!0,u=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(u)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return F(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 F(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var w=function(e){return null!==e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e)},O=function(e){if(!w(e))return null;var t,n=null==(t=e.data)?void 0:t.data;return w(n)&&"string"==typeof n.name?{name:n.name,provider:"string"==typeof n.provider?n.provider:void 0}:null},j=(0,i.observer)(function(){var e=a.Form.useFormInstance(),t=(0,m.M)(),n=a.Form.useWatch(["config","llmService"],e),o=a.Form.useWatch(["config","model"],e),u="string"==typeof n?n:void 0,i=I((0,r.useState)(""),2),c=i[0],s=i[1],f=I((0,r.useState)(!1),2),d=f[0],p=f[1],v=t.llmServicesLoading;(0,r.useEffect)(function(){t.getLLMServices()},[t]);var g=(0,r.useMemo)(function(){var e,n=t.llmServices.find(function(e){return e.llmService===u}),r=c.trim().toLowerCase();return null!=(e=null==n?void 0:n.enabledModels.filter(function(e){return!r||e.label.toLowerCase().includes(r)||e.value.toLowerCase().includes(r)}).map(function(e){return{label:e.label,value:e.value}}))?e:[]},[t.llmServices,u,c]);return l().createElement(a.AutoComplete,{value:"string"==typeof o?o:void 0,options:g,open:d&&(v||g.length>0),onFocus:function(){s(""),p(!0)},onBlur:function(){return p(!1)},onSearch:function(e){s(e),p(!0)},onSelect:function(){return p(!1)},onChange:function(t){e.setFieldValue(["config","model"],t)},notFoundContent:v?l().createElement(a.Spin,{size:"small"}):null})});function T(){var e,t,n,i,m,d,p,v=(0,f.kj)(),g=a.Form.useFormInstance(),y=a.Form.useWatch(["config","llmService"],g),b="string"==typeof y?y:void 0,h=(e=(0,o.useApp)(),n=(t=I((0,r.useState)(),2))[0],i=t[1],d=(m=I((0,r.useState)(!1),2))[0],p=m[1],(0,r.useEffect)(function(){var t,n=!1;return(t=function(){var t,r;return function(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(o,"next",{value:i(0)}),u(o,"throw",{value:i(1)}),u(o,"return",{value:i(2)}),"function"==typeof Symbol&&u(o,Symbol.iterator,{value:function(){return this}}),o;function i(u){return function(i){var c=[u,i];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}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(l){switch(l.label){case 0:if(!b)return i(void 0),[2];p(!0),l.label=1;case 1:return l.trys.push([1,3,4,5]),[4,e.apiClient.resource("llmServices").get({filterByTk:b,fields:["name","provider"]})];case 2:return t=l.sent(),n||i(null==(r=O(t))?void 0:r.provider),[3,5];case 3:return l.sent(),n||i(void 0),[3,5];case 4:return n||p(!1),[7];case 5:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,l){var a=t.apply(e,n);function o(e){x(a,r,l,o,u,"next",e)}function u(e){x(a,r,l,o,u,"throw",e)}o(void 0)})})(),function(){n=!0}},[e.apiClient,b]),{provider:n,loading:d}),E=h.provider,S=h.loading,C=(0,r.useMemo)(function(){return(0,s.Tz)(E)},[E]);return l().createElement(l().Fragment,null,l().createElement(a.Form.Item,{name:["config","llmService"],label:v("LLM service"),rules:[{required:!0}]},l().createElement(u.l,{manual:!1,fieldNames:{label:"title",value:"name"},service:{resource:"llmServices",action:"list",params:{fields:["title","name"]}},onChange:function(){g.setFieldValue(["config","model"],void 0)}})),b?l().createElement(l().Fragment,null,l().createElement(a.Form.Item,{name:["config","model"],label:v("Model"),rules:[{required:!0}]},l().createElement(j,null)),S?l().createElement(a.Spin,{size:"small"}):l().createElement(a.Collapse,{bordered:!1,size:"small",items:[{key:"options",label:v("Options"),forceRender:!0,children:l().createElement(c.sB,{fields:C,namePrefix:["config"]})}]})):null,l().createElement(a.Tabs,{items:[{key:"messages",label:v("Messages"),forceRender:!0,children:l().createElement(A,null)},{key:"structured-output",label:v("Structured output"),forceRender:!0,children:l().createElement(k,null)}]}))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["446"],{4805:function(e,t,r){r.d(t,{AIEmployeeTriggerConfig:function(){return j}});var n=r(9155),l=r.n(n),a=r(7375),o=r(9180),i=r(5428),u=r(2059),c=r(4221),s=r(9488);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t,r,n,l,a,o){try{var i=e[a](o),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,l)}function p(e){return function(){var t=this,r=arguments;return new Promise(function(n,l){var a=e.apply(t,r);function o(e){d(a,n,l,o,i,"next",e)}function i(e){d(a,n,l,o,i,"throw",e)}o(void 0)})}}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(r=l.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){i=!0,n=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return m(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 b(e,t){var r,n,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(r)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(r=1,n&&(l=2&c[0]?n.return:c[0]?n.throw||((l=n.return)&&l.call(n),0):n.next)&&!(l=l.call(n,c[1])).done)return l;switch(n=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],n=0}finally{r=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var v=l().createContext(null);function g(){return(0,o.useSensors)((0,o.useSensor)(o.PointerSensor,{activationConstraint:{distance:1}}),(0,o.useSensor)(o.KeyboardSensor,{coordinateGetter:i.sortableKeyboardCoordinates}))}function E(e,t,r){var n=e.active,l=e.over;if(l&&n.id!==l.id){var a=t.map(function(e){return String(e.key)}),o=a.indexOf(String(n.id)),i=a.indexOf(String(l.id));o<0||i<0||o===i||r(o,i)}}function h(e){var t=(0,i.useSortable)({id:e.id}),r=t.attributes,n=t.isDragging,a=t.listeners,o=t.setActivatorNodeRef,u=t.setNodeRef,c=t.transform,s=t.transition;return l().createElement(v.Provider,{value:{attributes:r,listeners:a,setActivatorNodeRef:o}},l().createElement("div",{ref:u,style:f({transform:c?"translate3d(".concat(c.x,"px, ").concat(c.y,"px, 0)"):void 0,transition:s},n?{position:"relative",zIndex:1}:null)},e.children))}function O(e){var t,r,n=e.label,o=l().useContext(v),i=u.theme.useToken().token;return l().createElement("span",(t=f({ref:null==o?void 0:o.setActivatorNodeRef},null==o?void 0:o.attributes,null==o?void 0:o.listeners),r=r={"aria-label":n,style:{alignItems:"center",color:i.colorTextTertiary,cursor:"grab",display:"inline-flex"}},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t),l().createElement(a.MenuOutlined,null))}function k(e){var t=e.children,r=u.theme.useToken().token;return l().createElement("div",{style:{background:r.colorBgContainer,border:"".concat(r.lineWidth,"px solid ").concat(r.colorBorderSecondary),borderRadius:r.borderRadiusLG,padding:r.paddingSM}},t)}function S(e){var t,r=e.open,m=e.initialValue,d=e.onCancel,f=e.onSubmit,v=(0,s.kj)(),k=y(u.Form.useForm(),1)[0],S=g(),x=u.Form.useWatch("type",k),F=null!=(t=null!=x?x:k.getFieldValue("type"))?t:null==m?void 0:m.type,C=(0,n.useMemo)(function(){return c.J6.map(function(e){return{label:e,value:e}})},[]);return(0,n.useEffect)(function(){r?k.setFieldsValue(null!=m?m:{type:"string"}):k.resetFields()},[k,m,r]),l().createElement(u.Modal,{open:r,title:v("Add parameter"),onCancel:function(){k.resetFields(),d()},onOk:function(){return p(function(){return b(this,function(e){switch(e.label){case 0:return[4,k.validateFields()];case 1:var t,r,n,l;return f({name:null!=(r=(t=e.sent()).name)?r:"",type:null!=(n=t.type)?n:"string",description:t.description,enumOptions:"enum"===t.type?null!=(l=t.enumOptions)?l:[]:void 0,required:t.required}),k.resetFields(),[2]}})})()},okText:v("Submit"),cancelText:v("Cancel"),destroyOnClose:!0},l().createElement(u.Form,{form:k,layout:"vertical"},l().createElement(u.Form.Item,{name:"name",label:v("Parameter name"),rules:[{required:!0},{pattern:c.kY,message:c.cu}]},l().createElement(u.Input,null)),l().createElement(u.Form.Item,{name:"type",label:v("Parameter type"),rules:[{required:!0}],initialValue:"string"},l().createElement(u.Select,{options:C})),l().createElement(u.Form.Item,{name:"description",label:v("Parameter description")},l().createElement(u.Input.TextArea,null)),"enum"===F?l().createElement(u.Form.Item,{label:v("Options"),required:!0},l().createElement(u.Form.List,{name:"enumOptions",rules:[{validator:function(e,t){return p(function(){return b(this,function(e){if(!Array.isArray(t)||0===t.length)throw Error(v("Options is required"));return[2]})})()}}]},function(e,t,r){return l().createElement(u.Flex,{vertical:!0,gap:"small"},l().createElement(o.DndContext,{sensors:S,collisionDetection:o.closestCenter,onDragEnd:function(r){return E(r,e,t.move)}},l().createElement(i.SortableContext,{items:e.map(function(e){return String(e.key)}),strategy:i.verticalListSortingStrategy},l().createElement(u.Flex,{vertical:!0,gap:"small"},e.map(function(e){return l().createElement(h,{key:e.key,id:String(e.key)},l().createElement(u.Flex,{gap:"small",align:"center"},l().createElement(O,{label:v("Drag to sort")}),l().createElement(u.Form.Item,{name:[e.name],rules:[{required:!0}],noStyle:!0},l().createElement(u.Input,null)),l().createElement(u.Button,{type:"text",size:"small","aria-label":v("Delete"),icon:l().createElement(a.DeleteOutlined,null),onClick:function(){return t.remove(e.name)}})))})))),l().createElement(u.Form.ErrorList,{errors:r.errors}),l().createElement(u.Button,{block:!0,type:"dashed","aria-label":v("Add option"),icon:l().createElement(a.PlusOutlined,null),onClick:function(){return t.add("")}},v("Add option")))})):null,l().createElement(u.Form.Item,{name:"required",valuePropName:"checked"},l().createElement(u.Checkbox,null,v("Required")))))}function x(e){var t=e.value,r=(0,s.kj)(),n=u.theme.useToken().token;return t?l().createElement(u.Space,{size:"middle"},l().createElement(u.Typography.Text,{strong:!0,style:{marginLeft:n.margin}},t.name),l().createElement(u.Typography.Text,{type:"secondary"},t.type),t.required?l().createElement(u.Typography.Text,{type:"danger"},r("required")):null):null}function F(e){var t=e.field,r=e.index,n=e.operations,o=e.onEdit,i=(0,s.kj)(),c=u.Form.useFormInstance().getFieldValue(["config","parameters",t.name]);return l().createElement(u.Space,null,(null==c?void 0:c.description)?l().createElement(u.Tooltip,{title:c.description},l().createElement(a.QuestionCircleOutlined,null)):null,l().createElement(u.Button,{type:"text",size:"small","aria-label":i("Edit"),icon:l().createElement(a.EditOutlined,null),onClick:function(){return o(r)}}),l().createElement(u.Button,{type:"text",size:"small","aria-label":i("Delete"),icon:l().createElement(a.DeleteOutlined,null),onClick:function(){return n.remove(t.name)}}))}function C(){var e,t,r=(0,s.kj)(),c=u.Form.useFormInstance(),m=g(),d=y((0,n.useState)(null),2),f=d[0],v=d[1],C=y((0,n.useState)(!1),2),j=C[0],w=C[1],P=null!=(e=null!=(t=u.Form.useWatch(["config","parameters"],c))?t:c.getFieldValue(["config","parameters"]))?e:[],I=null==f?void 0:P[f];return l().createElement(u.Form.Item,{label:r("Parameters"),extra:r("The parameters required by the tool"),required:!0},l().createElement(u.Form.List,{name:["config","parameters"],rules:[{validator:function(e,t){return p(function(){return b(this,function(e){if(!Array.isArray(t))throw Error(r("Parameters is required"));return[2]})})()}}]},function(e,t,n){return l().createElement(u.Flex,{vertical:!0,gap:"small"},l().createElement(o.DndContext,{sensors:m,collisionDetection:o.closestCenter,onDragEnd:function(r){return E(r,e,t.move)}},l().createElement(i.SortableContext,{items:e.map(function(e){return String(e.key)}),strategy:i.verticalListSortingStrategy},l().createElement(u.Flex,{vertical:!0,gap:"small"},e.map(function(e,n){return l().createElement(h,{key:e.key,id:String(e.key)},l().createElement(k,null,l().createElement(u.Flex,{gap:"small",align:"center"},l().createElement(O,{label:r("Drag to sort")}),l().createElement(u.Form.Item,{name:[e.name],noStyle:!0},l().createElement(x,null)),l().createElement("div",{style:{flex:1,minWidth:0}}),l().createElement(F,{field:e,index:n,operations:t,onEdit:v}))))})))),l().createElement(u.Form.ErrorList,{errors:n.errors}),l().createElement(u.Button,{block:!0,type:"dashed","aria-label":r("Add parameter"),icon:l().createElement(a.PlusOutlined,null),onClick:function(){return w(!0)}},r("Add parameter")),l().createElement(S,{open:j||null!==f,initialValue:I,onCancel:function(){w(!1),v(null)},onSubmit:function(e){null==f?t.add(e):(t.remove(f),t.add(e,f)),w(!1),v(null)}}))}))}function j(){return l().createElement(C,null)}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["525"],{620:function(n,e,u){u.r(e),u.d(e,{AIResourceContextCollector:function(){return c}});var t=u(9155),o=u(3342),r=u(1751),c=function(n){var e=n.uid,u=(0,o.useResourceActionContext)();return(0,t.useEffect)(function(){if("collections:list"===e&&"function"==typeof(null==u?void 0:u.refresh))return(0,r.I8)(function(){return u.refresh()})},[e,u]),null}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["663"],{8346:function(t,e,r){r.r(e),r.d(e,{AdminSettingsPage:function(){return S},listStorageOptions:function(){return d},loadAdminSettings:function(){return m},saveAdminSettings:function(){return g}});var n=r(9155),a=r.n(n),o=r(2059),u=r(3485),i=r(9488);function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function c(t,e,r,n,a,o,u){try{var i=t[o](u),l=i.value}catch(t){r(t);return}i.done?e(l):Promise.resolve(l).then(n,a)}function s(t){return function(){var e=this,r=arguments;return new Promise(function(n,a){var o=t.apply(e,r);function u(t){c(o,n,a,u,i,"next",t)}function i(t){c(o,n,a,u,i,"throw",t)}u(void 0)})}}function f(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r,n,a=null==t?null:"u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var o=[],u=!0,i=!1;try{for(a=a.call(t);!(u=(r=a.next()).done)&&(o.push(r.value),!e||o.length!==e);u=!0);}catch(t){i=!0,n=t}finally{try{u||null==a.return||a.return()}finally{if(i)throw n}}return o}}(t,e)||function(t,e){if(t){if("string"==typeof t)return l(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if("Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return l(t,e)}}(t,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 p(t,e){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},u=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(u,"next",{value:l(0)}),i(u,"throw",{value:l(1)}),i(u,"return",{value:l(2)}),"function"==typeof Symbol&&i(u,Symbol.iterator,{value:function(){return this}}),u;function l(i){return function(l){var c=[i,l];if(r)throw TypeError("Generator is already executing.");for(;u&&(u=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=e.call(t,o)}catch(t){c=[6,t],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var y=function(t){return null!==t&&(void 0===t?"undefined":t&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)=="object"&&!Array.isArray(t)},b=function(t){var e;if(y(t))return null==(e=t.data)?void 0:e.data},h=function(t){return y(t)&&"string"==typeof t.label&&"string"==typeof t.value},v=function(t,e,r,n){return s(function(){var a;return p(this,function(o){if("function"!=typeof(a=t.resource(e)[r]))throw Error("Missing resource action: ".concat(e,".").concat(r));return[2,a(n)]})})()};function m(t){return s(function(){var e;return p(this,function(r){switch(r.label){case 0:return[4,v(t,"aiSettings","get")];case 1:var n;return[2,y(n=e=b(r.sent()))&&(void 0===n.storage||"string"==typeof n.storage)?e:{}]}})})()}function d(t){return s(function(){var e;return p(this,function(r){switch(r.label){case 0:return[4,v(t,"aiSettings","listStorages")];case 1:return[2,Array.isArray(e=b(r.sent()))?e.filter(h):[]]}})})()}function g(t,e){return s(function(){return p(this,function(r){switch(r.label){case 0:return[4,v(t,"aiSettings","update",{values:e,filterByTk:1})];case 1:return r.sent(),[2]}})})()}var S=function(){var t=(0,u.useApp)(),e=(0,i.kj)(),r=o.App.useApp().message,l=f(o.Form.useForm(),1)[0],c=f((0,n.useState)(!0),2),y=c[0],b=c[1],h=f((0,n.useState)(!1),2),v=h[0],S=h[1],w=f((0,n.useState)([]),2),A=w[0],E=w[1];return(0,n.useEffect)(function(){var e=!1;return s(function(){var r,n,a,o;return p(this,function(u){switch(u.label){case 0:b(!0),u.label=1;case 1:return u.trys.push([1,,3,4]),[4,Promise.all([m(t.apiClient),d(t.apiClient)])];case 2:if(a=(n=f.apply(void 0,[u.sent(),2]))[0],o=n[1],e)return[2];return l.setFieldsValue({storage:null!=(r=a.storage)?r:"local"}),E(o),[3,4];case 3:return e||b(!1),[7];case 4:return[2]}})})().catch(function(t){e||(console.error(t),b(!1))}),function(){e=!0}},[t.apiClient,l]),a().createElement(o.Card,null,a().createElement(o.Spin,{spinning:y},a().createElement(o.Form,{form:l,layout:"vertical",onFinish:function(n){return s(function(){return p(this,function(a){switch(a.label){case 0:S(!0),a.label=1;case 1:return a.trys.push([1,,3,4]),[4,g(t.apiClient,n)];case 2:return a.sent(),r.success(e("Saved successfully")),[3,4];case 3:return S(!1),[7];case 4:return[2]}})})()}},a().createElement(o.Form.Item,{name:"storage",label:e("Files storage"),initialValue:"local"},a().createElement(o.Select,{options:A})),a().createElement(o.Form.Item,null,a().createElement(o.Button,{type:"primary",htmlType:"submit",loading:v},e("Save"))))))};e.default=S}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["681"],{6600:function(e,t,n){n.r(t),n.d(t,{DataModelingModal:function(){return ed}});var r=n(9155),o=n.n(r),a=n(2059),l=n(7375),i=n(4069),c=n(7251),u=n(7174),s=n(3485),f=n(9488),d=n(764),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 a,l,i=(a=o[1],l=[],a.replace(/(['"])(.*?)\1/g,function(e,t,n){return l.push(n),""}),l.length?l: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,a,l){try{var i=e[a](l),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 a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(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=a.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(a.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(a.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(a.List.Item,{style:{position:"relative"}},o().createElement(a.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(a.Flex,{vertical:!0},o().createElement("div",null,e.title,e.primaryKey?o().createElement(l.KeyOutlined,{style:{marginLeft:n.marginXXS}}):null),o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},e.name)),o().createElement(a.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,a,l,i;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:c(0)}),i(l,"throw",{value:c(1)}),i(l,"return",{value:c(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(a=0)),a;)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 a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],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 a=!t.length,l={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:a?"left":"top",sourcePosition:a?"right":"bottom",width:n,height:r*(((null==(t=e.data.fields)?void 0:t.length)||0)+1)})}),edges:t},[4,T.layout(l)];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 a=o.apply(e,t);function l(e){j(a,n,r,l,i,"next",e)}function i(e){j(a,n,r,l,i,"throw",e)}l(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)}}}),a=[],l=function(e,t){var n="".concat(e,"-").concat(t),o="".concat(t,"-").concat(e);r.has(n)||r.has(o)||(a.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)?(l(d.name,O),l(O,g)):l(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:a}},D=function(e){var t=e.collections,n=(0,s.useGlobalTheme)().isDarkTheme,l=a.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*l.controlHeightLG,O=l.controlHeightLG+l.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,a=e.dataSourceManager.collectionFieldInterfaceManager,l=(null==a||null==(r=a.getFieldInterfaces)?void 0:r.call(a))||[],i=(null==a||null==(o=a.getFieldInterfaceGroups)?void 0:o.call(a))||{};return n=l.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,a,l){try{var i=e[a](l),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 B(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 _(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 a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(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=_(a.Form.useForm(),1)[0];return o().createElement(a.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,l=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,a={};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)&&(a[r]=e[r]);return a}if(a=function(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[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)&&(a[r]=e[r]);return a}(e,["title","editable","EditComponent","ReadComponent","children","dataIndex","record","handleSave"]),p=_((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,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:c(0)}),i(l,"throw",{value:c(1)}),i(l,"return",{value:c(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(a=0)),a;)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 a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],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 a=e.apply(t,n);function l(e){N(a,r,o,l,i,"next",e)}function i(e){N(a,r,o,l,i,"throw",e)}l(void 0)})})()},O=(null==i?void 0:i(s))||c;if(n){var w=l?o().createElement(l,{record:s,save:g,focusRef:b}):o().createElement(a.Input,{ref:b,onPressEnter:g,onBlur:g});O=y?o().createElement(a.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=a.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(a.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(a.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?B(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,l=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 B(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 B(K({},e),{label:e.label,options:e.options.map(function(e){return B(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(a.Select,{ref:l,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)(),l=(0,s.useApp)(),i=a.theme.useToken().token,c={fieldTitle:5*i.controlHeightLG,fieldName:4*i.controlHeightLG,fieldInterface:5*i.controlHeightLG,description:9*i.controlHeightLG};return[a.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,B(K({},t),{collection:e}))},ReadComponent:function(e){var t,n=e.interface;if(!n)return null;var i=null==(t=l.dataSourceManager.collectionFieldInterfaceManager)?void 0:t.getFieldInterface(n);return o().createElement(a.Tag,null,i?w(i.title,r):n)}},{title:r("Description"),dataIndex:"description",key:"description",width:c.description}].map(function(e){return e.editable?B(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=a.theme.useToken().token,r={color:n.colorTextSecondary,marginRight:n.marginXS,marginLeft:n.marginXXL},l=[["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(a.Tag,{key:e.value},e.label," (",e.value,")")})):null,l.map(function(e){var t=_(e,2),n=t[0],a=t[1];return a?o().createElement("div",{key:n},o().createElement("span",{style:r},n,":"),o().createElement("span",null,a)):null}))},ee=function(e){var t=e.record,n=e.collectionIndex,r=e.rowClassName,l=Q(t,n,e.updateFieldRecord);return o().createElement(a.Table,{rowKey:"name",rowClassName:r,columns:l,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,l=e.updateCollectionRecord,i=e.updateFieldRecord,c=a.theme.useToken().token,u=$(l),s=(t=a.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(a.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,a){var l=n.findIndex(function(t){return t.name===e.name});return a?o().createElement(ee,{record:e,collectionIndex:l,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,a,l){try{var i=e[a](l),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 a=e.apply(t,n);function l(e){er(a,r,o,l,i,"next",e)}function i(e){er(a,r,o,l,i,"throw",e)}l(void 0)})}}function ea(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function el(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,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:c(0)}),i(l,"throw",{value:c(1)}),i(l,"return",{value:c(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(a=0)),a;)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 a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],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=a.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 el(ea({},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=ea(el(ea({},r.uiSchema,e.uiSchema),{title:e.title}),e.enum?{enum:e.enum}:{});return el(ea({},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=d.y.use.setAdjustArgs(),v={updateCollectionRecord:(0,r.useCallback)(function(e,r){return eo(function(){var o,a;return ec(this,function(l){switch(l.label){case 0:if(!(null==(o=eu(t.args.collections))?void 0:o[e]))return[2];return(a=ei(o))[e]=ea({},a[e],r),[4,null==n?void 0:n(el(ea({},t.args),{collections:a}))];case 1:return l.sent(),[2]}})})()},[n,t.args]),updateFieldRecord:(0,r.useCallback)(function(e,r,o){return eo(function(){var a,l,i,c,u;return ec(this,function(s){switch(s.label){case 0:if(!(null==(i=eu(t.args.collections))||null==(l=i[e])||null==(a=l.fields)?void 0:a[r]))return[2];return c=ei(i),(u=ei(c[e].fields))[r]=ea({},u[r],o),c[e]=el(ea({},c[e]),{fields:u}),[4,null==n?void 0:n(el(ea({},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(el(ea({},t.args),{collections:m}))},[m,b,t.args]),eu(t.args.collections))?o().createElement(a.Tabs,{defaultActiveKey:"collections",items:[{key:"collections",label:p("Collections"),icon:o().createElement(l.DatabaseOutlined,null),children:o().createElement(et,{collections:m,updateCollectionRecord:h,updateFieldRecord:g})},{key:"graph",icon:o().createElement(l.NodeIndexOutlined,null),label:p("Diagram"),children:o().createElement(es,null,o().createElement(D,{collections:m}))},{key:"definition",icon:o().createElement(l.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(a.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=self.webpackChunk_nocobase_plugin_ai||[]).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 O=(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:O,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?"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 O(){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 x(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 D(){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 x(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 x(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 X(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 L(){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(X,null))}var _=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(_.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(_.X,null)),l().createElement(o.Form.Item,{name:["config","skillSettings","toolsVersion"],initialValue:2,hidden:!0},l().createElement(_.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(O,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(L,null),l().createElement(D,null))}]})}}}]);
@@ -6,10 +6,7 @@
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
- /// <reference types="react" />
10
- export declare const AIFormContextCollector: React.FC<{
11
- uid: string;
12
- }>;
9
+ import React from 'react';
13
10
  export declare const AIResourceContextCollector: React.FC<{
14
11
  uid: string;
15
12
  }>;
@@ -7,13 +7,29 @@
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 PermissionsTab: ({ TabLayout, activeKey, currentUserRole }: {
11
- TabLayout: any;
12
- activeKey: any;
13
- currentUserRole: any;
14
- }) => {
10
+ type PermissionsTabProps = {
11
+ TabLayout: React.FC<{
12
+ children?: React.ReactNode;
13
+ }>;
14
+ activeKey: string;
15
+ currentUserRole?: {
16
+ name: string;
17
+ title: string;
18
+ description?: string;
19
+ strategy?: {
20
+ actions?: string[];
21
+ };
22
+ default?: boolean;
23
+ hidden?: boolean;
24
+ allowConfigure?: boolean;
25
+ allowNewMenu?: boolean;
26
+ snippets?: string[];
27
+ } | null;
28
+ };
29
+ export declare const PermissionsTab: ({ TabLayout, activeKey, currentUserRole }: PermissionsTabProps) => {
15
30
  key: string;
16
31
  label: any;
17
32
  sort: number;
18
33
  children: React.JSX.Element;
19
34
  };
35
+ export {};
@@ -6,13 +6,9 @@
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
- /// <reference types="react" />
10
9
  import { Plugin } from '@nocobase/client';
11
- import { AIManager } from './manager/ai-manager';
12
- import { AIPluginFeatureManagerImpl } from './manager/ai-feature-manager';
13
- import './ai-employees/flow/events';
14
- declare const Chat: import("react").FC<{}>;
15
- declare const ModelSelect: import("react").FC<{}>;
10
+ import { AIManager } from '../client-v2/manager/ai-manager';
11
+ import { AIPluginFeatureManagerImpl } from '../client-v2/manager/ai-feature-manager';
16
12
  export declare class PluginAIClient extends Plugin {
17
13
  features: AIPluginFeatureManagerImpl;
18
14
  aiManager: AIManager;
@@ -24,17 +20,16 @@ export declare class PluginAIClient extends Plugin {
24
20
  setupWorkflow(): void;
25
21
  }
26
22
  export default PluginAIClient;
27
- export { ModelSelect, Chat };
28
- export type { LLMProviderOptions, ToolOptions } from './manager/ai-manager';
29
- export type { AIEmployee, ToolCall } from './ai-employees/types';
30
- export * from './features';
31
- export { defaultVectorStorePropForm } from './features/components';
32
- export { AIEmployeeActionModel } from './ai-employees/flow/models/AIEmployeeActionModel';
33
- export { useChatMessagesStore } from './ai-employees/chatbox/stores/chat-messages';
34
- export { useChat } from './ai-employees/chatbox/hooks/useChat';
35
- export { useChatBoxStore } from './ai-employees/chatbox/stores/chat-box';
36
- export { useChatBoxActions } from './ai-employees/chatbox/hooks/useChatBoxActions';
37
- export { useChatConversationsStore } from './ai-employees/chatbox/stores/chat-conversations';
38
- export { useAIConfigRepository } from './repositories/hooks/useAIConfigRepository';
39
- export { ProfileCard } from './ai-employees/ProfileCard';
40
- export { avatars } from './ai-employees/avatars';
23
+ export type { LLMProviderOptions, ToolModalProps, ToolOptions } from '../client-v2/manager/ai-manager';
24
+ export type { AIEmployee, ToolCall } from '../client-v2/ai-employees/types';
25
+ export * from '../client-v2/features';
26
+ export { defaultVectorStorePropForm } from '../client-v2/features/components';
27
+ export { AIEmployeeActionModel } from '../client-v2/models/ai-employees/AIEmployeeActionModel';
28
+ export { useChatMessagesStore } from '../client-v2/ai-employees/chatbox/stores/chat-messages';
29
+ export { useChat } from '../client-v2/ai-employees/chatbox/hooks/useChat';
30
+ export { useChatBoxStore } from '../client-v2/ai-employees/chatbox/stores/chat-box';
31
+ export { useChatBoxActions } from '../client-v2/ai-employees/chatbox/hooks/useChatBoxActions';
32
+ export { useChatConversationsStore } from '../client-v2/ai-employees/chatbox/stores/chat-conversations';
33
+ export { useAIConfigRepository } from '../client-v2/repositories/hooks/useAIConfigRepository';
34
+ export { AIEmployeeProfileCard as ProfileCard } from '../client-v2/ai-employees/ProfileCard';
35
+ export { avatars } from '../client-v2/ai-employees/avatars';