@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,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 { TextAreaCommands as o, getTextAreaToolSchema as C } from "../commands/textarea.mjs";
9
+ const T = {
10
+ componentSuffix: "textarea",
11
+ createTools(s, a, c, p) {
12
+ const l = [], d = (e) => `${c.groupName}_${e}`, u = a.current, i = [
13
+ {
14
+ name: "set_value",
15
+ description: `Set text in the ${c.dataName} text area.`,
16
+ commandType: o.SetValue,
17
+ enabled: !!u.onChange
18
+ },
19
+ {
20
+ name: "clear",
21
+ description: `Clear the ${c.dataName} text area.`,
22
+ commandType: o.Clear,
23
+ enabled: !!u.onChange
24
+ }
25
+ ], n = a.current.webMcp, m = typeof n == "object" && n !== null && typeof n.tools == "function" ? n.tools : void 0, x = m ? m(i) : i, h = async (e, r) => {
26
+ const t = a.current;
27
+ switch (e) {
28
+ case o.SetValue:
29
+ return t.onChange && t.onChange({ value: r.value, syntheticEvent: null, target: s }), { content: [{ type: "text", text: "Value set." }] };
30
+ case o.Clear:
31
+ return t.onChange && t.onChange({ value: "", syntheticEvent: null, target: s }), { content: [{ type: "text", text: "Text area cleared." }] };
32
+ default:
33
+ return { content: [{ type: "text", text: `Unknown command: ${e}` }], isError: !0 };
34
+ }
35
+ };
36
+ for (const e of x) {
37
+ if (!e.enabled)
38
+ continue;
39
+ const r = C(e.commandType), t = e.commandType;
40
+ try {
41
+ l.push(
42
+ p.registerTool({
43
+ name: d(e.name),
44
+ description: e.description,
45
+ inputSchema: r,
46
+ execute: async (y) => h(t, y || {})
47
+ })
48
+ );
49
+ } catch {
50
+ }
51
+ }
52
+ return l;
53
+ }
54
+ };
55
+ export {
56
+ T as textAreaAdapter
57
+ };
@@ -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 TextBoxHandle {
10
+ element?: HTMLElement | null;
11
+ }
12
+ interface TextBoxAdapterProps {
13
+ onChange?: (event: Record<string, unknown>) => void;
14
+ textBoxHandle?: React.RefObject<TextBoxHandle | null>;
15
+ webMcp?: unknown;
16
+ }
17
+ /** @hidden */
18
+ export declare const textBoxAdapter: ToolAdapter<TextBoxHandle, TextBoxAdapterProps>;
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 n=require("../commands/textbox.js"),y={componentSuffix:"textbox",createTools(s,l,r,m){const u=[],d=e=>`${r.groupName}_${e}`,t=l.current,x=[{name:"set_value",description:`Set the value of the ${r.dataName} text box.`,commandType:n.TextBoxCommands.SetValue,enabled:!!t.onChange},{name:"clear",description:`Clear the value of the ${r.dataName} text box.`,commandType:n.TextBoxCommands.Clear,enabled:!!t.onChange}],a=l.current.webMcp,i=typeof a=="object"&&a!==null&&typeof a.tools=="function"?a.tools:void 0,p=i?i(x):x,C=async(e,c)=>{switch(e){case n.TextBoxCommands.SetValue:{const o=c.value;return o==null?{content:[{type:"text",text:"Missing required argument: value"}],isError:!0}:(t.onChange&&t.onChange({value:o,target:s}),{content:[{type:"text",text:`Value set to "${o}".`}]})}case n.TextBoxCommands.Clear:return t.onChange&&t.onChange({value:"",target:s}),{content:[{type:"text",text:"Value cleared."}]};default:return{content:[{type:"text",text:`Unknown command: ${e}`}],isError:!0}}};for(const e of p){if(!e.enabled)continue;const c=n.getTextBoxToolSchema(e.commandType),o=e.commandType;try{u.push(m.registerTool({name:d(e.name),description:e.description,inputSchema:c,execute:async g=>C(o,g||{})}))}catch{}}return u}};exports.textBoxAdapter=y;
@@ -0,0 +1,61 @@
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 { TextBoxCommands as a, getTextBoxToolSchema as g } from "../commands/textbox.mjs";
9
+ const C = {
10
+ componentSuffix: "textbox",
11
+ createTools(s, l, r, p) {
12
+ const u = [], x = (e) => `${r.groupName}_${e}`, t = l.current, i = [
13
+ {
14
+ name: "set_value",
15
+ description: `Set the value of the ${r.dataName} text box.`,
16
+ commandType: a.SetValue,
17
+ enabled: !!t.onChange
18
+ },
19
+ {
20
+ name: "clear",
21
+ description: `Clear the value of the ${r.dataName} text box.`,
22
+ commandType: a.Clear,
23
+ enabled: !!t.onChange
24
+ }
25
+ ], n = l.current.webMcp, m = typeof n == "object" && n !== null && typeof n.tools == "function" ? n.tools : void 0, d = m ? m(i) : i, f = async (e, c) => {
26
+ switch (e) {
27
+ case a.SetValue: {
28
+ const o = c.value;
29
+ return o == null ? {
30
+ content: [{ type: "text", text: "Missing required argument: value" }],
31
+ isError: !0
32
+ } : (t.onChange && t.onChange({ value: o, target: s }), { content: [{ type: "text", text: `Value set to "${o}".` }] });
33
+ }
34
+ case a.Clear:
35
+ return t.onChange && t.onChange({ value: "", target: s }), { content: [{ type: "text", text: "Value cleared." }] };
36
+ default:
37
+ return { content: [{ type: "text", text: `Unknown command: ${e}` }], isError: !0 };
38
+ }
39
+ };
40
+ for (const e of d) {
41
+ if (!e.enabled)
42
+ continue;
43
+ const c = g(e.commandType), o = e.commandType;
44
+ try {
45
+ u.push(
46
+ p.registerTool({
47
+ name: x(e.name),
48
+ description: e.description,
49
+ inputSchema: c,
50
+ execute: async (h) => f(o, h || {})
51
+ })
52
+ );
53
+ } catch {
54
+ }
55
+ }
56
+ return u;
57
+ }
58
+ };
59
+ export {
60
+ C as textBoxAdapter
61
+ };
@@ -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 TimePickerAdapterProps {
10
+ value?: Date | null;
11
+ onChange?: (event: Record<string, unknown>) => void;
12
+ webMcp?: unknown;
13
+ }
14
+ /** @hidden */
15
+ export declare const timePickerAdapter: ToolAdapter<unknown, TimePickerAdapterProps>;
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 o=require("../commands/timepicker.js"),g={componentSuffix:"timepicker",createTools(m,a,r,p){const s=[],T=e=>`${r.groupName}_${e}`,l=a.current,u=[{name:"set_value",description:`Set the time in the ${r.dataName} time picker. Use HH:mm or ISO format.`,commandType:o.TimePickerCommands.SetValue,enabled:!!l.onChange},{name:"clear",description:`Clear the ${r.dataName} time picker.`,commandType:o.TimePickerCommands.Clear,enabled:!!l.onChange}],c=a.current.webMcp,d=typeof c=="object"&&c!==null&&typeof c.tools=="function"?c.tools:void 0,y=d?d(u):u,C=async(e,i)=>{const t=a.current;switch(e){case o.TimePickerCommands.SetValue:{const n=i.value,h=new Date(n.includes("T")?n:"1970-01-01T"+n);return t.onChange&&t.onChange({value:h,syntheticEvent:null,target:m}),{content:[{type:"text",text:`Time set to ${n}.`}]}}case o.TimePickerCommands.Clear:return t.onChange&&t.onChange({value:null,syntheticEvent:null,target:m}),{content:[{type:"text",text:"Time cleared."}]};default:return{content:[{type:"text",text:`Unknown command: ${e}`}],isError:!0}}};for(const e of y){if(!e.enabled)continue;const i=o.getTimePickerToolSchema(e.commandType),t=e.commandType;try{s.push(p.registerTool({name:T(e.name),description:e.description,inputSchema:i,execute:async n=>C(t,n||{})}))}catch{}}return s}};exports.timePickerAdapter=g;
@@ -0,0 +1,59 @@
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 { TimePickerCommands as a, getTimePickerToolSchema as f } from "../commands/timepicker.mjs";
9
+ const x = {
10
+ componentSuffix: "timepicker",
11
+ createTools(s, c, r, d) {
12
+ const m = [], h = (e) => `${r.groupName}_${e}`, l = c.current, u = [
13
+ {
14
+ name: "set_value",
15
+ description: `Set the time in the ${r.dataName} time picker. Use HH:mm or ISO format.`,
16
+ commandType: a.SetValue,
17
+ enabled: !!l.onChange
18
+ },
19
+ {
20
+ name: "clear",
21
+ description: `Clear the ${r.dataName} time picker.`,
22
+ commandType: a.Clear,
23
+ enabled: !!l.onChange
24
+ }
25
+ ], o = c.current.webMcp, p = typeof o == "object" && o !== null && typeof o.tools == "function" ? o.tools : void 0, y = p ? p(u) : u, T = async (e, i) => {
26
+ const t = c.current;
27
+ switch (e) {
28
+ case a.SetValue: {
29
+ const n = i.value, C = new Date(n.includes("T") ? n : "1970-01-01T" + n);
30
+ return t.onChange && t.onChange({ value: C, syntheticEvent: null, target: s }), { content: [{ type: "text", text: `Time set to ${n}.` }] };
31
+ }
32
+ case a.Clear:
33
+ return t.onChange && t.onChange({ value: null, syntheticEvent: null, target: s }), { content: [{ type: "text", text: "Time cleared." }] };
34
+ default:
35
+ return { content: [{ type: "text", text: `Unknown command: ${e}` }], isError: !0 };
36
+ }
37
+ };
38
+ for (const e of y) {
39
+ if (!e.enabled)
40
+ continue;
41
+ const i = f(e.commandType), t = e.commandType;
42
+ try {
43
+ m.push(
44
+ d.registerTool({
45
+ name: h(e.name),
46
+ description: e.description,
47
+ inputSchema: i,
48
+ execute: async (n) => T(t, n || {})
49
+ })
50
+ );
51
+ } catch {
52
+ }
53
+ }
54
+ return m;
55
+ }
56
+ };
57
+ export {
58
+ x as timePickerAdapter
59
+ };
@@ -0,0 +1,81 @@
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
+ /**
10
+ * TreeList tool adapter for the Web MCP Provider.
11
+ *
12
+ * Reads TreeList props (sortable, filterable, pageable, expandField, etc.)
13
+ * and TreeListHandle to register data manipulation, column operation, and expand/collapse tools.
14
+ *
15
+ * Imports the shared schema generators from `@progress/kendo-react-common` for rich
16
+ * input schemas with column field enums for better AI agent guidance.
17
+ *
18
+ * Delegates all mutations to public TreeList callbacks (onSortChange, onFilterChange, etc.)
19
+ * following the React controlled-component pattern.
20
+ */
21
+ import * as React from 'react';
22
+ interface TreeListColumnState {
23
+ field?: string;
24
+ id?: string;
25
+ width?: number;
26
+ hidden?: boolean;
27
+ locked?: boolean;
28
+ orderIndex?: number;
29
+ [key: string]: unknown;
30
+ }
31
+ interface TreeListAdapterHandle {
32
+ columns?: Array<{
33
+ field?: string;
34
+ id?: string;
35
+ }>;
36
+ element?: HTMLDivElement | null;
37
+ props?: Record<string, unknown>;
38
+ }
39
+ interface TreeListAdapterProps {
40
+ data?: unknown[];
41
+ children?: React.ReactNode;
42
+ columns?: Array<{
43
+ field?: string;
44
+ id?: string;
45
+ width?: number;
46
+ [key: string]: unknown;
47
+ }>;
48
+ sortable?: boolean | Record<string, unknown>;
49
+ filterable?: boolean | Record<string, unknown>;
50
+ pageable?: boolean | Record<string, unknown>;
51
+ reorderable?: boolean;
52
+ resizable?: boolean;
53
+ sort?: Array<{
54
+ field: string;
55
+ dir?: string;
56
+ }>;
57
+ filter?: unknown[] | {
58
+ logic: string;
59
+ filters: unknown[];
60
+ };
61
+ skip?: number;
62
+ take?: number;
63
+ expandField?: string;
64
+ subItemsField?: string;
65
+ selectedField?: string;
66
+ dataItemKey?: string;
67
+ onSortChange?: (event: Record<string, unknown>) => void;
68
+ onFilterChange?: (event: Record<string, unknown>) => void;
69
+ onPageChange?: (event: Record<string, unknown>) => void;
70
+ onExpandChange?: (event: Record<string, unknown>) => void;
71
+ onSelectionChange?: (event: Record<string, unknown>) => void;
72
+ onDataStateChange?: (event: Record<string, unknown>) => void;
73
+ columnsState?: TreeListColumnState[];
74
+ onColumnsStateChange?: (event: Record<string, unknown>) => void;
75
+ onColumnResize?: (event: Record<string, unknown>) => void;
76
+ onColumnReorder?: (event: Record<string, unknown>) => void;
77
+ webMcp?: unknown;
78
+ }
79
+ /** @hidden */
80
+ export declare const treeListAdapter: ToolAdapter<TreeListAdapterHandle, TreeListAdapterProps>;
81
+ 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 P=require("react"),a=require("../commands/treelist.js");function M(n){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(r,e,t.get?t:{enumerable:!0,get:()=>n[e]})}}return r.default=n,Object.freeze(r)}const E=M(P);function f(n,r,e,t,i){const s=n.current;if(r)r({...e,target:i});else if(s.onDataStateChange){const o={filter:s.filter,sort:s.sort,skip:s.skip,take:s.take};s.onDataStateChange({dataState:{...o,...t},target:i})}}function O(n){const r=[];if(Array.isArray(n.columns))for(const e of n.columns)e.field&&r.push({field:e.field,id:e.id||e.field});return r.length===0&&n.children&&E.Children.forEach(n.children,e=>{if(E.isValidElement(e)&&e.props.field){const t=e.props;r.push({field:t.field,id:t.id||t.field})}}),r}function j(n){return typeof n=="object"&&n!==null}function v(n,r){const e=[],t=i=>{for(const s of i){if(!j(s))continue;e.push(s);const o=s[r];Array.isArray(o)&&o.length>0&&t(o)}};return t(n),e}function q(n,r,e){if(!n.field)return{content:[{type:"text",text:"Missing required argument: field"}],isError:!0};const t=n.field,i=n.dir||"asc",s=[{field:t,dir:i}];return f(r,r.current.onSortChange,{sort:s},{sort:s},e),{content:[{type:"text",text:`Sorted by ${t} ${i}.`}]}}function D(n,r,e){var m,u;if(!n.field||!n.operator)return{content:[{type:"text",text:"Missing required arguments: field, operator"}],isError:!0};const t=n.field,i=n.operator,s=n.value,o=r.current,c=[...Array.isArray(o.filter)?o.filter:(u=(m=o.filter)==null?void 0:m.filters)!=null?u:[],{field:t,operator:i,value:s}];return f(r,o.onFilterChange,{filter:c},{filter:c,skip:0},e),{content:[{type:"text",text:`Filter applied: ${t} ${i} "${s}".`}]}}function U(n,r,e){var o;const t=Number(n.page);if(!t||t<1)return{content:[{type:"text",text:"Invalid page number."}],isError:!0};const i=(o=r.current.take)!=null?o:10,s=(t-1)*i;return f(r,r.current.onPageChange,{page:{skip:s,take:i}},{skip:s,take:i},e),{content:[{type:"text",text:`Navigated to page ${t}.`}]}}function H(n,r,e){const t=Number(n.pageSize);return!t||t<1?{content:[{type:"text",text:"Invalid page size."}],isError:!0}:(f(r,r.current.onPageChange,{page:{skip:0,take:t}},{skip:0,take:t},e),{content:[{type:"text",text:`Page size set to ${t}.`}]})}function R(n,r,e,t){const i=e.current;switch(n){case a.TreeListCommands.Sort:return q(r,e,t);case a.TreeListCommands.ClearSort:return f(e,i.onSortChange,{sort:[]},{sort:[]},t),{content:[{type:"text",text:"Sorting cleared."}]};case a.TreeListCommands.Filter:return D(r,e,t);case a.TreeListCommands.ClearFilter:{const s=[];return f(e,i.onFilterChange,{filter:s},{filter:s,skip:0},t),{content:[{type:"text",text:"All filters cleared."}]}}case a.TreeListCommands.Page:return U(r,e,t);case a.TreeListCommands.PageSize:return H(r,e,t);default:return null}}function V(n,r,e){if(!n.field||!n.operator)return{content:[{type:"text",text:"Missing required arguments: field, operator"}],isError:!0};const t=n.field,i=n.operator;return r.current.onSelectionChange&&r.current.onSelectionChange({criteria:[{logic:"and",filters:[{field:t,operator:i,value:n.value}],cells:{}}],target:e}),{content:[{type:"text",text:`Selected rows where ${t} ${i} "${JSON.stringify(n.value)}".`}]}}function b(n,r){return n.id===r||n.field===r}function h(n,r,e){return n.map(t=>b(t,r)?e(t):t)}function W(n,r,e,t,i,s,o){var c;const l=Number(r.position);if(Number.isNaN(l))return{content:[{type:"text",text:"Missing required argument: position"}],isError:!0};if(o){const m=i.findIndex(d=>b(d,n)),u=s[m];if(u){const d=[...s];d.splice(m,1),d.splice(l,0,u),(c=e.onColumnsStateChange)==null||c.call(e,{columnsState:d.map((p,x)=>({...p,orderIndex:x})),target:t})}}else if(e.onColumnReorder){const m=i.findIndex(u=>b(u,n));e.onColumnReorder({oldIndex:m,newIndex:l,target:t})}else return{content:[{type:"text",text:"Column reorder not supported."}],isError:!0};return{content:[{type:"text",text:`Column ${n} moved to position ${l}.`}]}}function B(n,r,e,t,i,s,o){var c;const l=Number.parseInt(r.size,10);if(Number.isNaN(l))return{content:[{type:"text",text:"Missing required argument: size"}],isError:!0};if(o)(c=e.onColumnsStateChange)==null||c.call(e,{columnsState:h(s,n,m=>({...m,width:l})),target:t});else if(e.onColumnResize){const m=i.findIndex(p=>b(p,n)),u=(e.columns||[])[m],d=u&&u.width||0;e.onColumnResize({index:m,newWidth:l,oldWidth:d,end:!0,target:t})}else return{content:[{type:"text",text:"Column resize not supported."}],isError:!0};return{content:[{type:"text",text:`Column ${n} resized to ${l}px.`}]}}function w(n,r,e,t,i,s){var l;return s?((l=e.onColumnsStateChange)==null||l.call(e,{columnsState:h(i,n,c=>({...c,hidden:r})),target:t}),{content:[{type:"text",text:`Column ${n} is now ${r?"hidden":"visible"}.`}]}):{content:[{type:"text",text:"Column state changes not supported."}],isError:!0}}function N(n,r,e,t,i,s){var l;return s?((l=e.onColumnsStateChange)==null||l.call(e,{columnsState:h(i,n,c=>({...c,locked:r})),target:t}),{content:[{type:"text",text:`Column ${n} ${r?"locked":"unlocked"}.`}]}):{content:[{type:"text",text:"Column state changes not supported."}],isError:!0}}function J(n,r,e,t,i){const s=r.id;if(!s)return{content:[{type:"text",text:"Missing required argument: id"}],isError:!0};const o=e.current,l=!!o.onColumnsStateChange&&!!t,c=l?o.columnsState||(t==null?void 0:t.columns)||[]:[];switch(n){case a.TreeListCommands.ColumnReorder:return W(s,r,o,t,i,c,l);case a.TreeListCommands.ColumnResize:return B(s,r,o,t,i,c,l);case a.TreeListCommands.ColumnShow:return w(s,!1,o,t,c,l);case a.TreeListCommands.ColumnHide:return w(s,!0,o,t,c,l);case a.TreeListCommands.ColumnLock:return N(s,!0,o,t,c,l);case a.TreeListCommands.ColumnUnlock:return N(s,!1,o,t,c,l);default:return null}}function k(n,r,e,t){const i=e.current,s=i.subItemsField||"items",o=v(i.data||[],s);let l;if(r.field){const c=r.field,m=r.value;l=o.find(u=>String(u[c])===String(m))}else r.id!==void 0&&(l=o.find(c=>String(c.id)===String(r.id)));return l?(i.onExpandChange&&i.onExpandChange({dataItem:l,value:n,level:[],target:t}),{content:[{type:"text",text:n?"Row expanded.":"Row collapsed."}]}):{content:[{type:"text",text:"Item not found."}],isError:!0}}function z(n,r,e){const t=r.current,i=t.subItemsField||"items",o=v(t.data||[],i).filter(c=>{const m=c[i];return Array.isArray(m)&&m.length>0});if(t.onExpandChange)for(const c of o)t.onExpandChange({dataItem:c,value:n,level:[],target:e});return{content:[{type:"text",text:`${n?"Expanded":"Collapsed"} ${o.length} parent row(s).`}]}}function G(n,r,e,t){switch(n){case a.TreeListCommands.Expand:return k(!0,r,e,t);case a.TreeListCommands.Collapse:return k(!1,r,e,t);case a.TreeListCommands.ExpandAll:return z(!0,e,t);case a.TreeListCommands.CollapseAll:return z(!1,e,t);default:return null}}function K(n,r,e,t,i){switch(n){case a.TreeListCommands.Select:return V(r,e,t);case a.TreeListCommands.ClearSelect:return e.current.onSelectionChange&&e.current.onSelectionChange({criteria:[],target:t}),{content:[{type:"text",text:"Selection cleared."}]};case a.TreeListCommands.ColumnReorder:case a.TreeListCommands.ColumnResize:case a.TreeListCommands.ColumnShow:case a.TreeListCommands.ColumnHide:case a.TreeListCommands.ColumnLock:case a.TreeListCommands.ColumnUnlock:return J(n,r,e,t,i);case a.TreeListCommands.Expand:case a.TreeListCommands.Collapse:case a.TreeListCommands.ExpandAll:case a.TreeListCommands.CollapseAll:return G(n,r,e,t);default:return null}}const Q={componentSuffix:"treelist",createTools(n,r,e,t){const i=[],s=C=>`${e.groupName}_${C}`,o=r.current,l=O(o),c=!!o.onSelectionChange,m=!!o.reorderable,u=!!o.resizable,d=!!o.onColumnsStateChange,p=!!o.onExpandChange,x=o.pageable,I=typeof x=="object"&&x!==null&&Array.isArray(x.pageSizes)?x.pageSizes:[],L=[{name:"sort",description:`Sort the ${e.dataName} tree list by a column`,commandType:a.TreeListCommands.Sort,enabled:!!o.sortable},{name:"clear_sort",description:`Remove all sorting from the ${e.dataName} tree list`,commandType:a.TreeListCommands.ClearSort,enabled:!!o.sortable},{name:"filter",description:`Filter the ${e.dataName} tree list on a column`,commandType:a.TreeListCommands.Filter,enabled:!!o.filterable},{name:"clear_filters",description:`Remove all filters from the ${e.dataName} tree list`,commandType:a.TreeListCommands.ClearFilter,enabled:!!o.filterable},{name:"page",description:`Navigate to a specific page in the ${e.dataName} tree list`,commandType:a.TreeListCommands.Page,enabled:!!o.pageable},{name:"set_page_size",description:`Change the number of items per page in the ${e.dataName} tree list`,commandType:a.TreeListCommands.PageSize,enabled:!!o.pageable},{name:"select",description:`Select rows in the ${e.dataName} tree list`,commandType:a.TreeListCommands.Select,enabled:c},{name:"clear_select",description:`Clear all row selections in the ${e.dataName} tree list`,commandType:a.TreeListCommands.ClearSelect,enabled:c},{name:"reorder_column",description:`Reorder a column in the ${e.dataName} tree list`,commandType:a.TreeListCommands.ColumnReorder,enabled:m},{name:"resize_column",description:`Resize a column in the ${e.dataName} tree list`,commandType:a.TreeListCommands.ColumnResize,enabled:u},{name:"show_column",description:`Show a hidden column in the ${e.dataName} tree list`,commandType:a.TreeListCommands.ColumnShow,enabled:d},{name:"hide_column",description:`Hide a column in the ${e.dataName} tree list`,commandType:a.TreeListCommands.ColumnHide,enabled:d},{name:"lock_column",description:`Lock a column in the ${e.dataName} tree list`,commandType:a.TreeListCommands.ColumnLock,enabled:d},{name:"unlock_column",description:`Unlock a column in the ${e.dataName} tree list`,commandType:a.TreeListCommands.ColumnUnlock,enabled:d},{name:"expand",description:`Expand a row in the ${e.dataName} tree list to show its children`,commandType:a.TreeListCommands.Expand,enabled:p},{name:"collapse",description:`Collapse a row in the ${e.dataName} tree list to hide its children`,commandType:a.TreeListCommands.Collapse,enabled:p},{name:"expand_all",description:`Expand all rows in the ${e.dataName} tree list`,commandType:a.TreeListCommands.ExpandAll,enabled:p},{name:"collapse_all",description:`Collapse all rows in the ${e.dataName} tree list`,commandType:a.TreeListCommands.CollapseAll,enabled:p}],y=r.current.webMcp,$=typeof y=="object"&&y!==null&&typeof y.tools=="function"?y.tools:void 0,A={tname:s,columns:l,data:o.data},F=$?$(L,A):L,_=async(C,S)=>{const T=R(C,S,r,n);if(T)return T;const g=K(C,S,r,n,l);return g||{content:[{type:"text",text:`Unknown command: ${C}`}],isError:!0}};for(const C of F){if(!C.enabled)continue;const S=a.getTreeListToolSchema(C.commandType,l,I),T=C.commandType;try{i.push(t.registerTool({name:s(C.name),description:C.description,inputSchema:S,execute:async g=>_(T,g||{})}))}catch{}}return i}};exports.treeListAdapter=Q;