@defai.digital/ax-cli 3.14.9 → 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.
- package/README.md +17 -2
- package/dist/agent/execution/tool-executor.d.ts +6 -0
- package/dist/agent/execution/tool-executor.js +72 -0
- package/dist/agent/execution/tool-executor.js.map +1 -1
- package/dist/commands/design.d.ts +18 -0
- package/dist/commands/design.js +495 -0
- package/dist/commands/design.js.map +1 -0
- package/dist/commands/vscode.js +1 -1
- package/dist/commands/vscode.js.map +1 -1
- package/dist/design/figma-alias.d.ts +88 -0
- package/dist/design/figma-alias.js +324 -0
- package/dist/design/figma-alias.js.map +1 -0
- package/dist/design/figma-audit.d.ts +40 -0
- package/dist/design/figma-audit.js +375 -0
- package/dist/design/figma-audit.js.map +1 -0
- package/dist/design/figma-client.d.ts +123 -0
- package/dist/design/figma-client.js +316 -0
- package/dist/design/figma-client.js.map +1 -0
- package/dist/design/figma-map.d.ts +29 -0
- package/dist/design/figma-map.js +274 -0
- package/dist/design/figma-map.js.map +1 -0
- package/dist/design/figma-tokens.d.ts +73 -0
- package/dist/design/figma-tokens.js +431 -0
- package/dist/design/figma-tokens.js.map +1 -0
- package/dist/design/index.d.ts +13 -0
- package/dist/design/index.js +18 -0
- package/dist/design/index.js.map +1 -0
- package/dist/design/types.d.ts +89 -0
- package/dist/design/types.js +9 -0
- package/dist/design/types.js.map +1 -0
- package/dist/hooks/hook-runner.js +2 -2
- package/dist/hooks/hook-runner.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/ipc/vscode-client.js +1 -1
- package/dist/ipc/vscode-client.js.map +1 -1
- package/dist/llm/tools.js +170 -0
- package/dist/llm/tools.js.map +1 -1
- package/dist/mcp/client-v2.js +1 -1
- package/dist/mcp/client-v2.js.map +1 -1
- package/dist/mcp/validation.js +1 -1
- package/dist/mcp/validation.js.map +1 -1
- package/dist/permissions/permission-manager.js +2 -2
- package/dist/permissions/permission-manager.js.map +1 -1
- package/dist/tools/design-tool.d.ts +59 -0
- package/dist/tools/design-tool.js +258 -0
- package/dist/tools/design-tool.js.map +1 -0
- package/dist/ui/hooks/use-input-history.js +1 -1
- package/dist/ui/hooks/use-input-history.js.map +1 -1
- package/dist/ui/utils/image-handler.js +1 -1
- package/dist/ui/utils/image-handler.js.map +1 -1
- package/dist/utils/path-security.js +2 -2
- package/dist/utils/path-security.js.map +1 -1
- package/dist/utils/progress-tracker.js +1 -1
- package/dist/utils/progress-tracker.js.map +1 -1
- package/dist/utils/settings-manager.js +8 -3
- package/dist/utils/settings-manager.js.map +1 -1
- package/node_modules/@ax-cli/schemas/dist/index.d.ts +1 -0
- package/node_modules/@ax-cli/schemas/dist/index.d.ts.map +1 -1
- package/node_modules/@ax-cli/schemas/dist/index.js +2 -2
- package/node_modules/@ax-cli/schemas/dist/index.js.map +1 -1
- package/node_modules/@ax-cli/schemas/dist/public/design/alias-types.d.ts +346 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/alias-types.d.ts.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/alias-types.js +171 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/alias-types.js.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/audit-types.d.ts +545 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/audit-types.d.ts.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/audit-types.js +307 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/audit-types.js.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/figma-types.d.ts +1306 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/figma-types.d.ts.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/figma-types.js +428 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/figma-types.js.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/index.d.ts +13 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/index.d.ts.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/index.js +82 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/index.js.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/token-types.d.ts +1245 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/token-types.d.ts.map +1 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/token-types.js +282 -0
- package/node_modules/@ax-cli/schemas/dist/public/design/token-types.js.map +1 -0
- package/package.json +2 -2
- package/packages/schemas/dist/index.d.ts +1 -0
- package/packages/schemas/dist/index.d.ts.map +1 -1
- package/packages/schemas/dist/index.js +2 -2
- package/packages/schemas/dist/index.js.map +1 -1
- package/packages/schemas/dist/public/design/alias-types.d.ts +346 -0
- package/packages/schemas/dist/public/design/alias-types.d.ts.map +1 -0
- package/packages/schemas/dist/public/design/alias-types.js +171 -0
- package/packages/schemas/dist/public/design/alias-types.js.map +1 -0
- package/packages/schemas/dist/public/design/audit-types.d.ts +545 -0
- package/packages/schemas/dist/public/design/audit-types.d.ts.map +1 -0
- package/packages/schemas/dist/public/design/audit-types.js +307 -0
- package/packages/schemas/dist/public/design/audit-types.js.map +1 -0
- package/packages/schemas/dist/public/design/figma-types.d.ts +1306 -0
- package/packages/schemas/dist/public/design/figma-types.d.ts.map +1 -0
- package/packages/schemas/dist/public/design/figma-types.js +428 -0
- package/packages/schemas/dist/public/design/figma-types.js.map +1 -0
- package/packages/schemas/dist/public/design/index.d.ts +13 -0
- package/packages/schemas/dist/public/design/index.d.ts.map +1 -0
- package/packages/schemas/dist/public/design/index.js +82 -0
- package/packages/schemas/dist/public/design/index.js.map +1 -0
- package/packages/schemas/dist/public/design/token-types.d.ts +1245 -0
- package/packages/schemas/dist/public/design/token-types.d.ts.map +1 -0
- package/packages/schemas/dist/public/design/token-types.js +282 -0
- 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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"}
|