@nocobase/plugin-ai 2.1.0-alpha.10 → 2.1.0-alpha.11

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 (175) hide show
  1. package/dist/{server/ai-employees/built-in/data-modeling/prompt.d.ts → ai/ai-employees/cole.d.ts} +1 -3
  2. package/dist/{server/ai-employees/built-in/nocobase-assistant/prompt.js → ai/ai-employees/cole.js} +15 -7
  3. package/dist/{server/ai-employees/built-in/data-organizer/prompt.d.ts → ai/ai-employees/dara.d.ts} +1 -3
  4. package/dist/{server/ai-employees/built-in/data-visualization/prompt.js → ai/ai-employees/dara.js} +21 -13
  5. package/dist/{server/ai-employees/built-in/data-visualization/prompt.d.ts → ai/ai-employees/dex.d.ts} +1 -3
  6. package/dist/{server/ai-employees/built-in/data-organizer/prompt.js → ai/ai-employees/dex.js} +15 -7
  7. package/dist/ai/ai-employees/ellis.d.ts +10 -0
  8. package/dist/{server/ai-employees/built-in/email-assistant/prompt.js → ai/ai-employees/ellis.js} +19 -11
  9. package/dist/ai/ai-employees/lexi.d.ts +10 -0
  10. package/dist/{server/ai-employees/built-in/translator/prompt.js → ai/ai-employees/lexi.js} +15 -7
  11. package/dist/ai/ai-employees/vera.d.ts +10 -0
  12. package/dist/{server/ai-employees/built-in/research-analyst/prompt.js → ai/ai-employees/vera.js} +15 -7
  13. package/dist/ai/ai-employees/viz.d.ts +10 -0
  14. package/dist/{server/ai-employees/built-in/insights-analyst/prompt.js → ai/ai-employees/viz.js} +15 -7
  15. package/dist/ai/skills/document-search/SKILLS.md +69 -0
  16. package/dist/ai/tools/chartGenerator.js +14 -3
  17. package/dist/ai/tools/formFiller.js +13 -2
  18. package/dist/{server/ai-employees/built-in/ai-coding/prompt.d.ts → ai/tools/getSkill.d.ts} +1 -3
  19. package/dist/{server/ai-employees/built-in/data-modeling/index.js → ai/tools/getSkill.js} +39 -32
  20. package/dist/ai/tools/suggestions.js +13 -2
  21. package/dist/client/{a06081a2b06f1c14.js → 200ac94fc7f6e97b.js} +1 -1
  22. package/dist/client/27539a4356faebb1.js +10 -0
  23. package/dist/client/2db4faf814179140.js +10 -0
  24. package/dist/client/{521c94db45b1e031.js → 4f9117811ffc7ab3.js} +1 -1
  25. package/dist/client/{c49557cc10afc6b2.js → 5af11e24bcb39ac4.js} +1 -1
  26. package/dist/client/62bf6ed27c8de0df.js +10 -0
  27. package/dist/client/6dc8c9b641452067.js +10 -0
  28. package/dist/client/8169eb2b48edf6c7.js +10 -0
  29. package/dist/client/81f6436fd9322dc1.js +10 -0
  30. package/dist/client/{33811690df6f43ba.js → 85af3d6d85eb5b2b.js} +1 -1
  31. package/dist/client/87bc4d3cb55e4006.js +10 -0
  32. package/dist/client/9ac11803370a9625.js +10 -0
  33. package/dist/client/9c00efb8eb0b4d69.js +10 -0
  34. package/dist/client/{f74949b95f9bbb91.js → a4948d5b70172a69.js} +1 -1
  35. package/dist/client/ai-employees/admin/SkillSettings.d.ts +7 -5
  36. package/dist/{server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_accounts_en.d.ts → client/ai-employees/admin/ToolsSettings.d.ts} +8 -4
  37. package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +10 -0
  38. package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +19 -0
  39. package/dist/client/ai-employees/admin/mcp/context.d.ts +15 -0
  40. package/dist/client/ai-employees/admin/mcp/schemas.d.ts +1286 -0
  41. package/dist/client/ai-employees/chatbox/utils.d.ts +3 -7
  42. package/dist/client/ai-employees/types.d.ts +5 -4
  43. package/dist/client/c83c2cae956ba914.js +10 -0
  44. package/dist/client/{6fcc98eb80deed47.js → d4e2ed9fa44a82b2.js} +1 -1
  45. package/dist/client/{5be6710cc905ec12.js → f944d487b7ff1f00.js} +1 -1
  46. package/dist/client/index.js +2 -2
  47. package/dist/client/repositories/AIConfigRepository.d.ts +8 -1
  48. package/dist/collections/ai-employees.js +2 -1
  49. package/dist/collections/ai-mcp-clients.d.ts +51 -0
  50. package/dist/collections/ai-mcp-clients.js +111 -0
  51. package/dist/externalVersion.js +14 -14
  52. package/dist/locale/en-US.json +65 -8
  53. package/dist/locale/zh-CN.json +66 -9
  54. package/dist/node_modules/fast-glob/package.json +1 -1
  55. package/dist/node_modules/flexsearch/package.json +1 -1
  56. package/dist/node_modules/fs-extra/package.json +1 -1
  57. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  58. package/dist/node_modules/openai/package.json +1 -1
  59. package/dist/node_modules/zod/package.json +1 -1
  60. package/dist/server/ai-employees/ai-employee.d.ts +5 -1
  61. package/dist/server/ai-employees/ai-employee.js +90 -13
  62. package/dist/server/ai-employees/middleware/index.d.ts +1 -0
  63. package/dist/server/ai-employees/middleware/index.js +2 -0
  64. package/dist/server/ai-employees/middleware/skill-tools.d.ts +12 -0
  65. package/dist/server/ai-employees/middleware/skill-tools.js +74 -0
  66. package/dist/server/ai-employees/prompts.d.ts +6 -1
  67. package/dist/server/ai-employees/prompts.js +9 -1
  68. package/dist/server/ai-employees/templates/form-assistant.d.ts +2 -2
  69. package/dist/server/ai-employees/templates/form-assistant.js +2 -2
  70. package/dist/server/ai-employees/utils.js +2 -2
  71. package/dist/server/{ai-employees/built-in/ai-coding/document/basic/flow-resource.d.ts → collections/ai-mcp-clients.d.ts} +1 -4
  72. package/dist/server/{ai-employees/built-in/ai-coding/prompt.js → collections/ai-mcp-clients.js} +12 -10
  73. package/dist/server/{ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_opportunities_en.d.ts → collections/ai-skills.d.ts} +1 -4
  74. package/dist/server/{migrations/20250923221107-setup-build-in.js → collections/ai-skills.js} +46 -13
  75. package/dist/server/manager/ai-coding-manager.d.ts +1 -2
  76. package/dist/server/manager/ai-coding-manager.js +0 -41
  77. package/dist/server/manager/built-in-manager.d.ts +2 -4
  78. package/dist/server/manager/built-in-manager.js +7 -118
  79. package/dist/server/migrations/20260306000001-migrate-skill-settings-tools.js +68 -0
  80. package/dist/server/plugin.d.ts +0 -1
  81. package/dist/server/plugin.js +17 -8
  82. package/dist/server/resource/aiEmployees.js +5 -7
  83. package/dist/server/{ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_contacts_en.d.ts → resource/aiMcpClients.d.ts} +3 -5
  84. package/dist/server/resource/aiMcpClients.js +78 -0
  85. package/dist/server/{ai-employees/built-in/ai-coding/document/example/js-column/index.d.ts → resource/aiSkills.d.ts} +3 -7
  86. package/dist/server/resource/aiSkills.js +71 -0
  87. package/dist/server/resource/aiTools.js +4 -6
  88. package/dist/server/tools/docs.js +2 -2
  89. package/dist/server/tools/workflow-caller.js +1 -0
  90. package/package.json +2 -2
  91. package/dist/client/16dbe01d9077bb74.js +0 -10
  92. package/dist/client/180c8b1051a4f36e.js +0 -10
  93. package/dist/client/41229e007006e7f6.js +0 -10
  94. package/dist/client/41950da4c64caf73.js +0 -10
  95. package/dist/client/585ba360c7c57caf.js +0 -10
  96. package/dist/client/9f62a4c5136dfe8b.js +0 -10
  97. package/dist/client/b7f721f8dabb54e5.js +0 -10
  98. package/dist/client/bc471dd60174458c.js +0 -10
  99. package/dist/client/c40ed1a900aefb67.js +0 -10
  100. package/dist/server/ai-employees/built-in/ai-coding/document/basic/flow-resource.js +0 -256
  101. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/index.js +0 -48
  102. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_accounts_en.js +0 -452
  103. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_contacts_en.js +0 -363
  104. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_opportunities_en.js +0 -270
  105. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_quotations_en.d.ts +0 -13
  106. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_quotations_en.js +0 -219
  107. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_tickets_en.d.ts +0 -13
  108. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_tickets_en.js +0 -409
  109. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/accounts_filter_ant_style.d.ts +0 -13
  110. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/accounts_filter_ant_style.js +0 -324
  111. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/contacts_filter_ant_style.d.ts +0 -13
  112. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/contacts_filter_ant_style.js +0 -309
  113. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/index.d.ts +0 -15
  114. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/index.js +0 -50
  115. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/leads_filter_ant_style.d.ts +0 -13
  116. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/leads_filter_ant_style.js +0 -345
  117. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/opportunities_filter_ant_style.d.ts +0 -13
  118. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/opportunities_filter_ant_style.js +0 -381
  119. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/product_categories_ant_style.d.ts +0 -13
  120. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/product_categories_ant_style.js +0 -545
  121. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/tickets_filter_ant_style.d.ts +0 -13
  122. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/tickets_filter_ant_style.js +0 -346
  123. package/dist/server/ai-employees/built-in/ai-coding/document/js-action.d.ts +0 -13
  124. package/dist/server/ai-employees/built-in/ai-coding/document/js-action.js +0 -102
  125. package/dist/server/ai-employees/built-in/ai-coding/document/js-block.d.ts +0 -13
  126. package/dist/server/ai-employees/built-in/ai-coding/document/js-block.js +0 -314
  127. package/dist/server/ai-employees/built-in/ai-coding/document/js-column.d.ts +0 -13
  128. package/dist/server/ai-employees/built-in/ai-coding/document/js-column.js +0 -113
  129. package/dist/server/ai-employees/built-in/ai-coding/document/js-field.d.ts +0 -13
  130. package/dist/server/ai-employees/built-in/ai-coding/document/js-field.js +0 -498
  131. package/dist/server/ai-employees/built-in/ai-coding/document/js-item.d.ts +0 -13
  132. package/dist/server/ai-employees/built-in/ai-coding/document/js-item.js +0 -184
  133. package/dist/server/ai-employees/built-in/ai-coding/index.d.ts +0 -37
  134. package/dist/server/ai-employees/built-in/ai-coding/index.js +0 -99
  135. package/dist/server/ai-employees/built-in/ai-coding/profile.d.ts +0 -27
  136. package/dist/server/ai-employees/built-in/ai-coding/profile.js +0 -60
  137. package/dist/server/ai-employees/built-in/ai-coding/prompt_en.md +0 -110
  138. package/dist/server/ai-employees/built-in/data-modeling/index.d.ts +0 -37
  139. package/dist/server/ai-employees/built-in/data-modeling/profile.d.ts +0 -27
  140. package/dist/server/ai-employees/built-in/data-modeling/profile.js +0 -60
  141. package/dist/server/ai-employees/built-in/data-modeling/prompt.js +0 -283
  142. package/dist/server/ai-employees/built-in/data-organizer/index.d.ts +0 -37
  143. package/dist/server/ai-employees/built-in/data-organizer/index.js +0 -63
  144. package/dist/server/ai-employees/built-in/data-organizer/profile.d.ts +0 -27
  145. package/dist/server/ai-employees/built-in/data-organizer/profile.js +0 -60
  146. package/dist/server/ai-employees/built-in/data-visualization/index.d.ts +0 -37
  147. package/dist/server/ai-employees/built-in/data-visualization/index.js +0 -58
  148. package/dist/server/ai-employees/built-in/data-visualization/profile.d.ts +0 -27
  149. package/dist/server/ai-employees/built-in/data-visualization/profile.js +0 -60
  150. package/dist/server/ai-employees/built-in/email-assistant/index.d.ts +0 -34
  151. package/dist/server/ai-employees/built-in/email-assistant/index.js +0 -50
  152. package/dist/server/ai-employees/built-in/email-assistant/profile.d.ts +0 -27
  153. package/dist/server/ai-employees/built-in/email-assistant/profile.js +0 -60
  154. package/dist/server/ai-employees/built-in/email-assistant/prompt.d.ts +0 -12
  155. package/dist/server/ai-employees/built-in/insights-analyst/index.d.ts +0 -37
  156. package/dist/server/ai-employees/built-in/insights-analyst/index.js +0 -63
  157. package/dist/server/ai-employees/built-in/insights-analyst/profile.d.ts +0 -27
  158. package/dist/server/ai-employees/built-in/insights-analyst/profile.js +0 -60
  159. package/dist/server/ai-employees/built-in/insights-analyst/prompt.d.ts +0 -12
  160. package/dist/server/ai-employees/built-in/nocobase-assistant/index.d.ts +0 -34
  161. package/dist/server/ai-employees/built-in/nocobase-assistant/index.js +0 -50
  162. package/dist/server/ai-employees/built-in/nocobase-assistant/profile.d.ts +0 -27
  163. package/dist/server/ai-employees/built-in/nocobase-assistant/profile.js +0 -60
  164. package/dist/server/ai-employees/built-in/nocobase-assistant/prompt.d.ts +0 -12
  165. package/dist/server/ai-employees/built-in/research-analyst/index.d.ts +0 -37
  166. package/dist/server/ai-employees/built-in/research-analyst/index.js +0 -63
  167. package/dist/server/ai-employees/built-in/research-analyst/profile.d.ts +0 -27
  168. package/dist/server/ai-employees/built-in/research-analyst/profile.js +0 -60
  169. package/dist/server/ai-employees/built-in/research-analyst/prompt.d.ts +0 -12
  170. package/dist/server/ai-employees/built-in/translator/index.d.ts +0 -37
  171. package/dist/server/ai-employees/built-in/translator/index.js +0 -67
  172. package/dist/server/ai-employees/built-in/translator/profile.d.ts +0 -27
  173. package/dist/server/ai-employees/built-in/translator/profile.js +0 -60
  174. package/dist/server/ai-employees/built-in/translator/prompt.d.ts +0 -12
  175. /package/dist/server/migrations/{20250923221107-setup-build-in.d.ts → 20260306000001-migrate-skill-settings-tools.d.ts} +0 -0
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["822"],{3645:function(e,t,r){r.r(t),r.d(t,{CodeHighlight:function(){return i}});var n=r(9155),o=r.n(n),l=r(4069),c=r(7251),u=r(7174),a=r(3342),i=function(e){var t,r,n=e.language,i=e.value,f=e.height,p=e.scrollToBottom,b=function(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,["language","value","height","scrollToBottom"]),s=(0,a.useGlobalTheme)().isDarkTheme,O=o().useRef(null);o().useEffect(function(){if(!0===p){var e;null==(e=O.current)||e.scrollIntoView({behavior:"auto"})}},[i,p]);var y=o().createElement(l.A,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){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}({},b),r=r={PreTag:"div",language:n,style:s?c.A:u.A},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),i);return f||p?o().createElement("div",{style:{maxHeight:null!=f?f:"500px",overflowY:"auto"}},y,o().createElement("div",{ref:O})):y}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["758"],{2733:function(e,t,r){r.r(t),r.d(t,{CodeHighlight:function(){return i}});var n=r(9155),o=r.n(n),l=r(4069),c=r(7251),u=r(7174),a=r(3342),i=function(e){var t,r,n=e.language,i=e.value,f=e.height,p=e.scrollToBottom,b=function(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,["language","value","height","scrollToBottom"]),s=(0,a.useGlobalTheme)().isDarkTheme,O=o().useRef(null);o().useEffect(function(){if(!0===p){var e;null==(e=O.current)||e.scrollIntoView({behavior:"auto"})}},[i,p]);var y=o().createElement(l.A,(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){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}({},b),r=r={PreTag:"div",language:n,style:s?c.A:u.A},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),i);return f||p?o().createElement("div",{style:{maxHeight:null!=f?f:"500px",overflowY:"auto"}},y,o().createElement("div",{ref:O})):y}}}]);
@@ -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([["228"],{4281:function(e,t,n){n.d(t,{w:function(){return S},Rs:function(){return j},Cy:function(){return x}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(3342),c=n(3079),u=n(8680),s=n(7694),f=n(26);function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function d(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 y(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var m=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,b=function(e){var t=e.language,n=e.value,r=e.height,l=e.scrollToBottom,a=y(e,["language","value","height","scrollToBottom"]);return o().createElement(m,d(p({},a),{language:t,value:n,height:r,scrollToBottom:l}))},g=function(e){var t=(0,s.useFlowContext)(),n=(0,c.kj)(),r=e.children,i=e.className,u=(e.node,e.message),m=y(e,["children","className","node","message"]),g=/language-(\w+)/.exec(i||""),h=g?g[1]:"",O=String(r).replace(/<!--[\s\S]*?-->/g,"").replace(/\n$/,""),w=l.App.useApp().message,E=!0;(null==u?void 0:u.type)==="text"&&(E=RegExp("```"+h+"[\\s\\S]*?```","s").test(u.content));var j=f.H.use.editorRef()[f.H.use.currentEditorRefUid()];return g?o().createElement(l.Card,{type:"inner",size:"small",title:o().createElement(l.Space,{style:{margin:"0 8px"},size:"middle"},o().createElement(a.CodeOutlined,null),o().createElement("span",null,h)),extra:o().createElement(o().Fragment,null,o().createElement(l.Tooltip,{title:n("Copy")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.CopyOutlined,null),onClick:function(){navigator.clipboard.writeText(O),w.success(n("Copied"))}})),o().createElement(l.Divider,{type:"vertical"}),o().createElement(l.Tooltip,{title:n("Expand")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.ExpandOutlined,null),onClick:function(){t.viewer.dialog({width:"80%",zIndex:6e3,content:o().createElement(v,d(p({},m),{language:h,value:O,height:"75vh"}))})}}))),styles:{header:{padding:0},body:{padding:0}},actions:j?[o().createElement(l.Button,{key:"accept",type:"link",onClick:function(e){e.stopPropagation(),null==j||j.write(O),t.message.info(n("Applied"))},disabled:!E},n("Apply to editor"))]:[]},o().createElement(b,d(p({},m),{language:h,value:O,scrollToBottom:!E}))):o().createElement(l.Typography.Text,d(p({code:!0},m),{className:i}),r)},v=function(e){var t=e.language,n=e.value,r=y(e,["language","value"]),i=(0,s.useFlowViewContext)(),c=i.view.Header,u=o().createElement(l.Button,{type:"text",icon:o().createElement(a.CloseOutlined,null),onClick:function(){i.view.close()}});return o().createElement("div",{style:{borderRadius:8}},o().createElement(c,{title:o().createElement(o().Fragment,null,o().createElement(l.Space,null,u,o().createElement("span",null,t)))}),o().createElement(b,d(p({},r),{language:t,value:n})))};function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function O(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 w(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var E=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,j=function(e){var t=e.language,n=e.value,r=w(e,["language","value"]);return o().createElement(E,O(h({},r),{language:t,value:n}))},S=function(e){var t=e.children,n=e.className,r=(e.node,e.message,w(e,["children","className","node","message"])),u=/language-(\w+)/.exec(n||""),s=u?u[1]:"",f=(0,i.useToken)().token,p=(0,c.kj)(),d=String(t).replace(/\n$/,""),y=l.App.useApp().message;return u?o().createElement(l.Card,{size:"small",title:s,styles:{title:{fontSize:f.fontSize,fontWeight:400},body:{width:"100%",fontSize:f.fontSizeSM}},extra:o().createElement(l.Button,{variant:"link",color:"default",size:"small",onClick:function(){navigator.clipboard.writeText(d),y.success(p("Copied"))},icon:o().createElement(a.CopyOutlined,null)})},o().createElement(j,O(h({},r),{language:s,value:d}))):o().createElement(l.Typography.Text,O(h({code:!0},r),{className:n}),t)},x=function(e){var t=e.className,n=/language-(\w+)/.exec(t||""),r=n?n[1]:"";return f.H.use.editorRef()[f.H.use.currentEditorRefUid()]&&(0,u._t)(r)?o().createElement(g,e):o().createElement(S,e)}},8007:function(e,t,n){n.r(t),n.d(t,{DataModelingModal:function(){return el}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(3079),c=n(4281),u=n(3870),s=n(5407),f=n(9009),p=n(7757),d=n.n(p);n(7695);var y=n(3342),m=n(5230),b=n(5477);function g(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 v(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function h(e){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 O(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 w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||E(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 E(e,t){if(e){if("string"==typeof e)return g(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 g(e,t)}}function j(){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 j=function(){return n},n}var S=new(d()),x={collection:function(e){var t=e.data,n=(0,y.useToken)().token,r=(0,y.useApp)(),c=(0,i.kj)(),s=r.dataSourceManager.collectionFieldInterfaceManager,f={top:"50%",transform:"translateY(-50%)",width:8,height:8,opacity:0,pointerEvents:"none"};return o().createElement(l.Card,{size:"small",title:o().createElement("div",{style:{position:"relative"}},o().createElement(u.h7,{type:"target",position:u.yX.Left,id:t.name,style:f}),t.title," ",o().createElement("span",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},t.name),o().createElement(u.h7,{type:"source",position:u.yX.Right,id:t.name,style:f})),styles:{body:{padding:0,minWidth:"200px"}}},o().createElement(l.List,{dataSource:t.fields,size:"small",renderItem:function(e){var r=s.getFieldInterface(e.interface);return o().createElement(l.List.Item,{style:{position:"relative"}},o().createElement(l.Flex,{justify:"space-between",gap:"large",style:{width:"100%"}},o().createElement(u.h7,{type:"source",position:u.yX.Right,id:"".concat(t.name,"-").concat(e.name),style:f}),o().createElement(l.Flex,{vertical:!0},o().createElement("div",null,e.title,e.primaryKey?o().createElement(a.KeyOutlined,{style:{marginLeft:"4px"}}):""),o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},e.name)),o().createElement(l.Flex,{vertical:!0,align:"flex-end"},o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextSecondary}},(null==r?void 0:r.title)?m.Schema.compile(r.title,{t:c}):""),o().createElement("div",{style:{fontSize:n.fontSizeSM,color:n.colorTextDescription}},e.type))))}}))}},P=function(e,t){var n;return(n=function(){var n,r;return function(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(o){return n=!t.length,r={id:"root",layoutOptions:{"elk.algorithm":t.length?"org.eclipse.elk.layered":"org.eclipse.elk.box"},children:e.map(function(e){return O(h({},e),{targetPosition:n?"left":"top",sourcePosition:n?"right":"bottom",width:320,height:50*(e.data.fields.length+1)})}),edges:t},[2,S.layout(r).then(function(e){return{nodes:e.children.map(function(e){return O(h({},e),{position:{x:e.x,y:e.y}})}),edges:e.edges}}).catch(console.error)]})},function(){var e=this,t=arguments;return new Promise(function(r,o){var l=n.apply(e,t);function a(e){v(l,r,o,a,i,"next",e)}function i(e){v(l,r,o,a,i,"throw",e)}a(void 0)})})()},k=function(e){var t=new Map(e.map(function(e){return[e.name,e]})),n=new Set,r=!0,o=!1,l=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var c=a.value;c.autoGenId&&c.fields.unshift({name:"id",interface:"id",type:"bigInt",title:"ID",primaryKey:!0,autoIncrement:!0})}}catch(e){o=!0,l=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw l}}var u=e.map(function(e){var t;return{id:e.name,type:"collection",position:{x:0,y:0},data:{title:e.title,name:e.name,fields:function(e){if(Array.isArray(e))return g(e)}(t=e.fields)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||E(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}}}),s=[],f=function(e,t){var r="".concat(e,"-").concat(t),o="".concat(t,"-").concat(e);n.has(r)||n.has(o)||(s.push({id:r,source:e,sourceHandle:e,target:t,targetHandle:t,type:"smoothstep",animated:!0}),n.add(r))},p=!0,d=!1,y=void 0;try{for(var m,b=e[Symbol.iterator]();!(p=(m=b.next()).done);p=!0){var v=m.value,h=!0,O=!1,w=void 0;try{for(var j,S=v.fields[Symbol.iterator]();!(h=(j=S.next()).done);h=!0){var x=j.value,k=x.type,I=x.target,C=x.through;I!==v.name&&("belongsToMany"===k&&C&&t.has(C)?(f(v.name,C),f(C,I)):I&&f(v.name,I))}}catch(e){O=!0,w=e}finally{try{h||null==S.return||S.return()}finally{if(O)throw w}}}}catch(e){d=!0,y=e}finally{try{p||null==b.return||b.return()}finally{if(d)throw y}}return P(u,s)},I=function(e){var t=e.collections,n=(0,y.useGlobalTheme)().isDarkTheme,l=w((0,u.ck)([]),3),a=l[0],i=l[1],c=l[2],p=w((0,u.fM)([]),3),d=p[0],m=p[1];return p[2],(0,r.useEffect)(function(){k(t).then(function(e){var t=e.nodes,n=e.edges;i(t),m(n)}).catch(function(e){return console.error("Error laying out elements:",e)})},[t]),o().createElement("div",{className:(0,b.css)(j())},o().createElement(u.Gc,{nodes:a,edges:d,nodeTypes:x,fitView:!0,panOnDrag:!0,zoomOnScroll:!0,proOptions:{hideAttribution:!0},onNodesChange:c,colorMode:n?"dark":"light"},o().createElement(s.V,null),o().createElement(f.H,{position:"top-right"})))};function C(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 R(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var 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 T=function(){var e=(0,y.useDataSourceManager)(),t=(0,i.kj)();return(0,r.useMemo)(function(){var n,r=e.collectionFieldInterfaceManager.getFieldInterfaces(),o=e.collectionFieldInterfaceManager.getFieldInterfaceGroups();return n=r.reduce(function(e,t){var n=t.group||"basic";return e[n]||(e[n]=[]),e[n].push(t),e},{}),Object.keys(o).map(function(e){var r=o[e];return R(C({},r),{label:m.Schema.compile(r.label,{t:t}),key:e,options:Object.keys(n[e]||{}).filter(function(t){return!n[e][t].hidden}).map(function(r){var o=n[e][r];return R(C({},n[e][r]),{key:"".concat(e,"-").concat(o.name),value:o.name,label:m.Schema.compile(o.title,{t:t})})}).sort(function(e,t){return e.order-t.order})})}).filter(function(e){return e.options.length>0}).sort(function(e,t){return e.order-t.order})},[e])};function A(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 D(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function F(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M(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){F(e,t,n[t])})}return e}function z(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 K(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var l=[],a=!0,i=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(l.push(n.value),!t||l.length!==t);a=!0);}catch(e){i=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return A(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 A(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(){var e,t,n=(e=["\n .editable-cell {\n position: relative;\n }\n\n .editable-cell-value-wrap {\n padding: 5px 12px;\n cursor: pointer;\n }\n\n &:hover .editable-cell-value-wrap {\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n padding: 4px 11px;\n }\n\n [data-theme='dark'] &:hover .editable-cell-value-wrap {\n border: 1px solid #434343;\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return B=function(){return n},n}var L=(0,b.cx)("editable-row",(0,b.css)(B())),H=o().createContext(null),G=function(e){e.index;var t=K(e,["index"]),n=N(l.Form.useForm(),1)[0];return o().createElement(l.Form,{form:n,component:!1},o().createElement(H.Provider,{value:n},o().createElement("tr",t)))},_=function(e){var t=e.title,n=e.editable,a=e.EditComponent,i=e.ReadComponent,c=e.children,u=e.dataIndex,s=e.record,f=(e.collectionIndex,e.handleSave),p=K(e,["title","editable","EditComponent","ReadComponent","children","dataIndex","record","collectionIndex","handleSave"]),d=N((0,r.useState)(!1),2),y=d[0],m=d[1],b=(0,r.useRef)(null),g=(0,r.useContext)(H);(0,r.useEffect)(function(){if(y){var e;null==(e=b.current)||e.focus()}},[y]);var v=function(){m(!y),g.setFieldsValue(F({},u,s[u]))},h=function(){var e;return(e=function(){var e;return function(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,g.validateFields()];case 1:return e=t.sent(),v(),f(M({},s,e)),[3,3];case 2:return console.log("Save failed:",t.sent()),[3,3];case 3:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){D(l,r,o,a,i,"next",e)}function i(e){D(l,r,o,a,i,"throw",e)}a(void 0)})})()},O=(null==i?void 0:i(s))||c;if(n){var w=(null==a?void 0:a(z(M({},s),{save:h,ref:b})))||o().createElement(l.Input,{ref:b,onPressEnter:h,onBlur:h});O=y?o().createElement(l.Form.Item,{style:{margin:0},name:u,rules:[{required:!0,message:"".concat(t," is required.")}]},w):o().createElement("div",{className:"editable-cell-value-wrap",style:{paddingInlineEnd:24},onClick:v},O)}return o().createElement("td",p,O)},U=function(e){var t=(0,i.kj)();return[{title:t("Collection display name"),dataIndex:"title",key:"title",width:200,editable:!0},{title:t("Collection name"),dataIndex:"name",key:"name",width:150,editable:!0},{title:t("Collection template"),dataIndex:"template",key:"template",width:150,render:function(e){if(!e)return null;var n=e.charAt(0).toUpperCase()+e.slice(1);return o().createElement(l.Tag,null,t("".concat(n," collection")))}},{title:t("Preset fields"),key:"preset",width:300,render:function(e,n){var r=[];return!1!==n.autoGenId&&r.push("id"),!1!==n.createdAt&&r.push("createdAt"),!1!==n.updatedAt&&r.push("updatedAt"),n.createdBy&&r.push("createdBy"),n.updatedBy&&r.push("updatedBy"),o().createElement(l.Checkbox.Group,{options:[{label:"ID",value:"id"},{label:t("Created at"),value:"createdAt"},{label:t("Last updated at"),value:"updatedAt"},{label:t("Created by"),value:"createdBy"},{label:t("Last updated by"),value:"updatedBy"}],defaultValue:r,disabled:!0})}},{title:t("Description"),dataIndex:"description",key:"description",width:350}].map(function(t){return t.editable?z(M({},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})},V=function(e,t,n){var r=(0,i.kj)(),a=(0,y.useApp)().dataSourceManager.collectionFieldInterfaceManager;return[l.Table.EXPAND_COLUMN,{title:r("Field display name"),dataIndex:"title",width:200,key:"title",editable:!0},{title:r("Field name"),dataIndex:"name",key:"name",width:150,editable:!0},{title:r("Field interface"),width:200,dataIndex:"interface",key:"interface",editable:!0,EditComponent:function(t){var n=t.interface,i=t.save,c=t.ref,u=(0,y.useRequest)({url:"app:getInfo"}),s=T(),f=a.getFieldInterface(n),p=((0,(0,y.useCollectionManager_deprecated)().getTemplate)(e.template)||{}).availableFieldInterfaces||{},d=p.exclude,b=p.include,g=[];return s.forEach(function(t){if("systemInfo"===t.key)g.push(z(M({},t),{options:t.options.filter(function(t){var n,r,o;return!t.hidden&&("tableoid"!==t.value?"boolean"!=typeof e[t.value]||e[t.value]:(null==b?void 0:b.length)?b.includes(t.value):(null==(o=u.data)||null==(r=o.data)||null==(n=r.database)?void 0:n.dialect)==="postgres")})}));else{var n,r=[];(null==b?void 0:b.length)?b.forEach(function(e){var n,o=null==t||null==(n=t.options)?void 0:n.find(function(t){return[e,e.interface].includes(t.name)});o&&r.push(z(M({},o),{targetScope:null==e?void 0:e.targetScope}))}):r=(null==d?void 0:d.length)?null==t||null==(n=t.options)?void 0:n.filter(function(e){return!d.includes(e.name)}):null==t?void 0:t.options,(null==r?void 0:r.length)&&g.push(z(M({},t),{options:r.filter(function(e){return!["o2o","subTable","linkTo"].includes(e.name)})}))}}),o().createElement(l.Select,{ref:c,options:g,defaultValue:f?m.Schema.compile(f.title,{t:r}):n,onBlur:i})},ReadComponent:function(e){var t=e.interface;if(!t)return null;var n=a.getFieldInterface(t);return o().createElement(l.Tag,null,n?m.Schema.compile(n.title,{t:r}):t)}},{title:r("Description"),dataIndex:"description",key:"description",width:350}].map(function(e){return e.editable?z(M({},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})},$=function(e){var t=e.record,n=l.theme.useToken().token;return o().createElement(o().Fragment,null,t.enum&&o().createElement("div",null,o().createElement("span",{style:{color:n.colorTextSecondary,marginRight:"8px",marginLeft:"48px"}},"Enumurations:"),t.enum.map(function(e){return o().createElement(l.Tag,{key:e.value},e.label," (",e.value,")")})),t.target&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"Target:"),o().createElement("span",null,t.target)),t.targetKey&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"TargetKey:"),o().createElement("span",null,t.targetKey)),t.sourceKey&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"SourceKey:"),o().createElement("span",null,t.sourceKey)),t.foreignKey&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"ForeignKey:"),o().createElement("span",null,t.foreignKey)),t.otherKey&&o().createElement("div",null,o().createElement("span",{style:{color:"#999",marginRight:"8px",marginLeft:"48px"}},"OtherKey:"),o().createElement("span",null,t.otherKey)))},X=function(e){var t=e.record,n=V(t,e.collectionIndex,e.updateFieldRecord);return o().createElement(l.Table,{rowKey:"name",rowClassName:L,columns:n,components:{body:{row:G,cell:_}},dataSource:t.fields,pagination:!1,expandable:{rowExpandable:function(e){var t;return(null==(t=e.enum)?void 0:t.length)>0||["m2m","m2o","o2m","o2o"].includes(e.interface)},expandedRowRender:function(e){return o().createElement($,{record:e})}}})},q=function(e){var t=e.collections,n=e.updateCollectionRecord,r=e.updateFieldRecord,a=U(n);return o().createElement(l.Table,{scroll:{y:"55vh"},style:{height:"65vh"},rowKey:"name",rowClassName:L,columns:a,dataSource:t,components:{body:{row:G,cell:_}},expandable:{expandedRowRender:function(e,t){return o().createElement(X,{record:e,collectionIndex:t,updateFieldRecord:r})},rowExpandable:function(e){return e.fields&&e.fields.length>0}}})},J=n(107);function W(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 Y(e,t,n,r,o,l,a){try{var i=e[l](a),c=i.value}catch(e){n(e);return}i.done?t(c):Promise.resolve(c).then(r,o)}function Q(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var l=e.apply(t,n);function a(e){Y(l,r,o,a,i,"next",e)}function i(e){Y(l,r,o,a,i,"throw",e)}a(void 0)})}}function Z(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 ee(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 et(e){return function(e){if(Array.isArray(e))return W(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 W(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 W(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 en(e,t){var n,r,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:c(0)}),i(a,"throw",{value:c(1)}),i(a,"return",{value:c(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var er=function(e){var t=(0,y.useApp)().dataSourceManager.collectionFieldInterfaceManager;return(0,r.useMemo)(function(){var n=[],r=!0,o=!1,l=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var c,u=a.value,s=(null==(c=u.fields)?void 0:c.map(function(e){var n,r,o=t.getFieldInterface(e.interface);return o&&(e.type=e.type||(null==(n=o.default)?void 0:n.type),e.uiSchema=e.uiSchema||(null==(r=o.default)?void 0:r.uiSchema)),e.uiSchema=ee(Z({},e.uiSchema),{title:e.title}),e.enum&&(e.uiSchema=ee(Z({},e.uiSchema),{enum:e.enum})),e}))||[];n.push(ee(Z({},u),{hidden:!1,fields:s}))}}catch(e){o=!0,l=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw l}}return n},[e])},eo=function(e){var t=e.children;return o().createElement("div",{style:{height:"70vh",overflowY:"auto"}},t)},el=function(e){var t,n=e.tool,u=e.saveToolArgs,s=(0,i.kj)(),f=er("string"==((t=n.args.collections)&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)?JSON.parse(n.args.collections):n.args.collections),p=J.y.use.setAdjustArgs(),d={updateCollectionRecord:(0,r.useCallback)(function(e,t){return Q(function(){var r;return en(this,function(o){return(r=et(n.args.collections))[e]&&(r[e]=Z({},r[e],t),u(ee(Z({},n.args),{collections:r}))),[2]})})()},[n,u]),updateFieldRecord:(0,r.useCallback)(function(e,t,r){return Q(function(){var o,l,a,i;return en(this,function(c){return(null==(l=(a=et(n.args.collections))[e])||null==(o=l.fields)?void 0:o[t])&&(i=a[e].fields[t],a[e].fields[t]=Z({},i,r),u(ee(Z({},n.args),{collections:a}))),[2]})})()},[n,u])},y=d.updateCollectionRecord,m=d.updateFieldRecord;(0,r.useEffect)(function(){p(ee(Z({},n.args),{collections:f}))},[n.args,n.args.collections,p]);var b=[{key:"collections",label:s("Collections"),icon:o().createElement(a.DatabaseOutlined,null),children:o().createElement(q,{collections:f,updateCollectionRecord:y,updateFieldRecord:m})},{key:"graph",icon:o().createElement(a.NodeIndexOutlined,null),label:s("Diagram"),children:o().createElement(eo,null,o().createElement(I,{collections:f}))},{key:"definition",icon:o().createElement(a.FileTextOutlined,null),label:"Definition",children:o().createElement(eo,null,o().createElement(c.Rs,{language:"json",value:JSON.stringify(f,null,2)}))}];return o().createElement(l.Tabs,{defaultActiveKey:"1",items:b})}}}]);
@@ -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([["792"],{4281:function(e,t,r){r.d(t,{w:function(){return P},Rs:function(){return E},Cy:function(){return x}});var n=r(9155),o=r.n(n),l=r(2059),a=r(7375),c=r(3342),i=r(3079),u=r(8680),s=r(7694),p=r(26);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 m(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function y(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}var b=(0,c.lazy)(function(){return Promise.all([r.e("428"),r.e("758")]).then(r.bind(r,2733))},"CodeHighlight").CodeHighlight,g=function(e){var t=e.language,r=e.value,n=e.height,l=e.scrollToBottom,a=y(e,["language","value","height","scrollToBottom"]);return o().createElement(b,m(f({},a),{language:t,value:r,height:n,scrollToBottom:l}))},d=function(e){var t=(0,s.useFlowContext)(),r=(0,i.kj)(),n=e.children,c=e.className,u=(e.node,e.message),b=y(e,["children","className","node","message"]),d=/language-(\w+)/.exec(c||""),v=d?d[1]:"",h=String(n).replace(/<!--[\s\S]*?-->/g,"").replace(/\n$/,""),j=l.App.useApp().message,w=!0;(null==u?void 0:u.type)==="text"&&(w=RegExp("```"+v+"[\\s\\S]*?```","s").test(u.content));var E=p.H.use.editorRef()[p.H.use.currentEditorRefUid()];return d?o().createElement(l.Card,{type:"inner",size:"small",title:o().createElement(l.Space,{style:{margin:"0 8px"},size:"middle"},o().createElement(a.CodeOutlined,null),o().createElement("span",null,v)),extra:o().createElement(o().Fragment,null,o().createElement(l.Tooltip,{title:r("Copy")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.CopyOutlined,null),onClick:function(){navigator.clipboard.writeText(h),j.success(r("Copied"))}})),o().createElement(l.Divider,{type:"vertical"}),o().createElement(l.Tooltip,{title:r("Expand")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.ExpandOutlined,null),onClick:function(){t.viewer.dialog({width:"80%",zIndex:6e3,content:o().createElement(O,m(f({},b),{language:v,value:h,height:"75vh"}))})}}))),styles:{header:{padding:0},body:{padding:0}},actions:E?[o().createElement(l.Button,{key:"accept",type:"link",onClick:function(e){e.stopPropagation(),null==E||E.write(h),t.message.info(r("Applied"))},disabled:!w},r("Apply to editor"))]:[]},o().createElement(g,m(f({},b),{language:v,value:h,scrollToBottom:!w}))):o().createElement(l.Typography.Text,m(f({code:!0},b),{className:c}),n)},O=function(e){var t=e.language,r=e.value,n=y(e,["language","value"]),c=(0,s.useFlowViewContext)(),i=c.view.Header,u=o().createElement(l.Button,{type:"text",icon:o().createElement(a.CloseOutlined,null),onClick:function(){c.view.close()}});return o().createElement("div",{style:{borderRadius:8}},o().createElement(i,{title:o().createElement(o().Fragment,null,o().createElement(l.Space,null,u,o().createElement("span",null,t)))}),o().createElement(g,m(f({},n),{language:t,value:r})))};function v(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 h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function j(e,t){if(null==e)return{};var r,n,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}if(l=function(e,t){if(null==e)return{};var r,n,o={},l=Object.getOwnPropertyNames(e);for(n=0;n<l.length;n++)r=l[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}var w=(0,c.lazy)(function(){return Promise.all([r.e("428"),r.e("758")]).then(r.bind(r,2733))},"CodeHighlight").CodeHighlight,E=function(e){var t=e.language,r=e.value,n=j(e,["language","value"]);return o().createElement(w,h(v({},n),{language:t,value:r}))},P=function(e){var t=e.children,r=e.className,n=(e.node,e.message,j(e,["children","className","node","message"])),u=/language-(\w+)/.exec(r||""),s=u?u[1]:"",p=(0,c.useToken)().token,f=(0,i.kj)(),m=String(t).replace(/\n$/,""),y=l.App.useApp().message;return u?o().createElement(l.Card,{size:"small",title:s,styles:{title:{fontSize:p.fontSize,fontWeight:400},body:{width:"100%",fontSize:p.fontSizeSM}},extra:o().createElement(l.Button,{variant:"link",color:"default",size:"small",onClick:function(){navigator.clipboard.writeText(m),y.success(f("Copied"))},icon:o().createElement(a.CopyOutlined,null)})},o().createElement(E,h(v({},n),{language:s,value:m}))):o().createElement(l.Typography.Text,h(v({code:!0},n),{className:r}),t)},x=function(e){var t=e.className,r=/language-(\w+)/.exec(t||""),n=r?r[1]:"";return p.H.use.editorRef()[p.H.use.currentEditorRefUid()]&&(0,u._t)(n)?o().createElement(d,e):o().createElement(P,e)}},3002:function(e,t,r){r.d(t,{z:function(){return i}});var n=r(9155),o=r.n(n),l=r(2059),a=r(3079),c=r(3342),i=function(){var e=(0,a.kj)(),t=(0,c.useToken)().token;return o().createElement(o().Fragment,null,o().createElement(l.Spin,null),o().createElement("span",{style:{color:t.colorTextDescription,fontStyle:"italic",marginLeft:"8px"}},e("Generating")))}},931:function(e,t,r){r.r(t),r.d(t,{Markdown:function(){return T}});var n=r(9155),o=r.n(n),l=r(9597),a=r(5477),c=r(7916),i=r(1210),u=r(9256),s=r(1465),p=r(3342),f=r(4281),m=r(166),y=r(9452),b=r(3079),g=r(3002),d=r(2059),O=r(7596),v=r(26),h=r(7821);function j(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 w(e,t,r,n,o,l,a){try{var c=e[l](a),i=c.value}catch(e){r(e);return}c.done?t(i):Promise.resolve(i).then(n,o)}function E(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var l=e.apply(t,r);function a(e){w(l,n,o,a,c,"next",e)}function c(e){w(l,n,o,a,c,"throw",e)}a(void 0)})}}function P(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function x(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(a,"next",{value:i(0)}),c(a,"throw",{value:i(1)}),c(a,"return",{value:i(2)}),"function"==typeof Symbol&&c(a,Symbol.iterator,{value:function(){return this}}),a;function i(c){return function(i){var u=[c,i];if(r)throw TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var S=function(e){var t,r,l,a,c=(0,b.kj)();h.I.use.currentEmployee(),O.J.use.currentConversation();var i=v.H.use.responseLoading(),u=e.children,s=e.node,w=e.message,S=s.properties,k=S.uid,C=S.datasource,A=S.collection,z=(0,n.useMemo)(function(){return{}},[null]),I=String(u).replace(/\n$/,""),T=function(e){if(Array.isArray(e))return e}(t=(0,n.useState)(!1))||function(e){var t,r,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(t=n.next()).done)&&(o.push(t.value),2!==o.length);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw r}}return o}}(t)||function(e){if(e){if("string"==typeof e)return j(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 j(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.")}(),D=T[0],R=T[1],N=!1;try{a=JSON.parse(I)}catch(e){N=!0}var F=(0,n.useMemo)(function(){return(0,y.createForm)({initialValues:a})},[a]);if(i&&!w.messageId)return o().createElement(g.z,null);if(N)return o().createElement(d.Alert,{type:"warning",message:o().createElement(o().Fragment,null,c("The current result is not a valid form object. Please ask the AI employee to regenerate it."),o().createElement(f.Rs,{language:"json",value:I})),style:{marginBottom:"16px"}});var B=Object.keys(a).reduce(function(e,t){var r,n,o;return e[t]={type:(null==(r=z[t])?void 0:r.type)||"string","x-decorator":"FormItem","x-component":"CollectionField","x-component-props":(null==(n=z[t])?void 0:n["x-component-props"])||{},"x-collection-field":null==(o=z[t])?void 0:o["x-collection-field"],"x-read-pretty":!D},e},{});return o().createElement("div",{style:{marginBottom:"16px"}},o().createElement(p.SchemaComponent,{schema:{type:"void",name:(0,m.uid)(),properties:P({},(0,m.uid)(),{type:"void","x-component":"FormBlockProvider","x-component-props":{collection:A,dataSource:C},properties:{form:{"x-component":"FormV2","x-component-props":{form:F},properties:(r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){P(e,t,r[t])})}return e}({},B),l=l={fillOut:{type:"void","x-component":"Action",title:c("Fill out"),"x-component-props":{icon:"FormOutlined",variant:"outlined",color:"primary",size:"small",onClick:function(){return E(function(){return x(this,function(e){switch(e.label){case 0:return[4,F.submit()];case 1:return e.sent(),[2]}})})()}}},edit:{type:"void","x-component":"Action",title:c(D?"Save":"Edit"),"x-component-props":{style:{marginLeft:"8px"},icon:D?"SaveOutlined":"EditOutlined",variant:"outlined",size:"small",onClick:function(){return E(function(){return x(this,function(e){var t,r,n;return D?(t=w.content,r=JSON.stringify(F.values),n=RegExp("<form\\b[^>]*\\buid=[\"']".concat(k,"[\"'][^>]*>([\\s\\S]*?)<\\/form>"),"gi"),t.replace(n,function(e,t){return e.replace(t,r)}),[2]):(R(!D),[2])})})()}}},cancel:{type:"void","x-component":"Action",title:c("Cancel"),"x-display":D?"visible":"hidden","x-component-props":{style:{marginLeft:"8px"},icon:"CloseOutlined",variant:"outlined",size:"small",onClick:function(){R(!1),F.reset()}}}},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(l)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(l)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(l,e))}),r)}}})}}))};function k(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 C(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function A(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function z(){var e,t,r=(e=["\n margin-bottom: -1em;\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return z=function(){return r},r}var I=(0,p.lazy)(function(){return Promise.all([r.e("227"),r.e("428"),r.e("711")]).then(r.bind(r,602))},"Echarts").Echarts,T=function(e){var t,r=e.message,n={};return o().createElement("div",{className:(0,a.css)(z())},o().createElement(l.oz,{components:{code:function(e){return o().createElement(f.Cy,A(C({},e),{message:r}))},form:function(e){return o().createElement(S,A(C({},e),{message:r}))},echarts:function(e){var t;return o().createElement(I,A(C({},e),{index:((t="echarts")in n||(n[t]=-1),++n[t]),message:r}))}},rehypePlugins:[i.A,[u.A,A(C({},s.j),{tagNames:((function(e){if(Array.isArray(e))return k(e)})(t=s.j.tagNames)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e){if(e){if("string"==typeof e)return k(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 k(e,void 0)}}(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat(["echarts","form","collections"]),attributes:A(C({},s.j.attributes),{form:["uid","datasource","collection"]})})]],remarkPlugins:[c.A]},r.content))}}}]);
@@ -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([["820"],{5823:function(e,n,t){t.r(n),t.d(n,{DataModelingCard:function(){return m}});var l=t(9155),a=t.n(l),o=t(2059),i=t(7375),r=t(3079),s=t(3342),c=t(107),u=t(26),m=function(e){var n,t,l,m=e.messageId,d=e.toolCall,g=(0,r.kj)(),p=(0,s.useToken)().token,f=u.H.use.responseLoading(),E=u.H.use.messages(),v=c.y.use.setOpenToolModal(),C=c.y.use.setActiveTool(),k=c.y.use.setActiveMessageId(),y=null==(t=c.y.use.toolsByMessageId()[m])||null==(n=t[d.id])?void 0:n.version,h=f&&(null==(l=E[length-1])?void 0:l.content.messageId)===m,T=a().createElement(a().Fragment,null,g("Please review and finish the process"));return h?T=a().createElement(a().Fragment,null,a().createElement(o.Spin,{indicator:a().createElement(i.LoadingOutlined,{spin:!0}),size:"small"})," ",g("Generating...")):d.args.collections||(console.error("Invalid definition",d.args),T=a().createElement(a().Fragment,null,a().createElement(i.ExclamationCircleTwoTone,{twoToneColor:"#eb2f96"})," ",g("Invalid definition"))),a().createElement(a().Fragment,null,a().createElement(o.Card,{style:{margin:"16px 0",cursor:"pointer"},onClick:function(){!h&&d.args.collections&&(C(d),k(m),v(!0))}},a().createElement(o.Card.Meta,{avatar:a().createElement(i.DatabaseOutlined,null),title:a().createElement(a().Fragment,null,g("Data modeling"),y&&y>1?a().createElement("span",{style:{marginLeft:"8px",color:p.colorTextDescription,fontWeight:"normal",fontStyle:"italic"}},g("Version")," ",y):null),description:T})))}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["614"],{3077:function(e,t,n){n.r(t),n.d(t,{AdminSettings:function(){return m}});var r=n(3342),o=n(9155),u=n.n(o),a=n(2059),i=n(3079),s=n(9452),c=n(5230);function l(e,t,n,r,o,u,a){try{var i=e[u](a),s=i.value}catch(e){n(e);return}i.done?t(s):Promise.resolve(s).then(r,o)}var p=function(){var e=(0,r.useAPIClient)(),t=(0,r.useRequest)(function(){return e.resource("aiSettings").get().then(function(e){var t;return null==e||null==(t=e.data)?void 0:t.data})}).data;return{form:(0,o.useMemo)(function(){return(0,s.createForm)({initialValues:t})},[t])}},f=function(){var e=(0,c.useForm)(),t=(0,r.useAPIClient)(),n=a.App.useApp().message,o=(0,i.kj)();return{type:"primary",htmlType:"submit",onClick:function(){var r;return(r=function(){return function(e,t){var n,r,o,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:s(0)}),i(a,"throw",{value:s(1)}),i(a,"return",{value:s(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function s(i){return function(s){var c=[i,s];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(u=0)),u;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return u.label++,{value:c[1],done:!1};case 5:u.label++,r=c[1],c=[0];continue;case 7:c=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){u=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){u.label=c[1];break}if(6===c[0]&&u.label<o[1]){u.label=o[1],o=c;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(c);break}o[2]&&u.ops.pop(),u.trys.pop();continue}c=t.call(e,u)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:return[4,e.submit()];case 1:return r.sent(),[4,t.resource("aiSettings").update({values:e.values,filterByTk:1})];case 2:return r.sent(),n.success(o("Saved successfully")),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,o){var u=r.apply(e,t);function a(e){l(u,n,o,a,i,"next",e)}function i(e){l(u,n,o,a,i,"throw",e)}a(void 0)})})()}}},m=function(){var e=(0,i.kj)();return u().createElement(a.Card,null,u().createElement(r.SchemaComponent,{scope:{t:e,useFormProps:p,useSubmitActionProps:f},schema:{type:"void",name:"ai-settings","x-component":"FormV2","x-use-component-props":"useFormProps",properties:{storage:{type:"string","x-decorator":"FormItem",title:'{{ t("Files storage") }}',"x-component":"RemoteSelect","x-component-props":{service:{resource:"aiSettings",action:"listStorages"},manual:!1},default:"local"},submit:{type:"void","x-component":"Action",title:'{{t("Save")}}',"x-component-props":{type:"primary"},"x-use-component-props":"useSubmitActionProps"}}}}))}}}]);
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["93"],{9900:function(e,n,u){u.r(n),u.d(n,{AIFormContextCollector:function(){return i},AIResourceContextCollector:function(){return l}});var o=u(9155),t=u(3398),c=u(5230),r=u(3342),i=function(e){var n=e.uid,u=(0,t.PI)().collect,r=(0,c.useForm)();return(0,o.useEffect)(function(){u(n,"form",r)},[r,n,u]),null},l=function(e){var n=e.uid,u=(0,t.PI)().collect,c=(0,r.useResourceActionContext)();return(0,o.useEffect)(function(){u(n,"service",c)},[n,c,u]),null}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["525"],{620:function(e,n,u){u.r(n),u.d(n,{AIFormContextCollector:function(){return i},AIResourceContextCollector:function(){return l}});var o=u(9155),t=u(4118),c=u(5230),r=u(3342),i=function(e){var n=e.uid,u=(0,t.PI)().collect,r=(0,c.useForm)();return(0,o.useEffect)(function(){u(n,"form",r)},[r,n,u]),null},l=function(e){var n=e.uid,u=(0,t.PI)().collect,c=(0,r.useResourceActionContext)();return(0,o.useEffect)(function(){u(n,"service",c)},[n,c,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([["343"],{5650:function(e,t,n){n.r(t),n.d(t,{Employees:function(){return ek}});var r=n(9155),o=n.n(r),a=n(2059),l=n(3342),i=n(3079),c=n(5230),u=n(9929),s=n(3059),p=n.n(s),m=n(5477);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 d(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 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.")}()}function y(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function v(){var e=y(["\n border-color: "," !important;\n "]);return v=function(){return e},e}function b(){var e=y(["\n cursor: pointer;\n &:hover {\n border-color: "," !important;\n }\n "]);return b=function(){return e},e}function h(){var e=y(["\n border: 2px solid "," !important;\n "]);return h=function(){return e},e}function g(){var e=y(["\n cursor: pointer;\n &:hover {\n border: 2px solid "," !important;\n }\n "]);return g=function(){return e},e}var S=function(e){var t=e.srcs,n=e.size,r=void 0===n?"large":n,i=e.selectable,c=e.highlightItem,u=e.onClick,s=(0,l.useToken)().token,f=(0,l.useUploadStyles)(),y=(f.wrapSSR,f.hashId,f.componentCls);return null==t||t.map(function(e,t){var n=d(e,2),r=n[0],a=n[1];return o().createElement("div",{key:t,className:"".concat(y,"-list-picture-card-container ").concat(y,"-list-item-container")},o().createElement("div",{onClick:function(){return u&&u(a)},className:p()("".concat(y,"-list-item"),"".concat(y,"-list-item-done"),"".concat(y,"-list-item-list-type-picture-card"),c===a?(0,m.css)(v(),s.colorPrimary):"",i?(0,m.css)(b(),s.colorPrimary):"")},o().createElement("div",{className:"".concat(y,"-list-item-info")},o().createElement("span",{key:"thumbnail",className:"".concat(y,"-list-item-thumbnail")},o().createElement("img",{src:r,className:"".concat(y,"-list-item-image")})))))}),o().createElement(a.List,{grid:{gutter:16,column:10},itemLayout:"horizontal",dataSource:t,renderItem:function(e){var t=d(e,2),n=t[0],l=t[1];return o().createElement(a.List.Item,null,o().createElement(a.Avatar,{size:"small"===r?45:80,className:p()(c===l?(0,m.css)(h(),s.colorPrimary):"",i?(0,m.css)(g(),s.colorPrimary):""),src:n,onClick:function(){return u&&u(l)}}))}})},x=function(e){var t=e.disabled,n=(0,c.useField)(),a=Object.keys(u.B)[0],l=d(o().useState(a),2),i=l[0],s=l[1];(0,r.useEffect)(function(){n.value||n.setInitialValue(a)},[n]),(0,r.useEffect)(function(){n.value&&s(n.value)},[n.value]);var p=(0,r.useMemo)(function(){return Object.keys(u.B).map(function(e){return{seed:e,uri:(0,u.H)(e)}})},[]);return o().createElement(o().Fragment,null,o().createElement("div",{style:{marginBottom:"16px"}},o().createElement(S,{srcs:i?[[(0,u.H)(i),i]]:[]})),!0!==t?o().createElement(S,{srcs:p.map(function(e){return[e.uri,e.seed]}),size:"small",selectable:!0,highlightItem:i,onClick:function(e){return n.value=e}}):o().createElement(o().Fragment,null))},E=function(e){var t=e.edit,n=(0,i.kj)(),r=(0,l.useCollectionRecordData)(),a=null==r?void 0:r.builtIn;return o().createElement(l.SchemaComponent,{scope:{t:n},components:{AvatarSelect:x},schema:{type:"void",properties:{username:{type:"string",title:'{{t("Username")}}',"x-decorator":"FormItem","x-component":"Input",required:!0,"x-disabled":t},nickname:{type:"string",title:'{{t("Nickname")}}',"x-disabled":a,"x-decorator":"FormItem","x-component":"Input",required:!0},position:{type:"string",title:'{{t("Position")}}',"x-disabled":a,"x-decorator":"FormItem","x-component":"Input",description:n("Position description"),"x-component-props":{placeholder:n("Position placeholder")}},avatar:{type:"string",title:'{{t("Avatar")}}',"x-decorator":"FormItem","x-component":"AvatarSelect","x-component-props":{disabled:a}},bio:{type:"string",title:'{{t("Bio")}}',"x-disabled":a,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{placeholder:n("Bio placeholder")}},greeting:{type:"string",title:'{{t("Greeting message")}}',"x-disabled":a,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{placeholder:n("Greeting message placeholder")}}}}})};function A(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 k(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function w(){var e=k(["\n background-color: #fafafa;\n border: 1px solid #d9d9d9;\n border-radius: 6px;\n padding: 8px 12px;\n min-height: 330px;\n max-height: 500px;\n overflow-y: auto;\n "]);return w=function(){return e},e}function I(){var e=k(["\n margin: 0 !important;\n white-space: pre-wrap;\n word-break: break-word;\n "]);return I=function(){return e},e}function C(){var e=k(["\n width: 100%;\n "]);return C=function(){return e},e}function j(){var e=k(["\n width: 100%;\n "]);return j=function(){return e},e}var O=a.Typography.Paragraph,P=function(){var e=(0,i.kj)(),t=(0,l.useCurrentUserVariable)({maxDepth:3,noDisabled:!0}).currentUserSettings,n=(0,l.useCurrentRoleVariable)({noDisabled:!0}).currentRoleSettings,r=(0,l.useDatetimeVariable)({noDisabled:!0}).datetimeSettings;return[t,n,{key:"$nLang",value:"$nLang",label:e("Current language")},r]},z=function(){var e=(0,i.kj)();return o().createElement(a.Alert,{style:{marginBottom:16},message:e("Role setting description"),type:"info"})},T=function(){var e,t,n=(0,i.kj)(),u=(0,l.useCollectionRecordData)(),s=(0,c.useForm)(),p=P(),f=(null==u?void 0:u.about)?"custom":"system",d=function(e){if(Array.isArray(e))return e}(e=(0,r.useState)(f))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],a=!0,l=!1;try{for(r=r.call(e);!(a=(t=r.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(l)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return A(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 A(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),y=d[0],v=d[1];(0,r.useEffect)(function(){s.setValuesIn("_aboutMode",y)},[s,y]);var b=(null==u?void 0:u.defaultPrompt)||"",h=function(e){v(e)};return o().createElement(a.Space,{direction:"vertical",style:{width:"100%"}},o().createElement(a.Radio.Group,{value:y,onChange:function(e){return h(e.target.value)}},o().createElement(a.Radio,{value:"system"},n("System default")),o().createElement(a.Radio,{value:"custom"},n("Custom"))),"system"===y?o().createElement("div",{className:(0,m.css)(w())},o().createElement(O,{copyable:!0,className:(0,m.css)(I())},b)):o().createElement(l.Variable.RawTextArea,{value:null!=(t=s.values.about)?t:"",onChange:function(e){s.setValuesIn("about",e.target.value)},scope:p,placeholder:n("Role setting placeholder"),autoSize:{minRows:15},className:(0,m.css)(C())}))},F=function(){var e,t=(0,i.kj)(),n=(0,c.useForm)(),r=P();return o().createElement(l.Variable.RawTextArea,{value:null!=(e=n.values.about)?e:"",onChange:function(e){n.setValuesIn("about",e.target.value)},scope:r,placeholder:t("Role setting placeholder"),autoSize:{minRows:15},className:(0,m.css)(j())})},M=function(){var e=(0,l.useCollectionRecordData)();return(null==e?void 0:e.builtIn)?o().createElement(T,null):o().createElement(F,null)},B=function(){var e=(0,i.kj)();return o().createElement(l.SchemaComponent,{scope:{t:e},components:{Description:z,AboutField:M},schema:{type:"void",properties:{desc:{type:"void","x-component":"Description"},aboutWrap:{type:"void","x-component":"div",properties:{about:{type:"string",title:'{{t("Role setting")}}',"x-decorator":"FormItem","x-component":"AboutField"}}}}}})},R={name:"aiEmployees",fields:[{name:"username",type:"string",primaryKey:!0},{name:"nickname",type:"string",interface:"input"},{name:"position",type:"string",interface:"input"},{name:"avatar",type:"string",interface:"image"},{name:"bio",type:"text",interface:"textarea"},{name:"about",type:"text",interface:"textarea"},{name:"defaultPrompt",type:"text",interface:"textarea"},{name:"greeting",type:"text",interface:"textarea"},{name:"chatSettings",type:"jsonb"},{name:"skillSettings",type:"jsonb"},{name:"modelSettings",type:"jsonb"},{name:"dataSourceSettings",type:"jsonb"},{name:"enableKnowledgeBase",type:"boolean",allowNull:!1,defaultValue:!1},{name:"knowledgeBasePrompt",type:"text"},{name:"knowledgeBase",type:"jsonb"},{name:"enabled",type:"boolean",interface:"switch",allowNull:!1,defaultValue:!0},{name:"builtIn",type:"boolean",allowNull:!1,defaultValue:!1}]},D=n(7330),L=n(7694);function V(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 K=function(e){var t=e.skills,n=(0,i.kj)(),r=(0,l.useToken)().token,u=t.filter(function(e){return"GENERAL"===e.scope});return o().createElement(a.Collapse,{ghost:!0,size:"small",defaultActiveKey:[],items:[{key:"general-skills",label:o().createElement("div",null,o().createElement("div",{style:{fontWeight:r.fontWeightStrong,fontSize:r.fontSizeSM}},n("General skills")),o().createElement("div",{style:{color:r.colorTextSecondary,fontSize:r.fontSizeSM}},n("Shared by all AI employees."))),children:o().createElement(a.List,{itemLayout:"vertical",size:"small",dataSource:u,renderItem:function(e){var t,l,i;return o().createElement(a.List.Item,{key:e.name},o().createElement("div",{style:{fontSize:r.fontSizeSM}},c.Schema.compile(null!=(t=null==e?void 0:e.title)?t:e.name,{t:n})),o().createElement("div",{style:{color:r.colorTextSecondary,fontSize:r.fontSizeSM}},c.Schema.compile(null!=(l=null!=(i=null==e?void 0:e.about)?i:e.description)?l:"",{t:n})))}})}]})},N=function(e){var t=e.selectedSkills,n=e.skills,r=(0,i.kj)(),u=(0,l.useToken)().token,s=new Map(n.map(function(e){return[e.name,e]})),p=t.map(function(e){return s.get(e)});return o().createElement(a.Collapse,{ghost:!0,size:"small",items:[{key:"specific-skills",label:o().createElement("div",null,o().createElement("div",{style:{fontWeight:u.fontWeightStrong,fontSize:u.fontSizeSM}},r("Employee-specific skills")),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM}},r("Only available to this AI employee."))),children:o().createElement(a.List,{itemLayout:"vertical",size:"small",dataSource:p,renderItem:function(e){var t,n,l;return o().createElement(a.List.Item,{key:e.name},o().createElement("div",{style:{fontSize:u.fontSizeSM}},c.Schema.compile(null!=(t=null==e?void 0:e.title)?t:e.name,{t:r})),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM}},c.Schema.compile(null!=(n=null!=(l=null==e?void 0:e.about)?l:e.description)?n:"",{t:r})))}})}],defaultActiveKey:["specific-skills"]})},W=(0,L.observer)(function(){var e,t=(0,c.useField)(),n=(0,D.M)(),i=n.aiSkillsLoading,u=n.aiSkills,s=(0,l.useCollectionRecordData)(),p=null==s?void 0:s.builtIn,m=null!=(e=t.value)?e:[];(0,r.useEffect)(function(){n.getAISkills()},[n]);var f=function(e){if(Array.isArray(e))return V(e)}(m)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(m)||function(e){if(e){if("string"==typeof e)return V(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 V(e,void 0)}}(m)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),d=new Map(u.map(function(e){return[e.name,e]})),y=f.filter(function(e){var t=d.get(e);return t&&"SPECIFIED"===t.scope});return o().createElement(o().Fragment,null,!i&&o().createElement(a.Space,{direction:"vertical",size:"large",style:{width:"100%"}},o().createElement(K,{skills:u}),p&&y.length>0&&o().createElement(N,{selectedSkills:y,skills:u})))}),U=function(){return o().createElement(l.SchemaComponent,{components:{Skills:W},schema:{type:"void",properties:{skillSettings:{type:"object",properties:{skills:{type:"array","x-component":"Skills","x-decorator":"FormItem"}}}}}})},$=n(166),q=n(9452);function G(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){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){G(a,r,o,l,i,"next",e)}function i(e){G(a,r,o,l,i,"throw",e)}l(void 0)})}}function H(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 X=function(){var e=(0,i.kj)();return{form:(0,r.useMemo)(function(){return(0,q.createForm)({initialValues:{username:"".concat((0,$.uid)()),enabled:!0,enableKnowledgeBase:!1,knowledgeBase:{knowledgeBaseIds:[],topK:3,score:"0.6"},knowledgeBasePrompt:e("knowledge Base Prompt default")}})},[e])}},Y=function(){var e=(0,l.useCollectionRecordData)();return{form:(0,r.useMemo)(function(){return(0,q.createForm)({initialValues:e})},[e])}},J=function(){var e=(0,l.useActionContext)().setVisible,t=(0,c.useForm)();return{type:"default",onClick:function(){e(!1),t.reset()}}},Q=function(){var e=(0,l.useActionContext)().setVisible,t=a.App.useApp().message,n=(0,c.useForm)(),r=(0,l.useAPIClient)(),o=(0,l.useDataBlockRequest)().refresh,u=(0,D.M)(),s=(0,i.kj)();return{type:"primary",onClick:function(){return _(function(){var a;return H(this,function(l){switch(l.label){case 0:return a=n.values,[4,n.submit()];case 1:return l.sent(),[4,r.resource("aiEmployees").create({values:a})];case 2:return l.sent(),o(),t.success(s("Saved successfully")),e(!1),n.reset(),[4,u.refreshAIEmployees()];case 3:return l.sent(),[2]}})})()}}},Z=function(){var e=(0,l.useActionContext)().setVisible,t=a.App.useApp().message,n=(0,c.useForm)(),r=(0,l.useDataBlockResource)(),o=(0,l.useDataBlockRequest)().refresh,u=(0,D.M)(),s=(0,l.useCollection)().getFilterTargetKey(),p=(0,i.kj)();return{type:"primary",onClick:function(){return _(function(){var a;return H(this,function(l){switch(l.label){case 0:return"system"===(a=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.values))._aboutMode&&(a.about=null),delete a._aboutMode,delete a.enabled,[4,n.submit()];case 1:return l.sent(),[4,r.update({values:a,filterByTk:a[s]})];case 2:return l.sent(),o(),t.success(p("Saved successfully")),e(!1),n.reset(),[4,u.refreshAIEmployees()];case 3:return l.sent(),[2]}})})()}}},ee=function(){var e=(0,i.kj)(),t=(0,l.useCollectionRecordData)(),n=(0,l.useDestroyActionProps)().onClick,r=null==t?void 0:t.builtIn,o=a.App.useApp().message,c="root"===(0,l.useAPIClient)().auth.role;return{onClick:function(t,a){return _(function(){return H(this,function(l){switch(l.label){case 0:if(r&&!c)return o.warning(e("Cannot delete built-in ai employees")),[2];return[4,n(t,a)];case 1:return l.sent(),[2]}})})()}}};function et(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 en=a.Card.Meta,er=(0,r.createContext)(null),eo=function(){var e=(0,r.useContext)(er).aiEmployee;return{form:(0,r.useMemo)(function(){return(0,q.createForm)({initialValues:e})},[e])}},ea=function(e){var t=e.aiEmployee,n=(0,l.useToken)().token,r=(0,l.useActionContext)().setVisible;return o().createElement(a.Card,{variant:"borderless",hoverable:!0,onClick:function(){return r(!0)}},o().createElement(en,{avatar:t.avatar?o().createElement(a.Avatar,{size:40,src:(0,u.H)(t.avatar)}):null,title:t.nickname,description:o().createElement(o().Fragment,null,t.position&&o().createElement(a.Tag,{style:{marginBottom:n.marginXS}},t.position),o().createElement(a.Typography.Paragraph,{style:{height:n.fontSize*n.lineHeight*3},ellipsis:{rows:3},type:"secondary"},t.bio))}))},el=function(){var e,t=function(e){if(Array.isArray(e))return e}(e=o().useState(!1))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],a=!0,l=!1;try{for(r=r.call(e);!(a=(t=r.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(l)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return et(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 et(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.")}(),n=t[0],r=t[1],i=(0,l.useAPIClient)(),c=(0,l.useRequest)(function(){return i.resource("aiEmployees").getTemplates().then(function(e){var t;return null==e||null==(t=e.data)?void 0:t.data})}),u=c.data;return c.loading?o().createElement(a.Spin,null):u&&u.length?o().createElement(a.Row,{gutter:[16,16]},u.map(function(e){return o().createElement(l.ActionContextProvider,{key:e.username,value:{visible:n,setVisible:r}},o().createElement(a.Col,{span:12},o().createElement(ea,{aiEmployee:e})),o().createElement(er.Provider,{value:{aiEmployee:e}},o().createElement(l.SchemaComponent,{scope:{useCancelActionProps:J,useCreateActionProps:Q,useTemplateFormProps:eo},schema:{type:"void",name:(0,$.uid)(),"x-component":"Action.Drawer",title:'{{t("New AI employee")}}',"x-decorator":"FormV2","x-use-decorator-props":"useTemplateFormProps",properties:{form:{type:"void","x-component":"AIEmployeeForm"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{close:{title:"Cancel","x-component":"Action","x-component-props":{type:"default"},"x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useCreateActionProps"}}}}}})))})):o().createElement(a.Empty,{image:a.Empty.PRESENTED_IMAGE_SIMPLE})},ei=n(418),ec=function(){return(0,i.kj)(),o().createElement(l.SchemaComponent,{components:{Switch:ei.Switch},schema:{type:"void",properties:{enableKnowledgeBase:{type:"boolean",title:'{{t("Enable Knowledge Base")}}',"x-decorator":"FormItem","x-component":"Switch"},knowledgeBasePrompt:{type:"string",title:'{{t("Knowledge Base Prompt")}}',required:!0,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:5}},"x-reactions":[{dependencies:["enableKnowledgeBase"],fulfill:{state:{disabled:"{{$deps[0] === false}}"}}}]},knowledgeBase:{type:"object",properties:{knowledgeBaseIds:{type:"array",title:'{{t("Knowledge Base")}}',required:!0,"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{mode:"multiple",manual:!1,fieldNames:{label:"name",value:"id"},service:{resource:"aiKnowledgeBase",action:"list",params:{fields:["id","name"],filter:{enabled:!0}}}},"x-reactions":[{dependencies:["enableKnowledgeBase"],fulfill:{state:{disabled:"{{$deps[0] === false}}"}}}]},topK:{type:"number",title:'{{t("Top K")}}',required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1,max:100},"x-reactions":[{dependencies:["enableKnowledgeBase"],fulfill:{state:{disabled:"{{$deps[0] === false}}"}}}]},score:{type:"number",title:'{{t("Score")}}',required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:0,max:1,step:.1},"x-reactions":[{dependencies:["enableKnowledgeBase"],fulfill:{state:{disabled:"{{$deps[0] === false}}"}}}]}}}}}})},eu=n(7375);function es(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 ep(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)}var em=function(){var e,t=(0,c.useField)(),n=(0,l.useCollectionRecordData)(),u=(0,l.useDataBlockResource)(),s=(0,l.useDataBlockRequest)().refresh,p=(0,D.M)(),m=a.App.useApp().message,f=(0,i.kj)(),d=function(e){if(Array.isArray(e))return e}(e=(0,r.useState)(!1))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],a=!0,l=!1;try{for(r=r.call(e);!(a=(t=r.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(l)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return es(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 es(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),y=d[0],v=d[1];return o().createElement(a.Switch,{checked:t.value,onChange:function(e){var t;return(t=function(){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:v(!0),t.label=1;case 1:return t.trys.push([1,4,5,6]),[4,u.update({filterByTk:n.username,values:{enabled:e}})];case 2:return t.sent(),m.success(f("Saved successfully")),s(),[4,p.refreshAIEmployees()];case 3:return t.sent(),[3,6];case 4:return t.sent(),m.error(f("Failed to update")),[3,6];case 5:return v(!1),[7];case 6:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function l(e){ep(a,r,o,l,i,"next",e)}function i(e){ep(a,r,o,l,i,"throw",e)}l(void 0)})})()},loading:y,size:"small"})};function ef(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ed(e){return function(e){if(Array.isArray(e))return ef(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ey(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 ey(e,t){if(e){if("string"==typeof e)return ef(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ef(e,t)}}var ev=function(e){var t,n=e.name,r=e.title,u=e.description,s=e.isRoot,p=(0,i.kj)(),m=(0,l.useToken)().token,f=null==(t=(0,c.useField)().value)?void 0:t.find(function(e){return e.name===n});return o().createElement("div",{style:{minWidth:"150px",maxWidth:"300px"}},o().createElement("div",{style:{display:"flex",justifyContent:"space-between"}},o().createElement("div",null,c.Schema.compile(r,{t:p})),!s&&o().createElement("div",null,o().createElement(a.Switch,{size:"small",value:f,disabled:f}))),o().createElement("div",{style:{color:m.colorTextSecondary,fontSize:m.fontSizeSM}},c.Schema.compile(u,{t:p})))},eb=(0,L.observer)(function(){var e,t,n=(0,i.kj)(),u=(0,l.useToken)().token,s=(0,c.useField)(),p=(0,D.M)(),m=p.aiToolsLoading,f=p.aiTools,d=(0,l.useCollectionRecordData)(),y=null==d?void 0:d.builtIn;(0,r.useEffect)(function(){p.getAITools()},[p]);var v=function(e){console.log(e);var t=ed(s.value||[]);t.some(function(t){return t.name===e})||t.push({name:e,autoCall:!1}),console.log(s.value),console.log(t),s.value=t,console.log(s.value)},b=ed(null!=(t=s.value)?t:[]),h=new Set(b.map(function(e){return e.name})),g=(null==f?void 0:f.filter(function(e){return"CUSTOM"===e.scope&&!h.has(e.definition.name)}).map(function(e){var t,n,r={key:e.definition.name},a={title:null!=(t=e.introduction.title)?t:"",description:null!=(n=e.introduction.about)?n:"",name:e.definition.name,isRoot:!0};return r.label=o().createElement(ev,a),r.onClick=function(){return v(e.definition.name)},r}))||[],S=new Map(f.map(function(e){return[e.definition.name,e]})),x=f.filter(function(e){return"GENERAL"===e.scope&&"loader"===e.from}),E=b.filter(function(e){var t=S.get(e.name);return t&&"GENERAL"!==t.scope&&"CUSTOM"!==t.scope}),A=b.filter(function(e){var t=S.get(e.name);return t&&"CUSTOM"===t.scope}),k=[{label:n("Ask"),value:"ASK"},{label:n("Allow"),value:"ALLOW"}],w=function(e,t){return"CUSTOM"===e.scope?(null==t?void 0:t.autoCall)?"ALLOW":"ASK":"ALLOW"===e.defaultPermission?"ALLOW":"ASK"},I=function(e){if(Array.isArray(e))return e}(e=(0,r.useState)(y&&0===A.length?[]:["custom-tools"]))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],a=!0,l=!1;try{for(r=r.call(e);!(a=(t=r.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(l)throw n}}return o}}(e)||ey(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),C=I[0],j=I[1],O=(0,r.useRef)(A.length);return(0,r.useEffect)(function(){var e=0===O.current;y&&0===A.length?j([]):e&&A.length>0&&j(["custom-tools"]),O.current=A.length},[A.length,y]),o().createElement(o().Fragment,null,!m&&o().createElement(a.Space,{direction:"vertical",size:"large",style:{width:"100%"}},o().createElement("div",null,o().createElement(a.Collapse,{ghost:!0,size:"small",defaultActiveKey:[],items:[{key:"general-tools",label:o().createElement("div",null,o().createElement("div",{style:{fontWeight:u.fontWeightStrong,fontSize:u.fontSizeSM}},n("General tools")),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM}},n("Shared by all AI employees."))),children:o().createElement(a.List,{itemLayout:"vertical",size:"small",dataSource:x,renderItem:function(e){return o().createElement(a.List.Item,{key:e.definition.name,extra:o().createElement(a.Flex,{vertical:!0,justify:"end"},o().createElement("div",{style:{fontSize:u.fontSizeSM,color:u.colorTextSecondary}},n("Permission"),o().createElement(a.Segmented,{style:{marginLeft:"8px"},size:"small",options:k,value:w(e),disabled:!0})))},o().createElement("div",{style:{fontSize:u.fontSizeSM}},c.Schema.compile(e.introduction.title,{t:n})),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM}},c.Schema.compile(e.introduction.about,{t:n})))}})}]})),y&&E.length>0&&o().createElement("div",null,o().createElement(a.Collapse,{ghost:!0,size:"small",items:[{key:"specific-tools",label:o().createElement("div",null,o().createElement("div",{style:{fontWeight:u.fontWeightStrong,fontSize:u.fontSizeSM}},n("Employee-specific tools")),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM}},n("Only available to this AI employee."))),children:o().createElement(a.List,{itemLayout:"vertical",size:"small",dataSource:E,renderItem:function(e){var t=S.get(e.name);return t?o().createElement(a.List.Item,{key:t.definition.name,extra:o().createElement(a.Flex,{vertical:!0,justify:"end"},o().createElement("div",{style:{fontSize:u.fontSizeSM,color:u.colorTextSecondary}},n("Permission"),o().createElement(a.Segmented,{style:{marginLeft:"8px"},size:"small",options:k,value:w(t,e),disabled:!0})))},o().createElement("div",{style:{fontSize:u.fontSizeSM}},c.Schema.compile(t.introduction.title,{t:n})),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM}},c.Schema.compile(t.introduction.about,{t:n}))):null}})}],defaultActiveKey:["specific-tools"]})),o().createElement("div",null,o().createElement(a.Collapse,{ghost:!0,size:"small",activeKey:C,onChange:function(e){j(Array.isArray(e)?e:[e].filter(Boolean))},items:[{key:"custom-tools",label:o().createElement("div",null,o().createElement("div",{style:{fontWeight:u.fontWeightStrong,fontSize:u.fontSizeSM}},n("Custom tools")),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM}},n("Created by workflow. You can add/remove and set default permissions."))),extra:o().createElement("div",{onClick:function(e){e.stopPropagation()},onKeyDown:function(e){e.stopPropagation()}},o().createElement(a.Dropdown,{menu:{items:g},placement:"bottomRight",disabled:0===g.length},o().createElement(a.Button,{type:"primary",icon:o().createElement(eu.PlusOutlined,null)},n("Add tool")))),children:o().createElement(a.List,{itemLayout:"vertical",bordered:!0,dataSource:A,renderItem:function(e){var t=S.get(e.name);return t?o().createElement(a.List.Item,{key:t.definition.name,extra:o().createElement(a.Flex,{vertical:!0,justify:"end"},o().createElement(a.Space,null,o().createElement("div",{style:{fontSize:u.fontSizeSM}},n("Permission"),o().createElement(a.Segmented,{style:{marginLeft:"8px",marginRight:"8px"},size:"small",options:k,value:w(t,e),onChange:function(t){var n=(s.value||[]).map(function(n){var r,o;return n.name===e.name?(r=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),o=o={autoCall:"ALLOW"===t},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}),r):n});s.value=n}})),o().createElement(a.Button,{icon:o().createElement(eu.DeleteOutlined,null),variant:"link",color:"default",onClick:function(){var e=ed(s.value||[]),n=e.findIndex(function(e){return e.name===t.definition.name});-1!==n&&(e.splice(n,1),s.value=e)}})))},o().createElement("div",null,c.Schema.compile(t.introduction.title,{t:n})),o().createElement("div",{style:{color:u.colorTextSecondary,fontSize:u.fontSizeSM}},c.Schema.compile(t.introduction.about,{t:n}))):null}})}]}))))}),eh=function(){return o().createElement(l.SchemaComponent,{components:{Tools:eb},schema:{type:"void",properties:{skillSettings:{type:"object",properties:{tools:{type:"array","x-component":"Tools","x-decorator":"FormItem"}}}}}})};function eg(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 eS(e,t){if(e){if("string"==typeof e)return eg(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 eg(e,t)}}var ex=function(e){var t,n,c=e.edit,u=(0,i.kj)(),s=(0,l.useAPIClient)(),p=function(e){if(Array.isArray(e))return e}(t=(0,r.useState)(!1))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],a=!0,l=!1;try{for(r=r.call(e);!(a=(t=r.next()).done)&&(o.push(t.value),2!==o.length);a=!0);}catch(e){l=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(l)throw n}}return o}}(t)||eS(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),m=p[0],f=p[1];return(0,r.useEffect)(function(){s.resource("aiSettings").isKnowledgeBaseEnabled().then(function(e){var t;f(null==e||null==(t=e.data)?void 0:t.data.enabled)}).catch(function(e){return console.error("api fail aiSettings.isKnowledgeBaseEnabled",e)})},[s]),o().createElement(a.Tabs,{items:[{key:"profile",label:u("Profile"),children:o().createElement(E,{edit:c}),forceRender:!0},{key:"roleSetting",label:u("Role setting"),children:o().createElement(B,null),forceRender:!0},{key:"skills",label:u("Skills"),children:o().createElement(U,null)},{key:"tools",label:u("Tools"),children:o().createElement(eh,null)}].concat(function(e){if(Array.isArray(e))return eg(e)}(n=m?[{key:"knowledgeBase",label:u("KnowledgeBase"),children:o().createElement(ec,null)}]:[])||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||eS(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},eE=function(e){var t,n,r=(0,c.useField)();return r.value?o().createElement(a.Avatar,(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}({shape:"square",size:"large"},e),n=n={src:(0,u.H)(r.value)},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)):null},eA=function(e){var t=(0,c.useField)();return t.value?t.value&&o().createElement(eu.CheckOutlined,{style:{color:"#52c41a"}}):null},ek=function(){var e=(0,i.kj)();return o().createElement(l.ExtendCollectionsProvider,{collections:[R]},o().createElement(l.SchemaComponent,{components:{AIEmployeeForm:ex,Avatar:eE,Templates:el,Enabled:eA,EnableSwitch:em},scope:{t:e,useCreateFormProps:X,useEditFormProps:Y,useCancelActionProps:J,useCreateActionProps:Q,useEditActionProps:Z,useDeleteActionProps:ee},schema:{type:"void",name:"ai-employees",properties:{block:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{collection:"aiEmployees",action:"list",rowKey:"username",dragSort:!0,dragSortBy:"sort"},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:20}},properties:{refresh:{title:"{{t('Refresh')}}","x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},add:{type:"void",title:"{{t('New AI employee')}}","x-align":"right","x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{t("New AI employee")}}',"x-decorator":"FormV2","x-use-decorator-props":"useCreateFormProps",properties:{form:{type:"void","x-component":"AIEmployeeForm"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{close:{title:"Cancel","x-component":"Action","x-component-props":{type:"default"},"x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useCreateActionProps"}}}}}}}}},table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"username",rowSelection:{type:"checkbox"}},properties:{column0:{type:"void",title:e("Avatar"),"x-component":"TableV2.Column",properties:{avatar:{type:"string","x-component":"Avatar","x-component-props":{shape:"circle"}}}},column1:{type:"void",title:e("Username"),"x-component":"TableV2.Column",properties:{username:{type:"string","x-component":"Input","x-pattern":"readPretty"}}},column2:{type:"void",title:e("Nickname"),"x-component":"TableV2.Column",properties:{nickname:{type:"string","x-component":"Input","x-pattern":"readPretty"}}},column3:{type:"void",title:e("Position"),"x-component":"TableV2.Column",properties:{position:{type:"string","x-component":"Input","x-pattern":"readPretty"}}},column4:{type:"void",title:e("Enabled"),"x-component":"TableV2.Column",properties:{enabled:{type:"boolean","x-component":"EnableSwitch"}}},column6:{type:"void",title:'{{t("Actions")}}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{t("Edit") }}',"x-action":"update","x-component":"Action.Link","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void",title:e("Edit AI employee"),"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",properties:{form:{type:"void","x-component":"AIEmployeeForm","x-component-props":{edit:!0}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{close:{title:e("Cancel"),"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-use-component-props":"useEditActionProps"}}}}}}},destroy:{type:"void",title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":"useDeleteActionProps","x-component-props":{confirm:{title:"{{t('Delete AI employee')}}",content:"{{t('Are you sure you want to delete this AI employee?')}}"}}}}}}}}}}}}}}))}}}]);
@@ -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([["561"],{3392:function(e,o,t){t.r(o),t.d(o,{Messages:function(){return y},MessagesSettings:function(){return v}});var r=t(3342),n=t(9155),a=t.n(n),p=t(3079),s=t(7768),l=t(418),m=t(5230),i=t(1990),c=(0,m.observer)(function(){var e=(0,p.kj)(),o=(0,m.useField)().query(".type").take();return"image_url"===o.value||"image_base64"===o.value?a().createElement(r.SchemaComponent,{components:{WorkflowVariableInput:i.WorkflowVariableInput},schema:{type:"void",properties:{image_url:{type:"object",properties:{url:{title:(0,s.tval)("Image",{ns:p.MF}),type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableInput","x-component-props":{changeOnSelect:!0}}}}}}}):a().createElement(r.SchemaComponent,{components:{WorkflowVariableRawTextArea:i.WorkflowVariableRawTextArea},schema:{type:"void",properties:{content:{title:e("Content"),type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableRawTextArea","x-component-props":{autoSize:{minRows:5}}}}}})}),u=(0,m.observer)(function(){var e=(0,p.kj)();return"user"===(0,m.useField)().query(".role").take().value?a().createElement(r.SchemaComponent,{components:{UserMessage:c},schema:{type:"void",properties:{content:{type:"array","x-component":"ArrayCollapse","x-component-props":{size:"small",bordered:!1},default:[{type:"text"}],"x-decorator":"FormItem",items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:e("Content")},properties:{form:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:{type:{title:e("Type"),type:"string","x-decorator":"FormItem","x-component":"Select",enum:[{label:e("Text"),value:"text"},{label:e("Image (send via URL)"),value:"image_url"},{label:e("Image (send via Base64)"),value:"image_base64"}],default:"text"},user:{type:"void","x-component":"UserMessage"}}},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"},remove:{type:"void","x-component":"ArrayCollapse.Remove"}}},properties:{addition:{type:"void",title:(0,s.tval)("Add content",{ns:p.MF}),"x-component":"ArrayCollapse.Addition","x-component-props":{defaultValue:{type:"text"}}}}}}}}):a().createElement(r.SchemaComponent,{components:{WorkflowVariableRawTextArea:i.WorkflowVariableRawTextArea},schema:{type:"void",properties:{message:{title:(0,s.tval)("Content",{ns:p.MF}),type:"string","x-decorator":"FormItem","x-component":"WorkflowVariableRawTextArea"}}}})}),y=function(){var e=(0,p.kj)();return a().createElement(r.SchemaComponent,{components:{ArrayCollapse:l.ArrayCollapse,FormLayout:l.FormLayout,Content:u},schema:{type:"void",properties:{messages:{type:"array","x-component":"ArrayCollapse","x-component-props":{size:"small"},"x-decorator":"FormItem",default:[{role:"user",content:[{type:"text"}]}],items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:e("Message")},properties:{form:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:{role:{title:(0,s.tval)("Role",{ns:p.MF}),type:"string","x-decorator":"FormItem","x-component":"Select",enum:[{label:"System",value:"system"},{label:"User",value:"user"},{label:"Assistant",value:"assistant"}],default:"user"},content:{type:"void","x-component":"Content"}}},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"},remove:{type:"void","x-component":"ArrayCollapse.Remove"}}},properties:{addition:{type:"void",title:(0,s.tval)("Add prompt",{ns:p.MF}),"x-component":"ArrayCollapse.Addition","x-component-props":{defaultValue:{role:"user",content:[{type:"text"}]}}}}}}}})},v=function(){return a().createElement(r.SchemaComponent,{components:{Messages:y},schema:{type:"void",properties:{messages:{type:"void","x-component":"Messages"}}}})}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["711"],{602:function(e,t,r){r.r(t),r.d(t,{Echarts:function(){return k},replaceTagBlockByIndex:function(){return j}});var n=r(9155),o=r.n(n),a=r(4069),c=r(7251),i=r(7174),l=r(2059),u=r(1049),s=r(3079),f=r(3342),p=r(3002),m=r(166),y=r(9452),h=r(7596),b=r(26);function v(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 g(e,t,r,n,o,a,c){try{var i=e[a](c),l=i.value}catch(e){r(e);return}i.done?t(l):Promise.resolve(l).then(n,o)}function d(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 O(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);c=!0);}catch(e){i=!0,n=e}finally{try{c||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return v(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 v(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="M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z";function j(e,t,r,n){var o=RegExp("<".concat(t,">([\\s\\S]*?)<\\/").concat(t,">"),"gi"),a=0;return e.replace(o,function(e,o){return a===r?(a++,"<".concat(t,">\n").concat(n,"\n</").concat(t,">")):(a++,e)})}var E=function(e){var t,r=e.open,a=e.setOpen,c=e.optionStr,i=e.message,p=e.index,b=(0,s.kj)(),v=(0,f.useToken)().token,E=(0,f.useGlobalTheme)().isDarkTheme;h.J.use.currentConversation();try{t=JSON.parse(c)}catch(e){t=null}var k=S((0,n.useState)(t),2),x=k[0],z=k[1],P=(0,n.useRef)(null),I={fontSize:v.fontSizeSM,color:v.colorText,borderWidth:0},A=O(d({},I),{color:v.colorLinkHover}),T=(0,n.useMemo)(function(){return(0,y.createForm)({initialValues:{option:t},effects:function(){(0,y.onFieldValueChange)("option",function(e){z(e.value)})}})},[c]);return o().createElement(l.Modal,{open:r,onCancel:function(){a(!1),T.reset()},onOk:function(){var e;return(e=function(){return function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(c,"next",{value:l(0)}),i(c,"throw",{value:l(1)}),i(c,"return",{value:l(2)}),"function"==typeof Symbol&&i(c,Symbol.iterator,{value:function(){return this}}),c;function l(i){return function(l){var u=[i,l];if(r)throw TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,n=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(e){return j(i.content,"echarts",p,JSON.stringify(x)),[2]})},function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function c(e){g(a,n,o,c,i,"next",e)}function i(e){g(a,n,o,c,i,"throw",e)}c(void 0)})})()},okText:b("Save"),width:"80%",afterOpenChange:function(e){e&&setTimeout(function(){var e;null==(e=P.current)||e.getEchartsInstance().resize()},0)}},o().createElement(l.Row,{gutter:8,style:{marginTop:"16px"}},o().createElement(l.Col,{span:8},o().createElement(f.SchemaComponent,{schema:{type:"void",name:(0,m.uid)(),properties:{form:{"x-component":"FormV2","x-component-props":{form:T},properties:{option:{type:"string","x-decorator":"FormItem","x-component":"Input.JSON","x-component-props":{json5:!0,autoSize:{minRows:30,maxRows:30}}}}}}}})),o().createElement(l.Col,{span:16},x?o().createElement(l.Card,{size:"small"},o().createElement(u.A,{ref:P,option:O(d({},x),{toolbox:{show:!0,feature:{saveAsImage:{title:b("Save as image"),icon:"path://".concat(w),iconStyle:I,emphasis:{iconStyle:A}}}}}),theme:E?"defaultDark":"light"})):o().createElement(l.Alert,{type:"error",showIcon:!0,message:b("Invalid configuration")}))))},k=function(e){var t=e.children,r=(e.className,e.message),m=e.index,y=function(e,t){if(null==e)return{};var r,n,o,a={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,r=Reflect.ownKeys(Object(e));o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n]);return a}if(a=function(e,t){if(null==e)return{};var r,n,o={},a=Object.getOwnPropertyNames(e);for(n=0;n<a.length;n++)r=a[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n=r[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n]);return a}(e,["children","className","message","index"]),h=S((0,n.useState)(!1),2),v=h[0],g=h[1],j=(0,s.kj)(),k=(0,f.useToken)().token,x=(0,f.useGlobalTheme)().isDarkTheme,z=b.H.use.responseLoading(),P={fontSize:k.fontSizeSM,color:k.colorText,borderWidth:0},I=O(d({},P),{color:k.colorLinkHover});if(z&&!r.messageId)return o().createElement(p.z,null);var A=o().Children.toArray(t).join(""),T={};try{T=JSON.parse(A)}catch(e){return o().createElement(l.Card,{size:"small",title:j("ECharts"),styles:{title:{fontSize:k.fontSize,fontWeight:400},body:{width:"100%",fontSize:k.fontSizeSM}}},o().createElement(a.A,O(d({},y),{PreTag:"div",language:"json",style:x?c.A:i.A}),String(t).replace(/\n$/,"")))}return o().createElement(o().Fragment,null,o().createElement(u.A,{option:O(d({},T),{toolbox:{show:!0,feature:{myEditFeature:{show:!0,title:j("Edit"),icon:"path://".concat("M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"),iconStyle:P,emphasis:{iconStyle:I},onclick:function(){g(!0)}},saveAsImage:{title:j("Save as image"),icon:"path://".concat(w),iconStyle:P,emphasis:{iconStyle:I}}}}}),theme:x?"defaultDark":"light"}),o().createElement(E,{open:v,setOpen:g,optionStr:A,message:r,index:m}))}}}]);
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["975"],{7810:function(e,t,n){n.r(t),n.d(t,{Settings:function(){return _},useProviderSettingsForm:function(){return G},LLMServices:function(){return z},ProviderSelect:function(){return q}});var r=n(3342),o=n(9155),i=n.n(o),l=n(4442),a=n(219),c=n(2059),s=n(7375),u={name:"llmServices",fields:[{name:"name",type:"uid",primaryKey:!0},{name:"title",type:"string",interface:"input",uiSchema:{title:'{{t("Title")}}',"x-component":"Input"}},{name:"provider",type:"string",interface:"select",uiSchema:{title:'{{t("Provider")}}',"x-component":"Select"}},{name:"options",type:"jsonb"},{name:"enabledModels",type:"json",defaultValue:{mode:"recommended",models:[]}},{name:"enabled",type:"boolean",defaultValue:!0},{name:"modelOptions",type:"jsonb",defaultValue:{temperature:1,topP:1,frequencyPenalty:0,presencePenalty:0}}]},p={type:"void",properties:{drawer:{type:"void",title:'{{ t("Add new") }}',"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useCreateFormProps",properties:{provider:{type:"string","x-decorator":"FormItem",title:'{{ t("Provider") }}',"x-component":"ProviderSelect",required:!0},title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input","x-reactions":{dependencies:["provider"],when:"{{!$self.modified}}",fulfill:{state:{value:"{{$getProviderLabel($deps[0])}}"},schema:{"x-visible":"{{!!$deps[0]}}"}}}},options:{type:"object","x-component":"Settings","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},"options.baseURL":{type:"string","x-decorator":"FormItem",title:'{{ t("Base URL") }}',"x-component":"Input","x-component-props":{placeholder:'{{ t("Base URL is optional, leave blank to use default (recommended)") }}'},"x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},enabledModels:{type:"object","x-decorator":"FormItem",title:'{{ t("Enabled Models") }}',"x-component":"EnabledModelsSelect","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{testFlight:{type:"void","x-component":"LLMTestFlight","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useCreateActionProps"}}}}}}},d={type:"void",name:"llm-services",properties:{card:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{collection:"llmServices",action:"list",rowKey:"name",dragSort:!0,dragSortBy:"sort"},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:20}},properties:{refresh:{title:"{{t('Refresh')}}","x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},bulkDelete:{title:"{{t('Delete')}}","x-action":"destroy","x-component":"Action","x-use-component-props":"useBulkDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},add:{type:"void","x-component":"AddNew",title:"{{t('Add new')}}","x-align":"right"}}},table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void",title:'{{ t("UID") }}',"x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"Input","x-read-pretty":!0}}},column2:{type:"void",title:'{{ t("Title") }}',"x-component":"TableV2.Column",properties:{title:{type:"string","x-component":"Input","x-read-pretty":!0}}},column3:{type:"void",title:'{{ t("Provider") }}',"x-component":"TableV2.Column",properties:{provider:{type:"string","x-component":"Select","x-read-pretty":!0,enum:"{{ providers }}"}}},column4:{type:"void",title:'{{ t("Enabled") }}',"x-component":"TableV2.Column",properties:{enabled:{type:"boolean","x-component":"EnabledSwitch"}}},column5:{type:"void",title:'{{ t("Actions") }}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-component":"Action.Link","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",properties:{provider:{type:"string","x-decorator":"FormItem",title:'{{ t("Provider") }}',"x-component":"ProviderDisplay"},title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input"},options:{type:"object","x-component":"Settings"},"options.baseURL":{type:"string","x-decorator":"FormItem",title:'{{ t("Base URL") }}',"x-component":"Input","x-component-props":{placeholder:'{{ t("Base URL is optional, leave blank to use default (recommended)") }}'}},enabledModels:{type:"object","x-decorator":"FormItem",title:'{{ t("Enabled Models") }}',"x-component":"EnabledModelsSelect"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{testFlight:{type:"void","x-component":"LLMTestFlight"},cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useEditActionProps"}}}}}}},destroy:{type:"void",title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}}}},m=n(1248),f=n(5230),y=n(9452),v=n(166),b=n(4167),h=n(6261),x={type:"object",properties:{temperature:{type:"number",title:'{{t("Temperature")}}',description:'{{t("Temperature description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:0,max:2,step:.1},default:1},maxTokens:{type:"number",title:'{{t("Max tokens")}}',description:'{{t("Max completion tokens description")}}',"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1,max:128e3,placeholder:'{{t("Leave empty for no limit")}}'}},topP:{type:"number",title:'{{t("Top P")}}',description:'{{t("Top P description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:0,max:1,step:.1},default:1},frequencyPenalty:{type:"number",title:'{{t("Frequency penalty")}}',description:'{{t("Frequency penalty description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:-2,max:2,step:.1},default:0},presencePenalty:{type:"number",title:'{{t("Presence penalty")}}',description:'{{t("Presence penalty description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:-2,max:2,step:.1},default:0}}},g=function(){var e=(0,a.kj)();return i().createElement(c.Collapse,{bordered:!1,size:"small",style:{marginTop:16},items:[{key:"modelOptions",label:e("Model options"),forceRender:!0,children:i().createElement(r.SchemaComponent,{schema:x,scope:{t:e}})}]})},S=n(3726);function P(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 A(e,t,n,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function w(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){A(i,r,o,l,a,"next",e)}function a(e){A(i,r,o,l,a,"throw",e)}l(void 0)})}}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){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function E(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function C(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 i=[],l=!0,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,t)||O(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 O(e,t){if(e){if("string"==typeof e)return P(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 P(e,t)}}function I(e,t){var n,r,o,i={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),a=Object.defineProperty;return a(l,"next",{value:c(0)}),a(l,"throw",{value:c(1)}),a(l,"return",{value:c(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function c(a){return function(c){var s=[a,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var M=(0,o.createContext)({autoOpen:!1,setAutoOpen:function(){}}),F=function(){return{form:(0,o.useMemo)(function(){return(0,y.createForm)({initialValues:{name:"v_".concat((0,v.uid)())}})},[])}},L=function(){var e=(0,r.useCollectionRecordData)();return{form:(0,o.useMemo)(function(){return(0,y.createForm)({initialValues:e})},[e])}},j=function(){var e=(0,r.useActionContext)().setVisible;return{type:"default",onClick:function(){e(!1)}}},T=function(){var e=(0,r.useActionContext)().setVisible,t=c.App.useApp().message,n=(0,f.useForm)(),o=(0,r.useDataBlockResource)(),i=(0,r.useDataBlockRequest)().refresh,l=(0,a.kj)(),s=(0,S.M)();return{type:"primary",onClick:function(){return w(function(){var r;return I(this,function(a){switch(a.label){case 0:return[4,n.submit()];case 1:return a.sent(),r=n.values,[4,o.create({values:r})];case 2:return a.sent(),i(),s.refreshLLMServices(),t.success(l("Saved successfully")),e(!1),[2]}})})()}}},D=function(){var e=(0,r.useActionContext)().setVisible,t=c.App.useApp().message,n=(0,f.useForm)(),o=(0,r.useDataBlockResource)(),i=(0,r.useDataBlockRequest)().refresh,l=(0,r.useCollection)().getFilterTargetKey(),s=(0,a.kj)(),u=(0,S.M)();return{type:"primary",onClick:function(){return w(function(){var r;return I(this,function(a){switch(a.label){case 0:return[4,n.submit()];case 1:return a.sent(),r=n.values,[4,o.update({values:r,filterByTk:r[l]})];case 2:return a.sent(),i(),u.refreshLLMServices(),t.success(s("Saved successfully")),e(!1),n.reset(),[2]}})})()}}},B={"google-genai":"Gemini",openai:"GPT","openai-completions":"Recommended for third-party OpenAI-compatible APIs (OpenRouter, Groq, Together AI, etc.)",anthropic:"Claude",deepseek:"DeepSeek",dashscope:"Qwen (Tongyi)",kimi:"Kimi",ollama:"Local models"},R=["google-genai","openai","anthropic","deepseek","dashscope","kimi","openai-completions","ollama"],V=function(){var e=(0,f.useField)(),t=(0,m.Pq)().find(function(t){return t.value===e.value});return i().createElement("span",null,(null==t?void 0:t.label)||e.value)},q=function(){var e=c.theme.useToken().token,t=(0,f.useField)(),n=(0,m.Pq)(),r=(0,a.kj)(),o=((function(e){if(Array.isArray(e))return P(e)})(n)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||O(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){var n=R.indexOf(e.value),r=R.indexOf(t.value);return(n<0?1/0:n)-(r<0?1/0:r)}).map(function(t){var n=B[t.value],o=n?r(n):"",l=t.supportedModel||[],a=[l.includes("LLM")?"LLM":null,l.includes("EMBEDDING")?"EMBEDDING":null].filter(Boolean);return{value:t.value,label:i().createElement("div",null,i().createElement("div",{style:{fontWeight:500}},t.label),i().createElement("div",{style:{fontSize:e.fontSizeSM,color:e.colorTextTertiary,lineHeight:1.4,display:"flex",alignItems:"center",justifyContent:"space-between",gap:e.marginXS}},i().createElement("span",null,o),i().createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:e.marginXXS,flexWrap:"wrap"}},a.map(function(e){return i().createElement(c.Tag,{key:e,bordered:!1,color:"default",style:{marginInlineEnd:0,paddingInline:6,lineHeight:"18px",height:18,fontSize:11}},e)})))),selectedLabel:t.label}});return i().createElement(c.Select,{value:t.value,onChange:function(e){return t.value=e},options:o,optionLabelProp:"selectedLabel",style:{width:"100%"},listHeight:400})},$=(0,f.observer)(function(){var e=(0,f.useField)(),t=(0,r.useCollectionRecordData)(),n=(0,r.useDataBlockResource)(),o=(0,r.useDataBlockRequest)().refresh,l=(0,r.useCollection)().getFilterTargetKey(),a=!1!==e.value,s=(0,S.M)();return i().createElement(c.Switch,{size:"small",checked:a,onChange:function(r){return w(function(){return I(this,function(i){switch(i.label){case 0:return e.value=r,[4,n.update({values:{enabled:r},filterByTk:t[l]})];case 1:return i.sent(),o(),s.refreshLLMServices(),[2]}})})()}})},{displayName:"EnabledSwitch"}),K=function(){var e=(0,r.useDestroyActionProps)(),t=(0,S.M)();return E(k({},e),{onClick:function(n,r){return w(function(){return I(this,function(o){switch(o.label){case 0:return[4,e.onClick(n,r)];case 1:return o.sent(),t.refreshLLMServices(),[2]}})})()}})},N=function(){var e=(0,r.useBulkDestroyActionProps)(),t=(0,S.M)();return E(k({},e),{onClick:function(n,r){return w(function(){return I(this,function(o){switch(o.label){case 0:return[4,e.onClick(n,r)];case 1:return o.sent(),t.refreshLLMServices(),[2]}})})()}})},U=function(){var e=(0,a.kj)(),t=C((0,o.useState)(!1),2),n=t[0],l=t[1],u=C((0,o.useState)(0),2),d=u[0],f=u[1],y=(0,m.Pq)(),v=(0,o.useContext)(M),x=v.autoOpen,S=v.setAutoOpen;return(0,o.useEffect)(function(){x&&(f(function(e){return e+1}),l(!0),S(!1),window.history.replaceState({},document.title))},[x,S]),i().createElement(r.ActionContextProvider,{value:{visible:n,setVisible:l}},i().createElement(c.Button,{icon:i().createElement(s.PlusOutlined,null),type:"primary",onClick:function(){f(function(e){return e+1}),l(!0)}},e("Add new")),i().createElement(r.SchemaComponent,{key:d,components:{LLMTestFlight:b.e,EnabledModelsSelect:h.uQ,ProviderSelect:q,ModelOptionsSettings:g},scope:{useCreateFormProps:F,providers:y,$getProviderLabel:function(e){var t=y.find(function(t){return t.value===e});return(null==t?void 0:t.label)||e}},schema:p}))},G=function(e){var t,n=(0,r.usePlugin)("ai").aiManager.llmProviders.get(e);return null==n||null==(t=n.components)?void 0:t.ProviderSettingsForm},_=(0,f.observer)(function(){var e=(0,f.useForm)(),t=(0,r.useCollectionRecordData)(),n=G(e.values.provider||t.provider);return n?i().createElement(n,null):null},{displayName:"LLMProviderSettings"}),z=function(){var e=(0,a.kj)(),t=C((0,o.useState)([]),2),n=t[0],c=t[1],s=(0,r.useAPIClient)(),p=(0,l.useLocation)(),y=C((0,o.useState)(!1),2),v=y[0],x=y[1];return(0,o.useEffect)(function(){var e=p.state;(null==e?void 0:e.autoOpenAddNew)&&x(!0)},[p.state]),(0,r.useRequest)(function(){return s.resource("ai").listLLMProviders().then(function(t){var n;return((null==t||null==(n=t.data)?void 0:n.data)||[]).map(function(t){return{key:t.name,label:f.Schema.compile(t.title||t.name,{t:e}),value:t.name,supportedModel:t.supportedModel}})})},{onSuccess:function(e){c(e)}}),i().createElement(M.Provider,{value:{autoOpen:v,setAutoOpen:x}},i().createElement(m.PL.Provider,{value:{providers:n}},i().createElement(r.ExtendCollectionsProvider,{collections:[u]},i().createElement(r.SchemaComponent,{schema:d,components:{AddNew:U,Settings:_,LLMTestFlight:b.e,EnabledModelsSelect:h.uQ,ProviderDisplay:V,ModelOptionsSettings:g,EnabledSwitch:$},scope:{t:e,providers:n,useEditFormProps:L,useCancelActionProps:j,useCreateActionProps:T,useEditActionProps:D,useDestroyActionProps:K,useBulkDestroyActionProps:N}}))))}},4167:function(e,t,n){n.d(t,{e:function(){return f}});var r=n(5230),o=n(3342),i=n(9155),l=n.n(i),a=n(2059),c=n(7375),s=n(9087),u=n(6261),p=n(219);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t,n,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}var f=(0,r.observer)(function(){var e,t=(0,p.kj)(),n=(0,r.useForm)(),f=(0,o.useAPIClient)(),y=a.App.useApp().message,v=function(e){if(Array.isArray(e))return e}(e=(0,i.useState)(!1))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(t=r.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return d(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return d(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),b=v[0],h=v[1];return l().createElement(a.Tooltip,{title:t("Test connection with the configured API Key")},l().createElement(a.Button,{icon:l().createElement(c.RocketOutlined,null),loading:b,onClick:function(){var e;return(e=function(){var e,r,o,i,l,a,c,p,d;return function(e,t){var n,r,o,i={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),a=Object.defineProperty;return a(l,"next",{value:c(0)}),a(l,"throw",{value:c(1)}),a(l,"return",{value:c(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function c(a){return function(c){var s=[a,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(m){switch(m.label){case 0:if(r=(e=n.values).provider,o=e.options,i=e.enabledModels,!(null==o?void 0:o.apiKey))return y.warning(t("Please fill in the API Key first")),[2];if("recommended"===(l=(0,u.lf)(i)).mode){if(0===(c=(0,s.sN)(r)).length)return y.warning(t("Please configure enabled models first")),[2];a=c[0].value}else{if(0===l.models.length)return y.warning(t("Please configure enabled models first")),[2];a=l.models[0].value}h(!0),m.label=1;case 1:return m.trys.push([1,3,4,5]),[4,f.resource("ai").testFlight({values:{provider:r,options:o,model:a}})];case 2:return 0!==(p=m.sent()).data.data.code?y.error(p.data.data.message||t("Failure")):y.success(t("Successful")),[3,5];case 3:return d=m.sent(),y.error(d.message||t("Failure")),[3,5];case 4:return h(!1),[7];case 5:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){m(i,r,o,l,a,"next",e)}function a(e){m(i,r,o,l,a,"throw",e)}l(void 0)})})()}},t("Test flight")))})}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["559"],{6482:function(e,t,n){n.r(t),n.d(t,{Settings:function(){return _},useProviderSettingsForm:function(){return G},LLMServices:function(){return z},ProviderSelect:function(){return q}});var r=n(3342),o=n(9155),i=n.n(o),l=n(4442),a=n(3079),c=n(2059),s=n(7375),u={name:"llmServices",fields:[{name:"name",type:"uid",primaryKey:!0},{name:"title",type:"string",interface:"input",uiSchema:{title:'{{t("Title")}}',"x-component":"Input"}},{name:"provider",type:"string",interface:"select",uiSchema:{title:'{{t("Provider")}}',"x-component":"Select"}},{name:"options",type:"jsonb"},{name:"enabledModels",type:"json",defaultValue:{mode:"recommended",models:[]}},{name:"enabled",type:"boolean",defaultValue:!0},{name:"modelOptions",type:"jsonb",defaultValue:{temperature:1,topP:1,frequencyPenalty:0,presencePenalty:0}}]},p={type:"void",properties:{drawer:{type:"void",title:'{{ t("Add new") }}',"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useCreateFormProps",properties:{provider:{type:"string","x-decorator":"FormItem",title:'{{ t("Provider") }}',"x-component":"ProviderSelect",required:!0},title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input","x-reactions":{dependencies:["provider"],when:"{{!$self.modified}}",fulfill:{state:{value:"{{$getProviderLabel($deps[0])}}"},schema:{"x-visible":"{{!!$deps[0]}}"}}}},options:{type:"object","x-component":"Settings","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},"options.baseURL":{type:"string","x-decorator":"FormItem",title:'{{ t("Base URL") }}',"x-component":"Input","x-component-props":{placeholder:'{{ t("Base URL is optional, leave blank to use default (recommended)") }}'},"x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},enabledModels:{type:"object","x-decorator":"FormItem",title:'{{ t("Enabled Models") }}',"x-component":"EnabledModelsSelect","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{testFlight:{type:"void","x-component":"LLMTestFlight","x-reactions":{dependencies:["provider"],fulfill:{schema:{"x-visible":"{{!!$deps[0]}}"}}}},cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useCreateActionProps"}}}}}}},d={type:"void",name:"llm-services",properties:{card:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{collection:"llmServices",action:"list",rowKey:"name",dragSort:!0,dragSortBy:"sort"},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:20}},properties:{refresh:{title:"{{t('Refresh')}}","x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"}},bulkDelete:{title:"{{t('Delete')}}","x-action":"destroy","x-component":"Action","x-use-component-props":"useBulkDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},add:{type:"void","x-component":"AddNew",title:"{{t('Add new')}}","x-align":"right"}}},table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void",title:'{{ t("UID") }}',"x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"Input","x-read-pretty":!0}}},column2:{type:"void",title:'{{ t("Title") }}',"x-component":"TableV2.Column",properties:{title:{type:"string","x-component":"Input","x-read-pretty":!0}}},column3:{type:"void",title:'{{ t("Provider") }}',"x-component":"TableV2.Column",properties:{provider:{type:"string","x-component":"Select","x-read-pretty":!0,enum:"{{ providers }}"}}},column4:{type:"void",title:'{{ t("Enabled") }}',"x-component":"TableV2.Column",properties:{enabled:{type:"boolean","x-component":"EnabledSwitch"}}},column5:{type:"void",title:'{{ t("Actions") }}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-component":"Action.Link","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",properties:{provider:{type:"string","x-decorator":"FormItem",title:'{{ t("Provider") }}',"x-component":"ProviderDisplay"},title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input"},options:{type:"object","x-component":"Settings"},"options.baseURL":{type:"string","x-decorator":"FormItem",title:'{{ t("Base URL") }}',"x-component":"Input","x-component-props":{placeholder:'{{ t("Base URL is optional, leave blank to use default (recommended)") }}'}},enabledModels:{type:"object","x-decorator":"FormItem",title:'{{ t("Enabled Models") }}',"x-component":"EnabledModelsSelect"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{testFlight:{type:"void","x-component":"LLMTestFlight"},cancel:{title:'{{ t("Cancel") }}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{ t("Submit") }}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useEditActionProps"}}}}}}},destroy:{type:"void",title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}}}},m=n(284),f=n(5230),y=n(9452),v=n(166),b=n(6759),h=n(2149),x={type:"object",properties:{temperature:{type:"number",title:'{{t("Temperature")}}',description:'{{t("Temperature description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:0,max:2,step:.1},default:1},maxTokens:{type:"number",title:'{{t("Max tokens")}}',description:'{{t("Max completion tokens description")}}',"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{min:1,max:128e3,placeholder:'{{t("Leave empty for no limit")}}'}},topP:{type:"number",title:'{{t("Top P")}}',description:'{{t("Top P description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:0,max:1,step:.1},default:1},frequencyPenalty:{type:"number",title:'{{t("Frequency penalty")}}',description:'{{t("Frequency penalty description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:-2,max:2,step:.1},default:0},presencePenalty:{type:"number",title:'{{t("Presence penalty")}}',description:'{{t("Presence penalty description")}}',"x-decorator":"FormItem","x-component":"Slider","x-component-props":{min:-2,max:2,step:.1},default:0}}},g=function(){var e=(0,a.kj)();return i().createElement(c.Collapse,{bordered:!1,size:"small",style:{marginTop:16},items:[{key:"modelOptions",label:e("Model options"),forceRender:!0,children:i().createElement(r.SchemaComponent,{schema:x,scope:{t:e}})}]})},S=n(7330);function P(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 A(e,t,n,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}function w(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){A(i,r,o,l,a,"next",e)}function a(e){A(i,r,o,l,a,"throw",e)}l(void 0)})}}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){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function E(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function C(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 i=[],l=!0,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,t)||O(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 O(e,t){if(e){if("string"==typeof e)return P(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 P(e,t)}}function I(e,t){var n,r,o,i={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),a=Object.defineProperty;return a(l,"next",{value:c(0)}),a(l,"throw",{value:c(1)}),a(l,"return",{value:c(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function c(a){return function(c){var s=[a,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var M=(0,o.createContext)({autoOpen:!1,setAutoOpen:function(){}}),F=function(){return{form:(0,o.useMemo)(function(){return(0,y.createForm)({initialValues:{name:"v_".concat((0,v.uid)())}})},[])}},L=function(){var e=(0,r.useCollectionRecordData)();return{form:(0,o.useMemo)(function(){return(0,y.createForm)({initialValues:e})},[e])}},j=function(){var e=(0,r.useActionContext)().setVisible;return{type:"default",onClick:function(){e(!1)}}},T=function(){var e=(0,r.useActionContext)().setVisible,t=c.App.useApp().message,n=(0,f.useForm)(),o=(0,r.useDataBlockResource)(),i=(0,r.useDataBlockRequest)().refresh,l=(0,a.kj)(),s=(0,S.M)();return{type:"primary",onClick:function(){return w(function(){var r;return I(this,function(a){switch(a.label){case 0:return[4,n.submit()];case 1:return a.sent(),r=n.values,[4,o.create({values:r})];case 2:return a.sent(),i(),s.refreshLLMServices(),t.success(l("Saved successfully")),e(!1),[2]}})})()}}},D=function(){var e=(0,r.useActionContext)().setVisible,t=c.App.useApp().message,n=(0,f.useForm)(),o=(0,r.useDataBlockResource)(),i=(0,r.useDataBlockRequest)().refresh,l=(0,r.useCollection)().getFilterTargetKey(),s=(0,a.kj)(),u=(0,S.M)();return{type:"primary",onClick:function(){return w(function(){var r;return I(this,function(a){switch(a.label){case 0:return[4,n.submit()];case 1:return a.sent(),r=n.values,[4,o.update({values:r,filterByTk:r[l]})];case 2:return a.sent(),i(),u.refreshLLMServices(),t.success(s("Saved successfully")),e(!1),n.reset(),[2]}})})()}}},B={"google-genai":"Gemini",openai:"GPT","openai-completions":"Recommended for third-party OpenAI-compatible APIs (OpenRouter, Groq, Together AI, etc.)",anthropic:"Claude",deepseek:"DeepSeek",dashscope:"Qwen (Tongyi)",kimi:"Kimi",ollama:"Local models"},R=["google-genai","openai","anthropic","deepseek","dashscope","kimi","openai-completions","ollama"],V=function(){var e=(0,f.useField)(),t=(0,m.Pq)().find(function(t){return t.value===e.value});return i().createElement("span",null,(null==t?void 0:t.label)||e.value)},q=function(){var e=c.theme.useToken().token,t=(0,f.useField)(),n=(0,m.Pq)(),r=(0,a.kj)(),o=((function(e){if(Array.isArray(e))return P(e)})(n)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||O(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){var n=R.indexOf(e.value),r=R.indexOf(t.value);return(n<0?1/0:n)-(r<0?1/0:r)}).map(function(t){var n=B[t.value],o=n?r(n):"",l=t.supportedModel||[],a=[l.includes("LLM")?"LLM":null,l.includes("EMBEDDING")?"EMBEDDING":null].filter(Boolean);return{value:t.value,label:i().createElement("div",null,i().createElement("div",{style:{fontWeight:500}},t.label),i().createElement("div",{style:{fontSize:e.fontSizeSM,color:e.colorTextTertiary,lineHeight:1.4,display:"flex",alignItems:"center",justifyContent:"space-between",gap:e.marginXS}},i().createElement("span",null,o),i().createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:e.marginXXS,flexWrap:"wrap"}},a.map(function(e){return i().createElement(c.Tag,{key:e,bordered:!1,color:"default",style:{marginInlineEnd:0,paddingInline:6,lineHeight:"18px",height:18,fontSize:11}},e)})))),selectedLabel:t.label}});return i().createElement(c.Select,{value:t.value,onChange:function(e){return t.value=e},options:o,optionLabelProp:"selectedLabel",style:{width:"100%"},listHeight:400})},$=(0,f.observer)(function(){var e=(0,f.useField)(),t=(0,r.useCollectionRecordData)(),n=(0,r.useDataBlockResource)(),o=(0,r.useDataBlockRequest)().refresh,l=(0,r.useCollection)().getFilterTargetKey(),a=!1!==e.value,s=(0,S.M)();return i().createElement(c.Switch,{size:"small",checked:a,onChange:function(r){return w(function(){return I(this,function(i){switch(i.label){case 0:return e.value=r,[4,n.update({values:{enabled:r},filterByTk:t[l]})];case 1:return i.sent(),o(),s.refreshLLMServices(),[2]}})})()}})},{displayName:"EnabledSwitch"}),K=function(){var e=(0,r.useDestroyActionProps)(),t=(0,S.M)();return E(k({},e),{onClick:function(n,r){return w(function(){return I(this,function(o){switch(o.label){case 0:return[4,e.onClick(n,r)];case 1:return o.sent(),t.refreshLLMServices(),[2]}})})()}})},N=function(){var e=(0,r.useBulkDestroyActionProps)(),t=(0,S.M)();return E(k({},e),{onClick:function(n,r){return w(function(){return I(this,function(o){switch(o.label){case 0:return[4,e.onClick(n,r)];case 1:return o.sent(),t.refreshLLMServices(),[2]}})})()}})},U=function(){var e=(0,a.kj)(),t=C((0,o.useState)(!1),2),n=t[0],l=t[1],u=C((0,o.useState)(0),2),d=u[0],f=u[1],y=(0,m.Pq)(),v=(0,o.useContext)(M),x=v.autoOpen,S=v.setAutoOpen;return(0,o.useEffect)(function(){x&&(f(function(e){return e+1}),l(!0),S(!1),window.history.replaceState({},document.title))},[x,S]),i().createElement(r.ActionContextProvider,{value:{visible:n,setVisible:l}},i().createElement(c.Button,{icon:i().createElement(s.PlusOutlined,null),type:"primary",onClick:function(){f(function(e){return e+1}),l(!0)}},e("Add new")),i().createElement(r.SchemaComponent,{key:d,components:{LLMTestFlight:b.e,EnabledModelsSelect:h.uQ,ProviderSelect:q,ModelOptionsSettings:g},scope:{useCreateFormProps:F,providers:y,$getProviderLabel:function(e){var t=y.find(function(t){return t.value===e});return(null==t?void 0:t.label)||e}},schema:p}))},G=function(e){var t,n=(0,r.usePlugin)("ai").aiManager.llmProviders.get(e);return null==n||null==(t=n.components)?void 0:t.ProviderSettingsForm},_=(0,f.observer)(function(){var e=(0,f.useForm)(),t=(0,r.useCollectionRecordData)(),n=G(e.values.provider||t.provider);return n?i().createElement(n,null):null},{displayName:"LLMProviderSettings"}),z=function(){var e=(0,a.kj)(),t=C((0,o.useState)([]),2),n=t[0],c=t[1],s=(0,r.useAPIClient)(),p=(0,l.useLocation)(),y=C((0,o.useState)(!1),2),v=y[0],x=y[1];return(0,o.useEffect)(function(){var e=p.state;(null==e?void 0:e.autoOpenAddNew)&&x(!0)},[p.state]),(0,r.useRequest)(function(){return s.resource("ai").listLLMProviders().then(function(t){var n;return((null==t||null==(n=t.data)?void 0:n.data)||[]).map(function(t){return{key:t.name,label:f.Schema.compile(t.title||t.name,{t:e}),value:t.name,supportedModel:t.supportedModel}})})},{onSuccess:function(e){c(e)}}),i().createElement(M.Provider,{value:{autoOpen:v,setAutoOpen:x}},i().createElement(m.PL.Provider,{value:{providers:n}},i().createElement(r.ExtendCollectionsProvider,{collections:[u]},i().createElement(r.SchemaComponent,{schema:d,components:{AddNew:U,Settings:_,LLMTestFlight:b.e,EnabledModelsSelect:h.uQ,ProviderDisplay:V,ModelOptionsSettings:g,EnabledSwitch:$},scope:{t:e,providers:n,useEditFormProps:L,useCancelActionProps:j,useCreateActionProps:T,useEditActionProps:D,useDestroyActionProps:K,useBulkDestroyActionProps:N}}))))}},6759:function(e,t,n){n.d(t,{e:function(){return f}});var r=n(5230),o=n(3342),i=n(9155),l=n.n(i),a=n(2059),c=n(7375),s=n(1931),u=n(2149),p=n(3079);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t,n,r,o,i,l){try{var a=e[i](l),c=a.value}catch(e){n(e);return}a.done?t(c):Promise.resolve(c).then(r,o)}var f=(0,r.observer)(function(){var e,t=(0,p.kj)(),n=(0,r.useForm)(),f=(0,o.useAPIClient)(),y=a.App.useApp().message,v=function(e){if(Array.isArray(e))return e}(e=(0,i.useState)(!1))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(t=r.next()).done)&&(o.push(t.value),2!==o.length);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw n}}return o}}(e)||function(e){if(e){if("string"==typeof e)return d(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return d(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),b=v[0],h=v[1];return l().createElement(a.Tooltip,{title:t("Test connection with the configured API Key")},l().createElement(a.Button,{icon:l().createElement(c.RocketOutlined,null),loading:b,onClick:function(){var e;return(e=function(){var e,r,o,i,l,a,c,p,d;return function(e,t){var n,r,o,i={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),a=Object.defineProperty;return a(l,"next",{value:c(0)}),a(l,"throw",{value:c(1)}),a(l,"return",{value:c(2)}),"function"==typeof Symbol&&a(l,Symbol.iterator,{value:function(){return this}}),l;function c(a){return function(c){var s=[a,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(m){switch(m.label){case 0:if(r=(e=n.values).provider,o=e.options,i=e.enabledModels,!(null==o?void 0:o.apiKey))return y.warning(t("Please fill in the API Key first")),[2];if("recommended"===(l=(0,u.lf)(i)).mode){if(0===(c=(0,s.sN)(r)).length)return y.warning(t("Please configure enabled models first")),[2];a=c[0].value}else{if(0===l.models.length)return y.warning(t("Please configure enabled models first")),[2];a=l.models[0].value}h(!0),m.label=1;case 1:return m.trys.push([1,3,4,5]),[4,f.resource("ai").testFlight({values:{provider:r,options:o,model:a}})];case 2:return 0!==(p=m.sent()).data.data.code?y.error(p.data.data.message||t("Failure")):y.success(t("Successful")),[3,5];case 3:return d=m.sent(),y.error(d.message||t("Failure")),[3,5];case 4:return h(!1),[7];case 5:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){m(i,r,o,l,a,"next",e)}function a(e){m(i,r,o,l,a,"throw",e)}l(void 0)})})()}},t("Test flight")))})}}]);
@@ -7,11 +7,13 @@
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 SkillsListItem: React.FC<{
11
- name: string;
12
- title: string;
13
- description: string;
14
- isRoot?: boolean;
10
+ import { SkillsEntry } from '@nocobase/client';
11
+ export declare const GeneralSkills: React.FC<{
12
+ skills: SkillsEntry[];
13
+ }>;
14
+ export declare const SpecifiedSkills: React.FC<{
15
+ selectedSkills: string[];
16
+ skills: SkillsEntry[];
15
17
  }>;
16
18
  export declare const Skills: React.FC;
17
19
  export declare const SkillSettings: React.FC;
@@ -6,8 +6,12 @@
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
- declare const _default: {
9
+ import React from 'react';
10
+ export declare const ToolsListItem: React.FC<{
10
11
  name: string;
11
- content: string;
12
- };
13
- export default _default;
12
+ title: string;
13
+ description: string;
14
+ isRoot?: boolean;
15
+ }>;
16
+ export declare const Tools: React.FC;
17
+ export declare const ToolSettings: React.FC;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ export declare const MCPSettings: React.FC;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ export type MCPToolPermission = 'ASK' | 'ALLOW';
11
+ export interface MCPToolEntry {
12
+ name: string;
13
+ title: string;
14
+ description?: string;
15
+ serverName: string;
16
+ permission: MCPToolPermission;
17
+ }
18
+ export declare const getMCPToolsByServer: (toolsMap: Record<string, MCPToolEntry[]> | null | undefined, serverName: string) => MCPToolEntry[];
19
+ export declare const MCPToolsList: React.FC;
@@ -0,0 +1,15 @@
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
+ /// <reference types="react" />
10
+ export interface MCPSettingsContextValue {
11
+ rebuildClient: () => Promise<void>;
12
+ rebuilding: boolean;
13
+ }
14
+ export declare const MCPSettingsContext: import("react").Context<MCPSettingsContextValue>;
15
+ export declare const unwrapResponseData: <T>(response: any, fallback: T) => T;