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

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,22 +7,18 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { Application } from '@nocobase/client';
10
- import { ContextItem, TaskMessage } from '../types';
10
+ import { ContextItem, SkillSettings, TaskMessage } from '../types';
11
11
  export declare const parseTask: (task: {
12
12
  message: TaskMessage;
13
13
  webSearch?: boolean;
14
14
  model?: any;
15
- skillSettings?: {
16
- skills?: string[];
17
- };
15
+ skillSettings?: SkillSettings;
18
16
  }) => Promise<{
19
17
  userMessage: any;
20
18
  systemMessage: string;
21
19
  attachments: any[];
22
20
  workContext: ContextItem[];
23
- skillSettings: {
24
- skills?: string[];
25
- };
21
+ skillSettings: SkillSettings;
26
22
  webSearch: boolean;
27
23
  model: any;
28
24
  }>;
@@ -24,15 +24,18 @@ export type AIEmployee = {
24
24
  prompt?: string;
25
25
  };
26
26
  skillSettings?: {
27
- skills?: {
27
+ tools?: {
28
28
  name: string;
29
+ autoCall?: boolean;
29
30
  }[];
31
+ skills?: string[];
30
32
  };
31
33
  builtIn?: boolean;
32
34
  webSearch?: boolean;
33
35
  toolsConflict?: boolean;
34
36
  };
35
37
  export type SkillSettings = {
38
+ tools?: string[];
36
39
  skills?: string[];
37
40
  };
38
41
  export type Conversation = {
@@ -128,9 +131,7 @@ export type Task = {
128
131
  title?: string;
129
132
  message: TaskMessage;
130
133
  autoSend?: boolean;
131
- skillSettings?: {
132
- skills?: string[];
133
- };
134
+ skillSettings?: SkillSettings;
134
135
  webSearch?: boolean;
135
136
  model?: {
136
137
  llmService: string;
@@ -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([["580"],{7439:function(e,t,n){n.r(t),n.d(t,{MCPSettings:function(){return ep}});var r=n(3342),o=n(5477),a=n(7375),i=n(2059),s=n(9452),l=n(5230),c=n(9155),u=n.n(c),p={name:"aiMcpClients",fields:[{name:"name",type:"uid",primaryKey:!0},{name:"title",type:"string",interface:"input",uiSchema:{title:'{{t("Title")}}',"x-component":"Input"}},{name:"description",type:"string",interface:"input",uiSchema:{title:'{{t("Description")}}',"x-component":"Input.TextArea"}},{name:"enabled",type:"boolean",defaultValue:!0},{name:"transport",type:"string",interface:"select",uiSchema:{title:'{{t("Transport")}}',"x-component":"Select"}},{name:"command",type:"string",interface:"input",uiSchema:{title:'{{t("Command")}}',"x-component":"Input"}},{name:"args",type:"json",defaultValue:[]},{name:"env",type:"json",defaultValue:{}},{name:"url",type:"string",interface:"input",uiSchema:{title:'{{t("URL")}}',"x-component":"Input"}},{name:"headers",type:"json",defaultValue:{}},{name:"restart",type:"json",defaultValue:{}}]},m=n(3079);function d(e,t,n,r,o,a,i){try{var s=e[a](i),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,o)}var f=(0,c.createContext)({rebuildClient:function(){var e;return(e=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:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(i,"next",{value:l(0)}),s(i,"throw",{value:l(1)}),s(i,"return",{value:l(2)}),"function"==typeof Symbol&&s(i,Symbol.iterator,{value:function(){return this}}),i;function l(s){return function(l){var c=[s,l];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}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(e){return[2,void 0]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){d(a,r,o,i,s,"next",e)}function s(e){d(a,r,o,i,s,"throw",e)}i(void 0)})})()},rebuilding:!1}),y=function(e,t){var n,r,o;return null!=(n=null!=(r=null==e||null==(o=e.data)?void 0:o.data)?r:null==e?void 0:e.data)?n:t};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}function b(e,t,n,r,o,a,i){try{var s=e[a](i),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,o)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){b(a,r,o,i,s,"next",e)}function s(e){b(a,r,o,i,s,"throw",e)}i(void 0)})}}function x(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function g(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}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 a=[],i=!0,s=!1;try{for(o=o.call(e);!(i=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){s=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(s)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return v(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 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.")}()}function w(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(i,"next",{value:l(0)}),s(i,"throw",{value:l(1)}),s(i,"return",{value:l(2)}),"function"==typeof Symbol&&s(i,Symbol.iterator,{value:function(){return this}}),i;function l(s){return function(l){var c=[s,l];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var A=[{label:"Ask",value:"ASK"},{label:"Allow",value:"ALLOW"}],P=function(e,t){var n=null==e?void 0:e[t];return Array.isArray(n)?n:[]},S=function(){var e=(0,m.kj)(),t=(0,r.useAPIClient)(),n=i.App.useApp().message,o=(0,r.useActionContext)().visible,a=(0,r.useCollectionRecordData)(),s=(0,c.useContext)(f).rebuilding,l=C((0,c.useState)([]),2),p=l[0],d=l[1],v=C((0,c.useState)(!1),2),b=v[0],S=v[1],O=C((0,c.useState)(null),2),E=O[0],j=O[1],k=C((0,c.useState)(1),2),I=k[0],T=k[1],R=p.length,D=(0,c.useRef)(n),M=(0,c.useRef)(e);return D.current=n,M.current=e,(0,c.useEffect)(function(){if(o){var e=!1;return h(function(){var n,r;return w(this,function(o){switch(o.label){case 0:S(!0),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,t.resource("aiMcpClients").listTools()];case 2:return n=P(y(o.sent(),null),a.name),e||(T(1),d(n)),[3,5];case 3:return r=o.sent(),e||(D.current.error((null==r?void 0:r.message)||M.current("Failed to load MCP tools")),T(1),d([])),[3,5];case 4:return e||S(!1),[7];case 5:return[2]}})})(),function(){e=!0}}},[t,a.name,o]),u().createElement(i.Space,{direction:"vertical",size:"middle",style:{width:"100%"}},b?u().createElement("div",{style:{padding:"24px 0",textAlign:"center"}},u().createElement(i.Spin,null)):p.length?u().createElement(i.List,{itemLayout:"vertical",dataSource:p,pagination:{current:I,pageSize:10,total:R,onChange:T,hideOnSinglePage:!1,size:"small",showTotal:function(t){return e("Total {{count}} items",{count:t})}},renderItem:function(n){return u().createElement(i.List.Item,{key:n.name,extra:u().createElement("div",{style:{fontSize:12,color:"var(--nb-color-text-secondary)"}},e("Permission"),u().createElement(i.Segmented,{style:{marginLeft:8},size:"small",options:A.map(function(t){return g(x({},t),{label:e(t.label)})}),value:n.permission,disabled:s||E===n.name,onChange:function(e){var r;return r=n.name,h(function(){var n,o;return w(this,function(a){switch(a.label){case 0:n=p,j(r),d(function(t){return t.map(function(t){return t.name===r?g(x({},t),{permission:e}):t})}),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,t.resource("aiMcpClients").updateToolPermission({values:{toolName:r,permission:e}})];case 2:return a.sent(),[3,5];case 3:return o=a.sent(),d(n),D.current.error((null==o?void 0:o.message)||M.current("Failed to update tool permission")),[3,5];case 4:return j(null),[7];case 5:return[2]}})})()}}))},u().createElement("div",null,n.title),n.description?u().createElement(i.Typography.Paragraph,{style:{color:"var(--nb-color-text-secondary)",fontSize:12,marginBottom:0},ellipsis:{rows:3,expandable:"collapsible"}},n.description):null)}}):u().createElement(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:e("No data")}))};function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}var E=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n="stdio"===e?'{{$deps[0] === "stdio"}}':'{{["http", "sse"].includes($deps[0])}}';return[{dependencies:["transport"],fulfill:{state:O({visible:n},t?{required:n}:{})}}]},j=function(e){return{name:O({type:"string","x-decorator":"FormItem",title:'{{ t("Name") }}',"x-component":"Input",required:!0},e.disableName?{"x-component-props":{disabled:!0}}:{}),title:{type:"string","x-decorator":"FormItem",title:'{{ t("Title") }}',"x-component":"Input",required:!0},description:{type:"string","x-decorator":"FormItem",title:'{{ t("Description") }}',"x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:4}}},transport:{type:"string","x-decorator":"FormItem",title:'{{ t("Transport") }}',"x-component":"Select",enum:"{{ transportOptions }}",required:!0},command:{type:"string","x-decorator":"FormItem",title:'{{ t("Command") }}',"x-component":"Input","x-component-props":{placeholder:'{{ t("For example: npx, uvx, node") }}'},"x-reactions":E("stdio",!0)},args:{type:"string","x-decorator":"FormItem",title:'{{ t("Arguments") }}',"x-component":"Input","x-component-props":{placeholder:'{{ t("Space-separated args, e.g.: -u --flag value") }}'},"x-reactions":E("stdio")},env:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{ t("Environment variables") }}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:"{{ keyValueRowClassName }}"},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{ t("Name") }}'}},value:{type:"string","x-decorator":"FormItem","x-component":"TextAreaWithGlobalScope","x-component-props":{useTypedConstant:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{ t("Add variable") }}',"x-component":"ArrayItems.Addition"}},"x-reactions":E("stdio")},url:{type:"string","x-decorator":"FormItem",title:'{{ t("URL") }}',"x-component":"Input","x-component-props":{placeholder:'{{ t("For example: https://example.com/mcp") }}'},"x-reactions":E("remote",!0)},headers:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{ t("Headers") }}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:"{{ keyValueRowClassName }}"},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{ t("Name") }}'}},value:{type:"string","x-decorator":"FormItem","x-component":"TextAreaWithGlobalScope","x-component-props":{useTypedConstant:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{ t("Add request header") }}',"x-component":"ArrayItems.Addition"}},"x-reactions":E("remote")},restart:{type:"object","x-decorator":"FormItem",title:'{{ t("Restart options") }}',"x-component":"Input.JSON","x-visible":!1,"x-component-props":{autoSize:{minRows:4}}},testResult:{type:"void","x-component":"TestConnectionResult"},footer:{type:"void","x-component":e.footerComponent||"Action.Drawer.Footer",properties:{test:{type:"void","x-component":"TestConnectionButton"},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":e.submitPropsHook}}}}},k={type:"void",properties:j({submitPropsHook:"useCreateActionProps"})},I={type:"void",properties:j({disableName:!0,submitPropsHook:"useEditActionProps",footerComponent:"Action.Drawer.FootBar"})},T={type:"void",properties:{tools:{type:"void","x-component":"MCPToolsList"}}},R={type:"void",properties:{createDrawer:{type:"void",title:'{{ t("Add new") }}',"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useCreateFormProps",properties:k.properties}}};I.properties,T.properties;var D={type:"void",name:"ai-mcp-clients",properties:{card:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{collection:"aiMcpClients",action:"list",rowKey:"name"},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":"useMCPBulkDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},add:{type:"void",title:"{{t('Add new')}}","x-align":"right","x-component":"AddNew"}}},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("Name") }}',"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}}},column4:{type:"void",title:'{{ t("Transport") }}',"x-component":"TableV2.Column",properties:{transport:{type:"string","x-component":"TransportTag"}}},column5:{type:"void",title:'{{ t("Enabled") }}',"x-component":"TableV2.Column",properties:{enabled:{type:"boolean","x-component":"EnabledSwitch"}}},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:{view:{type:"void",title:'{{ t("View") }}',"x-component":"Action.Link","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void",title:'{{ t("MCP tools") }}',"x-component":"Action.Drawer","x-component-props":{width:720},properties:{content:{type:"void","x-component":"MCPViewDrawerContent"}}}}},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:{content:{type:"void","x-component":"MCPEditDrawerContent"}}}}},destroy:{type:"void",title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":"useMCPDestroyActionProps","x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}}}};function M(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 F(e,t,n,r,o,a,i){try{var s=e[a](i),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,o)}function V(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){F(a,r,o,i,s,"next",e)}function s(e){F(a,r,o,i,s,"throw",e)}i(void 0)})}}function B(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){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 N(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 L(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=[],i=!0,s=!1;try{for(o=o.call(e);!(i=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){s=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(s)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return M(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 M(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function q(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(i,"next",{value:l(0)}),s(i,"throw",{value:l(1)}),s(i,"return",{value:l(2)}),"function"==typeof Symbol&&s(i,Symbol.iterator,{value:function(){return this}}),i;function l(s){return function(l){var c=[s,l];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)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 a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function H(){var e,t,n=(e=["\n & > .ant-space-item:first-child,\n & > .ant-space-item:last-child {\n flex-shrink: 0;\n }\n\n & > .ant-space-item:first-child,\n & > .ant-space-item:nth-of-type(2) {\n flex: 1;\n }\n"],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return H=function(){return n},n}var W=[{label:"Stdio",value:"stdio"},{label:"HTTP (Streamable)",value:"http"},{label:"HTTP + SSE (Legacy)",value:"sse"}],_={stdio:"blue",http:"green",sse:"gold"},G=(0,o.css)(H()),K=function(e){return Object.entries(e||{}).map(function(e){var t=L(e,2),n=t[0],r=t[1];return{name:n,value:null==r?"":String(r)}})},U=function(e){return(Array.isArray(e)?e:[]).reduce(function(e,t){return(null==t?void 0:t.name)&&(e[t.name]=t.value||""),e},{})},$=function(e){var t=e.transport,n=N(B({},e),{args:"string"==typeof e.args?e.args.split(" ").map(function(e){return e.trim()}).filter(function(e){return e.length>0}):Array.isArray(e.args)?e.args:[],env:U(e.env),headers:U(e.headers),restart:e.restart&&"object"===z(e.restart)&&!Array.isArray(e.restart)?e.restart:{}});return"stdio"===t?N(B({},n),{url:null,headers:{}}):N(B({},n),{command:null,args:[],env:{}})},J=function(){var e=(0,r.useActionContext)().visible,t=(0,c.useMemo)(function(){return{enabled:!0,transport:"stdio",args:"",env:[],headers:[],restart:{}}},[]),n=(0,c.useMemo)(function(){return(0,s.createForm)({initialValues:t})},[t]);return(0,c.useEffect)(function(){e&&(n.setInitialValues(t),n.reset())},[n,t,e]),{form:n}},Q=function(){var e=(0,r.useCollectionRecordData)(),t=(0,r.useActionContext)().visible,n=(0,c.useMemo)(function(){return N(B({},e),{args:Array.isArray(null==e?void 0:e.args)?e.args.join(" "):"",env:K(null==e?void 0:e.env),headers:K(null==e?void 0:e.headers),restart:(null==e?void 0:e.restart)&&"object"===z(e.restart)&&!Array.isArray(e.restart)?e.restart:{}})},[e]),o=(0,c.useMemo)(function(){return(0,s.createForm)({initialValues:n})},[n]);return(0,c.useEffect)(function(){t&&(o.setInitialValues(n),o.reset())},[o,n,t]),{form:o}},X=function(){var e=(0,r.useActionContext)().setVisible;return{type:"default",onClick:function(){e(!1)}}},Y=(0,c.createContext)({result:null,loading:!1,setResult:function(){},setLoading:function(){}}),Z=function(){var e=(0,r.useAPIClient)(),t=(0,m.kj)(),n=(0,c.useContext)(Y),o=n.setResult,a=n.setLoading;return function(n){return V(function(){var r,i,s;return q(this,function(l){switch(l.label){case 0:a(!0),o(null),l.label=1;case 1:return l.trys.push([1,3,4,5]),r=$(n),[4,e.resource("aiMcpClients").testConnection({values:r})];case 2:return o(i=y({data:l.sent().data},null)),[2,!!(null==i?void 0:i.success)];case 3:return o({success:!1,error:(null==(s=l.sent())?void 0:s.message)||t("An error occurred while testing the connection")}),[2,!1];case 4:return a(!1),[7];case 5:return[2]}})})()}},ee=function(){var e=(0,r.useActionContext)().setVisible,t=i.App.useApp().message,n=(0,l.useForm)(),o=(0,r.useAPIClient)(),a=(0,r.useDataBlockRequest)().refresh,s=(0,m.kj)(),u=(0,c.useContext)(Y).loading,p=(0,c.useContext)(f),d=p.rebuildClient,y=p.rebuilding,v=Z();return{type:"primary",loading:y||u,onClick:function(){return V(function(){return q(this,function(r){switch(r.label){case 0:return[4,n.submit()];case 1:return r.sent(),[4,v(n.values)];case 2:if(!r.sent())return[2];return[4,o.resource("aiMcpClients").create({values:$(n.values)})];case 3:return r.sent(),[4,d()];case 4:return r.sent(),[4,a()];case 5:return r.sent(),t.success(s("Saved successfully")),e(!1),n.reset(),[2]}})})()}}},et=function(){var e=(0,r.useActionContext)().setVisible,t=i.App.useApp().message,n=(0,l.useForm)(),o=(0,r.useAPIClient)(),a=(0,r.useDataBlockRequest)().refresh,s=(0,r.useCollectionRecordData)(),u=(0,m.kj)(),p=(0,c.useContext)(Y).loading,d=(0,c.useContext)(f),y=d.rebuildClient,v=d.rebuilding,b=Z();return{type:"primary",loading:v||p,onClick:function(){return V(function(){return q(this,function(r){switch(r.label){case 0:return[4,n.submit()];case 1:return r.sent(),[4,b(n.values)];case 2:if(!r.sent())return[2];return[4,o.resource("aiMcpClients").update({values:$(n.values),filterByTk:s.name})];case 3:return r.sent(),[4,y()];case 4:return r.sent(),[4,a()];case 5:return r.sent(),t.success(u("Saved successfully")),e(!1),n.reset(),[2]}})})()}}},en=(0,l.observer)(function(){var e=(0,l.useForm)(),t=(0,r.useAPIClient)(),n=(0,c.useContext)(Y),o=n.setResult,a=n.loading,s=n.setLoading,p=(0,m.kj)();return u().createElement(i.Button,{type:"default",loading:a,onClick:function(){return V(function(){var n,r;return q(this,function(a){switch(a.label){case 0:s(!0),o(null),a.label=1;case 1:return a.trys.push([1,3,4,5]),n=$(e.values),[4,t.resource("aiMcpClients").testConnection({values:n})];case 2:return o(y({data:a.sent().data},null)),[3,5];case 3:return o({success:!1,error:(null==(r=a.sent())?void 0:r.message)||p("An error occurred while testing the connection")}),[3,5];case 4:return s(!1),[7];case 5:return[2]}})})()}},p("Test flight"))},{displayName:"TestConnectionButton"}),er=(0,l.observer)(function(){var e=(0,c.useContext)(Y),t=e.result,n=e.loading,r=(0,m.kj)();return n?u().createElement("div",{style:{padding:"16px 0",textAlign:"center"}},u().createElement(i.Spin,{tip:r("Testing connection...")})):t?t.success?u().createElement(i.Alert,{type:"success",showIcon:!0,icon:u().createElement(a.CheckCircleOutlined,null),style:{marginTop:16},message:r("Connection Successful"),description:u().createElement("div",null,u().createElement("p",null,r("Successfully connected to MCP server")),u().createElement("p",null,r("Tools found"),": ",t.toolsCount),t.tools&&t.tools.length>0&&u().createElement("div",{style:{marginTop:8}},u().createElement("p",{style:{fontWeight:"bold",marginBottom:4}},r("Tools"),":"),u().createElement("div",{style:{maxHeight:120,overflow:"auto"}},t.tools.map(function(e){return u().createElement(i.Tag,{key:e,style:{margin:"2px"}},e)}),t.toolsTruncated&&u().createElement("span",null,"..."))))}):u().createElement(i.Alert,{type:"error",showIcon:!0,icon:u().createElement(a.CloseCircleOutlined,null),style:{marginTop:16},message:r("Connection Failed"),description:u().createElement("div",null,u().createElement("p",null,t.error||r("Failed to connect to MCP server")),t.details&&u().createElement("pre",{style:{maxHeight:100,overflow:"auto",fontSize:11,margin:0}},t.details))}):null},{displayName:"TestConnectionResult"}),eo=function(){var e=(0,m.kj)(),t=L((0,c.useState)(!1),2),n=t[0],o=t[1],s=L((0,c.useState)(null),2),l=s[0],p=s[1],d=L((0,c.useState)(!1),2),f=d[0],y=d[1],v=(0,c.useMemo)(function(){return{result:l,loading:f,setResult:p,setLoading:y}},[l,f]);return u().createElement(r.ActionContextProvider,{value:{visible:n,setVisible:o}},u().createElement(i.Button,{icon:u().createElement(a.PlusOutlined,null),type:"primary",onClick:function(){p(null),y(!1),o(!0)}},e("Add new")),u().createElement(Y.Provider,{value:v},u().createElement(r.SchemaComponent,{components:{TestConnectionButton:en,TestConnectionResult:er,Space:i.Space},scope:{t:e,transportOptions:W,keyValueRowClassName:G,useCreateFormProps:J,useCancelActionProps:X,useCreateActionProps:ee},schema:R})))},ea=function(){var e=(0,m.kj)(),t=(0,r.useCollectionRecordData)(),n=L((0,c.useState)(null),2),o=n[0],a=n[1],s=L((0,c.useState)(!1),2),l=s[0],p=s[1],d=(0,c.useMemo)(function(){return{result:o,loading:l,setResult:a,setLoading:p}},[o,l]);return u().createElement(r.CollectionRecordProvider,{record:t},u().createElement(Y.Provider,{value:d},u().createElement(r.SchemaComponent,{components:{TestConnectionButton:en,TestConnectionResult:er,Space:i.Space},scope:{t:e,transportOptions:W,keyValueRowClassName:G,useEditFormProps:Q,useCancelActionProps:X,useEditActionProps:et},schema:I})))},ei=function(){var e=(0,m.kj)(),t=(0,r.useCollectionRecordData)();return u().createElement(r.CollectionRecordProvider,{record:t},u().createElement(r.SchemaComponent,{components:{MCPToolsList:S},scope:{t:e},schema:T}))},es=function(){var e,t=(0,r.useCollectionRecordData)().transport,n=(null==(e=W.find(function(e){return e.value===t}))?void 0:e.label)||t;return u().createElement(i.Tag,{color:_[t]},n)},el=(0,l.observer)(function(){var e=(0,r.useAPIClient)(),t=(0,r.useCollectionRecordData)(),n=(0,r.useDataBlockRequest)().refresh,o=(0,c.useContext)(f),a=o.rebuildClient,s=o.rebuilding,l=L((0,c.useState)(!1),2),p=l[0],m=l[1];return u().createElement(i.Switch,{size:"small",checked:!1!==t.enabled,loading:p,disabled:s,onChange:function(r){return V(function(){return q(this,function(o){switch(o.label){case 0:m(!0),o.label=1;case 1:return o.trys.push([1,,5,6]),[4,e.resource("aiMcpClients").update({filterByTk:t.name,values:{enabled:r}})];case 2:return o.sent(),[4,a()];case 3:return o.sent(),[4,n()];case 4:return o.sent(),[3,6];case 5:return m(!1),[7];case 6:return[2]}})})()}})},{displayName:"MCPEnabledSwitch"}),ec=function(){var e=(0,r.useDestroyActionProps)(),t=(0,c.useContext)(f),n=t.rebuildClient,o=t.rebuilding;return N(B({},e),{loading:o,onClick:function(t,r){return V(function(){var o;return q(this,function(a){switch(a.label){case 0:return[4,null==(o=e.onClick)?void 0:o.call(e,t,r)];case 1:return a.sent(),[4,n()];case 2:return a.sent(),[2]}})})()}})},eu=function(){var e=(0,r.useBulkDestroyActionProps)(),t=(0,r.useBlockRequestContext)().field,n=(0,c.useContext)(f),o=n.rebuildClient,a=n.rebuilding;return N(B({},e),{loading:a,onClick:function(n,r){return V(function(){var a,i,s;return q(this,function(l){switch(l.label){case 0:if(!(null==t||null==(i=t.data)||null==(a=i.selectedRowKeys)?void 0:a.length))return[2];return[4,null==(s=e.onClick)?void 0:s.call(e,n,r)];case 1:return l.sent(),[4,o()];case 2:return l.sent(),[2]}})})()}})},ep=function(){var e=(0,m.kj)(),t=(0,r.useAPIClient)(),n=(0,c.useRef)(Promise.resolve()),o=(0,c.useRef)(0),a=L((0,c.useState)(!1),2),i=a[0],s=a[1],l=(0,c.useCallback)(function(){return V(function(){var e;return q(this,function(r){return o.current+=1,s(!0),e=n.current.catch(function(){}).then(function(){return V(function(){return q(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,t.resource("aiMcpClients").rebuildClient()];case 1:case 2:return e.sent(),[3,3];case 3:return[2]}})})()}),n.current=e.finally(function(){o.current-=1,0===o.current&&s(!1)}),[2,e]})})()},[t]),d=(0,c.useMemo)(function(){return{rebuildClient:l,rebuilding:i}},[l,i]);return u().createElement(f.Provider,{value:d},u().createElement(r.ExtendCollectionsProvider,{collections:[p]},u().createElement(r.SchemaComponent,{components:{AddNew:eo,MCPEditDrawerContent:ea,MCPViewDrawerContent:ei,MCPToolsList:S,TestConnectionButton:en,TestConnectionResult:er,TransportTag:es,EnabledSwitch:el},scope:{t:e,transportOptions:W,keyValueRowClassName:G,useCreateFormProps:J,useEditFormProps:Q,useCancelActionProps:X,useCreateActionProps:ee,useEditActionProps:et,useMCPDestroyActionProps:ec,useMCPBulkDestroyActionProps:eu},schema:D})))}}}]);
@@ -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([["44"],{9543:function(e,t,r){r.r(t),r.d(t,{Echarts:function(){return b}});var n=r(9155),o=r.n(n),s=r(1049),a=r(219),i=r(3342);let l=(0,n.createContext)(null),c={didCatch:!1,error:null};class u extends n.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=c}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,o=Array(n),s=0;s<n;s++)o[s]=arguments[s];null==(t=(r=this.props).onReset)||t.call(r,{args:o,reason:"imperative-api"}),this.setState(c)}}componentDidCatch(e,t){var r,n;null==(r=(n=this.props).onError)||r.call(n,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var o,s;null==(o=(s=this.props).onReset)||o.call(s,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(c)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:o}=this.props,{didCatch:s,error:a}=this.state,i=e;if(s){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if((0,n.isValidElement)(o))i=o;else if("function"==typeof t)i=t(e);else if(r)i=(0,n.createElement)(r,e);else throw a}return(0,n.createElement)(l.Provider,{value:{didCatch:s,error:a,resetErrorBoundary:this.resetErrorBoundary}},i)}}var p=r(2059),h=r(7375),f=r(7598);function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function 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 r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}var m=function(e){var t=e.error,r=(0,a.kj)();return f.H.use.responseLoading()?null:o().createElement(p.Alert,{showIcon:!0,type:"error",message:r("Invalid chart options"),description:o().createElement(o().Fragment,null,t.message," ",o().createElement(p.Button,{icon:o().createElement(h.CopyOutlined,null),variant:"link",color:"primary",onClick:function(){navigator.clipboard.writeText(t.message),p.message.success(r("Copied"))}}))})},b=function(e){var t=e.toolCall,r=(0,a.kj)(),n=(0,i.useToken)().token,l=(0,i.useGlobalTheme)().isDarkTheme,c={fontSize:n.fontSizeSM,color:n.colorText,borderWidth:0},p=d(y({},c),{color:n.colorLinkHover});return o().createElement(u,{FallbackComponent:m,onError:function(e){return console.error(e,t.args)},resetKeys:[t.args.options]},o().createElement(s.A,{option:d(y({},t.args.options),{animation:!1,toolbox:{show:!0,feature:{saveAsImage:{title:r("Save as image"),icon:"path://".concat("M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"),iconStyle:c,emphasis:{iconStyle:p}}}}}),theme:l?"defaultDark":"light"}))}}}]);
10
+ "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["628"],{2679:function(e,t,r){r.r(t),r.d(t,{Echarts:function(){return b}});var n=r(9155),o=r.n(n),s=r(1049),a=r(3079),i=r(3342);let l=(0,n.createContext)(null),c={didCatch:!1,error:null};class u extends n.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=c}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,n=arguments.length,o=Array(n),s=0;s<n;s++)o[s]=arguments[s];null==(t=(r=this.props).onReset)||t.call(r,{args:o,reason:"imperative-api"}),this.setState(c)}}componentDidCatch(e,t){var r,n;null==(r=(n=this.props).onError)||r.call(n,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,n)){var o,s;null==(o=(s=this.props).onReset)||o.call(s,{next:n,prev:e.resetKeys,reason:"keys"}),this.setState(c)}}render(){let{children:e,fallbackRender:t,FallbackComponent:r,fallback:o}=this.props,{didCatch:s,error:a}=this.state,i=e;if(s){let e={error:a,resetErrorBoundary:this.resetErrorBoundary};if((0,n.isValidElement)(o))i=o;else if("function"==typeof t)i=t(e);else if(r)i=(0,n.createElement)(r,e);else throw a}return(0,n.createElement)(l.Provider,{value:{didCatch:s,error:a,resetErrorBoundary:this.resetErrorBoundary}},i)}}var p=r(2059),h=r(7375),f=r(26);function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function 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 r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}var m=function(e){var t=e.error,r=(0,a.kj)();return f.H.use.responseLoading()?null:o().createElement(p.Alert,{showIcon:!0,type:"error",message:r("Invalid chart options"),description:o().createElement(o().Fragment,null,t.message," ",o().createElement(p.Button,{icon:o().createElement(h.CopyOutlined,null),variant:"link",color:"primary",onClick:function(){navigator.clipboard.writeText(t.message),p.message.success(r("Copied"))}}))})},b=function(e){var t=e.toolCall,r=(0,a.kj)(),n=(0,i.useToken)().token,l=(0,i.useGlobalTheme)().isDarkTheme,c={fontSize:n.fontSizeSM,color:n.colorText,borderWidth:0},p=d(y({},c),{color:n.colorLinkHover});return o().createElement(u,{FallbackComponent:m,onError:function(e){return console.error(e,t.args)},resetKeys:[t.args.options]},o().createElement(s.A,{option:d(y({},t.args.options),{animation:!1,toolbox:{show:!0,feature:{saveAsImage:{title:r("Save as image"),icon:"path://".concat("M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"),iconStyle:c,emphasis:{iconStyle:p}}}}}),theme:l?"defaultDark":"light"}))}}}]);