@schemyx/mcp 0.1.1 → 0.1.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.
@@ -123,6 +123,10 @@ export interface AnalyzedFile {
123
123
  modules: string[];
124
124
  models: string[];
125
125
  modelFields: Record<string, string[]>;
126
+ databaseModels: DatabaseModelContract[];
127
+ databaseEnums: DatabaseEnumContract[];
128
+ databaseMigrations: DatabaseMigrationContract[];
129
+ databaseAccesses: DatabaseAccessContract[];
126
130
  cssVariables: string[];
127
131
  cssVariableValues: CssVariableValue[];
128
132
  cssRules: CssRuleDetail[];
@@ -157,6 +161,128 @@ export interface AnalyzedFile {
157
161
  summary: string;
158
162
  tags: string[];
159
163
  }
164
+ export type DatabaseProvider = 'prisma' | 'sql' | 'drizzle' | 'typeorm' | 'sequelize' | 'mongoose' | 'django' | 'rails' | 'laravel' | 'generic-orm';
165
+ export type DatabaseModelKind = 'model' | 'table' | 'collection';
166
+ export type DatabaseAccessOperation = 'read' | 'create' | 'update' | 'delete' | 'upsert' | 'write' | 'aggregate' | 'transaction' | 'raw-sql' | 'unknown';
167
+ export interface DatabaseFieldContract {
168
+ name: string;
169
+ type?: string;
170
+ databaseName?: string;
171
+ required?: boolean;
172
+ optional?: boolean;
173
+ list?: boolean;
174
+ id?: boolean;
175
+ unique?: boolean;
176
+ indexed?: boolean;
177
+ generated?: boolean;
178
+ updatedAt?: boolean;
179
+ default?: string;
180
+ enumName?: string;
181
+ nativeType?: string;
182
+ relation?: {
183
+ model?: string;
184
+ name?: string;
185
+ fields: string[];
186
+ references: string[];
187
+ onDelete?: string;
188
+ onUpdate?: string;
189
+ };
190
+ line: number;
191
+ source: DatabaseProvider;
192
+ raw?: string;
193
+ }
194
+ export interface DatabaseIndexContract {
195
+ kind: 'primary' | 'unique' | 'index' | 'foreign';
196
+ name?: string;
197
+ fields: string[];
198
+ references?: {
199
+ table: string;
200
+ fields: string[];
201
+ };
202
+ line: number;
203
+ }
204
+ export interface DatabaseRelationContract {
205
+ fromModel: string;
206
+ fromFields: string[];
207
+ toModel: string;
208
+ toFields: string[];
209
+ name?: string;
210
+ onDelete?: string;
211
+ onUpdate?: string;
212
+ line: number;
213
+ confidence: Confidence;
214
+ }
215
+ export interface DatabaseModelContract {
216
+ name: string;
217
+ tableName?: string;
218
+ kind: DatabaseModelKind;
219
+ provider: DatabaseProvider;
220
+ framework?: string;
221
+ fields: DatabaseFieldContract[];
222
+ fieldNames: string[];
223
+ primaryKey: string[];
224
+ uniqueFields: string[][];
225
+ indexes: DatabaseIndexContract[];
226
+ relations: DatabaseRelationContract[];
227
+ enumRefs: string[];
228
+ map?: string;
229
+ line: number;
230
+ confidence: Confidence;
231
+ sourcePath: string;
232
+ }
233
+ export interface DatabaseEnumContract {
234
+ name: string;
235
+ values: string[];
236
+ provider: DatabaseProvider;
237
+ map?: string;
238
+ line: number;
239
+ confidence: Confidence;
240
+ sourcePath: string;
241
+ }
242
+ export interface DatabaseMigrationOperation {
243
+ kind: 'create-table' | 'alter-table' | 'drop-table' | 'create-index' | 'drop-index' | 'create-enum' | 'drop-enum' | 'insert-seed' | 'update-data' | 'delete-data' | 'raw-sql' | 'unknown';
244
+ target?: string;
245
+ fields?: string[];
246
+ columns?: string[];
247
+ references?: {
248
+ table: string;
249
+ columns: string[];
250
+ };
251
+ name?: string;
252
+ destructive?: boolean;
253
+ line: number;
254
+ statement?: string;
255
+ }
256
+ export interface DatabaseMigrationContract {
257
+ name: string;
258
+ path: string;
259
+ provider: DatabaseProvider;
260
+ operations: DatabaseMigrationOperation[];
261
+ creates: string[];
262
+ alters: string[];
263
+ drops: string[];
264
+ indexes: string[];
265
+ enums: string[];
266
+ seedLike: boolean;
267
+ destructive: boolean;
268
+ confidence: Confidence;
269
+ }
270
+ export interface DatabaseAccessContract {
271
+ operation: DatabaseAccessOperation;
272
+ model?: string;
273
+ table?: string;
274
+ receiver?: string;
275
+ method?: string;
276
+ framework: DatabaseProvider;
277
+ line: number;
278
+ fields: string[];
279
+ whereFields: string[];
280
+ relationHints: string[];
281
+ transactional?: boolean;
282
+ raw?: boolean;
283
+ confidence: Confidence;
284
+ risk: string[];
285
+ }
160
286
  export interface BackendEndpointParam {
161
287
  name: string;
162
288
  source: 'body' | 'query' | 'path' | 'request' | 'response' | 'current-user' | 'unknown';
@@ -253,6 +379,70 @@ export interface BackendOperationContract {
253
379
  logging: BackendLoggingContract[];
254
380
  risk: string[];
255
381
  }
382
+ export interface UiLayoutSafety {
383
+ wrapClasses: string[];
384
+ overflowClasses: string[];
385
+ minSizeClasses: string[];
386
+ maxSizeClasses: string[];
387
+ fitClasses: string[];
388
+ flexBehaviorClasses: string[];
389
+ layoutSafetyClasses: string[];
390
+ }
391
+ export interface UiResponsiveProfile {
392
+ breakpoints: Record<string, string[]>;
393
+ layoutClasses: string[];
394
+ typographyClasses: string[];
395
+ spacingClasses: string[];
396
+ sizingClasses: string[];
397
+ visibilityClasses: string[];
398
+ stateClasses: string[];
399
+ }
400
+ export interface UiScaleProfile {
401
+ typographyClasses: string[];
402
+ spacingClasses: string[];
403
+ sizingClasses: string[];
404
+ gapClasses: string[];
405
+ maxWidthClasses: string[];
406
+ lineHeightClasses: string[];
407
+ }
408
+ export interface UiSemanticProfile {
409
+ roles: string[];
410
+ isCompound: boolean;
411
+ hasIcon: boolean;
412
+ hasDivider: boolean;
413
+ hasImage: boolean;
414
+ hasMultipleTextStyles: boolean;
415
+ textStyleCount: number;
416
+ childCount: number;
417
+ }
418
+ export interface UiRoleSignature {
419
+ role: string;
420
+ roleGroup: string;
421
+ scale: string;
422
+ density: string;
423
+ surface: string;
424
+ layout: string;
425
+ flags: string[];
426
+ exactClassFacts: string[];
427
+ childRoles?: string[];
428
+ childKinds?: string[];
429
+ }
430
+ export interface UiContract {
431
+ identity: Record<string, unknown>;
432
+ semantics: Record<string, unknown>;
433
+ visual: Record<string, unknown>;
434
+ layout: Record<string, unknown>;
435
+ responsiveVariants: Record<string, unknown>;
436
+ interactionVariants: Record<string, unknown>;
437
+ safetyRules: Record<string, unknown>;
438
+ sourceEvidence: Record<string, unknown>;
439
+ }
440
+ export interface UiRelationships {
441
+ parentContext?: unknown;
442
+ childStructureContract?: unknown;
443
+ compoundStructure?: unknown;
444
+ graphKeys: string[];
445
+ }
256
446
  export interface UiElement {
257
447
  index: number;
258
448
  kind: string;
@@ -275,6 +465,11 @@ export interface UiElement {
275
465
  classGroups?: Record<string, string[]>;
276
466
  responsiveClasses?: string[];
277
467
  stateClasses?: string[];
468
+ layoutSafety?: UiLayoutSafety;
469
+ responsiveProfile?: UiResponsiveProfile;
470
+ scaleProfile?: UiScaleProfile;
471
+ semanticProfile?: UiSemanticProfile;
472
+ roleSignature?: UiRoleSignature;
278
473
  childSummary?: UiElementChildSummary[];
279
474
  id?: string;
280
475
  role?: string;
@@ -284,6 +479,8 @@ export interface UiElement {
284
479
  method?: string;
285
480
  props?: Record<string, string>;
286
481
  variants?: Record<string, string>;
482
+ styleHelper?: string;
483
+ styleHelperVariants?: Record<string, string>;
287
484
  evidence: string;
288
485
  }
289
486
  export interface UiElementChildSummary {
@@ -295,6 +492,16 @@ export interface UiElementChildSummary {
295
492
  classes: string[];
296
493
  defaultClasses?: string[];
297
494
  conditionalClasses?: string[];
495
+ layoutSafety?: UiLayoutSafety;
496
+ responsiveProfile?: UiResponsiveProfile;
497
+ scaleProfile?: UiScaleProfile;
498
+ semanticRole?: string;
499
+ semanticProfile?: UiSemanticProfile;
500
+ roleSignature?: UiRoleSignature;
501
+ props?: Record<string, string>;
502
+ variants?: Record<string, string>;
503
+ styleHelper?: string;
504
+ styleHelperVariants?: Record<string, string>;
298
505
  label?: string;
299
506
  }
300
507
  export interface ConnectedPatternEvidence {
@@ -321,6 +528,12 @@ export interface ConnectedPatternInstance {
321
528
  conditionalClasses?: string[];
322
529
  decorativeAccentClasses?: string[];
323
530
  classGroups?: Record<string, string[]>;
531
+ layoutSafety?: UiLayoutSafety;
532
+ responsiveProfile?: UiResponsiveProfile;
533
+ scaleProfile?: UiScaleProfile;
534
+ semanticProfile?: UiSemanticProfile;
535
+ roleSignature?: UiRoleSignature;
536
+ uiContract?: UiContract;
324
537
  };
325
538
  children?: Array<Record<string, unknown>>;
326
539
  graphKeys: string[];
@@ -358,6 +571,7 @@ export interface CssRuleDetail {
358
571
  selector: string;
359
572
  declarations: CssDeclaration[];
360
573
  line: number;
574
+ media?: string;
361
575
  }
362
576
  export interface ClassExpression {
363
577
  kind: 'attribute' | 'helper' | 'variant-definition' | 'string-literal';
@@ -367,6 +581,8 @@ export interface ClassExpression {
367
581
  conditionalClasses?: string[];
368
582
  line: number;
369
583
  target?: string;
584
+ styleHelper?: string;
585
+ styleHelperVariants?: Record<string, string>;
370
586
  }
371
587
  export interface ClassSourceAnalysis {
372
588
  classes: string[];
@@ -374,6 +590,11 @@ export interface ClassSourceAnalysis {
374
590
  conditionalClasses: string[];
375
591
  decorativeAccentClasses: string[];
376
592
  }
593
+ export interface ClassHelperUsage {
594
+ name: string;
595
+ variantProps: Record<string, string>;
596
+ call: string;
597
+ }
377
598
  export interface StringLiteralRange {
378
599
  value: string;
379
600
  start: number;
@@ -519,4 +740,5 @@ export interface SearchMatch {
519
740
  score: number;
520
741
  scores?: PatternScores;
521
742
  decision?: PatternDecision;
743
+ roles?: string[];
522
744
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schemyx/mcp",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Local stdio MCP server for reading Schemyx project configs and Theme Forge artifacts.",
5
5
  "license": "Proprietary",
6
6
  "type": "commonjs",