@servicelabsco/slabs-access-manager 2.0.2 → 2.0.3

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 (258) hide show
  1. package/CODEBASE-REVIEW.md +129 -0
  2. package/dist/access/commands/index.js.map +1 -1
  3. package/dist/access/controllers/index.js.map +1 -1
  4. package/dist/access/dtos/index.js.map +1 -1
  5. package/dist/access/entities/index.js.map +1 -1
  6. package/dist/access/enums/index.js.map +1 -1
  7. package/dist/access/es6.classes.d.ts +8 -9
  8. package/dist/access/es6.classes.js +4 -4
  9. package/dist/access/es6.classes.js.map +1 -1
  10. package/dist/access/index.d.ts +1 -1
  11. package/dist/access/index.js +1 -1
  12. package/dist/access/index.js.map +1 -1
  13. package/dist/access/jobs/index.js.map +1 -1
  14. package/dist/access/libraries/assert.safe.sql.fragment.d.ts +6 -0
  15. package/dist/access/libraries/assert.safe.sql.fragment.js +19 -0
  16. package/dist/access/libraries/assert.safe.sql.fragment.js.map +1 -0
  17. package/dist/access/libraries/index.d.ts +2 -1
  18. package/dist/access/libraries/index.js +2 -1
  19. package/dist/access/libraries/index.js.map +1 -1
  20. package/dist/access/libraries/process.dashboard.report.data.js +5 -1
  21. package/dist/access/libraries/process.dashboard.report.data.js.map +1 -1
  22. package/dist/access/libraries/process.db.find.d.ts +3 -0
  23. package/dist/access/libraries/process.db.find.js +30 -16
  24. package/dist/access/libraries/process.db.find.js.map +1 -1
  25. package/dist/access/libraries/process.report.data.js +8 -2
  26. package/dist/access/libraries/process.report.data.js.map +1 -1
  27. package/dist/access/libraries/resolve.client.ip.d.ts +3 -0
  28. package/dist/access/libraries/resolve.client.ip.js +11 -0
  29. package/dist/access/libraries/resolve.client.ip.js.map +1 -0
  30. package/dist/access/middlewares/external.access.middleware.js +2 -1
  31. package/dist/access/middlewares/external.access.middleware.js.map +1 -1
  32. package/dist/access/middlewares/index.js.map +1 -1
  33. package/dist/access/middlewares/mcp.access.middleware.js +2 -1
  34. package/dist/access/middlewares/mcp.access.middleware.js.map +1 -1
  35. package/dist/access/middlewares/mcp.rate.limit.middleware.js +3 -2
  36. package/dist/access/middlewares/mcp.rate.limit.middleware.js.map +1 -1
  37. package/dist/access/services/index.d.ts +0 -1
  38. package/dist/access/services/index.js +0 -1
  39. package/dist/access/services/index.js.map +1 -1
  40. package/dist/access/subscribers/index.js.map +1 -1
  41. package/dist/accessUtility/controllers/index.js.map +1 -1
  42. package/dist/accessUtility/dtos/index.js.map +1 -1
  43. package/dist/accessUtility/entities/index.js.map +1 -1
  44. package/dist/accessUtility/enums/index.js.map +1 -1
  45. package/dist/accessUtility/es6.classes.d.ts +2 -3
  46. package/dist/accessUtility/es6.classes.js +0 -2
  47. package/dist/accessUtility/es6.classes.js.map +1 -1
  48. package/dist/accessUtility/index.d.ts +2 -2
  49. package/dist/accessUtility/index.js +2 -2
  50. package/dist/accessUtility/index.js.map +1 -1
  51. package/dist/accessUtility/interfaces/index.js.map +1 -1
  52. package/dist/accessUtility/jobs/index.js.map +1 -1
  53. package/dist/accessUtility/libraries/index.js.map +1 -1
  54. package/dist/accessUtility/services/index.js.map +1 -1
  55. package/dist/accessUtility/subscribers/index.js.map +1 -1
  56. package/dist/accessWorkflow/controllers/index.js.map +1 -1
  57. package/dist/accessWorkflow/dtos/index.js.map +1 -1
  58. package/dist/accessWorkflow/entities/index.js.map +1 -1
  59. package/dist/accessWorkflow/enums/index.js.map +1 -1
  60. package/dist/accessWorkflow/es6.classes.d.ts +1 -2
  61. package/dist/accessWorkflow/es6.classes.js +1 -2
  62. package/dist/accessWorkflow/es6.classes.js.map +1 -1
  63. package/dist/accessWorkflow/index.d.ts +1 -1
  64. package/dist/accessWorkflow/index.js +1 -1
  65. package/dist/accessWorkflow/index.js.map +1 -1
  66. package/dist/accessWorkflow/jobs/index.js.map +1 -1
  67. package/dist/accessWorkflow/libraries/index.js.map +1 -1
  68. package/dist/accessWorkflow/services/index.js.map +1 -1
  69. package/dist/accessWorkflow/subscribers/index.js.map +1 -1
  70. package/dist/app.controller.d.ts +0 -2
  71. package/dist/app.controller.js +10 -29
  72. package/dist/app.controller.js.map +1 -1
  73. package/dist/app.service.d.ts +0 -5
  74. package/dist/app.service.js +1 -20
  75. package/dist/app.service.js.map +1 -1
  76. package/dist/development/commands/index.js.map +1 -1
  77. package/dist/development/controllers/index.js.map +1 -1
  78. package/dist/development/dtos/index.js.map +1 -1
  79. package/dist/development/es6.classes.d.ts +3 -0
  80. package/dist/development/es6.classes.js +3 -0
  81. package/dist/development/es6.classes.js.map +1 -1
  82. package/dist/development/gates/index.js.map +1 -1
  83. package/dist/development/index.d.ts +1 -1
  84. package/dist/development/index.js +1 -1
  85. package/dist/development/index.js.map +1 -1
  86. package/dist/development/interfaces/index.js.map +1 -1
  87. package/dist/development/middlewares/development.middleware.js +2 -3
  88. package/dist/development/middlewares/development.middleware.js.map +1 -1
  89. package/dist/development/middlewares/index.js.map +1 -1
  90. package/dist/development/registries/development.entity.registry.d.ts +2 -0
  91. package/dist/development/registries/development.entity.registry.js +17 -0
  92. package/dist/development/registries/development.entity.registry.js.map +1 -1
  93. package/dist/development/registries/index.js.map +1 -1
  94. package/dist/development/services/development.crud.service.d.ts +1 -0
  95. package/dist/development/services/development.crud.service.js +8 -0
  96. package/dist/development/services/development.crud.service.js.map +1 -1
  97. package/dist/development/services/index.js.map +1 -1
  98. package/dist/index.d.ts +0 -1
  99. package/dist/index.js +0 -1
  100. package/dist/index.js.map +1 -1
  101. package/dist/mcp/admin/index.js.map +1 -1
  102. package/dist/mcp/admin/tools/admin.tool.registry.js +60 -0
  103. package/dist/mcp/admin/tools/admin.tool.registry.js.map +1 -1
  104. package/dist/mcp/admin/tools/business_feature/business.feature.create.tool.d.ts +22 -0
  105. package/dist/mcp/admin/tools/business_feature/business.feature.create.tool.js +25 -0
  106. package/dist/mcp/admin/tools/business_feature/business.feature.create.tool.js.map +1 -0
  107. package/dist/mcp/admin/tools/business_feature/business.feature.delete.tool.d.ts +17 -0
  108. package/dist/mcp/admin/tools/business_feature/business.feature.delete.tool.js +23 -0
  109. package/dist/mcp/admin/tools/business_feature/business.feature.delete.tool.js.map +1 -0
  110. package/dist/mcp/admin/tools/business_feature/business.feature.get.tool.d.ts +17 -0
  111. package/dist/mcp/admin/tools/business_feature/business.feature.get.tool.js +23 -0
  112. package/dist/mcp/admin/tools/business_feature/business.feature.get.tool.js.map +1 -0
  113. package/dist/mcp/admin/tools/business_feature/business.feature.list.tool.d.ts +23 -0
  114. package/dist/mcp/admin/tools/business_feature/business.feature.list.tool.js +37 -0
  115. package/dist/mcp/admin/tools/business_feature/business.feature.list.tool.js.map +1 -0
  116. package/dist/mcp/admin/tools/business_feature/business.feature.update.tool.d.ts +24 -0
  117. package/dist/mcp/admin/tools/business_feature/business.feature.update.tool.js +27 -0
  118. package/dist/mcp/admin/tools/business_feature/business.feature.update.tool.js.map +1 -0
  119. package/dist/mcp/admin/tools/business_feature/index.d.ts +5 -0
  120. package/dist/mcp/admin/tools/business_feature/index.js +22 -0
  121. package/dist/mcp/admin/tools/business_feature/index.js.map +1 -0
  122. package/dist/mcp/admin/tools/catalog/index.js.map +1 -1
  123. package/dist/mcp/admin/tools/child_menu/index.js.map +1 -1
  124. package/dist/mcp/admin/tools/feature/feature.create.tool.d.ts +22 -0
  125. package/dist/mcp/admin/tools/feature/feature.create.tool.js +25 -0
  126. package/dist/mcp/admin/tools/feature/feature.create.tool.js.map +1 -0
  127. package/dist/mcp/admin/tools/feature/feature.delete.tool.d.ts +17 -0
  128. package/dist/mcp/admin/tools/feature/feature.delete.tool.js +23 -0
  129. package/dist/mcp/admin/tools/feature/feature.delete.tool.js.map +1 -0
  130. package/dist/mcp/admin/tools/feature/feature.get.tool.d.ts +17 -0
  131. package/dist/mcp/admin/tools/feature/feature.get.tool.js +23 -0
  132. package/dist/mcp/admin/tools/feature/feature.get.tool.js.map +1 -0
  133. package/dist/mcp/admin/tools/feature/feature.list.tool.d.ts +23 -0
  134. package/dist/mcp/admin/tools/feature/feature.list.tool.js +37 -0
  135. package/dist/mcp/admin/tools/feature/feature.list.tool.js.map +1 -0
  136. package/dist/mcp/admin/tools/feature/feature.update.tool.d.ts +24 -0
  137. package/dist/mcp/admin/tools/feature/feature.update.tool.js +27 -0
  138. package/dist/mcp/admin/tools/feature/feature.update.tool.js.map +1 -0
  139. package/dist/mcp/admin/tools/feature/index.d.ts +5 -0
  140. package/dist/mcp/admin/tools/feature/index.js +22 -0
  141. package/dist/mcp/admin/tools/feature/index.js.map +1 -0
  142. package/dist/mcp/admin/tools/feature_menu/feature.menu.create.tool.d.ts +20 -0
  143. package/dist/mcp/admin/tools/feature_menu/feature.menu.create.tool.js +24 -0
  144. package/dist/mcp/admin/tools/feature_menu/feature.menu.create.tool.js.map +1 -0
  145. package/dist/mcp/admin/tools/feature_menu/feature.menu.delete.tool.d.ts +17 -0
  146. package/dist/mcp/admin/tools/feature_menu/feature.menu.delete.tool.js +23 -0
  147. package/dist/mcp/admin/tools/feature_menu/feature.menu.delete.tool.js.map +1 -0
  148. package/dist/mcp/admin/tools/feature_menu/feature.menu.get.tool.d.ts +17 -0
  149. package/dist/mcp/admin/tools/feature_menu/feature.menu.get.tool.js +23 -0
  150. package/dist/mcp/admin/tools/feature_menu/feature.menu.get.tool.js.map +1 -0
  151. package/dist/mcp/admin/tools/feature_menu/feature.menu.list.tool.d.ts +23 -0
  152. package/dist/mcp/admin/tools/feature_menu/feature.menu.list.tool.js +37 -0
  153. package/dist/mcp/admin/tools/feature_menu/feature.menu.list.tool.js.map +1 -0
  154. package/dist/mcp/admin/tools/feature_menu/feature.menu.update.tool.d.ts +22 -0
  155. package/dist/mcp/admin/tools/feature_menu/feature.menu.update.tool.js +26 -0
  156. package/dist/mcp/admin/tools/feature_menu/feature.menu.update.tool.js.map +1 -0
  157. package/dist/mcp/admin/tools/feature_menu/index.d.ts +5 -0
  158. package/dist/mcp/admin/tools/feature_menu/index.js +22 -0
  159. package/dist/mcp/admin/tools/feature_menu/index.js.map +1 -0
  160. package/dist/mcp/admin/tools/form_script/index.js.map +1 -1
  161. package/dist/mcp/admin/tools/group_role/group.role.create.tool.d.ts +20 -0
  162. package/dist/mcp/admin/tools/group_role/group.role.create.tool.js +24 -0
  163. package/dist/mcp/admin/tools/group_role/group.role.create.tool.js.map +1 -0
  164. package/dist/mcp/admin/tools/group_role/group.role.delete.tool.d.ts +17 -0
  165. package/dist/mcp/admin/tools/group_role/group.role.delete.tool.js +23 -0
  166. package/dist/mcp/admin/tools/group_role/group.role.delete.tool.js.map +1 -0
  167. package/dist/mcp/admin/tools/group_role/group.role.get.tool.d.ts +17 -0
  168. package/dist/mcp/admin/tools/group_role/group.role.get.tool.js +23 -0
  169. package/dist/mcp/admin/tools/group_role/group.role.get.tool.js.map +1 -0
  170. package/dist/mcp/admin/tools/group_role/group.role.list.tool.d.ts +23 -0
  171. package/dist/mcp/admin/tools/group_role/group.role.list.tool.js +37 -0
  172. package/dist/mcp/admin/tools/group_role/group.role.list.tool.js.map +1 -0
  173. package/dist/mcp/admin/tools/group_role/group.role.update.tool.d.ts +22 -0
  174. package/dist/mcp/admin/tools/group_role/group.role.update.tool.js +26 -0
  175. package/dist/mcp/admin/tools/group_role/group.role.update.tool.js.map +1 -0
  176. package/dist/mcp/admin/tools/group_role/index.d.ts +5 -0
  177. package/dist/mcp/admin/tools/group_role/index.js +22 -0
  178. package/dist/mcp/admin/tools/group_role/index.js.map +1 -0
  179. package/dist/mcp/admin/tools/index.d.ts +7 -1
  180. package/dist/mcp/admin/tools/index.js +7 -1
  181. package/dist/mcp/admin/tools/index.js.map +1 -1
  182. package/dist/mcp/admin/tools/listing_column/index.js.map +1 -1
  183. package/dist/mcp/admin/tools/listing_page/index.js.map +1 -1
  184. package/dist/mcp/admin/tools/listing_preference/index.js.map +1 -1
  185. package/dist/mcp/admin/tools/menu/index.js.map +1 -1
  186. package/dist/mcp/admin/tools/menu_role/index.js.map +1 -1
  187. package/dist/mcp/admin/tools/menu_ui_action/index.js.map +1 -1
  188. package/dist/mcp/admin/tools/module/index.js.map +1 -1
  189. package/dist/mcp/admin/tools/module_menu/index.js.map +1 -1
  190. package/dist/mcp/admin/tools/report/index.js.map +1 -1
  191. package/dist/mcp/admin/tools/role/index.d.ts +5 -0
  192. package/dist/mcp/admin/tools/role/index.js +22 -0
  193. package/dist/mcp/admin/tools/role/index.js.map +1 -0
  194. package/dist/mcp/admin/tools/role/role.create.tool.d.ts +24 -0
  195. package/dist/mcp/admin/tools/role/role.create.tool.js +26 -0
  196. package/dist/mcp/admin/tools/role/role.create.tool.js.map +1 -0
  197. package/dist/mcp/admin/tools/role/role.delete.tool.d.ts +17 -0
  198. package/dist/mcp/admin/tools/role/role.delete.tool.js +23 -0
  199. package/dist/mcp/admin/tools/role/role.delete.tool.js.map +1 -0
  200. package/dist/mcp/admin/tools/role/role.get.tool.d.ts +17 -0
  201. package/dist/mcp/admin/tools/role/role.get.tool.js +23 -0
  202. package/dist/mcp/admin/tools/role/role.get.tool.js.map +1 -0
  203. package/dist/mcp/admin/tools/role/role.list.tool.d.ts +23 -0
  204. package/dist/mcp/admin/tools/role/role.list.tool.js +37 -0
  205. package/dist/mcp/admin/tools/role/role.list.tool.js.map +1 -0
  206. package/dist/mcp/admin/tools/role/role.update.tool.d.ts +26 -0
  207. package/dist/mcp/admin/tools/role/role.update.tool.js +28 -0
  208. package/dist/mcp/admin/tools/role/role.update.tool.js.map +1 -0
  209. package/dist/mcp/admin/tools/role_group/index.d.ts +5 -0
  210. package/dist/mcp/admin/tools/role_group/index.js +22 -0
  211. package/dist/mcp/admin/tools/role_group/index.js.map +1 -0
  212. package/dist/mcp/admin/tools/role_group/role.group.create.tool.d.ts +22 -0
  213. package/dist/mcp/admin/tools/role_group/role.group.create.tool.js +25 -0
  214. package/dist/mcp/admin/tools/role_group/role.group.create.tool.js.map +1 -0
  215. package/dist/mcp/admin/tools/role_group/role.group.delete.tool.d.ts +17 -0
  216. package/dist/mcp/admin/tools/role_group/role.group.delete.tool.js +23 -0
  217. package/dist/mcp/admin/tools/role_group/role.group.delete.tool.js.map +1 -0
  218. package/dist/mcp/admin/tools/role_group/role.group.get.tool.d.ts +17 -0
  219. package/dist/mcp/admin/tools/role_group/role.group.get.tool.js +23 -0
  220. package/dist/mcp/admin/tools/role_group/role.group.get.tool.js.map +1 -0
  221. package/dist/mcp/admin/tools/role_group/role.group.list.tool.d.ts +23 -0
  222. package/dist/mcp/admin/tools/role_group/role.group.list.tool.js +37 -0
  223. package/dist/mcp/admin/tools/role_group/role.group.list.tool.js.map +1 -0
  224. package/dist/mcp/admin/tools/role_group/role.group.update.tool.d.ts +24 -0
  225. package/dist/mcp/admin/tools/role_group/role.group.update.tool.js +27 -0
  226. package/dist/mcp/admin/tools/role_group/role.group.update.tool.js.map +1 -0
  227. package/dist/mcp/admin/tools/ui_action/index.js.map +1 -1
  228. package/dist/mcp/admin/tools/ui_action_role/index.js.map +1 -1
  229. package/dist/mcp/auth/index.js.map +1 -1
  230. package/dist/mcp/catalog/index.js.map +1 -1
  231. package/dist/mcp/client/index.js.map +1 -1
  232. package/dist/mcp/es6.classes.d.ts +36 -1
  233. package/dist/mcp/es6.classes.js +65 -0
  234. package/dist/mcp/es6.classes.js.map +1 -1
  235. package/dist/mcp/http/index.js.map +1 -1
  236. package/dist/mcp/index.d.ts +2 -2
  237. package/dist/mcp/index.js +2 -2
  238. package/dist/mcp/index.js.map +1 -1
  239. package/dist/mcp/interfaces/index.js.map +1 -1
  240. package/dist/mcp/logging/index.js.map +1 -1
  241. package/dist/mcp/mentities/index.js.map +1 -1
  242. package/dist/mcp/tools/index.js.map +1 -1
  243. package/package.json +5 -2
  244. package/dist/access/services/es6.jobs.service.d.ts +0 -94
  245. package/dist/access/services/es6.jobs.service.js +0 -209
  246. package/dist/access/services/es6.jobs.service.js.map +0 -1
  247. package/dist/access/services/load.entity.service.d.ts +0 -4
  248. package/dist/access/services/load.entity.service.js +0 -30
  249. package/dist/access/services/load.entity.service.js.map +0 -1
  250. package/dist/accessUtility/services/es6.jobs.service.d.ts +0 -30
  251. package/dist/accessUtility/services/es6.jobs.service.js +0 -81
  252. package/dist/accessUtility/services/es6.jobs.service.js.map +0 -1
  253. package/dist/accessWorkflow/services/es6.jobs.service.d.ts +0 -32
  254. package/dist/accessWorkflow/services/es6.jobs.service.js +0 -85
  255. package/dist/accessWorkflow/services/es6.jobs.service.js.map +0 -1
  256. package/dist/config/entity.constants.d.ts +0 -301
  257. package/dist/config/entity.constants.js +0 -303
  258. package/dist/config/entity.constants.js.map +0 -1
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupRoleListTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const mcp_tool_1 = require("../../../tools/mcp.tool");
6
+ const inputSchema = {
7
+ limit: zod_1.z.number().int().min(0).optional().describe('Max rows to return (default 50).'),
8
+ offset: zod_1.z.number().int().min(0).optional().describe('Rows to skip (default 0).'),
9
+ order: zod_1.z.string().optional().describe('Order as "column" or "column:asc|desc", e.g. "id:desc".'),
10
+ filter: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional().describe('Column equality filters, e.g. { "group_id": 4 }. Non-column keys are ignored.'),
11
+ };
12
+ class GroupRoleListTool extends mcp_tool_1.McpTool {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.name = 'group_role_list';
16
+ this.title = 'List group-role grants (admin)';
17
+ this.description = 'List group-role grant records directly from the database with paging, ordering, and column-equality filters (admin/development only).';
18
+ this.inputSchema = inputSchema;
19
+ this.readOnly = true;
20
+ }
21
+ execute(args) {
22
+ const params = new URLSearchParams();
23
+ if (args.limit !== undefined)
24
+ params.set('limit', String(args.limit));
25
+ if (args.offset !== undefined)
26
+ params.set('offset', String(args.offset));
27
+ if (args.order)
28
+ params.set('order', args.order);
29
+ if (args.filter)
30
+ params.set('filter', JSON.stringify(args.filter));
31
+ const query = params.toString();
32
+ const path = `development/group_role${query ? `?${query}` : ''}`;
33
+ return this.run(() => this.client.request({ method: 'GET', path }));
34
+ }
35
+ }
36
+ exports.GroupRoleListTool = GroupRoleListTool;
37
+ //# sourceMappingURL=group.role.list.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.role.list.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/group_role/group.role.list.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAkD;AAElD,MAAM,WAAW,GAAG;IAChB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACtF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAChF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAChG,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;CACjJ,CAAC;AAaF,MAAa,iBAAkB,SAAQ,kBAA2B;IAAlE;;QACa,SAAI,GAAG,iBAAiB,CAAC;QACzB,UAAK,GAAG,gCAAgC,CAAC;QACzC,gBAAW,GAChB,uIAAuI,CAAC;QACnI,gBAAW,GAAG,WAAW,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;IAcvC,CAAC;IAZG,OAAO,CAAC,IAAwB;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEnE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,yBAAyB,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAEjE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;CACJ;AApBD,8CAoBC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { McpToolResultInterface } from '../../../interfaces/mcp.tool.result.interface';
3
+ import { McpTool } from '../../../tools/mcp.tool';
4
+ type GroupRoleUpdateInput = {
5
+ id: number;
6
+ group_id?: number;
7
+ role_id?: number;
8
+ attributes?: Record<string, unknown>;
9
+ };
10
+ export declare class GroupRoleUpdateTool extends McpTool<GroupRoleUpdateInput> {
11
+ readonly name = "group_role_update";
12
+ readonly title = "Update group-role grant (admin)";
13
+ readonly description = "Update fields of a group-role grant record directly in the database (admin/development only). Returns the updated row.";
14
+ readonly inputSchema: {
15
+ id: z.ZodNumber;
16
+ group_id: z.ZodOptional<z.ZodNumber>;
17
+ role_id: z.ZodOptional<z.ZodNumber>;
18
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
19
+ };
20
+ execute(args: GroupRoleUpdateInput): Promise<McpToolResultInterface>;
21
+ }
22
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupRoleUpdateTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const mcp_tool_1 = require("../../../tools/mcp.tool");
6
+ const inputSchema = {
7
+ id: zod_1.z.number().int().positive().describe('Id of the group-role grant row to update.'),
8
+ group_id: zod_1.z.number().int().positive().optional().describe('Role group this grant belongs to (FK utl_group_roles.group_id).'),
9
+ role_id: zod_1.z.number().int().positive().optional().describe('Role granted to the group (FK sys_roles.id).'),
10
+ attributes: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional().describe('Arbitrary JSON attributes (json column).'),
11
+ };
12
+ class GroupRoleUpdateTool extends mcp_tool_1.McpTool {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.name = 'group_role_update';
16
+ this.title = 'Update group-role grant (admin)';
17
+ this.description = 'Update fields of a group-role grant record directly in the database (admin/development only). Returns the updated row.';
18
+ this.inputSchema = inputSchema;
19
+ }
20
+ execute(args) {
21
+ const { id, ...body } = args;
22
+ return this.run(() => this.client.request({ method: 'PUT', path: `development/group_role/${id}`, body }));
23
+ }
24
+ }
25
+ exports.GroupRoleUpdateTool = GroupRoleUpdateTool;
26
+ //# sourceMappingURL=group.role.update.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.role.update.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/group_role/group.role.update.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAkD;AAElD,MAAM,WAAW,GAAG;IAChB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACrF,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAC5H,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IACxG,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CAChH,CAAC;AAaF,MAAa,mBAAoB,SAAQ,kBAA6B;IAAtE;;QACa,SAAI,GAAG,mBAAmB,CAAC;QAC3B,UAAK,GAAG,iCAAiC,CAAC;QAC1C,gBAAW,GAAG,wHAAwH,CAAC;QACvI,gBAAW,GAAG,WAAW,CAAC;IAOvC,CAAC;IALG,OAAO,CAAC,IAA0B;QAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAE7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9G,CAAC;CACJ;AAXD,kDAWC"}
@@ -0,0 +1,5 @@
1
+ export * from './group.role.create.tool';
2
+ export * from './group.role.delete.tool';
3
+ export * from './group.role.get.tool';
4
+ export * from './group.role.list.tool';
5
+ export * from './group.role.update.tool';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./group.role.create.tool"), exports);
18
+ __exportStar(require("./group.role.delete.tool"), exports);
19
+ __exportStar(require("./group.role.get.tool"), exports);
20
+ __exportStar(require("./group.role.list.tool"), exports);
21
+ __exportStar(require("./group.role.update.tool"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/group_role/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,2DAAyC;AACzC,2DAAyC;AACzC,wDAAsC;AACtC,yDAAuC;AACvC,2DAAyC"}
@@ -1,6 +1,11 @@
1
+ export * from './admin.tool.registry';
2
+ export * from './business_feature';
1
3
  export * from './catalog';
2
4
  export * from './child_menu';
5
+ export * from './feature';
6
+ export * from './feature_menu';
3
7
  export * from './form_script';
8
+ export * from './group_role';
4
9
  export * from './listing_column';
5
10
  export * from './listing_page';
6
11
  export * from './listing_preference';
@@ -10,6 +15,7 @@ export * from './menu_ui_action';
10
15
  export * from './module';
11
16
  export * from './module_menu';
12
17
  export * from './report';
18
+ export * from './role';
19
+ export * from './role_group';
13
20
  export * from './ui_action';
14
21
  export * from './ui_action_role';
15
- export * from './admin.tool.registry';
@@ -14,9 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./admin.tool.registry"), exports);
18
+ __exportStar(require("./business_feature"), exports);
17
19
  __exportStar(require("./catalog"), exports);
18
20
  __exportStar(require("./child_menu"), exports);
21
+ __exportStar(require("./feature"), exports);
22
+ __exportStar(require("./feature_menu"), exports);
19
23
  __exportStar(require("./form_script"), exports);
24
+ __exportStar(require("./group_role"), exports);
20
25
  __exportStar(require("./listing_column"), exports);
21
26
  __exportStar(require("./listing_page"), exports);
22
27
  __exportStar(require("./listing_preference"), exports);
@@ -26,7 +31,8 @@ __exportStar(require("./menu_ui_action"), exports);
26
31
  __exportStar(require("./module"), exports);
27
32
  __exportStar(require("./module_menu"), exports);
28
33
  __exportStar(require("./report"), exports);
34
+ __exportStar(require("./role"), exports);
35
+ __exportStar(require("./role_group"), exports);
29
36
  __exportStar(require("./ui_action"), exports);
30
37
  __exportStar(require("./ui_action_role"), exports);
31
- __exportStar(require("./admin.tool.registry"), exports);
32
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/admin/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAAA,+CAA6B;AAAA,gDAA8B;AAAA,mDAAiC;AAAA,iDAA+B;AAAA,uDAAqC;AAAA,yCAAuB;AAAA,8CAA4B;AAAA,mDAAiC;AAAA,2CAAyB;AAAA,gDAA8B;AAAA,2CAAyB;AAAA,8CAA4B;AAAA,mDAAiC;AAAA,wDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/admin/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,wDAAsC;AACtC,qDAAmC;AACnC,4CAA0B;AAC1B,+CAA6B;AAC7B,4CAA0B;AAC1B,iDAA+B;AAC/B,gDAA8B;AAC9B,+CAA6B;AAC7B,mDAAiC;AACjC,iDAA+B;AAC/B,uDAAqC;AACrC,yCAAuB;AACvB,8CAA4B;AAC5B,mDAAiC;AACjC,2CAAyB;AACzB,gDAA8B;AAC9B,2CAAyB;AACzB,yCAAuB;AACvB,+CAA6B;AAC7B,8CAA4B;AAC5B,mDAAiC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/listing_column/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAAA,+DAA6C;AAAA,4DAA0C;AAAA,6DAA2C;AAAA,+DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/listing_column/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,+DAA6C;AAC7C,+DAA6C;AAC7C,4DAA0C;AAC1C,6DAA2C;AAC3C,+DAA6C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/listing_page/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAAA,6DAA2C;AAAA,0DAAwC;AAAA,2DAAyC;AAAA,6DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/listing_page/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,6DAA2C;AAC3C,6DAA2C;AAC3C,0DAAwC;AACxC,2DAAyC;AACzC,6DAA2C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/listing_preference/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD;AAAA,mEAAiD;AAAA,gEAA8C;AAAA,iEAA+C;AAAA,mEAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/listing_preference/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,mEAAiD;AACjD,mEAAiD;AACjD,gEAA8C;AAC9C,iEAA+C;AAC/C,mEAAiD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/menu/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AAAA,qDAAmC;AAAA,kDAAgC;AAAA,mDAAiC;AAAA,qDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/menu/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/menu_role/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AAAA,0DAAwC;AAAA,uDAAqC;AAAA,wDAAsC;AAAA,0DAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/menu_role/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,0DAAwC;AACxC,0DAAwC;AACxC,uDAAqC;AACrC,wDAAsC;AACtC,0DAAwC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/menu_ui_action/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAAA,+DAA6C;AAAA,4DAA0C;AAAA,6DAA2C;AAAA,+DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/menu_ui_action/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,+DAA6C;AAC7C,+DAA6C;AAC7C,4DAA0C;AAC1C,6DAA2C;AAC3C,+DAA6C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/module/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AAAA,uDAAqC;AAAA,oDAAkC;AAAA,qDAAmC;AAAA,uDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/module/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,uDAAqC;AACrC,uDAAqC;AACrC,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/module_menu/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAAA,4DAA0C;AAAA,yDAAuC;AAAA,0DAAwC;AAAA,4DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/module_menu/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,4DAA0C;AAC1C,4DAA0C;AAC1C,yDAAuC;AACvC,0DAAwC;AACxC,4DAA0C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/report/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AAAA,uDAAqC;AAAA,oDAAkC;AAAA,qDAAmC;AAAA,uDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/report/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,uDAAqC;AACrC,uDAAqC;AACrC,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC"}
@@ -0,0 +1,5 @@
1
+ export * from './role.create.tool';
2
+ export * from './role.delete.tool';
3
+ export * from './role.get.tool';
4
+ export * from './role.list.tool';
5
+ export * from './role.update.tool';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./role.create.tool"), exports);
18
+ __exportStar(require("./role.delete.tool"), exports);
19
+ __exportStar(require("./role.get.tool"), exports);
20
+ __exportStar(require("./role.list.tool"), exports);
21
+ __exportStar(require("./role.update.tool"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/role/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC"}
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+ import { McpToolResultInterface } from '../../../interfaces/mcp.tool.result.interface';
3
+ import { McpTool } from '../../../tools/mcp.tool';
4
+ type RoleCreateInput = {
5
+ name: string;
6
+ identifier: string;
7
+ weight: number;
8
+ description?: string;
9
+ attributes?: Record<string, unknown>;
10
+ };
11
+ export declare class RoleCreateTool extends McpTool<RoleCreateInput> {
12
+ readonly name = "role_create";
13
+ readonly title = "Create role (admin)";
14
+ readonly description = "Create a role record directly in the database (admin/development only). Returns the created row.";
15
+ readonly inputSchema: {
16
+ name: z.ZodString;
17
+ identifier: z.ZodString;
18
+ weight: z.ZodNumber;
19
+ description: z.ZodOptional<z.ZodString>;
20
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
21
+ };
22
+ execute(args: RoleCreateInput): Promise<McpToolResultInterface>;
23
+ }
24
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleCreateTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const mcp_tool_1 = require("../../../tools/mcp.tool");
6
+ const inputSchema = {
7
+ name: zod_1.z.string().describe('Display name of the role.'),
8
+ identifier: zod_1.z.string().describe('Machine identifier used in code and role checks.'),
9
+ weight: zod_1.z.number().int().describe('Ordering weight; higher wins when roles are ranked.'),
10
+ description: zod_1.z.string().optional().describe('Human description of what the role allows.'),
11
+ attributes: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional().describe('Arbitrary JSON attributes (jsonb column).'),
12
+ };
13
+ class RoleCreateTool extends mcp_tool_1.McpTool {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.name = 'role_create';
17
+ this.title = 'Create role (admin)';
18
+ this.description = 'Create a role record directly in the database (admin/development only). Returns the created row.';
19
+ this.inputSchema = inputSchema;
20
+ }
21
+ execute(args) {
22
+ return this.run(() => this.client.request({ method: 'POST', path: 'development/role', body: args }));
23
+ }
24
+ }
25
+ exports.RoleCreateTool = RoleCreateTool;
26
+ //# sourceMappingURL=role.create.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.create.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/role/role.create.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAkD;AAElD,MAAM,WAAW,GAAG;IAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IACnF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IACxF,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACzF,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CACjH,CAAC;AAcF,MAAa,cAAe,SAAQ,kBAAwB;IAA5D;;QACa,SAAI,GAAG,aAAa,CAAC;QACrB,UAAK,GAAG,qBAAqB,CAAC;QAC9B,gBAAW,GAAG,kGAAkG,CAAC;QACjH,gBAAW,GAAG,WAAW,CAAC;IAKvC,CAAC;IAHG,OAAO,CAAC,IAAqB;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzG,CAAC;CACJ;AATD,wCASC"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ import { McpToolResultInterface } from '../../../interfaces/mcp.tool.result.interface';
3
+ import { McpTool } from '../../../tools/mcp.tool';
4
+ type RoleDeleteInput = {
5
+ id: number;
6
+ };
7
+ export declare class RoleDeleteTool extends McpTool<RoleDeleteInput> {
8
+ readonly name = "role_delete";
9
+ readonly title = "Delete role (admin)";
10
+ readonly description = "Soft-delete a role record by id (sets deleted_at; not a hard delete). Admin/development only.";
11
+ readonly inputSchema: {
12
+ id: z.ZodNumber;
13
+ };
14
+ protected readonly destructive = true;
15
+ execute(args: RoleDeleteInput): Promise<McpToolResultInterface>;
16
+ }
17
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleDeleteTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const mcp_tool_1 = require("../../../tools/mcp.tool");
6
+ const inputSchema = {
7
+ id: zod_1.z.number().int().gt(100).describe('Id of the role row to soft-delete. Ids up to 100 are reserved platform roles and cannot be deleted.'),
8
+ };
9
+ class RoleDeleteTool extends mcp_tool_1.McpTool {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'role_delete';
13
+ this.title = 'Delete role (admin)';
14
+ this.description = 'Soft-delete a role record by id (sets deleted_at; not a hard delete). Admin/development only.';
15
+ this.inputSchema = inputSchema;
16
+ this.destructive = true;
17
+ }
18
+ execute(args) {
19
+ return this.run(() => this.client.request({ method: 'DELETE', path: `development/role/${args.id}` }));
20
+ }
21
+ }
22
+ exports.RoleDeleteTool = RoleDeleteTool;
23
+ //# sourceMappingURL=role.delete.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.delete.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/role/role.delete.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAkD;AAElD,MAAM,WAAW,GAAG;IAChB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,qGAAqG,CAAC;CAC/I,CAAC;AAQF,MAAa,cAAe,SAAQ,kBAAwB;IAA5D;;QACa,SAAI,GAAG,aAAa,CAAC;QACrB,UAAK,GAAG,qBAAqB,CAAC;QAC9B,gBAAW,GAAG,+FAA+F,CAAC;QAC9G,gBAAW,GAAG,WAAW,CAAC;QAChB,gBAAW,GAAG,IAAI,CAAC;IAK1C,CAAC;IAHG,OAAO,CAAC,IAAqB;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1G,CAAC;CACJ;AAVD,wCAUC"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ import { McpToolResultInterface } from '../../../interfaces/mcp.tool.result.interface';
3
+ import { McpTool } from '../../../tools/mcp.tool';
4
+ type RoleGetInput = {
5
+ id: number;
6
+ };
7
+ export declare class RoleGetTool extends McpTool<RoleGetInput> {
8
+ readonly name = "role_get";
9
+ readonly title = "Get role (admin)";
10
+ readonly description = "Fetch a single role record by id directly from the database (admin/development only).";
11
+ readonly inputSchema: {
12
+ id: z.ZodNumber;
13
+ };
14
+ protected readonly readOnly = true;
15
+ execute(args: RoleGetInput): Promise<McpToolResultInterface>;
16
+ }
17
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleGetTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const mcp_tool_1 = require("../../../tools/mcp.tool");
6
+ const inputSchema = {
7
+ id: zod_1.z.number().int().positive().describe('Id of the role row to fetch.'),
8
+ };
9
+ class RoleGetTool extends mcp_tool_1.McpTool {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'role_get';
13
+ this.title = 'Get role (admin)';
14
+ this.description = 'Fetch a single role record by id directly from the database (admin/development only).';
15
+ this.inputSchema = inputSchema;
16
+ this.readOnly = true;
17
+ }
18
+ execute(args) {
19
+ return this.run(() => this.client.request({ method: 'GET', path: `development/role/${args.id}` }));
20
+ }
21
+ }
22
+ exports.RoleGetTool = RoleGetTool;
23
+ //# sourceMappingURL=role.get.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.get.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/role/role.get.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAkD;AAElD,MAAM,WAAW,GAAG;IAChB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAC3E,CAAC;AAOF,MAAa,WAAY,SAAQ,kBAAqB;IAAtD;;QACa,SAAI,GAAG,UAAU,CAAC;QAClB,UAAK,GAAG,kBAAkB,CAAC;QAC3B,gBAAW,GAAG,uFAAuF,CAAC;QACtG,gBAAW,GAAG,WAAW,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;IAKvC,CAAC;IAHG,OAAO,CAAC,IAAkB;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACvG,CAAC;CACJ;AAVD,kCAUC"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { McpToolResultInterface } from '../../../interfaces/mcp.tool.result.interface';
3
+ import { McpTool } from '../../../tools/mcp.tool';
4
+ type RoleListInput = {
5
+ limit?: number;
6
+ offset?: number;
7
+ order?: string;
8
+ filter?: Record<string, unknown>;
9
+ };
10
+ export declare class RoleListTool extends McpTool<RoleListInput> {
11
+ readonly name = "role_list";
12
+ readonly title = "List roles (admin)";
13
+ readonly description = "List role records directly from the database with paging, ordering, and column-equality filters (admin/development only).";
14
+ readonly inputSchema: {
15
+ limit: z.ZodOptional<z.ZodNumber>;
16
+ offset: z.ZodOptional<z.ZodNumber>;
17
+ order: z.ZodOptional<z.ZodString>;
18
+ filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
19
+ };
20
+ protected readonly readOnly = true;
21
+ execute(args: RoleListInput): Promise<McpToolResultInterface>;
22
+ }
23
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleListTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const mcp_tool_1 = require("../../../tools/mcp.tool");
6
+ const inputSchema = {
7
+ limit: zod_1.z.number().int().min(0).optional().describe('Max rows to return (default 50).'),
8
+ offset: zod_1.z.number().int().min(0).optional().describe('Rows to skip (default 0).'),
9
+ order: zod_1.z.string().optional().describe('Order as "column" or "column:asc|desc", e.g. "id:desc".'),
10
+ filter: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional().describe('Column equality filters, e.g. { "name": 4 }. Non-column keys are ignored.'),
11
+ };
12
+ class RoleListTool extends mcp_tool_1.McpTool {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.name = 'role_list';
16
+ this.title = 'List roles (admin)';
17
+ this.description = 'List role records directly from the database with paging, ordering, and column-equality filters (admin/development only).';
18
+ this.inputSchema = inputSchema;
19
+ this.readOnly = true;
20
+ }
21
+ execute(args) {
22
+ const params = new URLSearchParams();
23
+ if (args.limit !== undefined)
24
+ params.set('limit', String(args.limit));
25
+ if (args.offset !== undefined)
26
+ params.set('offset', String(args.offset));
27
+ if (args.order)
28
+ params.set('order', args.order);
29
+ if (args.filter)
30
+ params.set('filter', JSON.stringify(args.filter));
31
+ const query = params.toString();
32
+ const path = `development/role${query ? `?${query}` : ''}`;
33
+ return this.run(() => this.client.request({ method: 'GET', path }));
34
+ }
35
+ }
36
+ exports.RoleListTool = RoleListTool;
37
+ //# sourceMappingURL=role.list.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.list.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/role/role.list.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAkD;AAElD,MAAM,WAAW,GAAG;IAChB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACtF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAChF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAChG,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;CAC7I,CAAC;AAaF,MAAa,YAAa,SAAQ,kBAAsB;IAAxD;;QACa,SAAI,GAAG,WAAW,CAAC;QACnB,UAAK,GAAG,oBAAoB,CAAC;QAC7B,gBAAW,GAChB,2HAA2H,CAAC;QACvH,gBAAW,GAAG,WAAW,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;IAcvC,CAAC;IAZG,OAAO,CAAC,IAAmB;QACvB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEnE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,mBAAmB,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE3D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;CACJ;AApBD,oCAoBC"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ import { McpToolResultInterface } from '../../../interfaces/mcp.tool.result.interface';
3
+ import { McpTool } from '../../../tools/mcp.tool';
4
+ type RoleUpdateInput = {
5
+ id: number;
6
+ name?: string;
7
+ identifier?: string;
8
+ weight?: number;
9
+ description?: string;
10
+ attributes?: Record<string, unknown>;
11
+ };
12
+ export declare class RoleUpdateTool extends McpTool<RoleUpdateInput> {
13
+ readonly name = "role_update";
14
+ readonly title = "Update role (admin)";
15
+ readonly description = "Update fields of a role record directly in the database (admin/development only). Returns the updated row.";
16
+ readonly inputSchema: {
17
+ id: z.ZodNumber;
18
+ name: z.ZodOptional<z.ZodString>;
19
+ identifier: z.ZodOptional<z.ZodString>;
20
+ weight: z.ZodOptional<z.ZodNumber>;
21
+ description: z.ZodOptional<z.ZodString>;
22
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
23
+ };
24
+ execute(args: RoleUpdateInput): Promise<McpToolResultInterface>;
25
+ }
26
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoleUpdateTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const mcp_tool_1 = require("../../../tools/mcp.tool");
6
+ const inputSchema = {
7
+ id: zod_1.z.number().int().gt(100).describe('Id of the role row to update. Ids up to 100 are reserved platform roles and cannot be updated.'),
8
+ name: zod_1.z.string().optional().describe('Display name of the role.'),
9
+ identifier: zod_1.z.string().optional().describe('Machine identifier used in code and role checks.'),
10
+ weight: zod_1.z.number().int().optional().describe('Ordering weight; higher wins when roles are ranked.'),
11
+ description: zod_1.z.string().optional().describe('Human description of what the role allows.'),
12
+ attributes: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional().describe('Arbitrary JSON attributes (jsonb column).'),
13
+ };
14
+ class RoleUpdateTool extends mcp_tool_1.McpTool {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.name = 'role_update';
18
+ this.title = 'Update role (admin)';
19
+ this.description = 'Update fields of a role record directly in the database (admin/development only). Returns the updated row.';
20
+ this.inputSchema = inputSchema;
21
+ }
22
+ execute(args) {
23
+ const { id, ...body } = args;
24
+ return this.run(() => this.client.request({ method: 'PUT', path: `development/role/${id}`, body }));
25
+ }
26
+ }
27
+ exports.RoleUpdateTool = RoleUpdateTool;
28
+ //# sourceMappingURL=role.update.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.update.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/role/role.update.tool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAkD;AAElD,MAAM,WAAW,GAAG;IAChB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,gGAAgG,CAAC;IACvI,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACjE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAC9F,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IACnG,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACzF,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CACjH,CAAC;AAeF,MAAa,cAAe,SAAQ,kBAAwB;IAA5D;;QACa,SAAI,GAAG,aAAa,CAAC;QACrB,UAAK,GAAG,qBAAqB,CAAC;QAC9B,gBAAW,GAAG,4GAA4G,CAAC;QAC3H,gBAAW,GAAG,WAAW,CAAC;IAOvC,CAAC;IALG,OAAO,CAAC,IAAqB;QACzB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAE7B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC;CACJ;AAXD,wCAWC"}
@@ -0,0 +1,5 @@
1
+ export * from './role.group.create.tool';
2
+ export * from './role.group.delete.tool';
3
+ export * from './role.group.get.tool';
4
+ export * from './role.group.list.tool';
5
+ export * from './role.group.update.tool';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./role.group.create.tool"), exports);
18
+ __exportStar(require("./role.group.delete.tool"), exports);
19
+ __exportStar(require("./role.group.get.tool"), exports);
20
+ __exportStar(require("./role.group.list.tool"), exports);
21
+ __exportStar(require("./role.group.update.tool"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/mcp/admin/tools/role_group/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,2DAAyC;AACzC,2DAAyC;AACzC,wDAAsC;AACtC,yDAAuC;AACvC,2DAAyC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { McpToolResultInterface } from '../../../interfaces/mcp.tool.result.interface';
3
+ import { McpTool } from '../../../tools/mcp.tool';
4
+ type RoleGroupCreateInput = {
5
+ product_id: number;
6
+ name: string;
7
+ description?: string;
8
+ attributes?: Record<string, unknown>;
9
+ };
10
+ export declare class RoleGroupCreateTool extends McpTool<RoleGroupCreateInput> {
11
+ readonly name = "role_group_create";
12
+ readonly title = "Create role group (admin)";
13
+ readonly description = "Create a role group record directly in the database (admin/development only). Returns the created row.";
14
+ readonly inputSchema: {
15
+ product_id: z.ZodNumber;
16
+ name: z.ZodString;
17
+ description: z.ZodOptional<z.ZodString>;
18
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
19
+ };
20
+ execute(args: RoleGroupCreateInput): Promise<McpToolResultInterface>;
21
+ }
22
+ export {};