@maxisoft/instantcms-mcp 1.2.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 (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +308 -0
  3. package/dist/__tests__/artifact-tool.test.js +196 -0
  4. package/dist/__tests__/db-tool.test.js +152 -0
  5. package/dist/__tests__/define-tool.test.js +106 -0
  6. package/dist/__tests__/find-tool.test.js +185 -0
  7. package/dist/__tests__/get-component-api.test.js +144 -0
  8. package/dist/__tests__/hardening.test.js +73 -0
  9. package/dist/__tests__/hooks-tool.test.js +173 -0
  10. package/dist/__tests__/mcp-integration-extra.test.js +166 -0
  11. package/dist/__tests__/mcp-integration.test.js +53 -0
  12. package/dist/__tests__/pagination.test.js +114 -0
  13. package/dist/__tests__/performance-baseline.test.js +56 -0
  14. package/dist/__tests__/project-patch.test.js +144 -0
  15. package/dist/__tests__/project-source.test.js +44 -0
  16. package/dist/__tests__/project-workflows-extra.test.js +165 -0
  17. package/dist/__tests__/project-workflows.test.js +51 -0
  18. package/dist/__tests__/scaffold-addon-roundtrip.test.js +287 -0
  19. package/dist/__tests__/serialization.test.js +170 -0
  20. package/dist/__tests__/source-knowledge-parsers.test.js +42 -0
  21. package/dist/__tests__/template-development.test.js +78 -0
  22. package/dist/__tests__/template-productivity.test.js +87 -0
  23. package/dist/__tests__/tools.test.js +2143 -0
  24. package/dist/data/components.js +2818 -0
  25. package/dist/data/controllers-map.js +7571 -0
  26. package/dist/data/core-api.js +9356 -0
  27. package/dist/data/database-schema.js +4555 -0
  28. package/dist/data/events-map.js +1339 -0
  29. package/dist/data/fields-map.js +3692 -0
  30. package/dist/data/hooks.js +2257 -0
  31. package/dist/data/js-api.js +123 -0
  32. package/dist/data/libs-api.js +264 -0
  33. package/dist/data/routes-map.js +203 -0
  34. package/dist/data/schemas-validation.js +255 -0
  35. package/dist/data/schemas.js +1404 -0
  36. package/dist/data/traits-map.js +1004 -0
  37. package/dist/data/version-profiles.js +41 -0
  38. package/dist/data/widgets-map.js +131 -0
  39. package/dist/data/wysiwyg-map.js +486 -0
  40. package/dist/generated/components-source.js +14748 -0
  41. package/dist/generated/hooks-source.js +3399 -0
  42. package/dist/generated/knowledge-meta.js +101 -0
  43. package/dist/index.js +13 -0
  44. package/dist/registry/database-tools.js +112 -0
  45. package/dist/registry/extension-tools.js +473 -0
  46. package/dist/registry/generator-tools.js +506 -0
  47. package/dist/registry/knowledge-tools.js +441 -0
  48. package/dist/registry/language-tools.js +99 -0
  49. package/dist/registry/meta-tools.js +152 -0
  50. package/dist/registry/project-tools.js +48 -0
  51. package/dist/registry/resources.js +98 -0
  52. package/dist/registry/source-tools.js +211 -0
  53. package/dist/registry/template-development-tools.js +79 -0
  54. package/dist/server.js +32 -0
  55. package/dist/tools/addon-tool.js +1437 -0
  56. package/dist/tools/admin-partial-tool.js +498 -0
  57. package/dist/tools/api-tool.js +294 -0
  58. package/dist/tools/artifact-tool.js +95 -0
  59. package/dist/tools/cache-tool.js +360 -0
  60. package/dist/tools/component-tool.js +415 -0
  61. package/dist/tools/controllers-tool.js +125 -0
  62. package/dist/tools/cron-tool.js +197 -0
  63. package/dist/tools/crud-tool.js +659 -0
  64. package/dist/tools/db-tool.js +198 -0
  65. package/dist/tools/email-tool.js +222 -0
  66. package/dist/tools/external-api-tool.js +596 -0
  67. package/dist/tools/filter-tool.js +341 -0
  68. package/dist/tools/form-tool.js +275 -0
  69. package/dist/tools/grid-tool.js +189 -0
  70. package/dist/tools/hooks-tool.js +104 -0
  71. package/dist/tools/import-export-tool.js +548 -0
  72. package/dist/tools/lang-tool.js +251 -0
  73. package/dist/tools/layout-override-tool.js +125 -0
  74. package/dist/tools/layout-tool.js +548 -0
  75. package/dist/tools/maria-tool.js +127 -0
  76. package/dist/tools/mariadb.js +201 -0
  77. package/dist/tools/migration-tool.js +329 -0
  78. package/dist/tools/oauth-tool.js +520 -0
  79. package/dist/tools/parser/components-parser.js +76 -0
  80. package/dist/tools/parser/controllers-parser.js +313 -0
  81. package/dist/tools/parser/core-parser.js +294 -0
  82. package/dist/tools/parser/coverage-generator.js +424 -0
  83. package/dist/tools/parser/events-parser.js +127 -0
  84. package/dist/tools/parser/fields-parser.js +382 -0
  85. package/dist/tools/parser/hooks-parser.js +106 -0
  86. package/dist/tools/parser/sql-parser.js +197 -0
  87. package/dist/tools/parser/traits-parser.js +161 -0
  88. package/dist/tools/parser/widgets-parser.js +150 -0
  89. package/dist/tools/permission-tool.js +348 -0
  90. package/dist/tools/project-patch-tool.js +73 -0
  91. package/dist/tools/project-source-tool.js +188 -0
  92. package/dist/tools/project-workflow-tool.js +186 -0
  93. package/dist/tools/requirement-tool.js +212 -0
  94. package/dist/tools/scaffold-tool.js +815 -0
  95. package/dist/tools/seo-tool.js +412 -0
  96. package/dist/tools/source-tool.js +155 -0
  97. package/dist/tools/template-development-tool.js +271 -0
  98. package/dist/tools/template-overrides-tool.js +294 -0
  99. package/dist/tools/template-productivity-tool.js +319 -0
  100. package/dist/tools/template-tool.js +665 -0
  101. package/dist/tools/test-tool.js +183 -0
  102. package/dist/tools/webhook-tool.js +427 -0
  103. package/dist/tools/widget-tool.js +331 -0
  104. package/dist/tools/wysiwyg-tool.js +137 -0
  105. package/dist/types/scaffold.js +68 -0
  106. package/dist/utils/define-tool.js +37 -0
  107. package/dist/utils/find-tool.js +97 -0
  108. package/dist/utils/mcp-result.js +18 -0
  109. package/dist/utils/pagination.js +27 -0
  110. package/dist/utils/serialization.js +27 -0
  111. package/package.json +94 -0
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoreClassSchema = exports.RoutesMapSchema = exports.ControllerRouteSchema = exports.RouteRuleSchema = exports.ControllersMapSchema = exports.ControllerInfoSchema = exports.ControllerActionSchema = exports.EventsMapSchema = exports.EventRecordSchema = exports.DatabaseSchemaSchema = exports.DbTableSchema = exports.DbIndexSchema = exports.DbFieldSchema = exports.TraitInfoSchema = exports.TraitMethodSchema = exports.WidgetInfoSchema = exports.WidgetOptionSchema = exports.FieldInfoSchema = exports.FieldOptionSchema = exports.ComponentSchema = exports.ComponentMethodSchema = exports.HookSchema = exports.HookParamSchema = void 0;
4
+ exports.validateHook = validateHook;
5
+ exports.validateComponent = validateComponent;
6
+ exports.validateField = validateField;
7
+ exports.validateWidget = validateWidget;
8
+ exports.validateTrait = validateTrait;
9
+ exports.validateTable = validateTable;
10
+ exports.validateEvent = validateEvent;
11
+ exports.validateController = validateController;
12
+ exports.validateRoute = validateRoute;
13
+ exports.validateDatabaseSchema = validateDatabaseSchema;
14
+ exports.validateEventsMap = validateEventsMap;
15
+ exports.validateControllersMap = validateControllersMap;
16
+ exports.validateRoutesMap = validateRoutesMap;
17
+ exports.validateCoreClass = validateCoreClass;
18
+ const zod_1 = require("zod");
19
+ exports.HookParamSchema = zod_1.z.object({
20
+ name: zod_1.z.string(),
21
+ type: zod_1.z.string(),
22
+ description: zod_1.z.string(),
23
+ modifiable: zod_1.z.boolean().optional(),
24
+ });
25
+ exports.HookSchema = zod_1.z.object({
26
+ name: zod_1.z.string(),
27
+ type: zod_1.z.enum(['filter', 'action', 'filter|action']),
28
+ category: zod_1.z.string(),
29
+ description: zod_1.z.string(),
30
+ parameters: zod_1.z.array(exports.HookParamSchema),
31
+ return_type: zod_1.z.string(),
32
+ example: zod_1.z.string(),
33
+ since: zod_1.z.string().optional(),
34
+ });
35
+ exports.ComponentMethodSchema = zod_1.z.object({
36
+ name: zod_1.z.string(),
37
+ signature: zod_1.z.string(),
38
+ description: zod_1.z.string(),
39
+ parameters: zod_1.z.array(zod_1.z.object({
40
+ name: zod_1.z.string(),
41
+ type: zod_1.z.string(),
42
+ description: zod_1.z.string(),
43
+ required: zod_1.z.boolean().optional(),
44
+ default: zod_1.z.string().optional(),
45
+ })),
46
+ return_type: zod_1.z.string(),
47
+ example: zod_1.z.string(),
48
+ deprecated: zod_1.z.boolean().optional(),
49
+ });
50
+ exports.ComponentSchema = zod_1.z.object({
51
+ name: zod_1.z.string(),
52
+ class: zod_1.z.string(),
53
+ description: zod_1.z.string(),
54
+ access: zod_1.z.string(),
55
+ methods: zod_1.z.array(exports.ComponentMethodSchema),
56
+ });
57
+ exports.FieldOptionSchema = zod_1.z.object({
58
+ name: zod_1.z.string(),
59
+ type: zod_1.z.string(),
60
+ description: zod_1.z.string().optional(),
61
+ default: zod_1.z.any().optional(),
62
+ required: zod_1.z.boolean().optional(),
63
+ extended: zod_1.z.boolean().optional(),
64
+ visible_depend: zod_1.z.record(zod_1.z.string(), zod_1.z.record(zod_1.z.string(), zod_1.z.record(zod_1.z.string(), zod_1.z.array(zod_1.z.string())))).optional(),
65
+ hint: zod_1.z.string().optional(),
66
+ items: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
67
+ });
68
+ exports.FieldInfoSchema = zod_1.z.object({
69
+ name: zod_1.z.string(),
70
+ className: zod_1.z.string(),
71
+ filePath: zod_1.z.string(),
72
+ hasOptions: zod_1.z.boolean(),
73
+ isSystem: zod_1.z.boolean(),
74
+ options: zod_1.z.array(exports.FieldOptionSchema).optional(),
75
+ description: zod_1.z.string().optional(),
76
+ title: zod_1.z.string().optional(),
77
+ sqlTemplate: zod_1.z.string().optional(),
78
+ filterType: zod_1.z.string().optional(),
79
+ filterHint: zod_1.z.string().optional(),
80
+ varType: zod_1.z.string().optional(),
81
+ allowIndex: zod_1.z.boolean().optional(),
82
+ nativeTag: zod_1.z.boolean().optional(),
83
+ dynamicList: zod_1.z.boolean().optional(),
84
+ validationRules: zod_1.z.array(zod_1.z.string()).optional(),
85
+ methods: zod_1.z.object({
86
+ parse: zod_1.z.boolean().optional(),
87
+ store: zod_1.z.boolean().optional(),
88
+ getInput: zod_1.z.boolean().optional(),
89
+ applyFilter: zod_1.z.boolean().optional(),
90
+ getStringValue: zod_1.z.boolean().optional(),
91
+ getFilterInput: zod_1.z.boolean().optional(),
92
+ }).optional(),
93
+ });
94
+ exports.WidgetOptionSchema = zod_1.z.object({
95
+ name: zod_1.z.string(),
96
+ type: zod_1.z.string(),
97
+ description: zod_1.z.string().optional(),
98
+ });
99
+ exports.WidgetInfoSchema = zod_1.z.object({
100
+ name: zod_1.z.string(),
101
+ className: zod_1.z.string(),
102
+ controller: zod_1.z.string().optional(),
103
+ filePath: zod_1.z.string(),
104
+ hasOptionsForm: zod_1.z.boolean(),
105
+ optionsFormPath: zod_1.z.string().optional(),
106
+ description: zod_1.z.string().optional(),
107
+ });
108
+ exports.TraitMethodSchema = zod_1.z.object({
109
+ name: zod_1.z.string(),
110
+ visibility: zod_1.z.enum(['public', 'protected', 'private']),
111
+ params: zod_1.z.array(zod_1.z.string()),
112
+ description: zod_1.z.string().optional(),
113
+ });
114
+ exports.TraitInfoSchema = zod_1.z.object({
115
+ name: zod_1.z.string(),
116
+ namespace: zod_1.z.string(),
117
+ filePath: zod_1.z.string(),
118
+ methods: zod_1.z.array(exports.TraitMethodSchema),
119
+ description: zod_1.z.string().optional(),
120
+ });
121
+ exports.DbFieldSchema = zod_1.z.object({
122
+ name: zod_1.z.string(),
123
+ type: zod_1.z.string(),
124
+ nullable: zod_1.z.boolean(),
125
+ default: zod_1.z.string().optional(),
126
+ comment: zod_1.z.string().optional(),
127
+ key: zod_1.z.enum(['PRI', 'UNI', 'MUL']).optional(),
128
+ extra: zod_1.z.string().optional(),
129
+ });
130
+ exports.DbIndexSchema = zod_1.z.object({
131
+ name: zod_1.z.string(),
132
+ fields: zod_1.z.array(zod_1.z.string()),
133
+ type: zod_1.z.string().optional(),
134
+ });
135
+ exports.DbTableSchema = zod_1.z.object({
136
+ name: zod_1.z.string(),
137
+ comment: zod_1.z.string().optional(),
138
+ fields: zod_1.z.array(exports.DbFieldSchema),
139
+ indexes: zod_1.z.array(exports.DbIndexSchema),
140
+ });
141
+ exports.DatabaseSchemaSchema = zod_1.z.object({
142
+ tables: zod_1.z.array(exports.DbTableSchema),
143
+ tableCount: zod_1.z.number(),
144
+ generatedAt: zod_1.z.string(),
145
+ sourceFile: zod_1.z.string().optional(),
146
+ });
147
+ exports.EventRecordSchema = zod_1.z.object({
148
+ id: zod_1.z.number(),
149
+ event: zod_1.z.string(),
150
+ listener: zod_1.z.string(),
151
+ ordering: zod_1.z.number(),
152
+ isEnabled: zod_1.z.boolean(),
153
+ });
154
+ exports.EventsMapSchema = zod_1.z.object({
155
+ events: zod_1.z.array(exports.EventRecordSchema),
156
+ byController: zod_1.z.record(zod_1.z.string(), zod_1.z.array(zod_1.z.string())),
157
+ byEvent: zod_1.z.record(zod_1.z.string(), exports.EventRecordSchema),
158
+ eventCount: zod_1.z.number(),
159
+ generatedAt: zod_1.z.string(),
160
+ sourceFile: zod_1.z.string(),
161
+ });
162
+ exports.ControllerActionSchema = zod_1.z.object({
163
+ name: zod_1.z.string(),
164
+ className: zod_1.z.string(),
165
+ filePath: zod_1.z.string(),
166
+ visibility: zod_1.z.enum(['public', 'private', 'protected']),
167
+ hasParams: zod_1.z.boolean(),
168
+ params: zod_1.z.array(zod_1.z.string()),
169
+ traits: zod_1.z.array(zod_1.z.string()),
170
+ description: zod_1.z.string().optional(),
171
+ });
172
+ exports.ControllerInfoSchema = zod_1.z.object({
173
+ name: zod_1.z.string(),
174
+ className: zod_1.z.string(),
175
+ type: zod_1.z.enum(['frontend', 'backend']),
176
+ extends: zod_1.z.string(),
177
+ filePath: zod_1.z.string(),
178
+ actions: zod_1.z.array(exports.ControllerActionSchema),
179
+ hasBackendFolder: zod_1.z.boolean(),
180
+ hasModel: zod_1.z.boolean(),
181
+ modelFile: zod_1.z.string().optional(),
182
+ });
183
+ exports.ControllersMapSchema = zod_1.z.object({
184
+ controllers: zod_1.z.array(exports.ControllerInfoSchema),
185
+ byName: zod_1.z.record(zod_1.z.string(), exports.ControllerInfoSchema),
186
+ controllerCount: zod_1.z.number(),
187
+ generatedAt: zod_1.z.string(),
188
+ });
189
+ exports.RouteRuleSchema = zod_1.z.object({
190
+ pattern: zod_1.z.string(),
191
+ action: zod_1.z.string(),
192
+ params: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
193
+ });
194
+ exports.ControllerRouteSchema = zod_1.z.object({
195
+ name: zod_1.z.string(),
196
+ functionName: zod_1.z.string(),
197
+ filePath: zod_1.z.string(),
198
+ routes: zod_1.z.array(exports.RouteRuleSchema),
199
+ });
200
+ exports.RoutesMapSchema = zod_1.z.object({
201
+ controllers: zod_1.z.array(exports.ControllerRouteSchema),
202
+ routeCount: zod_1.z.number(),
203
+ generatedAt: zod_1.z.string(),
204
+ });
205
+ exports.CoreClassSchema = zod_1.z.object({
206
+ name: zod_1.z.string(),
207
+ extends: zod_1.z.string().optional(),
208
+ description: zod_1.z.string(),
209
+ file: zod_1.z.string(),
210
+ methods: zod_1.z.number(),
211
+ properties: zod_1.z.number(),
212
+ constants: zod_1.z.number(),
213
+ });
214
+ function validateHook(data) {
215
+ return exports.HookSchema.safeParse(data);
216
+ }
217
+ function validateComponent(data) {
218
+ return exports.ComponentSchema.safeParse(data);
219
+ }
220
+ function validateField(data) {
221
+ return exports.FieldInfoSchema.safeParse(data);
222
+ }
223
+ function validateWidget(data) {
224
+ return exports.WidgetInfoSchema.safeParse(data);
225
+ }
226
+ function validateTrait(data) {
227
+ return exports.TraitInfoSchema.safeParse(data);
228
+ }
229
+ function validateTable(data) {
230
+ return exports.DbTableSchema.safeParse(data);
231
+ }
232
+ function validateEvent(data) {
233
+ return exports.EventRecordSchema.safeParse(data);
234
+ }
235
+ function validateController(data) {
236
+ return exports.ControllerInfoSchema.safeParse(data);
237
+ }
238
+ function validateRoute(data) {
239
+ return exports.RouteRuleSchema.safeParse(data);
240
+ }
241
+ function validateDatabaseSchema(data) {
242
+ return exports.DatabaseSchemaSchema.safeParse(data);
243
+ }
244
+ function validateEventsMap(data) {
245
+ return exports.EventsMapSchema.safeParse(data);
246
+ }
247
+ function validateControllersMap(data) {
248
+ return exports.ControllersMapSchema.safeParse(data);
249
+ }
250
+ function validateRoutesMap(data) {
251
+ return exports.RoutesMapSchema.safeParse(data);
252
+ }
253
+ function validateCoreClass(data) {
254
+ return exports.CoreClassSchema.safeParse(data);
255
+ }