@defai.digital/ax-cli 4.1.10 → 4.1.14

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 (83) hide show
  1. package/.ax-cli/settings.json +1 -0
  2. package/README.md +140 -589
  3. package/dist/agent/dependency-resolver.d.ts +7 -0
  4. package/dist/agent/dependency-resolver.js +46 -18
  5. package/dist/agent/dependency-resolver.js.map +1 -1
  6. package/dist/agent/execution/tool-executor.d.ts +4 -0
  7. package/dist/agent/execution/tool-executor.js +76 -52
  8. package/dist/agent/execution/tool-executor.js.map +1 -1
  9. package/dist/agent/parallel-tools.d.ts +4 -0
  10. package/dist/agent/parallel-tools.js +65 -24
  11. package/dist/agent/parallel-tools.js.map +1 -1
  12. package/dist/agent/planning/plan-executor.d.ts +0 -5
  13. package/dist/agent/planning/plan-executor.js +23 -6
  14. package/dist/agent/planning/plan-executor.js.map +1 -1
  15. package/dist/agent/streaming/stream-handler.js +7 -4
  16. package/dist/agent/streaming/stream-handler.js.map +1 -1
  17. package/dist/agent/subagent-orchestrator.d.ts +35 -2
  18. package/dist/agent/subagent-orchestrator.js +188 -146
  19. package/dist/agent/subagent-orchestrator.js.map +1 -1
  20. package/dist/agent/subagent-types.js +3 -1
  21. package/dist/agent/subagent-types.js.map +1 -1
  22. package/dist/agent/subagent.d.ts +15 -4
  23. package/dist/agent/subagent.js +91 -72
  24. package/dist/agent/subagent.js.map +1 -1
  25. package/dist/design/figma-alias.d.ts +77 -0
  26. package/dist/design/figma-alias.js +246 -0
  27. package/dist/design/figma-alias.js.map +1 -1
  28. package/dist/design/figma-client.d.ts +4 -0
  29. package/dist/design/figma-client.js +24 -4
  30. package/dist/design/figma-client.js.map +1 -1
  31. package/dist/design/figma-map.js +78 -6
  32. package/dist/design/figma-map.js.map +1 -1
  33. package/dist/design/figma-tokens.js +6 -2
  34. package/dist/design/figma-tokens.js.map +1 -1
  35. package/dist/design/index.d.ts +1 -1
  36. package/dist/design/index.js +3 -1
  37. package/dist/design/index.js.map +1 -1
  38. package/dist/design/types.d.ts +9 -0
  39. package/dist/mcp/client-v2.js +4 -0
  40. package/dist/mcp/client-v2.js.map +1 -1
  41. package/dist/mcp/config-detector.js +3 -4
  42. package/dist/mcp/config-detector.js.map +1 -1
  43. package/dist/mcp/debug.d.ts +207 -0
  44. package/dist/mcp/debug.js +398 -0
  45. package/dist/mcp/debug.js.map +1 -0
  46. package/dist/mcp/index.d.ts +1 -0
  47. package/dist/mcp/index.js +4 -0
  48. package/dist/mcp/index.js.map +1 -1
  49. package/dist/mcp/reconnection.js +6 -3
  50. package/dist/mcp/reconnection.js.map +1 -1
  51. package/dist/mcp/validation.js +15 -6
  52. package/dist/mcp/validation.js.map +1 -1
  53. package/dist/memory/index.d.ts +1 -0
  54. package/dist/memory/index.js +2 -0
  55. package/dist/memory/index.js.map +1 -1
  56. package/dist/memory/provider-context-store.d.ts +127 -0
  57. package/dist/memory/provider-context-store.js +385 -0
  58. package/dist/memory/provider-context-store.js.map +1 -0
  59. package/dist/sdk/errors.d.ts +2 -0
  60. package/dist/sdk/errors.js +2 -0
  61. package/dist/sdk/errors.js.map +1 -1
  62. package/dist/sdk/index.d.ts +633 -62
  63. package/dist/sdk/index.js +854 -116
  64. package/dist/sdk/index.js.map +1 -1
  65. package/dist/sdk/testing.d.ts +46 -4
  66. package/dist/sdk/testing.js +58 -6
  67. package/dist/sdk/testing.js.map +1 -1
  68. package/dist/sdk/version.d.ts +13 -9
  69. package/dist/sdk/version.js +13 -9
  70. package/dist/sdk/version.js.map +1 -1
  71. package/dist/utils/file-lock.d.ts +141 -0
  72. package/dist/utils/file-lock.js +559 -0
  73. package/dist/utils/file-lock.js.map +1 -0
  74. package/dist/utils/provider-context.d.ts +243 -0
  75. package/dist/utils/provider-context.js +421 -0
  76. package/dist/utils/provider-context.js.map +1 -0
  77. package/dist/utils/provider-file-cache.d.ts +91 -0
  78. package/dist/utils/provider-file-cache.js +165 -0
  79. package/dist/utils/provider-file-cache.js.map +1 -0
  80. package/dist/utils/provider-settings.d.ts +181 -0
  81. package/dist/utils/provider-settings.js +450 -0
  82. package/dist/utils/provider-settings.js.map +1 -0
  83. package/package.json +2 -2
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { EventEmitter } from 'events';
9
9
  import { LLMClient } from '../llm/client.js';
10
- import { SubagentRole, SubagentState } from './subagent-types.js';
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
- // Default tools and settings based on role
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[role],
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 allowedTools = this.config.allowedTools;
132
- if (allowedTools.includes('bash')) {
133
- this.tools.set('bash', new BashTool());
134
- }
135
- if (allowedTools.includes('text_editor')) {
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
- result.output = message.content;
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: toolResult.output?.slice(0, 100), // Truncate for UI
279
+ output: truncatedOutput,
275
280
  });
276
281
  // Track tool usage in status
277
- if (!this.status.toolsUsed) {
278
- this.status.toolsUsed = [];
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
- if (!result.toolCalls) {
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
- prompt += `\nRecent conversation:\n`;
382
- task.context.conversationHistory.slice(-5).forEach((entry) => {
383
- prompt += `${entry.type}: ${entry.content.substring(0, 200)}\n`;
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
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAS7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU9D;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,YAAY;IACxB,EAAE,CAAS;IACX,IAAI,CAAe;IACnB,MAAM,CAAiB;IAC7B,SAAS,CAAY;IACrB,WAAW,CAAc;IACzB,QAAQ,CAAe;IACvB,KAAK,CAA4B;IACjC,QAAQ,CAAU;IAClB,aAAa,CAAgB;IAC7B,MAAM,CAAiB;IACzB,iBAAiB,GAAyC,IAAI,GAAG,EAAE,CAAC;IAE5E,YAAY,IAAkB,EAAE,eAAyC;QACvE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,0CAA0C;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC;QAE7D,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,oBAAoB;QACpB,IAAI,CAAC,MAAM,GAAG;YACZ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,aAAa,CAAC,OAAO;YAC5B,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,yDAAyD;QACzD,gFAAgF;QAChF,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,eAAe,CAAC,eAAe,EAAE,IAAI,aAAa,CAAC;QACjE,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;QAE7C,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEvD,2BAA2B;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,oBAAoB;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAkB;QACzC,2CAA2C;QAC3C,MAAM,YAAY,GAAkD;YAClE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;gBACtB,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC;gBAC/C,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,CAAC;aACZ;YACD,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;gBACtB,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC;gBAC/C,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,CAAC;aACZ;YACD,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;gBAC5B,YAAY,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACvC,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,CAAC;aACZ;YACD,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;gBAC1B,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC;gBAC/C,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,CAAC;aACZ;YACD,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;gBACvB,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC;gBAC/C,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,CAAC;aACZ;YACD,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBACpB,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC;gBAC/C,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,CAAC;aACZ;YACD,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;gBAC1B,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAChC,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,CAAC;aACZ;SACF,CAAC;QAEF,OAAO;YACL,IAAI;YACJ,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,CAAC;YACX,GAAG,YAAY,CAAC,IAAI,CAAC;SACJ,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAE9C,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,yCAAyC;YACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,QAAqB;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAE9C,6DAA6D;YAC7D,mDAAmD;YACnD,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,YAAY,CAAC,wBAAwB,EAAE,CAAC;gBACxE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;gBAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC1D,gEAAgE;gBAChE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAClF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,iBAAiB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,yBAAyB,IAAI,CAAC,IAAI,SAAS,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAkB;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,gBAAgB;QAChB,IAAI,CAAC,MAAM,GAAG;YACZ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,aAAa,CAAC,OAAO;YAC5B,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,CAAC;SAClB,CAAC;QAEF,MAAM,MAAM,GAAmB;YAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;SACd,CAAC;QAEF,IAAI,CAAC;YACH,yDAAyD;YACzD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAEhE,+BAA+B;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,aAAa;aACvB,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAC;YAEH,iCAAiC;YACjC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,OAAO,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACxC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,kBAAkB,EAAE,EACzB,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC1C,CAAC;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAE/B,iBAAiB;gBACjB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBACpB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,SAAS,EAAE,IAAI,IAAI,EAAE;qBACtB,CAAC,CAAC;oBAEH,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;wBACpB,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,OAAO,EAAE,OAAO,CAAC,OAAO;qBACzB,CAAC,CAAC;gBACL,CAAC;gBAED,oBAAoB;gBACpB,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACjB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;wBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;qBAC/B,CAAC,CAAC;oBAEH,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBAC1C,gDAAgD;wBAChD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;4BACrB,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;gCAC5B,EAAE,EAAE,QAAQ,CAAC,EAAE;6BAChB;yBACF,CAAC,CAAC;wBAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;wBAExD,yBAAyB;wBACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACvB,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;gCAC5B,EAAE,EAAE,QAAQ,CAAC,EAAE;6BAChB;4BACD,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,kBAAkB;yBAC7D,CAAC,CAAC;wBAEH,6BAA6B;wBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;4BAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;wBAC7B,CAAC;wBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC5D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACrD,CAAC;wBAED,mBAAmB;wBACnB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;4BACtB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;wBACxB,CAAC;wBACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAEhC,+BAA+B;wBAC/B,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;4BACnE,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;4BACrD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gCACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAc,CAAC;gCACrC,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oCAC9B,2CAA2C;oCAC3C,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;oCAChD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wCAC5C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oCACrC,CAAC;gCACH,CAAC;qCAAM,CAAC;oCACN,2CAA2C;oCAC3C,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;oCAClD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wCAC7C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oCACtC,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,8BAA8B;wBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,MAAM;4BACZ,YAAY,EAAE,QAAQ,CAAC,EAAE;4BACzB,OAAO,EAAE,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE;yBACrD,CAAC,CAAC;wBAEH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;4BACpB,IAAI,EAAE,aAAa;4BACnB,OAAO,EAAE,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE;4BACpD,SAAS,EAAE,IAAI,IAAI,EAAE;4BACrB,QAAQ,EAAE,QAAQ;4BAClB,UAAU,EAAE,UAAU;yBACvB,CAAC,CAAC;wBAEH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;4BACzB,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;4BAChC,MAAM,EAAE,UAAU;yBACnB,CAAC,CAAC;oBACL,CAAC;oBAED,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,oCAAoC;oBACpC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;gBAED,gBAAgB;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACvC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACzD,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,IAAI,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,4FAA4F;YAC5F,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,CAAC,aAAa,kCAAkC,CACjF,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;YAC3B,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAE3D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;YAC5B,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;YACjC,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACrE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAkB;QAC3C,IAAI,MAAM,GAAG,SAAS,IAAI,CAAC,WAAW,MAAM,CAAC;QAE7C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;gBAC5C,MAAM,IAAI,wBAAwB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC;YAC/E,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpF,MAAM,IAAI,0BAA0B,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAgB,EAAE,EAAE;oBACtE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;gBAClE,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,QAAqB;QACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,SAAS,QAAQ,uBAAuB,IAAI,CAAC,IAAI,QAAQ;aACjE,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9E,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,SAAS,QAAQ,+BAA+B;aACxD,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,2BAA2B,QAAQ,KAAK,mBAAmB,CAAC,KAAK,CAAC,EAAE;aAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,8DAA8D;QAC9D,MAAM,WAAW,GAAU,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;gBACjD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,yEAAyE;QACzE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAMpB;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE9B,+BAA+B;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
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
+ }>;