@defai.digital/ax-cli 3.14.10 → 3.14.11

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 (106) hide show
  1. package/README.md +10 -1
  2. package/dist/agent/execution/tool-executor.d.ts +6 -0
  3. package/dist/agent/execution/tool-executor.js +72 -0
  4. package/dist/agent/execution/tool-executor.js.map +1 -1
  5. package/dist/commands/design.d.ts +18 -0
  6. package/dist/commands/design.js +495 -0
  7. package/dist/commands/design.js.map +1 -0
  8. package/dist/commands/vscode.js +1 -1
  9. package/dist/commands/vscode.js.map +1 -1
  10. package/dist/design/figma-alias.d.ts +88 -0
  11. package/dist/design/figma-alias.js +324 -0
  12. package/dist/design/figma-alias.js.map +1 -0
  13. package/dist/design/figma-audit.d.ts +40 -0
  14. package/dist/design/figma-audit.js +375 -0
  15. package/dist/design/figma-audit.js.map +1 -0
  16. package/dist/design/figma-client.d.ts +123 -0
  17. package/dist/design/figma-client.js +316 -0
  18. package/dist/design/figma-client.js.map +1 -0
  19. package/dist/design/figma-map.d.ts +29 -0
  20. package/dist/design/figma-map.js +274 -0
  21. package/dist/design/figma-map.js.map +1 -0
  22. package/dist/design/figma-tokens.d.ts +73 -0
  23. package/dist/design/figma-tokens.js +431 -0
  24. package/dist/design/figma-tokens.js.map +1 -0
  25. package/dist/design/index.d.ts +13 -0
  26. package/dist/design/index.js +18 -0
  27. package/dist/design/index.js.map +1 -0
  28. package/dist/design/types.d.ts +89 -0
  29. package/dist/design/types.js +9 -0
  30. package/dist/design/types.js.map +1 -0
  31. package/dist/hooks/hook-runner.js +2 -2
  32. package/dist/hooks/hook-runner.js.map +1 -1
  33. package/dist/index.js +3 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/ipc/vscode-client.js +1 -1
  36. package/dist/ipc/vscode-client.js.map +1 -1
  37. package/dist/llm/tools.js +170 -0
  38. package/dist/llm/tools.js.map +1 -1
  39. package/dist/mcp/client-v2.js +1 -1
  40. package/dist/mcp/client-v2.js.map +1 -1
  41. package/dist/mcp/validation.js +1 -1
  42. package/dist/mcp/validation.js.map +1 -1
  43. package/dist/permissions/permission-manager.js +2 -2
  44. package/dist/permissions/permission-manager.js.map +1 -1
  45. package/dist/tools/design-tool.d.ts +59 -0
  46. package/dist/tools/design-tool.js +258 -0
  47. package/dist/tools/design-tool.js.map +1 -0
  48. package/dist/ui/hooks/use-input-history.js +1 -1
  49. package/dist/ui/hooks/use-input-history.js.map +1 -1
  50. package/dist/ui/utils/image-handler.js +1 -1
  51. package/dist/ui/utils/image-handler.js.map +1 -1
  52. package/dist/utils/path-security.js +2 -2
  53. package/dist/utils/path-security.js.map +1 -1
  54. package/dist/utils/progress-tracker.js +1 -1
  55. package/dist/utils/progress-tracker.js.map +1 -1
  56. package/dist/utils/settings-manager.js +8 -3
  57. package/dist/utils/settings-manager.js.map +1 -1
  58. package/node_modules/@ax-cli/schemas/dist/index.d.ts +1 -0
  59. package/node_modules/@ax-cli/schemas/dist/index.d.ts.map +1 -1
  60. package/node_modules/@ax-cli/schemas/dist/index.js +2 -2
  61. package/node_modules/@ax-cli/schemas/dist/index.js.map +1 -1
  62. package/node_modules/@ax-cli/schemas/dist/public/design/alias-types.d.ts +346 -0
  63. package/node_modules/@ax-cli/schemas/dist/public/design/alias-types.d.ts.map +1 -0
  64. package/node_modules/@ax-cli/schemas/dist/public/design/alias-types.js +171 -0
  65. package/node_modules/@ax-cli/schemas/dist/public/design/alias-types.js.map +1 -0
  66. package/node_modules/@ax-cli/schemas/dist/public/design/audit-types.d.ts +545 -0
  67. package/node_modules/@ax-cli/schemas/dist/public/design/audit-types.d.ts.map +1 -0
  68. package/node_modules/@ax-cli/schemas/dist/public/design/audit-types.js +307 -0
  69. package/node_modules/@ax-cli/schemas/dist/public/design/audit-types.js.map +1 -0
  70. package/node_modules/@ax-cli/schemas/dist/public/design/figma-types.d.ts +1306 -0
  71. package/node_modules/@ax-cli/schemas/dist/public/design/figma-types.d.ts.map +1 -0
  72. package/node_modules/@ax-cli/schemas/dist/public/design/figma-types.js +428 -0
  73. package/node_modules/@ax-cli/schemas/dist/public/design/figma-types.js.map +1 -0
  74. package/node_modules/@ax-cli/schemas/dist/public/design/index.d.ts +13 -0
  75. package/node_modules/@ax-cli/schemas/dist/public/design/index.d.ts.map +1 -0
  76. package/node_modules/@ax-cli/schemas/dist/public/design/index.js +82 -0
  77. package/node_modules/@ax-cli/schemas/dist/public/design/index.js.map +1 -0
  78. package/node_modules/@ax-cli/schemas/dist/public/design/token-types.d.ts +1245 -0
  79. package/node_modules/@ax-cli/schemas/dist/public/design/token-types.d.ts.map +1 -0
  80. package/node_modules/@ax-cli/schemas/dist/public/design/token-types.js +282 -0
  81. package/node_modules/@ax-cli/schemas/dist/public/design/token-types.js.map +1 -0
  82. package/package.json +1 -1
  83. package/packages/schemas/dist/index.d.ts +1 -0
  84. package/packages/schemas/dist/index.d.ts.map +1 -1
  85. package/packages/schemas/dist/index.js +2 -2
  86. package/packages/schemas/dist/index.js.map +1 -1
  87. package/packages/schemas/dist/public/design/alias-types.d.ts +346 -0
  88. package/packages/schemas/dist/public/design/alias-types.d.ts.map +1 -0
  89. package/packages/schemas/dist/public/design/alias-types.js +171 -0
  90. package/packages/schemas/dist/public/design/alias-types.js.map +1 -0
  91. package/packages/schemas/dist/public/design/audit-types.d.ts +545 -0
  92. package/packages/schemas/dist/public/design/audit-types.d.ts.map +1 -0
  93. package/packages/schemas/dist/public/design/audit-types.js +307 -0
  94. package/packages/schemas/dist/public/design/audit-types.js.map +1 -0
  95. package/packages/schemas/dist/public/design/figma-types.d.ts +1306 -0
  96. package/packages/schemas/dist/public/design/figma-types.d.ts.map +1 -0
  97. package/packages/schemas/dist/public/design/figma-types.js +428 -0
  98. package/packages/schemas/dist/public/design/figma-types.js.map +1 -0
  99. package/packages/schemas/dist/public/design/index.d.ts +13 -0
  100. package/packages/schemas/dist/public/design/index.d.ts.map +1 -0
  101. package/packages/schemas/dist/public/design/index.js +82 -0
  102. package/packages/schemas/dist/public/design/index.js.map +1 -0
  103. package/packages/schemas/dist/public/design/token-types.d.ts +1245 -0
  104. package/packages/schemas/dist/public/design/token-types.d.ts.map +1 -0
  105. package/packages/schemas/dist/public/design/token-types.js +282 -0
  106. package/packages/schemas/dist/public/design/token-types.js.map +1 -0
@@ -0,0 +1,307 @@
1
+ /**
2
+ * Design Audit Schemas
3
+ *
4
+ * Zod schemas for rule-based design audit results.
5
+ *
6
+ * @module design/audit-types
7
+ */
8
+ import { z } from 'zod';
9
+ // =============================================================================
10
+ // Audit Rule Types
11
+ // =============================================================================
12
+ /**
13
+ * Audit rule severity levels
14
+ */
15
+ export const AuditSeveritySchema = z.enum(['error', 'warning', 'info']);
16
+ /**
17
+ * Available audit rule IDs
18
+ */
19
+ export const AuditRuleIdSchema = z.enum([
20
+ 'spacing-consistency',
21
+ 'color-contrast',
22
+ 'naming-convention',
23
+ 'token-usage',
24
+ 'missing-autolayout',
25
+ 'font-consistency',
26
+ 'layer-naming',
27
+ 'component-usage',
28
+ 'image-resolution',
29
+ 'text-overflow',
30
+ ]);
31
+ /**
32
+ * Audit rule definition
33
+ */
34
+ export const AuditRuleSchema = z.object({
35
+ id: AuditRuleIdSchema,
36
+ name: z.string(),
37
+ description: z.string(),
38
+ severity: AuditSeveritySchema,
39
+ category: z.enum(['consistency', 'accessibility', 'naming', 'performance', 'best-practices']),
40
+ enabled: z.boolean().default(true),
41
+ });
42
+ // =============================================================================
43
+ // Audit Issue Types
44
+ // =============================================================================
45
+ /**
46
+ * Location of an issue within the design
47
+ */
48
+ export const AuditIssueLocationSchema = z.object({
49
+ nodeId: z.string(),
50
+ nodeName: z.string(),
51
+ nodePath: z.string(), // e.g., "Page > Frame > Button"
52
+ nodeType: z.string(),
53
+ });
54
+ /**
55
+ * Single audit issue
56
+ */
57
+ export const AuditIssueSchema = z.object({
58
+ ruleId: AuditRuleIdSchema,
59
+ severity: AuditSeveritySchema,
60
+ message: z.string(),
61
+ location: AuditIssueLocationSchema,
62
+ details: z.record(z.unknown()).optional(),
63
+ suggestion: z.string().optional(),
64
+ // For comparisons (expected vs actual)
65
+ expected: z.unknown().optional(),
66
+ actual: z.unknown().optional(),
67
+ });
68
+ // =============================================================================
69
+ // Audit Result Types
70
+ // =============================================================================
71
+ /**
72
+ * Summary statistics for an audit
73
+ */
74
+ export const AuditSummarySchema = z.object({
75
+ totalNodes: z.number(),
76
+ nodesAudited: z.number(),
77
+ issueCount: z.object({
78
+ error: z.number(),
79
+ warning: z.number(),
80
+ info: z.number(),
81
+ total: z.number(),
82
+ }),
83
+ passRate: z.number().min(0).max(100), // Percentage
84
+ rulesRun: z.array(AuditRuleIdSchema),
85
+ duration: z.number(), // ms
86
+ });
87
+ /**
88
+ * Full audit result
89
+ */
90
+ export const AuditResultSchema = z.object({
91
+ fileKey: z.string(),
92
+ fileName: z.string().optional(),
93
+ targetNodeId: z.string().optional(),
94
+ targetAlias: z.string().optional(),
95
+ timestamp: z.string().datetime(),
96
+ summary: AuditSummarySchema,
97
+ issues: z.array(AuditIssueSchema),
98
+ metadata: z.object({
99
+ figmaVersion: z.string().optional(),
100
+ axCliVersion: z.string().optional(),
101
+ configPath: z.string().optional(),
102
+ }).optional(),
103
+ });
104
+ // =============================================================================
105
+ // Audit Configuration Types
106
+ // =============================================================================
107
+ /**
108
+ * Rule-specific configuration overrides
109
+ */
110
+ export const RuleConfigOverrideSchema = z.object({
111
+ enabled: z.boolean().optional(),
112
+ severity: AuditSeveritySchema.optional(),
113
+ options: z.record(z.unknown()).optional(),
114
+ });
115
+ /**
116
+ * Audit configuration options
117
+ */
118
+ export const AuditConfigSchema = z.object({
119
+ /** Which rules to run (default: all) */
120
+ rules: z.array(AuditRuleIdSchema).optional(),
121
+ /** Exclude specific rules */
122
+ excludeRules: z.array(AuditRuleIdSchema).optional(),
123
+ /** Per-rule configuration */
124
+ ruleConfig: z.record(AuditRuleIdSchema, RuleConfigOverrideSchema).optional(),
125
+ /** Maximum depth to traverse */
126
+ maxDepth: z.number().positive().optional(),
127
+ /** Fail on error-level issues */
128
+ failOnError: z.boolean().default(true),
129
+ /** Fail on warning-level issues */
130
+ failOnWarning: z.boolean().default(false),
131
+ /** Include hidden nodes */
132
+ includeHidden: z.boolean().default(false),
133
+ /** Reference tokens file for token-usage rule */
134
+ tokensPath: z.string().optional(),
135
+ });
136
+ // =============================================================================
137
+ // Rule-Specific Configuration Types
138
+ // =============================================================================
139
+ /**
140
+ * Color contrast rule options
141
+ */
142
+ export const ColorContrastOptionsSchema = z.object({
143
+ /** WCAG level to check */
144
+ level: z.enum(['AA', 'AAA']).default('AA'),
145
+ /** Minimum contrast ratio for normal text */
146
+ normalTextRatio: z.number().default(4.5),
147
+ /** Minimum contrast ratio for large text */
148
+ largeTextRatio: z.number().default(3),
149
+ /** Font size threshold for "large text" (px) */
150
+ largeTextSize: z.number().default(18),
151
+ });
152
+ /**
153
+ * Spacing consistency rule options
154
+ */
155
+ export const SpacingConsistencyOptionsSchema = z.object({
156
+ /** Allowed spacing values (px) */
157
+ allowedValues: z.array(z.number()).optional(),
158
+ /** Base spacing unit */
159
+ baseUnit: z.number().default(4),
160
+ /** Allow multiples of base unit */
161
+ allowMultiples: z.boolean().default(true),
162
+ });
163
+ /**
164
+ * Naming convention rule options
165
+ */
166
+ export const NamingConventionOptionsSchema = z.object({
167
+ /** Pattern for frame names */
168
+ framePattern: z.string().optional(),
169
+ /** Pattern for component names */
170
+ componentPattern: z.string().optional(),
171
+ /** Pattern for layer names */
172
+ layerPattern: z.string().optional(),
173
+ /** Disallowed names */
174
+ disallowed: z.array(z.string()).default(['Frame 1', 'Rectangle 1', 'Group 1']),
175
+ });
176
+ // =============================================================================
177
+ // CI/CD Output Types
178
+ // =============================================================================
179
+ /**
180
+ * Exit code mapping for CI/CD
181
+ */
182
+ export const AuditExitCodeSchema = z.object({
183
+ code: z.number(),
184
+ reason: z.enum(['success', 'warnings', 'errors', 'fatal']),
185
+ summary: z.string(),
186
+ });
187
+ /**
188
+ * Compute exit code from audit result
189
+ */
190
+ export function computeAuditExitCode(result, config) {
191
+ const { issueCount } = result.summary;
192
+ if (issueCount.error > 0 && config.failOnError) {
193
+ return {
194
+ code: 1,
195
+ reason: 'errors',
196
+ summary: `${issueCount.error} error(s) found`,
197
+ };
198
+ }
199
+ if (issueCount.warning > 0 && config.failOnWarning) {
200
+ return {
201
+ code: 1,
202
+ reason: 'warnings',
203
+ summary: `${issueCount.warning} warning(s) found`,
204
+ };
205
+ }
206
+ if (issueCount.total === 0) {
207
+ return {
208
+ code: 0,
209
+ reason: 'success',
210
+ summary: 'No issues found',
211
+ };
212
+ }
213
+ return {
214
+ code: 0,
215
+ reason: 'success',
216
+ summary: `${issueCount.total} issue(s) found (non-blocking)`,
217
+ };
218
+ }
219
+ // =============================================================================
220
+ // Default Rules
221
+ // =============================================================================
222
+ /**
223
+ * Default audit rules configuration
224
+ */
225
+ export const DEFAULT_AUDIT_RULES = [
226
+ {
227
+ id: 'spacing-consistency',
228
+ name: 'Spacing Consistency',
229
+ description: 'Check that spacing values match design system tokens',
230
+ severity: 'warning',
231
+ category: 'consistency',
232
+ enabled: true,
233
+ },
234
+ {
235
+ id: 'color-contrast',
236
+ name: 'Color Contrast',
237
+ description: 'Check WCAG color contrast requirements',
238
+ severity: 'error',
239
+ category: 'accessibility',
240
+ enabled: true,
241
+ },
242
+ {
243
+ id: 'naming-convention',
244
+ name: 'Naming Convention',
245
+ description: 'Check that layer names follow conventions',
246
+ severity: 'info',
247
+ category: 'naming',
248
+ enabled: true,
249
+ },
250
+ {
251
+ id: 'token-usage',
252
+ name: 'Token Usage',
253
+ description: 'Check that colors and text styles use defined tokens',
254
+ severity: 'warning',
255
+ category: 'consistency',
256
+ enabled: true,
257
+ },
258
+ {
259
+ id: 'missing-autolayout',
260
+ name: 'Missing Auto-Layout',
261
+ description: 'Identify frames without auto-layout that might benefit from it',
262
+ severity: 'info',
263
+ category: 'best-practices',
264
+ enabled: true,
265
+ },
266
+ {
267
+ id: 'font-consistency',
268
+ name: 'Font Consistency',
269
+ description: 'Check that fonts match design system typography',
270
+ severity: 'warning',
271
+ category: 'consistency',
272
+ enabled: true,
273
+ },
274
+ {
275
+ id: 'layer-naming',
276
+ name: 'Layer Naming',
277
+ description: 'Check for generic layer names (Frame 1, Rectangle 1, etc.)',
278
+ severity: 'info',
279
+ category: 'naming',
280
+ enabled: true,
281
+ },
282
+ {
283
+ id: 'component-usage',
284
+ name: 'Component Usage',
285
+ description: 'Check that components are used instead of detached instances',
286
+ severity: 'warning',
287
+ category: 'best-practices',
288
+ enabled: true,
289
+ },
290
+ {
291
+ id: 'image-resolution',
292
+ name: 'Image Resolution',
293
+ description: 'Check that images have sufficient resolution for export',
294
+ severity: 'warning',
295
+ category: 'performance',
296
+ enabled: false, // Disabled by default, requires additional API calls
297
+ },
298
+ {
299
+ id: 'text-overflow',
300
+ name: 'Text Overflow',
301
+ description: 'Detect text that may overflow its container',
302
+ severity: 'warning',
303
+ category: 'best-practices',
304
+ enabled: true,
305
+ },
306
+ ];
307
+ //# sourceMappingURL=audit-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-types.js","sourceRoot":"","sources":["../../../src/public/design/audit-types.ts"],"names":[],"mappings":"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"}