@defai.digital/ax-cli 4.1.11 → 4.1.15
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/.ax-cli/settings.json +1 -0
- package/README.md +140 -589
- package/bin/ax-cli +6 -0
- package/dist/agent/dependency-resolver.d.ts +7 -0
- package/dist/agent/dependency-resolver.js +46 -18
- package/dist/agent/dependency-resolver.js.map +1 -1
- package/dist/agent/execution/tool-executor.d.ts +4 -0
- package/dist/agent/execution/tool-executor.js +76 -52
- package/dist/agent/execution/tool-executor.js.map +1 -1
- package/dist/agent/parallel-tools.d.ts +4 -0
- package/dist/agent/parallel-tools.js +65 -24
- package/dist/agent/parallel-tools.js.map +1 -1
- package/dist/agent/planning/plan-executor.d.ts +0 -5
- package/dist/agent/planning/plan-executor.js +23 -6
- package/dist/agent/planning/plan-executor.js.map +1 -1
- package/dist/agent/streaming/stream-handler.js +7 -4
- package/dist/agent/streaming/stream-handler.js.map +1 -1
- package/dist/agent/subagent-orchestrator.d.ts +35 -2
- package/dist/agent/subagent-orchestrator.js +188 -146
- package/dist/agent/subagent-orchestrator.js.map +1 -1
- package/dist/agent/subagent-types.js +3 -1
- package/dist/agent/subagent-types.js.map +1 -1
- package/dist/agent/subagent.d.ts +15 -4
- package/dist/agent/subagent.js +91 -72
- package/dist/agent/subagent.js.map +1 -1
- package/dist/design/figma-alias.d.ts +77 -0
- package/dist/design/figma-alias.js +246 -0
- package/dist/design/figma-alias.js.map +1 -1
- package/dist/design/figma-client.d.ts +4 -0
- package/dist/design/figma-client.js +24 -4
- package/dist/design/figma-client.js.map +1 -1
- package/dist/design/figma-map.js +78 -6
- package/dist/design/figma-map.js.map +1 -1
- package/dist/design/figma-tokens.js +6 -2
- package/dist/design/figma-tokens.js.map +1 -1
- package/dist/design/index.d.ts +1 -1
- package/dist/design/index.js +3 -1
- package/dist/design/index.js.map +1 -1
- package/dist/design/types.d.ts +9 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/client-v2.js +4 -0
- package/dist/mcp/client-v2.js.map +1 -1
- package/dist/mcp/config-detector.js +3 -4
- package/dist/mcp/config-detector.js.map +1 -1
- package/dist/mcp/debug.d.ts +207 -0
- package/dist/mcp/debug.js +398 -0
- package/dist/mcp/debug.js.map +1 -0
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.js +4 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/reconnection.js +6 -3
- package/dist/mcp/reconnection.js.map +1 -1
- package/dist/mcp/validation.js +15 -6
- package/dist/mcp/validation.js.map +1 -1
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.js +2 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/provider-context-store.d.ts +127 -0
- package/dist/memory/provider-context-store.js +385 -0
- package/dist/memory/provider-context-store.js.map +1 -0
- package/dist/sdk/errors.d.ts +2 -0
- package/dist/sdk/errors.js +2 -0
- package/dist/sdk/errors.js.map +1 -1
- package/dist/sdk/index.d.ts +633 -62
- package/dist/sdk/index.js +854 -116
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/testing.d.ts +46 -4
- package/dist/sdk/testing.js +58 -6
- package/dist/sdk/testing.js.map +1 -1
- package/dist/sdk/version.d.ts +13 -9
- package/dist/sdk/version.js +13 -9
- package/dist/sdk/version.js.map +1 -1
- package/dist/utils/file-lock.d.ts +141 -0
- package/dist/utils/file-lock.js +559 -0
- package/dist/utils/file-lock.js.map +1 -0
- package/dist/utils/provider-context.d.ts +243 -0
- package/dist/utils/provider-context.js +421 -0
- package/dist/utils/provider-context.js.map +1 -0
- package/dist/utils/provider-file-cache.d.ts +91 -0
- package/dist/utils/provider-file-cache.js +165 -0
- package/dist/utils/provider-file-cache.js.map +1 -0
- package/dist/utils/provider-settings.d.ts +181 -0
- package/dist/utils/provider-settings.js +450 -0
- package/dist/utils/provider-settings.js.map +1 -0
- package/package.json +4 -3
package/dist/agent/subagent.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { EventEmitter } from 'events';
|
|
9
9
|
import { LLMClient } from '../llm/client.js';
|
|
10
|
-
import {
|
|
10
|
+
import { SubagentState, DEFAULT_SUBAGENT_CONFIG } from './subagent-types.js';
|
|
11
11
|
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
12
12
|
// Import tools
|
|
13
13
|
import { BashTool } from '../tools/bash.js';
|
|
@@ -30,6 +30,8 @@ export class Subagent extends EventEmitter {
|
|
|
30
30
|
currentTaskId;
|
|
31
31
|
status;
|
|
32
32
|
toolCallArgsCache = new Map();
|
|
33
|
+
// REFACTOR: Cache tool definitions since tools don't change after initialization
|
|
34
|
+
cachedToolDefinitions = null;
|
|
33
35
|
constructor(role, configOverrides) {
|
|
34
36
|
super();
|
|
35
37
|
this.id = `${role}-${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
|
|
@@ -54,7 +56,12 @@ export class Subagent extends EventEmitter {
|
|
|
54
56
|
// Initialize LLM client with same settings as main agent
|
|
55
57
|
// Use SettingsManager for proper model/baseURL resolution with user preferences
|
|
56
58
|
const settingsManager = getSettingsManager();
|
|
57
|
-
const apiKey = settingsManager.getApiKey()
|
|
59
|
+
const apiKey = settingsManager.getApiKey();
|
|
60
|
+
// BUG FIX: Validate API key exists before creating LLM client
|
|
61
|
+
// Empty API key will cause runtime failures
|
|
62
|
+
if (!apiKey) {
|
|
63
|
+
throw new Error('API key not configured. Run setup command to configure your API key.');
|
|
64
|
+
}
|
|
58
65
|
const model = settingsManager.getCurrentModel() || DEFAULT_MODEL;
|
|
59
66
|
const baseURL = settingsManager.getBaseURL();
|
|
60
67
|
this.llmClient = new LLMClient(apiKey, model, baseURL);
|
|
@@ -68,76 +75,41 @@ export class Subagent extends EventEmitter {
|
|
|
68
75
|
}
|
|
69
76
|
/**
|
|
70
77
|
* Get default configuration for a role
|
|
78
|
+
* BUG FIX: Use DEFAULT_SUBAGENT_CONFIG from subagent-types.ts as single source of truth
|
|
79
|
+
* This ensures consistency between the two definitions
|
|
71
80
|
*/
|
|
72
81
|
getDefaultConfig(role) {
|
|
73
|
-
|
|
74
|
-
const roleDefaults = {
|
|
75
|
-
[SubagentRole.GENERAL]: {
|
|
76
|
-
allowedTools: ['bash', 'text_editor', 'search'],
|
|
77
|
-
maxToolRounds: 30,
|
|
78
|
-
contextDepth: 20,
|
|
79
|
-
priority: 1,
|
|
80
|
-
},
|
|
81
|
-
[SubagentRole.TESTING]: {
|
|
82
|
-
allowedTools: ['bash', 'text_editor', 'search'],
|
|
83
|
-
maxToolRounds: 20,
|
|
84
|
-
contextDepth: 10,
|
|
85
|
-
priority: 2,
|
|
86
|
-
},
|
|
87
|
-
[SubagentRole.DOCUMENTATION]: {
|
|
88
|
-
allowedTools: ['text_editor', 'search'],
|
|
89
|
-
maxToolRounds: 15,
|
|
90
|
-
contextDepth: 20,
|
|
91
|
-
priority: 1,
|
|
92
|
-
},
|
|
93
|
-
[SubagentRole.REFACTORING]: {
|
|
94
|
-
allowedTools: ['bash', 'text_editor', 'search'],
|
|
95
|
-
maxToolRounds: 25,
|
|
96
|
-
contextDepth: 20,
|
|
97
|
-
priority: 2,
|
|
98
|
-
},
|
|
99
|
-
[SubagentRole.ANALYSIS]: {
|
|
100
|
-
allowedTools: ['bash', 'text_editor', 'search'],
|
|
101
|
-
maxToolRounds: 15,
|
|
102
|
-
contextDepth: 15,
|
|
103
|
-
priority: 3,
|
|
104
|
-
},
|
|
105
|
-
[SubagentRole.DEBUG]: {
|
|
106
|
-
allowedTools: ['bash', 'text_editor', 'search'],
|
|
107
|
-
maxToolRounds: 30,
|
|
108
|
-
contextDepth: 15,
|
|
109
|
-
priority: 3,
|
|
110
|
-
},
|
|
111
|
-
[SubagentRole.PERFORMANCE]: {
|
|
112
|
-
allowedTools: ['bash', 'search'],
|
|
113
|
-
maxToolRounds: 25,
|
|
114
|
-
contextDepth: 10,
|
|
115
|
-
priority: 2,
|
|
116
|
-
},
|
|
117
|
-
};
|
|
82
|
+
const roleDefaults = DEFAULT_SUBAGENT_CONFIG[role] || {};
|
|
118
83
|
return {
|
|
119
84
|
role,
|
|
120
85
|
allowedTools: [],
|
|
121
86
|
maxToolRounds: 20,
|
|
122
87
|
contextDepth: 10,
|
|
123
88
|
priority: 1,
|
|
124
|
-
...roleDefaults
|
|
89
|
+
...roleDefaults,
|
|
125
90
|
};
|
|
126
91
|
}
|
|
92
|
+
// REFACTOR: Tool factory registry for cleaner initialization
|
|
93
|
+
// BUG FIX: Added 'todo' factory - it was listed in DEFAULT_SUBAGENT_CONFIG but missing here
|
|
94
|
+
// Note: For todo, we use a no-op tool since subagents don't need full todo functionality
|
|
95
|
+
// Type assertion needed because tool execute signatures vary but are compatible via Record<string, unknown>
|
|
96
|
+
static TOOL_FACTORIES = new Map([
|
|
97
|
+
['bash', () => new BashTool()],
|
|
98
|
+
['text_editor', () => new TextEditorTool()],
|
|
99
|
+
['search', () => new SearchTool()],
|
|
100
|
+
// 'todo' is intentionally not included - subagents use their own task tracking
|
|
101
|
+
// Remove 'todo' from DEFAULT_SUBAGENT_CONFIG instead of adding a factory
|
|
102
|
+
]);
|
|
127
103
|
/**
|
|
128
104
|
* Initialize tools based on allowed tools in config
|
|
105
|
+
* REFACTOR: Use factory registry instead of if statements
|
|
129
106
|
*/
|
|
130
107
|
initializeTools() {
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
// TextEditorTool doesn't need parameters
|
|
137
|
-
this.tools.set('text_editor', new TextEditorTool());
|
|
138
|
-
}
|
|
139
|
-
if (allowedTools.includes('search')) {
|
|
140
|
-
this.tools.set('search', new SearchTool());
|
|
108
|
+
for (const toolName of this.config.allowedTools) {
|
|
109
|
+
const factory = Subagent.TOOL_FACTORIES.get(toolName);
|
|
110
|
+
if (factory) {
|
|
111
|
+
this.tools.set(toolName, factory());
|
|
112
|
+
}
|
|
141
113
|
}
|
|
142
114
|
}
|
|
143
115
|
/**
|
|
@@ -184,6 +156,12 @@ export class Subagent extends EventEmitter {
|
|
|
184
156
|
this.isActive = true;
|
|
185
157
|
this.currentTaskId = task.id;
|
|
186
158
|
const startTime = Date.now();
|
|
159
|
+
// BUG FIX: Clear previous task state to prevent context accumulation
|
|
160
|
+
// Keep only the first system prompt, discard previous task context
|
|
161
|
+
const systemMessage = this.messages.find(m => m.role === 'system');
|
|
162
|
+
this.messages = systemMessage ? [systemMessage] : [];
|
|
163
|
+
this.chatHistory = [];
|
|
164
|
+
this.toolCallArgsCache.clear();
|
|
187
165
|
// Update status
|
|
188
166
|
this.status = {
|
|
189
167
|
id: this.id,
|
|
@@ -227,6 +205,10 @@ export class Subagent extends EventEmitter {
|
|
|
227
205
|
let toolRounds = 0;
|
|
228
206
|
let isComplete = false;
|
|
229
207
|
while (toolRounds < this.config.maxToolRounds && !isComplete) {
|
|
208
|
+
// BUG FIX: Check isActive flag to allow abort() to stop execution
|
|
209
|
+
if (!this.isActive) {
|
|
210
|
+
throw new Error('Task was aborted');
|
|
211
|
+
}
|
|
230
212
|
const response = await this.llmClient.chat(this.messages, this.getToolDefinitions(), { stream: false });
|
|
231
213
|
if (!response.choices || response.choices.length === 0) {
|
|
232
214
|
throw new Error('No response from LLM');
|
|
@@ -240,10 +222,18 @@ export class Subagent extends EventEmitter {
|
|
|
240
222
|
content: message.content,
|
|
241
223
|
timestamp: new Date(),
|
|
242
224
|
});
|
|
243
|
-
|
|
225
|
+
// BUG FIX: Accumulate output instead of overwriting
|
|
226
|
+
// Previous iterations' content was being lost
|
|
227
|
+
result.output = result.output
|
|
228
|
+
? `${result.output}\n\n${message.content}`
|
|
229
|
+
: message.content;
|
|
230
|
+
// BUG FIX: Update progress based on tool rounds used
|
|
231
|
+
const progressPercent = Math.min(90, Math.floor((toolRounds / this.config.maxToolRounds) * 90));
|
|
232
|
+
this.status.progress = progressPercent;
|
|
244
233
|
this.emit('progress', {
|
|
245
234
|
taskId: task.id,
|
|
246
235
|
content: message.content,
|
|
236
|
+
progress: progressPercent,
|
|
247
237
|
});
|
|
248
238
|
}
|
|
249
239
|
// Handle tool calls
|
|
@@ -254,6 +244,10 @@ export class Subagent extends EventEmitter {
|
|
|
254
244
|
tool_calls: message.tool_calls,
|
|
255
245
|
});
|
|
256
246
|
for (const toolCall of message.tool_calls) {
|
|
247
|
+
// BUG FIX: Check abort flag before each tool execution
|
|
248
|
+
if (!this.isActive) {
|
|
249
|
+
throw new Error('Task was aborted');
|
|
250
|
+
}
|
|
257
251
|
// Emit tool call event for real-time UI updates
|
|
258
252
|
this.emit('tool-call', {
|
|
259
253
|
taskId: task.id,
|
|
@@ -264,6 +258,17 @@ export class Subagent extends EventEmitter {
|
|
|
264
258
|
});
|
|
265
259
|
const toolResult = await this.executeToolCall(toolCall);
|
|
266
260
|
// Emit tool result event
|
|
261
|
+
// BUG FIX: Safely truncate output without breaking multi-byte characters
|
|
262
|
+
// Using Array.from to properly handle Unicode grapheme clusters
|
|
263
|
+
const truncatedOutput = toolResult.output
|
|
264
|
+
? (() => {
|
|
265
|
+
const chars = Array.from(toolResult.output);
|
|
266
|
+
if (chars.length > 100) {
|
|
267
|
+
return chars.slice(0, 100).join('') + '...';
|
|
268
|
+
}
|
|
269
|
+
return toolResult.output;
|
|
270
|
+
})()
|
|
271
|
+
: undefined;
|
|
267
272
|
this.emit('tool-result', {
|
|
268
273
|
taskId: task.id,
|
|
269
274
|
toolCall: {
|
|
@@ -271,19 +276,16 @@ export class Subagent extends EventEmitter {
|
|
|
271
276
|
id: toolCall.id,
|
|
272
277
|
},
|
|
273
278
|
success: toolResult.success,
|
|
274
|
-
output:
|
|
279
|
+
output: truncatedOutput,
|
|
275
280
|
});
|
|
276
281
|
// Track tool usage in status
|
|
277
|
-
if
|
|
278
|
-
|
|
279
|
-
}
|
|
282
|
+
// BUG FIX: Initialize arrays if undefined to avoid non-null assertion
|
|
283
|
+
this.status.toolsUsed = this.status.toolsUsed ?? [];
|
|
280
284
|
if (!this.status.toolsUsed.includes(toolCall.function.name)) {
|
|
281
285
|
this.status.toolsUsed.push(toolCall.function.name);
|
|
282
286
|
}
|
|
283
287
|
// Track tool calls
|
|
284
|
-
|
|
285
|
-
result.toolCalls = [];
|
|
286
|
-
}
|
|
288
|
+
result.toolCalls = result.toolCalls ?? [];
|
|
287
289
|
result.toolCalls.push(toolCall);
|
|
288
290
|
// Track files created/modified
|
|
289
291
|
if (toolCall.function.name === 'text_editor' && toolResult.success) {
|
|
@@ -378,10 +380,16 @@ export class Subagent extends EventEmitter {
|
|
|
378
380
|
prompt += `- Working Directory: ${task.context.metadata.workingDirectory}\n`;
|
|
379
381
|
}
|
|
380
382
|
if (task.context.conversationHistory && task.context.conversationHistory.length > 0) {
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
383
|
+
// REFACTOR: Use map + join instead of forEach with concatenation
|
|
384
|
+
// BUG FIX: Guard against null/undefined content
|
|
385
|
+
const recentEntries = task.context.conversationHistory
|
|
386
|
+
.slice(-5)
|
|
387
|
+
.map((entry) => {
|
|
388
|
+
const content = entry.content ?? '';
|
|
389
|
+
return `${entry.type}: ${content.substring(0, 200)}`;
|
|
390
|
+
})
|
|
391
|
+
.join('\n');
|
|
392
|
+
prompt += `\nRecent conversation:\n${recentEntries}\n`;
|
|
385
393
|
}
|
|
386
394
|
}
|
|
387
395
|
return prompt;
|
|
@@ -395,6 +403,7 @@ export class Subagent extends EventEmitter {
|
|
|
395
403
|
if (!tool) {
|
|
396
404
|
return {
|
|
397
405
|
success: false,
|
|
406
|
+
output: '',
|
|
398
407
|
error: `Tool '${toolName}' not available for ${this.role} agent`,
|
|
399
408
|
};
|
|
400
409
|
}
|
|
@@ -402,6 +411,7 @@ export class Subagent extends EventEmitter {
|
|
|
402
411
|
if (!toolCall.function.arguments || toolCall.function.arguments.trim() === '') {
|
|
403
412
|
return {
|
|
404
413
|
success: false,
|
|
414
|
+
output: '',
|
|
405
415
|
error: `Tool '${toolName}' called with empty arguments`,
|
|
406
416
|
};
|
|
407
417
|
}
|
|
@@ -414,21 +424,26 @@ export class Subagent extends EventEmitter {
|
|
|
414
424
|
catch (error) {
|
|
415
425
|
return {
|
|
416
426
|
success: false,
|
|
427
|
+
output: '',
|
|
417
428
|
error: `Tool execution error in ${toolName}: ${extractErrorMessage(error)}`,
|
|
418
429
|
};
|
|
419
430
|
}
|
|
420
431
|
}
|
|
421
432
|
/**
|
|
422
433
|
* Get tool definitions for LLM
|
|
434
|
+
* REFACTOR: Cache definitions since tools don't change after initialization
|
|
423
435
|
*/
|
|
424
436
|
getToolDefinitions() {
|
|
425
|
-
|
|
437
|
+
if (this.cachedToolDefinitions) {
|
|
438
|
+
return this.cachedToolDefinitions;
|
|
439
|
+
}
|
|
426
440
|
const definitions = [];
|
|
427
441
|
for (const [, tool] of this.tools) {
|
|
428
442
|
if (typeof tool.getToolDefinition === 'function') {
|
|
429
443
|
definitions.push(tool.getToolDefinition());
|
|
430
444
|
}
|
|
431
445
|
}
|
|
446
|
+
this.cachedToolDefinitions = definitions;
|
|
432
447
|
return definitions;
|
|
433
448
|
}
|
|
434
449
|
/**
|
|
@@ -439,12 +454,16 @@ export class Subagent extends EventEmitter {
|
|
|
439
454
|
}
|
|
440
455
|
/**
|
|
441
456
|
* Abort execution
|
|
457
|
+
* BUG FIX: Now properly stops execution by setting isActive = false
|
|
458
|
+
* which is checked in the execution loop
|
|
442
459
|
*/
|
|
443
460
|
abort() {
|
|
461
|
+
// Always update state to CANCELLED, even if not actively executing
|
|
462
|
+
// This allows abort() to be called proactively before or during execution
|
|
444
463
|
this.isActive = false;
|
|
445
464
|
this.status.state = SubagentState.CANCELLED;
|
|
446
465
|
this.status.endTime = new Date();
|
|
447
|
-
this.emit('cancel', { role: this.role });
|
|
466
|
+
this.emit('cancel', { taskId: this.currentTaskId, role: this.role });
|
|
448
467
|
}
|
|
449
468
|
/**
|
|
450
469
|
* Terminate subagent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/agent/subagent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/agent/subagent.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @module design/figma-alias
|
|
8
8
|
*/
|
|
9
9
|
import { type DesignConfig, type AliasTarget, type AliasOperationResult, type ResolvedAlias, type AliasListEntry, type AliasListResponse } from '@defai.digital/ax-schemas';
|
|
10
|
+
import type { FigmaClient } from './figma-client.js';
|
|
10
11
|
/**
|
|
11
12
|
* Get the path to the design config file
|
|
12
13
|
*/
|
|
@@ -91,3 +92,79 @@ export declare function importAliases(sourcePath: string, options?: {
|
|
|
91
92
|
basePath?: string;
|
|
92
93
|
overwrite?: boolean;
|
|
93
94
|
}): AliasOperationResult;
|
|
95
|
+
/**
|
|
96
|
+
* Status of a single alias validation
|
|
97
|
+
*/
|
|
98
|
+
export type AliasValidationStatus = 'valid' | 'invalid' | 'not_found' | 'error';
|
|
99
|
+
/**
|
|
100
|
+
* Result of validating a single alias
|
|
101
|
+
*/
|
|
102
|
+
export interface AliasValidationEntry {
|
|
103
|
+
alias: string;
|
|
104
|
+
status: AliasValidationStatus;
|
|
105
|
+
fileKey: string;
|
|
106
|
+
nodeId: string;
|
|
107
|
+
fileName?: string;
|
|
108
|
+
nodeName?: string;
|
|
109
|
+
nodeType?: string;
|
|
110
|
+
error?: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Result of validating all aliases
|
|
114
|
+
*/
|
|
115
|
+
export interface AliasValidationResult {
|
|
116
|
+
timestamp: string;
|
|
117
|
+
totalAliases: number;
|
|
118
|
+
validAliases: number;
|
|
119
|
+
invalidAliases: number;
|
|
120
|
+
notFoundAliases: number;
|
|
121
|
+
errorAliases: number;
|
|
122
|
+
entries: AliasValidationEntry[];
|
|
123
|
+
summary: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Validate a single alias by checking if the referenced node exists in Figma
|
|
127
|
+
*
|
|
128
|
+
* @param alias - The alias name
|
|
129
|
+
* @param target - The alias target
|
|
130
|
+
* @param client - Figma client instance
|
|
131
|
+
* @returns Validation entry
|
|
132
|
+
*/
|
|
133
|
+
export declare function validateSingleAlias(alias: string, target: AliasTarget, client: FigmaClient): Promise<AliasValidationEntry>;
|
|
134
|
+
/**
|
|
135
|
+
* Validate all aliases in the design config
|
|
136
|
+
*
|
|
137
|
+
* Checks each alias against the Figma API to verify that the referenced
|
|
138
|
+
* nodes still exist and are accessible.
|
|
139
|
+
*
|
|
140
|
+
* @param client - Figma client instance
|
|
141
|
+
* @param options - Validation options
|
|
142
|
+
* @returns Validation result with details for each alias
|
|
143
|
+
*/
|
|
144
|
+
export declare function validateAllAliases(client: FigmaClient, options?: {
|
|
145
|
+
basePath?: string;
|
|
146
|
+
/** Only validate specific aliases */
|
|
147
|
+
aliasNames?: string[];
|
|
148
|
+
/** Continue on errors (default: true) */
|
|
149
|
+
continueOnError?: boolean;
|
|
150
|
+
/** Concurrency limit (default: 5) */
|
|
151
|
+
concurrency?: number;
|
|
152
|
+
}): Promise<AliasValidationResult>;
|
|
153
|
+
/**
|
|
154
|
+
* Format validation result for display
|
|
155
|
+
*/
|
|
156
|
+
export declare function formatValidationResult(result: AliasValidationResult): string;
|
|
157
|
+
/**
|
|
158
|
+
* Clean up stale aliases that no longer exist in Figma
|
|
159
|
+
*
|
|
160
|
+
* @param client - Figma client instance
|
|
161
|
+
* @param options - Cleanup options
|
|
162
|
+
* @returns Operation result with count of removed aliases
|
|
163
|
+
*/
|
|
164
|
+
export declare function cleanupStaleAliases(client: FigmaClient, options?: {
|
|
165
|
+
basePath?: string;
|
|
166
|
+
/** Dry run - don't actually remove aliases */
|
|
167
|
+
dryRun?: boolean;
|
|
168
|
+
}): Promise<AliasOperationResult & {
|
|
169
|
+
removedAliases: string[];
|
|
170
|
+
}>;
|