@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,403 @@
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 * as N from "react";
9
+ import { TreeListCommands as a, getTreeListToolSchema as L } from "../commands/treelist.mjs";
10
+ function f(n, r, e, t, l) {
11
+ const i = n.current;
12
+ if (r)
13
+ r({ ...e, target: l });
14
+ else if (i.onDataStateChange) {
15
+ const o = {
16
+ filter: i.filter,
17
+ sort: i.sort,
18
+ skip: i.skip,
19
+ take: i.take
20
+ };
21
+ i.onDataStateChange({
22
+ dataState: { ...o, ...t },
23
+ target: l
24
+ });
25
+ }
26
+ }
27
+ function M(n) {
28
+ const r = [];
29
+ if (Array.isArray(n.columns))
30
+ for (const e of n.columns)
31
+ e.field && r.push({ field: e.field, id: e.id || e.field });
32
+ return r.length === 0 && n.children && N.Children.forEach(n.children, (e) => {
33
+ if (N.isValidElement(e) && e.props.field) {
34
+ const t = e.props;
35
+ r.push({ field: t.field, id: t.id || t.field });
36
+ }
37
+ }), r;
38
+ }
39
+ function q(n) {
40
+ return typeof n == "object" && n !== null;
41
+ }
42
+ function I(n, r) {
43
+ const e = [], t = (l) => {
44
+ for (const i of l) {
45
+ if (!q(i))
46
+ continue;
47
+ e.push(i);
48
+ const o = i[r];
49
+ Array.isArray(o) && o.length > 0 && t(o);
50
+ }
51
+ };
52
+ return t(n), e;
53
+ }
54
+ function U(n, r, e) {
55
+ if (!n.field)
56
+ return { content: [{ type: "text", text: "Missing required argument: field" }], isError: !0 };
57
+ const t = n.field, l = n.dir || "asc", i = [{ field: t, dir: l }];
58
+ return f(r, r.current.onSortChange, { sort: i }, { sort: i }, e), { content: [{ type: "text", text: `Sorted by ${t} ${l}.` }] };
59
+ }
60
+ function j(n, r, e) {
61
+ var u, m;
62
+ if (!n.field || !n.operator)
63
+ return { content: [{ type: "text", text: "Missing required arguments: field, operator" }], isError: !0 };
64
+ const t = n.field, l = n.operator, i = n.value, o = r.current, s = [...Array.isArray(o.filter) ? o.filter : (m = (u = o.filter) == null ? void 0 : u.filters) != null ? m : [], { field: t, operator: l, value: i }];
65
+ return f(r, o.onFilterChange, { filter: s }, { filter: s, skip: 0 }, e), { content: [{ type: "text", text: `Filter applied: ${t} ${l} "${i}".` }] };
66
+ }
67
+ function D(n, r, e) {
68
+ var o;
69
+ const t = Number(n.page);
70
+ if (!t || t < 1)
71
+ return { content: [{ type: "text", text: "Invalid page number." }], isError: !0 };
72
+ const l = (o = r.current.take) != null ? o : 10, i = (t - 1) * l;
73
+ return f(r, r.current.onPageChange, { page: { skip: i, take: l } }, { skip: i, take: l }, e), { content: [{ type: "text", text: `Navigated to page ${t}.` }] };
74
+ }
75
+ function H(n, r, e) {
76
+ const t = Number(n.pageSize);
77
+ return !t || t < 1 ? { content: [{ type: "text", text: "Invalid page size." }], isError: !0 } : (f(
78
+ r,
79
+ r.current.onPageChange,
80
+ { page: { skip: 0, take: t } },
81
+ { skip: 0, take: t },
82
+ e
83
+ ), { content: [{ type: "text", text: `Page size set to ${t}.` }] });
84
+ }
85
+ function O(n, r, e, t) {
86
+ const l = e.current;
87
+ switch (n) {
88
+ case a.Sort:
89
+ return U(r, e, t);
90
+ case a.ClearSort:
91
+ return f(e, l.onSortChange, { sort: [] }, { sort: [] }, t), { content: [{ type: "text", text: "Sorting cleared." }] };
92
+ case a.Filter:
93
+ return j(r, e, t);
94
+ case a.ClearFilter: {
95
+ const i = [];
96
+ return f(
97
+ e,
98
+ l.onFilterChange,
99
+ { filter: i },
100
+ { filter: i, skip: 0 },
101
+ t
102
+ ), { content: [{ type: "text", text: "All filters cleared." }] };
103
+ }
104
+ case a.Page:
105
+ return D(r, e, t);
106
+ case a.PageSize:
107
+ return H(r, e, t);
108
+ default:
109
+ return null;
110
+ }
111
+ }
112
+ function V(n, r, e) {
113
+ if (!n.field || !n.operator)
114
+ return { content: [{ type: "text", text: "Missing required arguments: field, operator" }], isError: !0 };
115
+ const t = n.field, l = n.operator;
116
+ return r.current.onSelectionChange && r.current.onSelectionChange({
117
+ criteria: [{ logic: "and", filters: [{ field: t, operator: l, value: n.value }], cells: {} }],
118
+ target: e
119
+ }), {
120
+ content: [{ type: "text", text: `Selected rows where ${t} ${l} "${JSON.stringify(n.value)}".` }]
121
+ };
122
+ }
123
+ function b(n, r) {
124
+ return n.id === r || n.field === r;
125
+ }
126
+ function $(n, r, e) {
127
+ return n.map(
128
+ (t) => b(t, r) ? e(t) : t
129
+ );
130
+ }
131
+ function R(n, r, e, t, l, i, o) {
132
+ var s;
133
+ const c = Number(r.position);
134
+ if (Number.isNaN(c))
135
+ return { content: [{ type: "text", text: "Missing required argument: position" }], isError: !0 };
136
+ if (o) {
137
+ const u = l.findIndex((d) => b(d, n)), m = i[u];
138
+ if (m) {
139
+ const d = [...i];
140
+ d.splice(u, 1), d.splice(c, 0, m), (s = e.onColumnsStateChange) == null || s.call(e, {
141
+ columnsState: d.map((x, C) => ({ ...x, orderIndex: C })),
142
+ target: t
143
+ });
144
+ }
145
+ } else if (e.onColumnReorder) {
146
+ const u = l.findIndex((m) => b(m, n));
147
+ e.onColumnReorder({ oldIndex: u, newIndex: c, target: t });
148
+ } else
149
+ return { content: [{ type: "text", text: "Column reorder not supported." }], isError: !0 };
150
+ return { content: [{ type: "text", text: `Column ${n} moved to position ${c}.` }] };
151
+ }
152
+ function W(n, r, e, t, l, i, o) {
153
+ var s;
154
+ const c = Number.parseInt(r.size, 10);
155
+ if (Number.isNaN(c))
156
+ return { content: [{ type: "text", text: "Missing required argument: size" }], isError: !0 };
157
+ if (o)
158
+ (s = e.onColumnsStateChange) == null || s.call(e, {
159
+ columnsState: $(i, n, (u) => ({ ...u, width: c })),
160
+ target: t
161
+ });
162
+ else if (e.onColumnResize) {
163
+ const u = l.findIndex((x) => b(x, n)), m = (e.columns || [])[u], d = m && m.width || 0;
164
+ e.onColumnResize({ index: u, newWidth: c, oldWidth: d, end: !0, target: t });
165
+ } else
166
+ return { content: [{ type: "text", text: "Column resize not supported." }], isError: !0 };
167
+ return { content: [{ type: "text", text: `Column ${n} resized to ${c}px.` }] };
168
+ }
169
+ function k(n, r, e, t, l, i) {
170
+ var c;
171
+ return i ? ((c = e.onColumnsStateChange) == null || c.call(e, {
172
+ columnsState: $(l, n, (s) => ({ ...s, hidden: r })),
173
+ target: t
174
+ }), { content: [{ type: "text", text: `Column ${n} is now ${r ? "hidden" : "visible"}.` }] }) : { content: [{ type: "text", text: "Column state changes not supported." }], isError: !0 };
175
+ }
176
+ function z(n, r, e, t, l, i) {
177
+ var c;
178
+ return i ? ((c = e.onColumnsStateChange) == null || c.call(e, {
179
+ columnsState: $(l, n, (s) => ({ ...s, locked: r })),
180
+ target: t
181
+ }), { content: [{ type: "text", text: `Column ${n} ${r ? "locked" : "unlocked"}.` }] }) : { content: [{ type: "text", text: "Column state changes not supported." }], isError: !0 };
182
+ }
183
+ function B(n, r, e, t, l) {
184
+ const i = r.id;
185
+ if (!i)
186
+ return { content: [{ type: "text", text: "Missing required argument: id" }], isError: !0 };
187
+ const o = e.current, c = !!o.onColumnsStateChange && !!t, s = c ? o.columnsState || (t == null ? void 0 : t.columns) || [] : [];
188
+ switch (n) {
189
+ case a.ColumnReorder:
190
+ return R(i, r, o, t, l, s, c);
191
+ case a.ColumnResize:
192
+ return W(i, r, o, t, l, s, c);
193
+ case a.ColumnShow:
194
+ return k(i, !1, o, t, s, c);
195
+ case a.ColumnHide:
196
+ return k(i, !0, o, t, s, c);
197
+ case a.ColumnLock:
198
+ return z(i, !0, o, t, s, c);
199
+ case a.ColumnUnlock:
200
+ return z(i, !1, o, t, s, c);
201
+ default:
202
+ return null;
203
+ }
204
+ }
205
+ function v(n, r, e, t) {
206
+ const l = e.current, i = l.subItemsField || "items", o = I(l.data || [], i);
207
+ let c;
208
+ if (r.field) {
209
+ const s = r.field, u = r.value;
210
+ c = o.find((m) => String(m[s]) === String(u));
211
+ } else r.id !== void 0 && (c = o.find((s) => String(s.id) === String(r.id)));
212
+ return c ? (l.onExpandChange && l.onExpandChange({ dataItem: c, value: n, level: [], target: t }), { content: [{ type: "text", text: n ? "Row expanded." : "Row collapsed." }] }) : {
213
+ content: [{ type: "text", text: "Item not found." }],
214
+ isError: !0
215
+ };
216
+ }
217
+ function T(n, r, e) {
218
+ const t = r.current, l = t.subItemsField || "items", o = I(t.data || [], l).filter((s) => {
219
+ const u = s[l];
220
+ return Array.isArray(u) && u.length > 0;
221
+ });
222
+ if (t.onExpandChange)
223
+ for (const s of o)
224
+ t.onExpandChange({ dataItem: s, value: n, level: [], target: e });
225
+ return { content: [{ type: "text", text: `${n ? "Expanded" : "Collapsed"} ${o.length} parent row(s).` }] };
226
+ }
227
+ function J(n, r, e, t) {
228
+ switch (n) {
229
+ case a.Expand:
230
+ return v(!0, r, e, t);
231
+ case a.Collapse:
232
+ return v(!1, r, e, t);
233
+ case a.ExpandAll:
234
+ return T(!0, e, t);
235
+ case a.CollapseAll:
236
+ return T(!1, e, t);
237
+ default:
238
+ return null;
239
+ }
240
+ }
241
+ function G(n, r, e, t, l) {
242
+ switch (n) {
243
+ case a.Select:
244
+ return V(r, e, t);
245
+ case a.ClearSelect:
246
+ return e.current.onSelectionChange && e.current.onSelectionChange({ criteria: [], target: t }), { content: [{ type: "text", text: "Selection cleared." }] };
247
+ case a.ColumnReorder:
248
+ case a.ColumnResize:
249
+ case a.ColumnShow:
250
+ case a.ColumnHide:
251
+ case a.ColumnLock:
252
+ case a.ColumnUnlock:
253
+ return B(n, r, e, t, l);
254
+ case a.Expand:
255
+ case a.Collapse:
256
+ case a.ExpandAll:
257
+ case a.CollapseAll:
258
+ return J(n, r, e, t);
259
+ default:
260
+ return null;
261
+ }
262
+ }
263
+ const Q = {
264
+ componentSuffix: "treelist",
265
+ createTools(n, r, e, t) {
266
+ const l = [], i = (p) => `${e.groupName}_${p}`, o = r.current, c = M(o), s = !!o.onSelectionChange, u = !!o.reorderable, m = !!o.resizable, d = !!o.onColumnsStateChange, x = !!o.onExpandChange, C = o.pageable, A = typeof C == "object" && C !== null && Array.isArray(C.pageSizes) ? C.pageSizes : [], E = [
267
+ {
268
+ name: "sort",
269
+ description: `Sort the ${e.dataName} tree list by a column`,
270
+ commandType: a.Sort,
271
+ enabled: !!o.sortable
272
+ },
273
+ {
274
+ name: "clear_sort",
275
+ description: `Remove all sorting from the ${e.dataName} tree list`,
276
+ commandType: a.ClearSort,
277
+ enabled: !!o.sortable
278
+ },
279
+ {
280
+ name: "filter",
281
+ description: `Filter the ${e.dataName} tree list on a column`,
282
+ commandType: a.Filter,
283
+ enabled: !!o.filterable
284
+ },
285
+ {
286
+ name: "clear_filters",
287
+ description: `Remove all filters from the ${e.dataName} tree list`,
288
+ commandType: a.ClearFilter,
289
+ enabled: !!o.filterable
290
+ },
291
+ {
292
+ name: "page",
293
+ description: `Navigate to a specific page in the ${e.dataName} tree list`,
294
+ commandType: a.Page,
295
+ enabled: !!o.pageable
296
+ },
297
+ {
298
+ name: "set_page_size",
299
+ description: `Change the number of items per page in the ${e.dataName} tree list`,
300
+ commandType: a.PageSize,
301
+ enabled: !!o.pageable
302
+ },
303
+ {
304
+ name: "select",
305
+ description: `Select rows in the ${e.dataName} tree list`,
306
+ commandType: a.Select,
307
+ enabled: s
308
+ },
309
+ {
310
+ name: "clear_select",
311
+ description: `Clear all row selections in the ${e.dataName} tree list`,
312
+ commandType: a.ClearSelect,
313
+ enabled: s
314
+ },
315
+ {
316
+ name: "reorder_column",
317
+ description: `Reorder a column in the ${e.dataName} tree list`,
318
+ commandType: a.ColumnReorder,
319
+ enabled: u
320
+ },
321
+ {
322
+ name: "resize_column",
323
+ description: `Resize a column in the ${e.dataName} tree list`,
324
+ commandType: a.ColumnResize,
325
+ enabled: m
326
+ },
327
+ {
328
+ name: "show_column",
329
+ description: `Show a hidden column in the ${e.dataName} tree list`,
330
+ commandType: a.ColumnShow,
331
+ enabled: d
332
+ },
333
+ {
334
+ name: "hide_column",
335
+ description: `Hide a column in the ${e.dataName} tree list`,
336
+ commandType: a.ColumnHide,
337
+ enabled: d
338
+ },
339
+ {
340
+ name: "lock_column",
341
+ description: `Lock a column in the ${e.dataName} tree list`,
342
+ commandType: a.ColumnLock,
343
+ enabled: d
344
+ },
345
+ {
346
+ name: "unlock_column",
347
+ description: `Unlock a column in the ${e.dataName} tree list`,
348
+ commandType: a.ColumnUnlock,
349
+ enabled: d
350
+ },
351
+ {
352
+ name: "expand",
353
+ description: `Expand a row in the ${e.dataName} tree list to show its children`,
354
+ commandType: a.Expand,
355
+ enabled: x
356
+ },
357
+ {
358
+ name: "collapse",
359
+ description: `Collapse a row in the ${e.dataName} tree list to hide its children`,
360
+ commandType: a.Collapse,
361
+ enabled: x
362
+ },
363
+ {
364
+ name: "expand_all",
365
+ description: `Expand all rows in the ${e.dataName} tree list`,
366
+ commandType: a.ExpandAll,
367
+ enabled: x
368
+ },
369
+ {
370
+ name: "collapse_all",
371
+ description: `Collapse all rows in the ${e.dataName} tree list`,
372
+ commandType: a.CollapseAll,
373
+ enabled: x
374
+ }
375
+ ], y = r.current.webMcp, w = typeof y == "object" && y !== null && typeof y.tools == "function" ? y.tools : void 0, F = { tname: i, columns: c, data: o.data }, _ = w ? w(E, F) : E, P = async (p, S) => {
376
+ const h = O(p, S, r, n);
377
+ if (h)
378
+ return h;
379
+ const g = G(p, S, r, n, c);
380
+ return g || { content: [{ type: "text", text: `Unknown command: ${p}` }], isError: !0 };
381
+ };
382
+ for (const p of _) {
383
+ if (!p.enabled)
384
+ continue;
385
+ const S = L(p.commandType, c, A), h = p.commandType;
386
+ try {
387
+ l.push(
388
+ t.registerTool({
389
+ name: i(p.name),
390
+ description: p.description,
391
+ inputSchema: S,
392
+ execute: async (g) => P(h, g || {})
393
+ })
394
+ );
395
+ } catch {
396
+ }
397
+ }
398
+ return l;
399
+ }
400
+ };
401
+ export {
402
+ Q as treeListAdapter
403
+ };
@@ -0,0 +1,25 @@
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 TreeViewHandle {
10
+ element?: HTMLElement | null;
11
+ }
12
+ interface TreeViewAdapterProps {
13
+ data?: Record<string, unknown>[];
14
+ textField?: string;
15
+ childrenField?: string;
16
+ expandField?: string;
17
+ selectField?: string;
18
+ onExpandChange?: (event: Record<string, unknown>) => void;
19
+ onItemClick?: (event: Record<string, unknown>) => void;
20
+ webMcp?: unknown;
21
+ onFilterChange?: (event: Record<string, unknown>) => void;
22
+ }
23
+ /** @hidden */
24
+ export declare const treeViewAdapter: ToolAdapter<TreeViewHandle, TreeViewAdapterProps>;
25
+ export {};
@@ -0,0 +1,9 @@
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 x=require("../commands/treeview.js"),b=require("./utils.js");function S(s,n,e,t,a){return s?s.map((r,i)=>{const o={index:i,text:r[n],expanded:!!r[t],selected:!!r[a]},d=r[e];return d&&Array.isArray(d)&&d.length>0&&(o.children=S(d,n,e,t,a)),o}):[]}function f(s,n,e,t,a=""){for(let r=0;r<s.length;r++){const i=s[r],o=a?`${a}_${r}`:`${r}`;if(b.toText(i[e])===n)return{node:i,path:o};const d=i[t];if(d&&Array.isArray(d)&&d.length>0){const h=f(d,n,e,t,o);if(h)return h}}}function A(s,n){const e=s.nodeText;if(!e)return{content:[{type:"text",text:"Missing required argument: nodeText"}],isError:!0};const t=n.current,a=t.textField||"text",r=t.childrenField||"items",i=t.data;if(!i)return{content:[{type:"text",text:"TreeView has no data."}]};const o=f(i,e,a,r);return o?(t.onExpandChange&&t.onExpandChange({item:o.node,itemHierarchicalIndex:o.path,nativeEvent:null,target:null,syntheticEvent:null}),{content:[{type:"text",text:`Expanded node "${e}".`}]}):{content:[{type:"text",text:`Node "${e}" not found.`}],isError:!0}}function _(s,n){const e=s.nodeText;if(!e)return{content:[{type:"text",text:"Missing required argument: nodeText"}],isError:!0};const t=n.current,a=t.textField||"text",r=t.childrenField||"items",i=t.data;if(!i)return{content:[{type:"text",text:"TreeView has no data."}]};const o=f(i,e,a,r);return o?(t.onExpandChange&&t.onExpandChange({item:o.node,itemHierarchicalIndex:o.path,nativeEvent:null,target:null,syntheticEvent:null}),{content:[{type:"text",text:`Collapsed node "${e}".`}]}):{content:[{type:"text",text:`Node "${e}" not found.`}],isError:!0}}function M(s,n){const e=s.nodeText;if(!e)return{content:[{type:"text",text:"Missing required argument: nodeText"}],isError:!0};const t=n.current,a=t.textField||"text",r=t.childrenField||"items",i=t.data;if(!i)return{content:[{type:"text",text:"TreeView has no data."}]};const o=f(i,e,a,r);return o?(t.onItemClick&&t.onItemClick({item:o.node,itemHierarchicalIndex:o.path,nativeEvent:null,target:null,syntheticEvent:null}),{content:[{type:"text",text:`Selected node "${e}".`}]}):{content:[{type:"text",text:`Node "${e}" not found.`}],isError:!0}}function I(s,n,e){switch(s){case x.TreeViewCommands.Expand:return A(n,e);case x.TreeViewCommands.Collapse:return _(n,e);case x.TreeViewCommands.Select:return M(n,e);default:return{content:[{type:"text",text:`Unknown command: ${s}`}],isError:!0}}}const k={componentSuffix:"treeview",createTools(s,n,e,t){const a=[],r=c=>`${e.groupName}_${c}`,i=n.current,o=[{name:"expand_node",description:`Expand a node in the ${e.dataName} treeview`,commandType:x.TreeViewCommands.Expand,enabled:!!i.onExpandChange},{name:"collapse_node",description:`Collapse a node in the ${e.dataName} treeview`,commandType:x.TreeViewCommands.Collapse,enabled:!!i.onExpandChange},{name:"select_node",description:`Select a node in the ${e.dataName} treeview`,commandType:x.TreeViewCommands.Select,enabled:!!i.onItemClick}],d=n.current.webMcp,h=typeof d=="object"&&d!==null&&typeof d.tools=="function"?d.tools:void 0,V=h?h(o,{tname:r}):o,N=async(c,u)=>I(c,u,n);try{a.push(t.registerTool({name:r("get_structure"),description:`Get the tree structure of the ${e.dataName} treeview as JSON.`,inputSchema:{type:"object",properties:{},required:[]},async execute(){const c=n.current,u=c.textField||"text",l=c.childrenField||"items",y=c.expandField||"expanded",T=c.selectField||"selected",p=c.data;if(!p||p.length===0)return{content:[{type:"text",text:"TreeView has no data."}]};const m=S(p,u,l,y,T);return{content:[{type:"text",text:JSON.stringify(m,null,2)}]}}}))}catch{}if(i.onFilterChange)try{a.push(t.registerTool({name:r("search"),description:`Search for nodes matching a text pattern in the ${e.dataName} treeview.`,inputSchema:{type:"object",properties:{query:{type:"string",description:"Text to search for (case-insensitive)"}},required:["query"]},async execute(c){const u=(c.query||"").toLowerCase();if(!u)return{content:[{type:"text",text:"Missing required argument: query"}],isError:!0};const l=n.current,y=l.textField||"text",T=l.childrenField||"items",p=l.data;if(!p)return{content:[{type:"text",text:"TreeView has no data."}]};const m=[],w=(q,E)=>{q.forEach(($,v)=>{const F=E?`${E}_${v}`:`${v}`,g=$[y]||"";typeof g=="string"&&g.toLowerCase().includes(u)&&m.push({text:g,path:F});const C=$[T];C&&Array.isArray(C)&&w(C,F)})};return w(p,""),m.length===0?{content:[{type:"text",text:`No nodes matching "${u}".`}]}:{content:[{type:"text",text:`${m.length} match(es):
9
+ ${JSON.stringify(m,null,2)}`}]}}}))}catch{}for(const c of V){if(!c.enabled)continue;const u=x.getTreeViewToolSchema(c.commandType),l=c.commandType;try{a.push(t.registerTool({name:r(c.name),description:c.description,inputSchema:u,execute:async y=>N(l,y||{})}))}catch{}}return a}};exports.treeViewAdapter=k;
@@ -0,0 +1,212 @@
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 { TreeViewCommands as h, getTreeViewToolSchema as V } from "../commands/treeview.mjs";
9
+ import { toText as _ } from "./utils.mjs";
10
+ function S(s, n, e, t, a) {
11
+ return s ? s.map((r, c) => {
12
+ const o = {
13
+ index: c,
14
+ text: r[n],
15
+ expanded: !!r[t],
16
+ selected: !!r[a]
17
+ }, d = r[e];
18
+ return d && Array.isArray(d) && d.length > 0 && (o.children = S(d, n, e, t, a)), o;
19
+ }) : [];
20
+ }
21
+ function f(s, n, e, t, a = "") {
22
+ for (let r = 0; r < s.length; r++) {
23
+ const c = s[r], o = a ? `${a}_${r}` : `${r}`;
24
+ if (_(c[e]) === n)
25
+ return { node: c, path: o };
26
+ const d = c[t];
27
+ if (d && Array.isArray(d) && d.length > 0) {
28
+ const m = f(
29
+ d,
30
+ n,
31
+ e,
32
+ t,
33
+ o
34
+ );
35
+ if (m)
36
+ return m;
37
+ }
38
+ }
39
+ }
40
+ function A(s, n) {
41
+ const e = s.nodeText;
42
+ if (!e)
43
+ return { content: [{ type: "text", text: "Missing required argument: nodeText" }], isError: !0 };
44
+ const t = n.current, a = t.textField || "text", r = t.childrenField || "items", c = t.data;
45
+ if (!c)
46
+ return { content: [{ type: "text", text: "TreeView has no data." }] };
47
+ const o = f(c, e, a, r);
48
+ return o ? (t.onExpandChange && t.onExpandChange({
49
+ item: o.node,
50
+ itemHierarchicalIndex: o.path,
51
+ nativeEvent: null,
52
+ target: null,
53
+ syntheticEvent: null
54
+ }), { content: [{ type: "text", text: `Expanded node "${e}".` }] }) : { content: [{ type: "text", text: `Node "${e}" not found.` }], isError: !0 };
55
+ }
56
+ function I(s, n) {
57
+ const e = s.nodeText;
58
+ if (!e)
59
+ return { content: [{ type: "text", text: "Missing required argument: nodeText" }], isError: !0 };
60
+ const t = n.current, a = t.textField || "text", r = t.childrenField || "items", c = t.data;
61
+ if (!c)
62
+ return { content: [{ type: "text", text: "TreeView has no data." }] };
63
+ const o = f(c, e, a, r);
64
+ return o ? (t.onExpandChange && t.onExpandChange({
65
+ item: o.node,
66
+ itemHierarchicalIndex: o.path,
67
+ nativeEvent: null,
68
+ target: null,
69
+ syntheticEvent: null
70
+ }), { content: [{ type: "text", text: `Collapsed node "${e}".` }] }) : { content: [{ type: "text", text: `Node "${e}" not found.` }], isError: !0 };
71
+ }
72
+ function M(s, n) {
73
+ const e = s.nodeText;
74
+ if (!e)
75
+ return { content: [{ type: "text", text: "Missing required argument: nodeText" }], isError: !0 };
76
+ const t = n.current, a = t.textField || "text", r = t.childrenField || "items", c = t.data;
77
+ if (!c)
78
+ return { content: [{ type: "text", text: "TreeView has no data." }] };
79
+ const o = f(c, e, a, r);
80
+ return o ? (t.onItemClick && t.onItemClick({
81
+ item: o.node,
82
+ itemHierarchicalIndex: o.path,
83
+ nativeEvent: null,
84
+ target: null,
85
+ syntheticEvent: null
86
+ }), { content: [{ type: "text", text: `Selected node "${e}".` }] }) : { content: [{ type: "text", text: `Node "${e}" not found.` }], isError: !0 };
87
+ }
88
+ function k(s, n, e) {
89
+ switch (s) {
90
+ case h.Expand:
91
+ return A(n, e);
92
+ case h.Collapse:
93
+ return I(n, e);
94
+ case h.Select:
95
+ return M(n, e);
96
+ default:
97
+ return { content: [{ type: "text", text: `Unknown command: ${s}` }], isError: !0 };
98
+ }
99
+ }
100
+ const J = {
101
+ componentSuffix: "treeview",
102
+ createTools(s, n, e, t) {
103
+ const a = [], r = (i) => `${e.groupName}_${i}`, c = n.current, o = [
104
+ {
105
+ name: "expand_node",
106
+ description: `Expand a node in the ${e.dataName} treeview`,
107
+ commandType: h.Expand,
108
+ enabled: !!c.onExpandChange
109
+ },
110
+ {
111
+ name: "collapse_node",
112
+ description: `Collapse a node in the ${e.dataName} treeview`,
113
+ commandType: h.Collapse,
114
+ enabled: !!c.onExpandChange
115
+ },
116
+ {
117
+ name: "select_node",
118
+ description: `Select a node in the ${e.dataName} treeview`,
119
+ commandType: h.Select,
120
+ enabled: !!c.onItemClick
121
+ }
122
+ ], d = n.current.webMcp, m = typeof d == "object" && d !== null && typeof d.tools == "function" ? d.tools : void 0, N = m ? m(o, { tname: r }) : o, q = async (i, u) => k(i, u, n);
123
+ try {
124
+ a.push(
125
+ t.registerTool({
126
+ name: r("get_structure"),
127
+ description: `Get the tree structure of the ${e.dataName} treeview as JSON.`,
128
+ inputSchema: { type: "object", properties: {}, required: [] },
129
+ async execute() {
130
+ const i = n.current, u = i.textField || "text", l = i.childrenField || "items", y = i.expandField || "expanded", T = i.selectField || "selected", x = i.data;
131
+ if (!x || x.length === 0)
132
+ return { content: [{ type: "text", text: "TreeView has no data." }] };
133
+ const p = S(
134
+ x,
135
+ u,
136
+ l,
137
+ y,
138
+ T
139
+ );
140
+ return { content: [{ type: "text", text: JSON.stringify(p, null, 2) }] };
141
+ }
142
+ })
143
+ );
144
+ } catch {
145
+ }
146
+ if (c.onFilterChange)
147
+ try {
148
+ a.push(
149
+ t.registerTool({
150
+ name: r("search"),
151
+ description: `Search for nodes matching a text pattern in the ${e.dataName} treeview.`,
152
+ inputSchema: {
153
+ type: "object",
154
+ properties: {
155
+ query: { type: "string", description: "Text to search for (case-insensitive)" }
156
+ },
157
+ required: ["query"]
158
+ },
159
+ async execute(i) {
160
+ const u = (i.query || "").toLowerCase();
161
+ if (!u)
162
+ return {
163
+ content: [{ type: "text", text: "Missing required argument: query" }],
164
+ isError: !0
165
+ };
166
+ const l = n.current, y = l.textField || "text", T = l.childrenField || "items", x = l.data;
167
+ if (!x)
168
+ return { content: [{ type: "text", text: "TreeView has no data." }] };
169
+ const p = [], C = (b, $) => {
170
+ b.forEach((w, v) => {
171
+ const F = $ ? `${$}_${v}` : `${v}`, g = w[y] || "";
172
+ typeof g == "string" && g.toLowerCase().includes(u) && p.push({ text: g, path: F });
173
+ const E = w[T];
174
+ E && Array.isArray(E) && C(E, F);
175
+ });
176
+ };
177
+ return C(x, ""), p.length === 0 ? { content: [{ type: "text", text: `No nodes matching "${u}".` }] } : {
178
+ content: [
179
+ {
180
+ type: "text",
181
+ text: `${p.length} match(es):
182
+ ${JSON.stringify(p, null, 2)}`
183
+ }
184
+ ]
185
+ };
186
+ }
187
+ })
188
+ );
189
+ } catch {
190
+ }
191
+ for (const i of N) {
192
+ if (!i.enabled)
193
+ continue;
194
+ const u = V(i.commandType), l = i.commandType;
195
+ try {
196
+ a.push(
197
+ t.registerTool({
198
+ name: r(i.name),
199
+ description: i.description,
200
+ inputSchema: u,
201
+ execute: async (y) => q(l, y || {})
202
+ })
203
+ );
204
+ } catch {
205
+ }
206
+ }
207
+ return a;
208
+ }
209
+ };
210
+ export {
211
+ J as treeViewAdapter
212
+ };
@@ -0,0 +1,15 @@
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 UploadAdapterProps {
10
+ onRemove?: (event: Record<string, unknown>) => void;
11
+ webMcp?: unknown;
12
+ }
13
+ /** @hidden */
14
+ export declare const uploadAdapter: ToolAdapter<unknown, UploadAdapterProps>;
15
+ 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 a=require("../commands/upload.js"),g={componentSuffix:"upload",createTools(i,n,c,p){const r=[],m=e=>`${c.groupName}_${e}`,u=n.current,l=[{name:"clear",description:`Clear all files from the ${c.dataName} upload`,commandType:a.UploadCommands.Clear,enabled:!!u.onRemove}],t=n.current.webMcp,s=typeof t=="object"&&t!==null&&typeof t.tools=="function"?t.tools:void 0,f=s?s(l):l,y=async(e,d)=>{if(e===a.UploadCommands.Clear){const o=n.current;return o.onRemove&&o.onRemove({newState:[],affectedFiles:[],syntheticEvent:null,target:i}),{content:[{type:"text",text:"Upload files cleared."}]}}return{content:[{type:"text",text:`Unknown command: ${e}`}],isError:!0}};for(const e of f){if(!e.enabled)continue;const d=a.getUploadToolSchema(e.commandType),o=e.commandType;try{r.push(p.registerTool({name:m(e.name),description:e.description,inputSchema:d,execute:async b=>y(o,b||{})}))}catch{}}return r}};exports.uploadAdapter=g;