@progress/kendo-react-webmcp 15.0.0-develop.2

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 (340) hide show
  1. package/LICENSE.md +11 -0
  2. package/NOTICE.txt +383 -0
  3. package/README.md +72 -0
  4. package/WebMcpProvider.d.ts +49 -0
  5. package/WebMcpProvider.js +8 -0
  6. package/WebMcpProvider.mjs +138 -0
  7. package/adapters/aiprompt.d.ts +15 -0
  8. package/adapters/aiprompt.js +8 -0
  9. package/adapters/aiprompt.mjs +63 -0
  10. package/adapters/autocomplete.d.ts +18 -0
  11. package/adapters/autocomplete.js +8 -0
  12. package/adapters/autocomplete.mjs +69 -0
  13. package/adapters/button.d.ts +18 -0
  14. package/adapters/button.js +8 -0
  15. package/adapters/button.mjs +46 -0
  16. package/adapters/calendar.d.ts +16 -0
  17. package/adapters/calendar.js +8 -0
  18. package/adapters/calendar.mjs +61 -0
  19. package/adapters/chart.d.ts +29 -0
  20. package/adapters/chart.js +8 -0
  21. package/adapters/chart.mjs +95 -0
  22. package/adapters/chat.d.ts +16 -0
  23. package/adapters/chat.js +8 -0
  24. package/adapters/chat.mjs +66 -0
  25. package/adapters/colorpicker.d.ts +16 -0
  26. package/adapters/colorpicker.js +8 -0
  27. package/adapters/colorpicker.mjs +60 -0
  28. package/adapters/combobox.d.ts +20 -0
  29. package/adapters/combobox.js +8 -0
  30. package/adapters/combobox.mjs +87 -0
  31. package/adapters/dashboard.d.ts +18 -0
  32. package/adapters/dashboard.js +8 -0
  33. package/adapters/dashboard.mjs +41 -0
  34. package/adapters/datepicker.d.ts +17 -0
  35. package/adapters/datepicker.js +8 -0
  36. package/adapters/datepicker.mjs +59 -0
  37. package/adapters/daterangepicker.d.ts +19 -0
  38. package/adapters/daterangepicker.js +8 -0
  39. package/adapters/daterangepicker.mjs +70 -0
  40. package/adapters/datetimepicker.d.ts +16 -0
  41. package/adapters/datetimepicker.js +8 -0
  42. package/adapters/datetimepicker.mjs +59 -0
  43. package/adapters/dialog.d.ts +15 -0
  44. package/adapters/dialog.js +8 -0
  45. package/adapters/dialog.mjs +58 -0
  46. package/adapters/drawer.d.ts +33 -0
  47. package/adapters/drawer.js +8 -0
  48. package/adapters/drawer.mjs +86 -0
  49. package/adapters/dropdownlist.d.ts +19 -0
  50. package/adapters/dropdownlist.js +8 -0
  51. package/adapters/dropdownlist.mjs +74 -0
  52. package/adapters/dropdowntree.d.ts +22 -0
  53. package/adapters/dropdowntree.js +8 -0
  54. package/adapters/dropdowntree.mjs +108 -0
  55. package/adapters/editor.d.ts +30 -0
  56. package/adapters/editor.js +8 -0
  57. package/adapters/editor.mjs +109 -0
  58. package/adapters/form.d.ts +20 -0
  59. package/adapters/form.js +10 -0
  60. package/adapters/form.mjs +115 -0
  61. package/adapters/gantt.d.ts +65 -0
  62. package/adapters/gantt.js +8 -0
  63. package/adapters/gantt.mjs +370 -0
  64. package/adapters/grid.d.ts +102 -0
  65. package/adapters/grid.js +8 -0
  66. package/adapters/grid.mjs +692 -0
  67. package/adapters/listbox.d.ts +18 -0
  68. package/adapters/listbox.js +8 -0
  69. package/adapters/listbox.mjs +87 -0
  70. package/adapters/listview.d.ts +22 -0
  71. package/adapters/listview.js +8 -0
  72. package/adapters/listview.mjs +80 -0
  73. package/adapters/map.d.ts +32 -0
  74. package/adapters/map.js +8 -0
  75. package/adapters/map.mjs +88 -0
  76. package/adapters/maskedtextbox.d.ts +17 -0
  77. package/adapters/maskedtextbox.js +8 -0
  78. package/adapters/maskedtextbox.mjs +57 -0
  79. package/adapters/menu.d.ts +16 -0
  80. package/adapters/menu.js +8 -0
  81. package/adapters/menu.mjs +50 -0
  82. package/adapters/multiselect.d.ts +19 -0
  83. package/adapters/multiselect.js +8 -0
  84. package/adapters/multiselect.mjs +75 -0
  85. package/adapters/notification.d.ts +17 -0
  86. package/adapters/notification.js +8 -0
  87. package/adapters/notification.mjs +57 -0
  88. package/adapters/numerictextbox.d.ts +19 -0
  89. package/adapters/numerictextbox.js +8 -0
  90. package/adapters/numerictextbox.mjs +78 -0
  91. package/adapters/panelbar.d.ts +17 -0
  92. package/adapters/panelbar.js +8 -0
  93. package/adapters/panelbar.mjs +66 -0
  94. package/adapters/pivotgrid.d.ts +16 -0
  95. package/adapters/pivotgrid.js +8 -0
  96. package/adapters/pivotgrid.mjs +126 -0
  97. package/adapters/rangeslider.d.ts +21 -0
  98. package/adapters/rangeslider.js +8 -0
  99. package/adapters/rangeslider.mjs +55 -0
  100. package/adapters/rating.d.ts +16 -0
  101. package/adapters/rating.js +8 -0
  102. package/adapters/rating.mjs +60 -0
  103. package/adapters/scheduler.d.ts +45 -0
  104. package/adapters/scheduler.js +8 -0
  105. package/adapters/scheduler.mjs +165 -0
  106. package/adapters/scrollview.d.ts +21 -0
  107. package/adapters/scrollview.js +8 -0
  108. package/adapters/scrollview.mjs +74 -0
  109. package/adapters/signature.d.ts +16 -0
  110. package/adapters/signature.js +8 -0
  111. package/adapters/signature.mjs +47 -0
  112. package/adapters/slider.d.ts +19 -0
  113. package/adapters/slider.js +8 -0
  114. package/adapters/slider.mjs +47 -0
  115. package/adapters/sortable.d.ts +17 -0
  116. package/adapters/sortable.js +8 -0
  117. package/adapters/sortable.mjs +67 -0
  118. package/adapters/spreadsheet.d.ts +32 -0
  119. package/adapters/spreadsheet.js +8 -0
  120. package/adapters/spreadsheet.mjs +256 -0
  121. package/adapters/stepper.d.ts +23 -0
  122. package/adapters/stepper.js +8 -0
  123. package/adapters/stepper.mjs +47 -0
  124. package/adapters/switch.d.ts +17 -0
  125. package/adapters/switch.js +8 -0
  126. package/adapters/switch.mjs +48 -0
  127. package/adapters/tabstrip.d.ts +19 -0
  128. package/adapters/tabstrip.js +8 -0
  129. package/adapters/tabstrip.mjs +47 -0
  130. package/adapters/taskboard.d.ts +20 -0
  131. package/adapters/taskboard.js +8 -0
  132. package/adapters/taskboard.mjs +104 -0
  133. package/adapters/textarea.d.ts +16 -0
  134. package/adapters/textarea.js +8 -0
  135. package/adapters/textarea.mjs +57 -0
  136. package/adapters/textbox.d.ts +19 -0
  137. package/adapters/textbox.js +8 -0
  138. package/adapters/textbox.mjs +61 -0
  139. package/adapters/timepicker.d.ts +16 -0
  140. package/adapters/timepicker.js +8 -0
  141. package/adapters/timepicker.mjs +59 -0
  142. package/adapters/treelist.d.ts +81 -0
  143. package/adapters/treelist.js +8 -0
  144. package/adapters/treelist.mjs +403 -0
  145. package/adapters/treeview.d.ts +25 -0
  146. package/adapters/treeview.js +9 -0
  147. package/adapters/treeview.mjs +212 -0
  148. package/adapters/upload.d.ts +15 -0
  149. package/adapters/upload.js +8 -0
  150. package/adapters/upload.mjs +52 -0
  151. package/adapters/utils.d.ts +16 -0
  152. package/adapters/utils.js +8 -0
  153. package/adapters/utils.mjs +25 -0
  154. package/adapters/window.d.ts +17 -0
  155. package/adapters/window.js +8 -0
  156. package/adapters/window.mjs +99 -0
  157. package/commands/aiprompt.d.ts +30 -0
  158. package/commands/aiprompt.js +8 -0
  159. package/commands/aiprompt.mjs +54 -0
  160. package/commands/autocomplete.d.ts +26 -0
  161. package/commands/autocomplete.js +8 -0
  162. package/commands/autocomplete.mjs +36 -0
  163. package/commands/button.d.ts +19 -0
  164. package/commands/button.js +8 -0
  165. package/commands/button.mjs +21 -0
  166. package/commands/calendar.d.ts +29 -0
  167. package/commands/calendar.js +8 -0
  168. package/commands/calendar.mjs +52 -0
  169. package/commands/chart.d.ts +27 -0
  170. package/commands/chart.js +8 -0
  171. package/commands/chart.mjs +43 -0
  172. package/commands/chat.d.ts +22 -0
  173. package/commands/chat.js +8 -0
  174. package/commands/chat.mjs +30 -0
  175. package/commands/checkbox.d.ts +26 -0
  176. package/commands/checkbox.js +8 -0
  177. package/commands/checkbox.mjs +36 -0
  178. package/commands/colorpicker.d.ts +26 -0
  179. package/commands/colorpicker.js +8 -0
  180. package/commands/colorpicker.mjs +36 -0
  181. package/commands/combobox.d.ts +34 -0
  182. package/commands/combobox.js +8 -0
  183. package/commands/combobox.mjs +48 -0
  184. package/commands/dashboard.d.ts +19 -0
  185. package/commands/dashboard.js +8 -0
  186. package/commands/dashboard.mjs +21 -0
  187. package/commands/datepicker.d.ts +26 -0
  188. package/commands/datepicker.js +8 -0
  189. package/commands/datepicker.mjs +36 -0
  190. package/commands/daterangepicker.d.ts +27 -0
  191. package/commands/daterangepicker.js +8 -0
  192. package/commands/daterangepicker.mjs +37 -0
  193. package/commands/datetimepicker.d.ts +26 -0
  194. package/commands/datetimepicker.js +8 -0
  195. package/commands/datetimepicker.mjs +36 -0
  196. package/commands/dialog.d.ts +23 -0
  197. package/commands/dialog.js +8 -0
  198. package/commands/dialog.mjs +25 -0
  199. package/commands/drawer.d.ts +30 -0
  200. package/commands/drawer.js +8 -0
  201. package/commands/drawer.mjs +38 -0
  202. package/commands/dropdownlist.d.ts +30 -0
  203. package/commands/dropdownlist.js +8 -0
  204. package/commands/dropdownlist.mjs +42 -0
  205. package/commands/dropdowntree.d.ts +34 -0
  206. package/commands/dropdowntree.js +8 -0
  207. package/commands/dropdowntree.mjs +48 -0
  208. package/commands/editor.d.ts +26 -0
  209. package/commands/editor.js +8 -0
  210. package/commands/editor.mjs +36 -0
  211. package/commands/form.d.ts +34 -0
  212. package/commands/form.js +8 -0
  213. package/commands/form.mjs +54 -0
  214. package/commands/gantt.d.ts +119 -0
  215. package/commands/gantt.js +8 -0
  216. package/commands/gantt.mjs +156 -0
  217. package/commands/grid.d.ts +209 -0
  218. package/commands/grid.js +8 -0
  219. package/commands/grid.mjs +280 -0
  220. package/commands/index.d.ts +58 -0
  221. package/commands/listbox.d.ts +31 -0
  222. package/commands/listbox.js +8 -0
  223. package/commands/listbox.mjs +69 -0
  224. package/commands/listview.d.ts +22 -0
  225. package/commands/listview.js +8 -0
  226. package/commands/listview.mjs +29 -0
  227. package/commands/map.d.ts +43 -0
  228. package/commands/map.js +8 -0
  229. package/commands/map.mjs +77 -0
  230. package/commands/maskedtextbox.d.ts +26 -0
  231. package/commands/maskedtextbox.js +8 -0
  232. package/commands/maskedtextbox.mjs +36 -0
  233. package/commands/menu.d.ts +22 -0
  234. package/commands/menu.js +8 -0
  235. package/commands/menu.mjs +30 -0
  236. package/commands/multicolumncombobox.d.ts +34 -0
  237. package/commands/multicolumncombobox.js +8 -0
  238. package/commands/multicolumncombobox.mjs +48 -0
  239. package/commands/multiselect.d.ts +41 -0
  240. package/commands/multiselect.js +8 -0
  241. package/commands/multiselect.mjs +57 -0
  242. package/commands/notification.d.ts +27 -0
  243. package/commands/notification.js +8 -0
  244. package/commands/notification.mjs +46 -0
  245. package/commands/numerictextbox.d.ts +34 -0
  246. package/commands/numerictextbox.js +8 -0
  247. package/commands/numerictextbox.mjs +48 -0
  248. package/commands/panelbar.d.ts +29 -0
  249. package/commands/panelbar.js +8 -0
  250. package/commands/panelbar.mjs +43 -0
  251. package/commands/pivotgrid.d.ts +56 -0
  252. package/commands/pivotgrid.js +8 -0
  253. package/commands/pivotgrid.mjs +87 -0
  254. package/commands/rangeslider.d.ts +23 -0
  255. package/commands/rangeslider.js +8 -0
  256. package/commands/rangeslider.mjs +25 -0
  257. package/commands/rating.d.ts +26 -0
  258. package/commands/rating.js +8 -0
  259. package/commands/rating.mjs +36 -0
  260. package/commands/scheduler.d.ts +45 -0
  261. package/commands/scheduler.js +8 -0
  262. package/commands/scheduler.mjs +59 -0
  263. package/commands/scrollview.d.ts +30 -0
  264. package/commands/scrollview.js +8 -0
  265. package/commands/scrollview.mjs +46 -0
  266. package/commands/signature.d.ts +19 -0
  267. package/commands/signature.js +8 -0
  268. package/commands/signature.mjs +21 -0
  269. package/commands/slider.d.ts +22 -0
  270. package/commands/slider.js +8 -0
  271. package/commands/slider.mjs +24 -0
  272. package/commands/sortable.d.ts +23 -0
  273. package/commands/sortable.js +8 -0
  274. package/commands/sortable.mjs +32 -0
  275. package/commands/spreadsheet.d.ts +92 -0
  276. package/commands/spreadsheet.js +8 -0
  277. package/commands/spreadsheet.mjs +181 -0
  278. package/commands/stepper.d.ts +22 -0
  279. package/commands/stepper.js +8 -0
  280. package/commands/stepper.mjs +35 -0
  281. package/commands/switch.d.ts +26 -0
  282. package/commands/switch.js +8 -0
  283. package/commands/switch.mjs +36 -0
  284. package/commands/tabstrip.d.ts +23 -0
  285. package/commands/tabstrip.js +8 -0
  286. package/commands/tabstrip.mjs +30 -0
  287. package/commands/taskboard.d.ts +48 -0
  288. package/commands/taskboard.js +8 -0
  289. package/commands/taskboard.mjs +90 -0
  290. package/commands/textarea.d.ts +26 -0
  291. package/commands/textarea.js +8 -0
  292. package/commands/textarea.mjs +36 -0
  293. package/commands/textbox.d.ts +26 -0
  294. package/commands/textbox.js +8 -0
  295. package/commands/textbox.mjs +36 -0
  296. package/commands/timepicker.d.ts +26 -0
  297. package/commands/timepicker.js +8 -0
  298. package/commands/timepicker.mjs +36 -0
  299. package/commands/treelist.d.ts +135 -0
  300. package/commands/treelist.js +8 -0
  301. package/commands/treelist.mjs +177 -0
  302. package/commands/treeview.d.ts +44 -0
  303. package/commands/treeview.js +8 -0
  304. package/commands/treeview.mjs +84 -0
  305. package/commands/upload.d.ts +19 -0
  306. package/commands/upload.js +8 -0
  307. package/commands/upload.mjs +21 -0
  308. package/commands/window.d.ts +35 -0
  309. package/commands/window.js +8 -0
  310. package/commands/window.mjs +45 -0
  311. package/dist/cdn/js/kendo-react-webmcp.js +15 -0
  312. package/grid-mcp-tools.d.ts +26 -0
  313. package/grid-mcp-tools.js +8 -0
  314. package/grid-mcp-tools.mjs +75 -0
  315. package/index.d.mts +68 -0
  316. package/index.d.ts +68 -0
  317. package/index.js +8 -0
  318. package/index.mjs +308 -0
  319. package/mcp-types.d.ts +12 -0
  320. package/package.json +64 -0
  321. package/schemas/common.d.ts +27 -0
  322. package/schemas/common.js +8 -0
  323. package/schemas/common.mjs +113 -0
  324. package/schemas/gantt.d.ts +10 -0
  325. package/schemas/gantt.js +8 -0
  326. package/schemas/gantt.mjs +51 -0
  327. package/schemas/grid.d.ts +10 -0
  328. package/schemas/grid.js +8 -0
  329. package/schemas/grid.mjs +46 -0
  330. package/schemas/index.d.ts +13 -0
  331. package/schemas/input.d.ts +19 -0
  332. package/schemas/input.js +8 -0
  333. package/schemas/input.mjs +137 -0
  334. package/schemas/scheduler.d.ts +11 -0
  335. package/schemas/scheduler.js +8 -0
  336. package/schemas/scheduler.mjs +58 -0
  337. package/schemas/table.d.ts +12 -0
  338. package/schemas/table.js +8 -0
  339. package/schemas/table.mjs +87 -0
  340. package/types.d.ts +39 -0
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ToolAdapter } from '../types';
9
+ interface ListBoxAdapterProps {
10
+ data?: unknown[];
11
+ textField?: string;
12
+ onItemClick?: (event: Record<string, unknown>) => void;
13
+ onToolBarClick?: (event: Record<string, unknown>) => void;
14
+ webMcp?: unknown;
15
+ }
16
+ /** @hidden */
17
+ export declare const listBoxAdapter: ToolAdapter<unknown, ListBoxAdapterProps>;
18
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../commands/listbox.js");function d(t){if(t.onToolBarClick)return t.onToolBarClick;const e=t.webMcp;if(typeof e=="object"&&e!==null&&typeof e.onToolBarClick=="function")return e.onToolBarClick}function C(t,e,n){const r=d(e.current),c={to:"transferTo",from:"transferFrom",allTo:"transferAllTo",allFrom:"transferAllFrom"}[t.direction]||t.direction;return r&&r({toolName:c,syntheticEvent:null,target:n}),{content:[{type:"text",text:`Transfer action "${String(t.direction)}" executed.`}]}}function B(t,e,n){const r=d(e.current),c={up:"moveUp",down:"moveDown"}[t.direction]||t.direction;return r&&r({toolName:c,syntheticEvent:null,target:n}),{content:[{type:"text",text:`Reorder "${String(t.direction)}" executed.`}]}}const h={componentSuffix:"listbox",createTools(t,e,n,r){const a=[],c=o=>`${n.groupName}_${o}`,p=e.current,m=!!d(p),u=[{name:"transfer",description:`Transfer items between the ${n.dataName} list boxes`,commandType:i.ListBoxCommands.Transfer,enabled:m},{name:"reorder",description:`Reorder an item in the ${n.dataName} list box`,commandType:i.ListBoxCommands.Reorder,enabled:m}],s=e.current.webMcp,f=typeof s=="object"&&s!==null&&typeof s.tools=="function"?s.tools:void 0,x=f?f(u):u,T=async(o,l)=>{switch(o){case i.ListBoxCommands.Transfer:return C(l,e,t);case i.ListBoxCommands.Reorder:return B(l,e,t);default:return{content:[{type:"text",text:`Unknown command: ${o}`}],isError:!0}}};for(const o of x){if(!o.enabled)continue;const l=i.getListBoxToolSchema(o.commandType),y=o.commandType;try{a.push(r.registerTool({name:c(o.name),description:o.description,inputSchema:l,execute:async b=>T(y,b||{})}))}catch{}}return a}};exports.listBoxAdapter=h;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ListBoxCommands as l, getListBoxToolSchema as h } from "../commands/listbox.mjs";
9
+ function d(t) {
10
+ if (t.onToolBarClick)
11
+ return t.onToolBarClick;
12
+ const e = t.webMcp;
13
+ if (typeof e == "object" && e !== null && typeof e.onToolBarClick == "function")
14
+ return e.onToolBarClick;
15
+ }
16
+ function C(t, e, n) {
17
+ const r = d(e.current), c = {
18
+ to: "transferTo",
19
+ from: "transferFrom",
20
+ allTo: "transferAllTo",
21
+ allFrom: "transferAllFrom"
22
+ }[t.direction] || t.direction;
23
+ return r && r({
24
+ toolName: c,
25
+ syntheticEvent: null,
26
+ target: n
27
+ }), { content: [{ type: "text", text: `Transfer action "${String(t.direction)}" executed.` }] };
28
+ }
29
+ function B(t, e, n) {
30
+ const r = d(e.current), c = {
31
+ up: "moveUp",
32
+ down: "moveDown"
33
+ }[t.direction] || t.direction;
34
+ return r && r({
35
+ toolName: c,
36
+ syntheticEvent: null,
37
+ target: n
38
+ }), { content: [{ type: "text", text: `Reorder "${String(t.direction)}" executed.` }] };
39
+ }
40
+ const k = {
41
+ componentSuffix: "listbox",
42
+ createTools(t, e, n, r) {
43
+ const i = [], c = (o) => `${n.groupName}_${o}`, p = e.current, m = !!d(p), u = [
44
+ {
45
+ name: "transfer",
46
+ description: `Transfer items between the ${n.dataName} list boxes`,
47
+ commandType: l.Transfer,
48
+ enabled: m
49
+ },
50
+ {
51
+ name: "reorder",
52
+ description: `Reorder an item in the ${n.dataName} list box`,
53
+ commandType: l.Reorder,
54
+ enabled: m
55
+ }
56
+ ], a = e.current.webMcp, f = typeof a == "object" && a !== null && typeof a.tools == "function" ? a.tools : void 0, T = f ? f(u) : u, x = async (o, s) => {
57
+ switch (o) {
58
+ case l.Transfer:
59
+ return C(s, e, t);
60
+ case l.Reorder:
61
+ return B(s, e, t);
62
+ default:
63
+ return { content: [{ type: "text", text: `Unknown command: ${o}` }], isError: !0 };
64
+ }
65
+ };
66
+ for (const o of T) {
67
+ if (!o.enabled)
68
+ continue;
69
+ const s = h(o.commandType), y = o.commandType;
70
+ try {
71
+ i.push(
72
+ r.registerTool({
73
+ name: c(o.name),
74
+ description: o.description,
75
+ inputSchema: s,
76
+ execute: async (b) => x(y, b || {})
77
+ })
78
+ );
79
+ } catch {
80
+ }
81
+ }
82
+ return i;
83
+ }
84
+ };
85
+ export {
86
+ k as listBoxAdapter
87
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ToolAdapter } from '../types';
9
+ interface ListViewAdapterProps {
10
+ data?: unknown[];
11
+ skip?: number;
12
+ take?: number;
13
+ total?: number;
14
+ dataItemKey?: string;
15
+ selectedField?: string;
16
+ onPageChange?: (event: Record<string, unknown>) => void;
17
+ onSelectionChange?: (event: Record<string, unknown>) => void;
18
+ webMcp?: unknown;
19
+ }
20
+ /** @hidden */
21
+ export declare const listViewAdapter: ToolAdapter<unknown, ListViewAdapterProps>;
22
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../commands/listview.js");function v(t){return typeof t=="object"&&t!==null}function d(t,c){const e=t[c];if(typeof e=="function")return e;const r=t.webMcp;if(typeof r=="object"&&r!==null&&typeof r[c]=="function")return r[c]}function S(t,c){const e=t.webMcp;if(typeof e=="object"&&e!==null)return e[c]}const T={componentSuffix:"listview",createTools(t,c,e,r){const g=[],x=n=>`${e.groupName}_${n}`,f=c.current,y=[{name:"page",description:`Navigate to a specific page in the ${e.dataName} list view`,commandType:m.ListViewCommands.Page,enabled:!!d(f,"onPageChange")},{name:"select",description:`Select an item in the ${e.dataName} list view`,commandType:"ListViewSelect",enabled:!!d(f,"onSelectionChange")}],l=c.current.webMcp,b=typeof l=="object"&&l!==null&&typeof l.tools=="function"?l.tools:void 0,C=b?b(y):y,h=async(n,s)=>{const i=c.current;switch(n){case m.ListViewCommands.Page:{const o=Number(s.page);if(!o||o<1)return{content:[{type:"text",text:"Invalid page number."}],isError:!0};const p=S(i,"take")||i.take||10,u=(o-1)*p,a=d(i,"onPageChange");return a&&a({page:{skip:u,take:p},syntheticEvent:null,target:t}),{content:[{type:"text",text:`Navigated to page ${o}.`}]}}case"ListViewSelect":{const o=S(i,"dataItemKey")||i.dataItemKey||"id",u=(i.data||[]).find(w=>v(w)&&String(w[o])===String(s.id)),a=d(i,"onSelectionChange");return u?(a&&a({dataItem:u,target:t}),{content:[{type:"text",text:"Item selected."}]}):(a&&a({dataItem:{[o]:s.id},target:t}),{content:[{type:"text",text:`Selected item ${o}=${String(s.id)}.`}]})}default:return{content:[{type:"text",text:`Unknown command: ${n}`}],isError:!0}}};for(const n of C){if(!n.enabled)continue;const s=m.getListViewToolSchema(n.commandType),i=n.commandType;try{g.push(r.registerTool({name:x(n.name),description:n.description,inputSchema:s,execute:async o=>h(i,o||{})}))}catch{}}return g}};exports.listViewAdapter=T;
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ListViewCommands as w, getListViewToolSchema as v } from "../commands/listview.mjs";
9
+ function k(t) {
10
+ return typeof t == "object" && t !== null;
11
+ }
12
+ function u(t, c) {
13
+ const e = t[c];
14
+ if (typeof e == "function")
15
+ return e;
16
+ const r = t.webMcp;
17
+ if (typeof r == "object" && r !== null && typeof r[c] == "function")
18
+ return r[c];
19
+ }
20
+ function x(t, c) {
21
+ const e = t.webMcp;
22
+ if (typeof e == "object" && e !== null)
23
+ return e[c];
24
+ }
25
+ const $ = {
26
+ componentSuffix: "listview",
27
+ createTools(t, c, e, r) {
28
+ const m = [], S = (n) => `${e.groupName}_${n}`, f = c.current, g = [
29
+ {
30
+ name: "page",
31
+ description: `Navigate to a specific page in the ${e.dataName} list view`,
32
+ commandType: w.Page,
33
+ enabled: !!u(f, "onPageChange")
34
+ },
35
+ {
36
+ name: "select",
37
+ description: `Select an item in the ${e.dataName} list view`,
38
+ commandType: "ListViewSelect",
39
+ enabled: !!u(f, "onSelectionChange")
40
+ }
41
+ ], l = c.current.webMcp, y = typeof l == "object" && l !== null && typeof l.tools == "function" ? l.tools : void 0, h = y ? y(g) : g, C = async (n, s) => {
42
+ const i = c.current;
43
+ switch (n) {
44
+ case w.Page: {
45
+ const o = Number(s.page);
46
+ if (!o || o < 1)
47
+ return { content: [{ type: "text", text: "Invalid page number." }], isError: !0 };
48
+ const d = x(i, "take") || i.take || 10, p = (o - 1) * d, a = u(i, "onPageChange");
49
+ return a && a({ page: { skip: p, take: d }, syntheticEvent: null, target: t }), { content: [{ type: "text", text: `Navigated to page ${o}.` }] };
50
+ }
51
+ case "ListViewSelect": {
52
+ const o = x(i, "dataItemKey") || i.dataItemKey || "id", p = (i.data || []).find((b) => k(b) && String(b[o]) === String(s.id)), a = u(i, "onSelectionChange");
53
+ return p ? (a && a({ dataItem: p, target: t }), { content: [{ type: "text", text: "Item selected." }] }) : (a && a({ dataItem: { [o]: s.id }, target: t }), { content: [{ type: "text", text: `Selected item ${o}=${String(s.id)}.` }] });
54
+ }
55
+ default:
56
+ return { content: [{ type: "text", text: `Unknown command: ${n}` }], isError: !0 };
57
+ }
58
+ };
59
+ for (const n of h) {
60
+ if (!n.enabled)
61
+ continue;
62
+ const s = v(n.commandType), i = n.commandType;
63
+ try {
64
+ m.push(
65
+ r.registerTool({
66
+ name: S(n.name),
67
+ description: n.description,
68
+ inputSchema: s,
69
+ execute: async (o) => C(i, o || {})
70
+ })
71
+ );
72
+ } catch {
73
+ }
74
+ }
75
+ return m;
76
+ }
77
+ };
78
+ export {
79
+ $ as listViewAdapter
80
+ };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ToolAdapter } from '../types';
9
+ interface MapAdapterHandle {
10
+ mapInstance?: {
11
+ zoom: (level?: number) => number | void;
12
+ center: (center?: number[]) => number[] | void;
13
+ setOptions: (options: Record<string, unknown>) => void;
14
+ markers?: {
15
+ options?: {
16
+ locationField?: string;
17
+ titleField?: string;
18
+ };
19
+ };
20
+ } | null;
21
+ loadMarkers?: (markers: unknown[]) => void;
22
+ }
23
+ interface MapAdapterProps {
24
+ center?: number[];
25
+ zoom?: number;
26
+ layers?: Record<string, unknown>[];
27
+ onMarkerClick?: (event: Record<string, unknown>) => void;
28
+ webMcp?: unknown;
29
+ }
30
+ /** @hidden */
31
+ export declare const mapAdapter: ToolAdapter<MapAdapterHandle, MapAdapterProps>;
32
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../commands/map.js"),A={componentSuffix:"map",createTools(a,b,r,S){const i=[],C=o=>`${r.groupName}_${o}`,d=[{name:"set_center",description:`Set the map center of the ${r.dataName} map`,commandType:n.MapCommands.SetCenter,enabled:!0},{name:"set_zoom",description:`Set the zoom level of the ${r.dataName} map`,commandType:n.MapCommands.SetZoom,enabled:!0},{name:"add_marker",description:`Add a marker to the ${r.dataName} map at a given coordinate`,commandType:n.MapCommands.AddMarker,enabled:!0},{name:"clear_markers",description:`Remove all markers from the ${r.dataName} map`,commandType:n.MapCommands.ClearMarkers,enabled:!0}],m=b.current.webMcp,l=typeof m=="object"&&m!==null&&typeof m.tools=="function"?m.tools:void 0,x=l?l(d):d,p=[],$=async(o,t)=>{var c,s,u,M,f,y;switch(o){case n.MapCommands.SetCenter:{const e=a==null?void 0:a.mapInstance;return e&&e.center([Number(t.lat),Number(t.lng)]),{content:[{type:"text",text:`Map centered on [${String(t.lat)}, ${String(t.lng)}].`}]}}case n.MapCommands.SetZoom:{const e=a==null?void 0:a.mapInstance;return e&&e.zoom(Number(t.zoom)),{content:[{type:"text",text:`Zoom set to ${String(t.zoom)}.`}]}}case n.MapCommands.AddMarker:{const e=a,T=((u=(s=(c=e==null?void 0:e.mapInstance)==null?void 0:c.markers)==null?void 0:s.options)==null?void 0:u.locationField)||"location",N=((y=(f=(M=e==null?void 0:e.mapInstance)==null?void 0:M.markers)==null?void 0:f.options)==null?void 0:y.titleField)||"title",k={[T]:[Number(t.lat),Number(t.lng)]};return typeof t.title=="string"&&(k[N]=t.title),p.push(k),typeof(e==null?void 0:e.loadMarkers)=="function"&&e.loadMarkers(p),{content:[{type:"text",text:`Marker added at [${String(t.lat)}, ${String(t.lng)}].`}]}}case n.MapCommands.ClearMarkers:{p.length=0;const e=a;return typeof(e==null?void 0:e.loadMarkers)=="function"&&e.loadMarkers([]),{content:[{type:"text",text:"All markers cleared."}]}}default:return{content:[{type:"text",text:`Unknown command: ${o}`}],isError:!0}}};for(const o of x){if(!o.enabled)continue;const t=n.getMapToolSchema(o.commandType),c=o.commandType;try{i.push(S.registerTool({name:C(o.name),description:o.description,inputSchema:t,execute:async s=>$(c,s||{})}))}catch{}}return i}};exports.mapAdapter=A;
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { MapCommands as r, getMapToolSchema as z } from "../commands/map.mjs";
9
+ const _ = {
10
+ componentSuffix: "map",
11
+ createTools(n, b, a, x) {
12
+ const p = [], S = (o) => `${a.groupName}_${o}`, l = [
13
+ {
14
+ name: "set_center",
15
+ description: `Set the map center of the ${a.dataName} map`,
16
+ commandType: r.SetCenter,
17
+ enabled: !0
18
+ },
19
+ {
20
+ name: "set_zoom",
21
+ description: `Set the zoom level of the ${a.dataName} map`,
22
+ commandType: r.SetZoom,
23
+ enabled: !0
24
+ },
25
+ {
26
+ name: "add_marker",
27
+ description: `Add a marker to the ${a.dataName} map at a given coordinate`,
28
+ commandType: r.AddMarker,
29
+ enabled: !0
30
+ },
31
+ {
32
+ name: "clear_markers",
33
+ description: `Remove all markers from the ${a.dataName} map`,
34
+ commandType: r.ClearMarkers,
35
+ enabled: !0
36
+ }
37
+ ], c = b.current.webMcp, d = typeof c == "object" && c !== null && typeof c.tools == "function" ? c.tools : void 0, $ = d ? d(l) : l, i = [], N = async (o, e) => {
38
+ var m, s, u, f, k, y;
39
+ switch (o) {
40
+ case r.SetCenter: {
41
+ const t = n == null ? void 0 : n.mapInstance;
42
+ return t && t.center([Number(e.lat), Number(e.lng)]), {
43
+ content: [{ type: "text", text: `Map centered on [${String(e.lat)}, ${String(e.lng)}].` }]
44
+ };
45
+ }
46
+ case r.SetZoom: {
47
+ const t = n == null ? void 0 : n.mapInstance;
48
+ return t && t.zoom(Number(e.zoom)), { content: [{ type: "text", text: `Zoom set to ${String(e.zoom)}.` }] };
49
+ }
50
+ case r.AddMarker: {
51
+ const t = n, T = ((u = (s = (m = t == null ? void 0 : t.mapInstance) == null ? void 0 : m.markers) == null ? void 0 : s.options) == null ? void 0 : u.locationField) || "location", C = ((y = (k = (f = t == null ? void 0 : t.mapInstance) == null ? void 0 : f.markers) == null ? void 0 : k.options) == null ? void 0 : y.titleField) || "title", M = {
52
+ [T]: [Number(e.lat), Number(e.lng)]
53
+ };
54
+ return typeof e.title == "string" && (M[C] = e.title), i.push(M), typeof (t == null ? void 0 : t.loadMarkers) == "function" && t.loadMarkers(i), {
55
+ content: [{ type: "text", text: `Marker added at [${String(e.lat)}, ${String(e.lng)}].` }]
56
+ };
57
+ }
58
+ case r.ClearMarkers: {
59
+ i.length = 0;
60
+ const t = n;
61
+ return typeof (t == null ? void 0 : t.loadMarkers) == "function" && t.loadMarkers([]), { content: [{ type: "text", text: "All markers cleared." }] };
62
+ }
63
+ default:
64
+ return { content: [{ type: "text", text: `Unknown command: ${o}` }], isError: !0 };
65
+ }
66
+ };
67
+ for (const o of $) {
68
+ if (!o.enabled)
69
+ continue;
70
+ const e = z(o.commandType), m = o.commandType;
71
+ try {
72
+ p.push(
73
+ x.registerTool({
74
+ name: S(o.name),
75
+ description: o.description,
76
+ inputSchema: e,
77
+ execute: async (s) => N(m, s || {})
78
+ })
79
+ );
80
+ } catch {
81
+ }
82
+ }
83
+ return p;
84
+ }
85
+ };
86
+ export {
87
+ _ as mapAdapter
88
+ };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ToolAdapter } from '../types';
9
+ interface MaskedTextBoxAdapterProps {
10
+ value?: string;
11
+ mask?: string;
12
+ onChange?: (event: Record<string, unknown>) => void;
13
+ webMcp?: unknown;
14
+ }
15
+ /** @hidden */
16
+ export declare const maskedTextBoxAdapter: ToolAdapter<unknown, MaskedTextBoxAdapterProps>;
17
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../commands/maskedtextbox.js"),T={componentSuffix:"maskedtextbox",createTools(m,c,r,i){const l=[],x=e=>`${r.groupName}_${e}`,o=c.current,p=o.mask?` Mask: ${o.mask}`:"",d=[{name:"set_value",description:`Enter a value in the ${r.dataName} masked input.${p}`,commandType:n.MaskedTextBoxCommands.SetValue,enabled:!!o.onChange},{name:"clear",description:`Clear the ${r.dataName} masked input.`,commandType:n.MaskedTextBoxCommands.Clear,enabled:!!o.onChange}],a=c.current.webMcp,u=typeof a=="object"&&a!==null&&typeof a.tools=="function"?a.tools:void 0,k=u?u(d):d,y=async(e,s)=>{const t=c.current;switch(e){case n.MaskedTextBoxCommands.SetValue:return t.onChange&&t.onChange({value:s.value,syntheticEvent:null,target:m}),{content:[{type:"text",text:`Value set to "${String(s.value)}".`}]};case n.MaskedTextBoxCommands.Clear:return t.onChange&&t.onChange({value:"",syntheticEvent:null,target:m}),{content:[{type:"text",text:"Masked input cleared."}]};default:return{content:[{type:"text",text:`Unknown command: ${e}`}],isError:!0}}};for(const e of k){if(!e.enabled)continue;const s=n.getMaskedTextBoxToolSchema(e.commandType),t=e.commandType;try{l.push(i.registerTool({name:x(e.name),description:e.description,inputSchema:s,execute:async C=>y(t,C||{})}))}catch{}}return l}};exports.maskedTextBoxAdapter=T;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { MaskedTextBoxCommands as c, getMaskedTextBoxToolSchema as C } from "../commands/maskedtextbox.mjs";
9
+ const T = {
10
+ componentSuffix: "maskedtextbox",
11
+ createTools(l, s, r, d) {
12
+ const m = [], p = (e) => `${r.groupName}_${e}`, n = s.current, x = n.mask ? ` Mask: ${n.mask}` : "", u = [
13
+ {
14
+ name: "set_value",
15
+ description: `Enter a value in the ${r.dataName} masked input.${x}`,
16
+ commandType: c.SetValue,
17
+ enabled: !!n.onChange
18
+ },
19
+ {
20
+ name: "clear",
21
+ description: `Clear the ${r.dataName} masked input.`,
22
+ commandType: c.Clear,
23
+ enabled: !!n.onChange
24
+ }
25
+ ], o = s.current.webMcp, i = typeof o == "object" && o !== null && typeof o.tools == "function" ? o.tools : void 0, h = i ? i(u) : u, y = async (e, a) => {
26
+ const t = s.current;
27
+ switch (e) {
28
+ case c.SetValue:
29
+ return t.onChange && t.onChange({ value: a.value, syntheticEvent: null, target: l }), { content: [{ type: "text", text: `Value set to "${String(a.value)}".` }] };
30
+ case c.Clear:
31
+ return t.onChange && t.onChange({ value: "", syntheticEvent: null, target: l }), { content: [{ type: "text", text: "Masked input cleared." }] };
32
+ default:
33
+ return { content: [{ type: "text", text: `Unknown command: ${e}` }], isError: !0 };
34
+ }
35
+ };
36
+ for (const e of h) {
37
+ if (!e.enabled)
38
+ continue;
39
+ const a = C(e.commandType), t = e.commandType;
40
+ try {
41
+ m.push(
42
+ d.registerTool({
43
+ name: p(e.name),
44
+ description: e.description,
45
+ inputSchema: a,
46
+ execute: async (k) => y(t, k || {})
47
+ })
48
+ );
49
+ } catch {
50
+ }
51
+ }
52
+ return m;
53
+ }
54
+ };
55
+ export {
56
+ T as maskedTextBoxAdapter
57
+ };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ToolAdapter } from '../types';
9
+ interface MenuAdapterProps {
10
+ items?: Record<string, unknown>[];
11
+ onSelect?: (event: Record<string, unknown>) => void;
12
+ webMcp?: unknown;
13
+ }
14
+ /** @hidden */
15
+ export declare const menuAdapter: ToolAdapter<unknown, MenuAdapterProps>;
16
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../commands/menu.js"),S={componentSuffix:"menu",createTools(l,r,m,p){const i=[],d=t=>`${m.groupName}_${t}`,y=r.current,u=[{name:"select_item",description:`Select an item from the ${m.dataName} menu`,commandType:s.MenuCommands.SelectItem,enabled:!!y.onSelect}],n=r.current.webMcp,a=typeof n=="object"&&n!==null&&typeof n.tools=="function"?n.tools:void 0,x=a?a(u):u,f=async(t,e)=>{const o=r.current;if(t===s.MenuCommands.SelectItem){if(!e.text||typeof e.text!="string")return{content:[{type:"text",text:"Missing required argument: text"}],isError:!0};const c=e.text;return o.onSelect&&o.onSelect({item:{text:c},syntheticEvent:null,target:l}),{content:[{type:"text",text:`Selected "${c}".`}]}}return{content:[{type:"text",text:`Unknown command: ${t}`}],isError:!0}};for(const t of x){if(!t.enabled)continue;const e=s.getMenuToolSchema(t.commandType),o=t.commandType;try{i.push(p.registerTool({name:d(t.name),description:t.description,inputSchema:e,execute:async c=>f(o,c||{})}))}catch{}}return i}};exports.menuAdapter=S;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { MenuCommands as l, getMenuToolSchema as S } from "../commands/menu.mjs";
9
+ const b = {
10
+ componentSuffix: "menu",
11
+ createTools(u, r, s, p) {
12
+ const m = [], d = (t) => `${s.groupName}_${t}`, x = r.current, i = [
13
+ {
14
+ name: "select_item",
15
+ description: `Select an item from the ${s.dataName} menu`,
16
+ commandType: l.SelectItem,
17
+ enabled: !!x.onSelect
18
+ }
19
+ ], n = r.current.webMcp, a = typeof n == "object" && n !== null && typeof n.tools == "function" ? n.tools : void 0, f = a ? a(i) : i, y = async (t, e) => {
20
+ const o = r.current;
21
+ if (t === l.SelectItem) {
22
+ if (!e.text || typeof e.text != "string")
23
+ return { content: [{ type: "text", text: "Missing required argument: text" }], isError: !0 };
24
+ const c = e.text;
25
+ return o.onSelect && o.onSelect({ item: { text: c }, syntheticEvent: null, target: u }), { content: [{ type: "text", text: `Selected "${c}".` }] };
26
+ }
27
+ return { content: [{ type: "text", text: `Unknown command: ${t}` }], isError: !0 };
28
+ };
29
+ for (const t of f) {
30
+ if (!t.enabled)
31
+ continue;
32
+ const e = S(t.commandType), o = t.commandType;
33
+ try {
34
+ m.push(
35
+ p.registerTool({
36
+ name: d(t.name),
37
+ description: t.description,
38
+ inputSchema: e,
39
+ execute: async (c) => y(o, c || {})
40
+ })
41
+ );
42
+ } catch {
43
+ }
44
+ }
45
+ return m;
46
+ }
47
+ };
48
+ export {
49
+ b as menuAdapter
50
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ToolAdapter } from '../types';
9
+ interface MultiSelectAdapterProps {
10
+ value?: unknown[];
11
+ data?: unknown[];
12
+ textField?: string;
13
+ dataItemKey?: string;
14
+ onChange?: (event: Record<string, unknown>) => void;
15
+ webMcp?: unknown;
16
+ }
17
+ /** @hidden */
18
+ export declare const multiSelectAdapter: ToolAdapter<unknown, MultiSelectAdapterProps>;
19
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../commands/multiselect.js");function v(c){return typeof c=="object"&&c!==null}const T={componentSuffix:"multiselect",createTools(c,f,s,h){const y=[],S=t=>`${s.groupName}_${t}`;if(!f.current.onChange)return y;const C=[{name:"add",description:`Add an item to the ${s.dataName} multi-select`,commandType:o.MultiSelectCommands.AddValue,enabled:!0},{name:"remove",description:`Remove an item from the ${s.dataName} multi-select`,commandType:o.MultiSelectCommands.RemoveValue,enabled:!0},{name:"clear",description:`Clear all selections from the ${s.dataName} multi-select`,commandType:o.MultiSelectCommands.Clear,enabled:!0}],u=f.current.webMcp,g=typeof u=="object"&&u!==null&&typeof u.tools=="function"?u.tools:void 0,x=g?g(C):C,b=async(t,m)=>{const e=f.current;switch(t){case o.MultiSelectCommands.AddValue:{const n=e.textField,i=e.dataItemKey,l=e.data||[],a=m.value,d=l.find(p=>v(p)&&(n&&p[n]===a||i&&p[i]===a)?!0:p===a),r=d===void 0?a:d,M=e.value||[];return e.onChange&&e.onChange({value:[...M,r],syntheticEvent:null,target:c}),{content:[{type:"text",text:`Added "${String(a)}".`}]}}case o.MultiSelectCommands.RemoveValue:{const n=e.textField,i=e.dataItemKey,l=m.value,d=(e.value||[]).filter(r=>v(r)&&(n&&r[n]===l||i&&r[i]===l)?!1:r!==l);return e.onChange&&e.onChange({value:d,syntheticEvent:null,target:c}),{content:[{type:"text",text:`Removed "${String(l)}".`}]}}case o.MultiSelectCommands.Clear:return e.onChange&&e.onChange({value:[],syntheticEvent:null,target:c}),{content:[{type:"text",text:"All selections cleared."}]};default:return{content:[{type:"text",text:`Unknown command: ${t}`}],isError:!0}}};for(const t of x){if(!t.enabled)continue;const m=o.getMultiSelectToolSchema(t.commandType),e=t.commandType;try{y.push(h.registerTool({name:S(t.name),description:t.description,inputSchema:m,execute:async n=>b(e,n||{})}))}catch{}}return y}};exports.multiSelectAdapter=T;
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { MultiSelectCommands as l, getMultiSelectToolSchema as $ } from "../commands/multiselect.mjs";
9
+ function x(o) {
10
+ return typeof o == "object" && o !== null;
11
+ }
12
+ const k = {
13
+ componentSuffix: "multiselect",
14
+ createTools(o, f, s, g) {
15
+ const y = [], C = (t) => `${s.groupName}_${t}`;
16
+ if (!f.current.onChange)
17
+ return y;
18
+ const h = [
19
+ {
20
+ name: "add",
21
+ description: `Add an item to the ${s.dataName} multi-select`,
22
+ commandType: l.AddValue,
23
+ enabled: !0
24
+ },
25
+ {
26
+ name: "remove",
27
+ description: `Remove an item from the ${s.dataName} multi-select`,
28
+ commandType: l.RemoveValue,
29
+ enabled: !0
30
+ },
31
+ {
32
+ name: "clear",
33
+ description: `Clear all selections from the ${s.dataName} multi-select`,
34
+ commandType: l.Clear,
35
+ enabled: !0
36
+ }
37
+ ], u = f.current.webMcp, v = typeof u == "object" && u !== null && typeof u.tools == "function" ? u.tools : void 0, b = v ? v(h) : h, T = async (t, m) => {
38
+ const e = f.current;
39
+ switch (t) {
40
+ case l.AddValue: {
41
+ const n = e.textField, i = e.dataItemKey, r = e.data || [], c = m.value, d = r.find((p) => x(p) && (n && p[n] === c || i && p[i] === c) ? !0 : p === c), a = d === void 0 ? c : d, S = e.value || [];
42
+ return e.onChange && e.onChange({ value: [...S, a], syntheticEvent: null, target: o }), { content: [{ type: "text", text: `Added "${String(c)}".` }] };
43
+ }
44
+ case l.RemoveValue: {
45
+ const n = e.textField, i = e.dataItemKey, r = m.value, d = (e.value || []).filter((a) => x(a) && (n && a[n] === r || i && a[i] === r) ? !1 : a !== r);
46
+ return e.onChange && e.onChange({ value: d, syntheticEvent: null, target: o }), { content: [{ type: "text", text: `Removed "${String(r)}".` }] };
47
+ }
48
+ case l.Clear:
49
+ return e.onChange && e.onChange({ value: [], syntheticEvent: null, target: o }), { content: [{ type: "text", text: "All selections cleared." }] };
50
+ default:
51
+ return { content: [{ type: "text", text: `Unknown command: ${t}` }], isError: !0 };
52
+ }
53
+ };
54
+ for (const t of b) {
55
+ if (!t.enabled)
56
+ continue;
57
+ const m = $(t.commandType), e = t.commandType;
58
+ try {
59
+ y.push(
60
+ g.registerTool({
61
+ name: C(t.name),
62
+ description: t.description,
63
+ inputSchema: m,
64
+ execute: async (n) => T(e, n || {})
65
+ })
66
+ );
67
+ } catch {
68
+ }
69
+ }
70
+ return y;
71
+ }
72
+ };
73
+ export {
74
+ k as multiSelectAdapter
75
+ };