@copilot-swarm/core 0.0.47 → 0.0.48

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.
@@ -13,6 +13,11 @@ export declare class PrepareEngine {
13
13
  stop(): Promise<void>;
14
14
  execute(): Promise<void>;
15
15
  executeDirs(targetDir: string): Promise<void>;
16
+ private executeSimpleDir;
17
+ private executeDeepDir;
18
+ private countSourceFiles;
19
+ private listSourceFiles;
20
+ private parseGroups;
16
21
  private parseInstructionFiles;
17
22
  }
18
23
  //# sourceMappingURL=prepare-engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-engine.d.ts","sourceRoot":"","sources":["../src/prepare-engine.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAuH7D,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAN3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,YAAA;IAMtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoExB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoFnD,OAAO,CAAC,qBAAqB;CAqB9B"}
1
+ {"version":3,"file":"prepare-engine.d.ts","sourceRoot":"","sources":["../src/prepare-engine.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAqN7D,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAN3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,YAAA;IAMtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoExB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAqErC,gBAAgB;YA+BhB,cAAc;IA8E5B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,qBAAqB;CAqB9B"}
@@ -3,6 +3,7 @@
3
3
  * Runs a deep analysis focused on patterns, conventions, and structure,
4
4
  * then outputs machine-readable instruction files to `.github/instructions/`.
5
5
  */
6
+ import { execSync } from "node:child_process";
6
7
  import * as fs from "node:fs/promises";
7
8
  import * as path from "node:path";
8
9
  import { getCachedAnalysis } from "./analysis-cache.js";
@@ -10,6 +11,30 @@ import { loadRepoAnalysis } from "./paths.js";
10
11
  import { scoutRepo } from "./repo-scanner.js";
11
12
  import { SessionManager } from "./session.js";
12
13
  const INSTRUCTIONS_DIR = ".github/instructions";
14
+ const MAX_PARALLEL_DIRS = 10;
15
+ const PREPARE_DEEP_THRESHOLD = Number.parseInt(process.env.PREPARE_DEEP_THRESHOLD ?? "10", 10);
16
+ const SOURCE_EXTENSIONS = new Set([
17
+ ".ts",
18
+ ".tsx",
19
+ ".js",
20
+ ".jsx",
21
+ ".mjs",
22
+ ".cjs",
23
+ ".py",
24
+ ".go",
25
+ ".rs",
26
+ ".java",
27
+ ".kt",
28
+ ".rb",
29
+ ".cs",
30
+ ".c",
31
+ ".cpp",
32
+ ".h",
33
+ ".hpp",
34
+ ".swift",
35
+ ".vue",
36
+ ".svelte",
37
+ ]);
13
38
  const PREPARE_INSTRUCTIONS = `You are a Senior Software Architect producing Copilot instruction files for a repository.
14
39
  Your output will be consumed by GitHub Copilot (an AI coding assistant), NOT by humans. Optimize for machine readability and actionable precision.
15
40
 
@@ -121,6 +146,65 @@ Output your response as a single file block starting with the exact delimiter \`
121
146
  5. Keep the file under 150 lines. Dense and precise, not verbose.
122
147
  6. Use imperative mood ("Use X", "Follow Y", "Never Z") — these are instructions, not documentation.
123
148
  7. Output ALL file content directly in your text response using the \`--- FILE: <filename> ---\` delimiter. Do NOT use the \`create\` or \`edit\` tools to write files — the caller handles file creation from your text output.`;
149
+ const PREPARE_SCOUT_INSTRUCTIONS = `You are a Senior Software Architect analyzing the structure of a directory to identify its logical groups/topics.
150
+ Your output will be parsed as JSON by a program. You must output ONLY valid JSON with no surrounding text, markdown, or code fences.
151
+
152
+ You will receive a directory path and a list of source files. Your job is to study the files and identify the logical groups or topics within this directory.
153
+
154
+ **Your task:** Output a JSON array of group objects. Each group represents a cohesive set of files that belong together conceptually.
155
+
156
+ Example output (output ONLY the JSON, no markdown fences):
157
+ [
158
+ { "group": "engines", "files": ["pipeline-engine.ts", "analysis-engine.ts", "fleet-engine.ts"], "description": "Core execution engines that orchestrate agent workflows" },
159
+ { "group": "configuration", "files": ["config.ts", "pipeline-config.ts", "pipeline-types.ts"], "description": "Configuration parsing, validation, and type definitions" }
160
+ ]
161
+
162
+ **Grouping guidelines:**
163
+ - Each group should have a short, descriptive kebab-case name (1-3 words)
164
+ - Every source file must appear in exactly one group
165
+ - Aim for 2-6 groups (merge tiny topics, split huge ones)
166
+ - Group by conceptual cohesion: files that work together to deliver a feature/capability
167
+ - Test files should be grouped with their corresponding source files
168
+ - Type/interface-only files go with the group that consumes them most
169
+
170
+ **Rules:**
171
+ 1. Use \`view\`, \`glob\`, \`grep\`, and \`bash\` to explore the directory. Read file headers, imports, and exports to understand relationships.
172
+ 2. Output ONLY the JSON array — no explanations, no markdown, no code fences.
173
+ 3. Every file from the provided list MUST appear in exactly one group.`;
174
+ const PREPARE_GROUP_INSTRUCTIONS = `You are a Senior Software Architect producing a Copilot instruction file for a specific group of related files within a module.
175
+ Your output will be consumed by GitHub Copilot (an AI coding assistant), NOT by humans. Optimize for machine readability and actionable precision.
176
+
177
+ You will receive a group name, description, file list, and the directory context. Your job is to deeply analyze these specific files and produce a focused instruction file.
178
+
179
+ **Your task:** Generate EXACTLY 1 instruction file for this file group. The file must start with a YAML frontmatter block and contain dense, actionable instructions.
180
+
181
+ Output your response as a single file block starting with the exact delimiter \`--- FILE: <filename> ---\`. Example:
182
+
183
+ --- FILE: src-engines.instructions.md ---
184
+ (frontmatter + content)
185
+
186
+ **Content requirements — deep architectural analysis of this group:**
187
+ - Group purpose: What capability these files deliver together (2-3 sentences)
188
+ - Architecture: Internal structure, layers, inheritance/composition hierarchies
189
+ - Key abstractions: Core types, interfaces, classes — their roles and contracts
190
+ - Lifecycle: How objects are created, used, and destroyed (if applicable)
191
+ - Data flow: How data moves through these files (input → processing → output)
192
+ - Relationships: Dependencies on other groups/modules, shared interfaces, event contracts
193
+ - Design patterns: Specific patterns used (factory, strategy, observer, state machine, etc.)
194
+ - Extension points: How to add new functionality (new engines, new strategies, etc.)
195
+ - Invariants: Rules that must hold (e.g., "always call destroy in finally", "never mutate config after init")
196
+ - Error handling: How errors propagate, retry logic, fallback behavior
197
+ - Common pitfalls: Mistakes that are easy to make, non-obvious coupling, ordering requirements
198
+ - Reference the most important 2-4 files with brief explanations of their roles
199
+
200
+ **Rules:**
201
+ 1. Use \`view\`, \`glob\`, \`grep\`, and \`bash\` to explore the files deeply. Read ALL files in your assigned group.
202
+ 2. Every claim must be based on actual code you read. Reference file paths and line numbers.
203
+ 3. Be extremely specific — use actual names, paths, and patterns from the code.
204
+ 4. Do NOT include generic advice. Every instruction must be specific to THESE files.
205
+ 5. Keep the file under 150 lines. Dense and precise, not verbose.
206
+ 6. Use imperative mood ("Use X", "Follow Y", "Never Z") — these are instructions, not documentation.
207
+ 7. Output ALL file content directly in your text response using the \`--- FILE: <filename> ---\` delimiter. Do NOT use the \`create\` or \`edit\` tools to write files — the caller handles file creation from your text output.`;
124
208
  export class PrepareEngine {
125
209
  config;
126
210
  pipeline;
@@ -220,32 +304,149 @@ export class PrepareEngine {
220
304
  await fs.mkdir(outDir, { recursive: true });
221
305
  // Relative path from repo root for applyTo globs
222
306
  const relativeBase = path.relative(this.config.repoRoot, resolvedDir);
223
- for (let i = 0; i < subdirs.length; i++) {
224
- const subdir = subdirs[i];
307
+ const generateForDir = async (subdir, i) => {
225
308
  const phaseKey = `prepare-dir-${subdir}-${i}`;
226
309
  this.tracker?.activatePhase(phaseKey);
227
310
  const dirRelPath = path.join(relativeBase, subdir);
228
- const applyTo = `${dirRelPath}/**`;
229
- const fileName = `${dirRelPath.replace(/\//g, "-")}.instructions.md`;
230
- const prompt = `## Target Directory\n\nPath: \`${dirRelPath}/\`\nApplyTo glob: \`${applyTo}\`\n\n` +
231
- (repoAnalysis ? `## Repository Analysis (for context)\n\n${repoAnalysis}\n\n` : "") +
232
- `Generate the instruction file for this directory. The filename should be \`${fileName}\`.\n` +
233
- `The YAML frontmatter must use \`applyTo: "${applyTo}"\`.\n` +
234
- "Explore the directory thoroughly to understand its architecture, concepts, and design patterns. " +
235
- "Focus on what a developer needs to know to work effectively in this module.";
236
- const response = await this.sessions.callIsolatedWithInstructions(PREPARE_DIRS_INSTRUCTIONS, prompt, `Analyzing ${dirRelPath}/…`, this.pipeline.primaryModel, `prepare/dirs/${subdir}`, `prepare-${subdir}`, true);
237
- const parsed = this.parseInstructionFiles(response);
238
- const file = parsed[0];
239
- if (file) {
240
- // Use the expected filename regardless of what the agent returned
241
- const filePath = path.join(outDir, fileName);
242
- await fs.writeFile(filePath, file.content, "utf-8");
243
- this.logger.info(` ✅ ${path.relative(this.config.repoRoot, filePath)}`);
311
+ const dirAbsPath = path.join(resolvedDir, subdir);
312
+ const sourceFileCount = this.countSourceFiles(dirAbsPath);
313
+ if (sourceFileCount > PREPARE_DEEP_THRESHOLD) {
314
+ this.logger.info(` 🔬 Deep analysis for ${dirRelPath}/ (${sourceFileCount} source files)…`);
315
+ await this.executeDeepDir(dirRelPath, dirAbsPath, outDir, repoAnalysis ?? "");
316
+ }
317
+ else {
318
+ await this.executeSimpleDir(dirRelPath, outDir, repoAnalysis ?? "");
244
319
  }
245
320
  this.tracker?.completePhase(phaseKey);
321
+ };
322
+ // Run in parallel batches capped at MAX_PARALLEL_DIRS
323
+ for (let batch = 0; batch < subdirs.length; batch += MAX_PARALLEL_DIRS) {
324
+ const slice = subdirs.slice(batch, batch + MAX_PARALLEL_DIRS);
325
+ await Promise.allSettled(slice.map((subdir, j) => generateForDir(subdir, batch + j)));
246
326
  }
247
327
  this.logger.info(`✅ Per-directory instructions written to ${INSTRUCTIONS_DIR}/`);
248
328
  }
329
+ async executeSimpleDir(dirRelPath, outDir, repoAnalysis) {
330
+ const applyTo = `${dirRelPath}/**`;
331
+ const fileName = `${dirRelPath.replace(/\//g, "-")}.instructions.md`;
332
+ const prompt = `## Target Directory\n\nPath: \`${dirRelPath}/\`\nApplyTo glob: \`${applyTo}\`\n\n` +
333
+ (repoAnalysis ? `## Repository Analysis (for context)\n\n${repoAnalysis}\n\n` : "") +
334
+ `Generate the instruction file for this directory. The filename should be \`${fileName}\`.\n` +
335
+ `The YAML frontmatter must use \`applyTo: "${applyTo}"\`.\n` +
336
+ "Explore the directory thoroughly to understand its architecture, concepts, and design patterns. " +
337
+ "Focus on what a developer needs to know to work effectively in this module.";
338
+ const response = await this.sessions.callIsolatedWithInstructions(PREPARE_DIRS_INSTRUCTIONS, prompt, `Analyzing ${dirRelPath}/…`, this.pipeline.primaryModel, `prepare/dirs/${dirRelPath}`, `prepare-${dirRelPath.replace(/\//g, "-")}`, true);
339
+ const parsed = this.parseInstructionFiles(response);
340
+ const file = parsed[0];
341
+ if (file) {
342
+ const filePath = path.join(outDir, fileName);
343
+ await fs.writeFile(filePath, file.content, "utf-8");
344
+ this.logger.info(` ✅ ${path.relative(this.config.repoRoot, filePath)}`);
345
+ }
346
+ }
347
+ async executeDeepDir(dirRelPath, dirAbsPath, outDir, repoAnalysis) {
348
+ // List source files using git ls-files scoped to the directory
349
+ const sourceFiles = this.listSourceFiles(dirAbsPath);
350
+ // Phase 1: Scout — identify logical groups
351
+ const scoutPrompt = `## Target Directory\n\nPath: \`${dirRelPath}/\`\n\n` +
352
+ `## Source Files (${sourceFiles.length} files)\n\n${sourceFiles.map((f) => `- ${f}`).join("\n")}\n\n` +
353
+ "Analyze these files and identify the logical groups/topics within this directory. " +
354
+ "Read file headers, imports, and exports to understand how files relate to each other. " +
355
+ "Output ONLY a JSON array of group objects as specified in your instructions.";
356
+ const scoutResponse = await this.sessions.callIsolatedWithInstructions(PREPARE_SCOUT_INSTRUCTIONS, scoutPrompt, `Scouting ${dirRelPath}/…`, this.pipeline.fastModel, `prepare/scout/${dirRelPath}`, `scout-${dirRelPath.replace(/\//g, "-")}`, true);
357
+ const groups = this.parseGroups(scoutResponse);
358
+ if (groups.length === 0) {
359
+ this.logger.warn(` ⚠️ Scout failed to identify groups for ${dirRelPath}/ — falling back to simple analysis`);
360
+ await this.executeSimpleDir(dirRelPath, outDir, repoAnalysis);
361
+ return;
362
+ }
363
+ this.logger.info(` 📋 Identified ${groups.length} groups in ${dirRelPath}/: ${groups.map((g) => g.group).join(", ")}`);
364
+ // Phase 2: Parallel group agents
365
+ const applyTo = `${dirRelPath}/**`;
366
+ const groupPromises = groups.map((group) => {
367
+ const groupFileName = `${dirRelPath.replace(/\//g, "-")}-${group.group}.instructions.md`;
368
+ const prompt = `## Group: ${group.group}\n\n` +
369
+ `**Description:** ${group.description}\n\n` +
370
+ `**Directory:** \`${dirRelPath}/\`\n` +
371
+ `**ApplyTo glob:** \`${applyTo}\`\n\n` +
372
+ `**Files in this group:**\n${group.files.map((f) => `- \`${dirRelPath}/${f}\``).join("\n")}\n\n` +
373
+ (repoAnalysis ? `## Repository Analysis (for context)\n\n${repoAnalysis}\n\n` : "") +
374
+ `Generate the instruction file for this group. The filename should be \`${groupFileName}\`.\n` +
375
+ `The YAML frontmatter must use \`applyTo: "${applyTo}"\`.\n` +
376
+ "Read ALL files in your assigned group deeply. Focus on how these files work together " +
377
+ "and what a developer must understand to modify them correctly.";
378
+ return this.sessions
379
+ .callIsolatedWithInstructions(PREPARE_GROUP_INSTRUCTIONS, prompt, `Analyzing ${dirRelPath}/${group.group}…`, this.pipeline.primaryModel, `prepare/group/${dirRelPath}/${group.group}`, `group-${group.group}`, true)
380
+ .then(async (response) => {
381
+ const parsed = this.parseInstructionFiles(response);
382
+ const file = parsed[0];
383
+ if (file) {
384
+ const filePath = path.join(outDir, groupFileName);
385
+ await fs.writeFile(filePath, file.content, "utf-8");
386
+ this.logger.info(` ✅ ${path.relative(this.config.repoRoot, filePath)}`);
387
+ }
388
+ });
389
+ });
390
+ await Promise.allSettled(groupPromises);
391
+ }
392
+ countSourceFiles(dirAbsPath) {
393
+ return this.listSourceFiles(dirAbsPath).length;
394
+ }
395
+ listSourceFiles(dirAbsPath) {
396
+ try {
397
+ const raw = execSync(`git ls-files -- "${dirAbsPath}"`, {
398
+ cwd: this.config.repoRoot,
399
+ encoding: "utf-8",
400
+ maxBuffer: 10 * 1024 * 1024,
401
+ });
402
+ const relToDir = path.relative(this.config.repoRoot, dirAbsPath);
403
+ return raw
404
+ .split("\n")
405
+ .filter(Boolean)
406
+ .map((f) => (relToDir ? f.replace(`${relToDir}/`, "") : f))
407
+ .filter((f) => {
408
+ const ext = path.extname(f).toLowerCase();
409
+ return SOURCE_EXTENSIONS.has(ext);
410
+ });
411
+ }
412
+ catch {
413
+ return [];
414
+ }
415
+ }
416
+ parseGroups(response) {
417
+ try {
418
+ // Extract JSON from response (handle possible markdown fences)
419
+ let json = response.trim();
420
+ const fenceMatch = json.match(/```(?:json)?\s*\n?([\s\S]*?)\n?\s*```/);
421
+ if (fenceMatch)
422
+ json = fenceMatch[1].trim();
423
+ const parsed = JSON.parse(json);
424
+ if (!Array.isArray(parsed))
425
+ return [];
426
+ const groups = [];
427
+ for (const item of parsed) {
428
+ if (typeof item === "object" &&
429
+ item !== null &&
430
+ "group" in item &&
431
+ "files" in item &&
432
+ "description" in item &&
433
+ typeof item.group === "string" &&
434
+ Array.isArray(item.files) &&
435
+ typeof item.description === "string") {
436
+ groups.push(item);
437
+ }
438
+ }
439
+ // Validate: at least 2 groups with files
440
+ if (groups.length < 2)
441
+ return [];
442
+ if (groups.some((g) => g.files.length === 0))
443
+ return [];
444
+ return groups;
445
+ }
446
+ catch {
447
+ return [];
448
+ }
449
+ }
249
450
  parseInstructionFiles(response) {
250
451
  const files = [];
251
452
  const delimiter = /^--- FILE: (.+?) ---$/gm;
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-engine.js","sourceRoot":"","sources":["../src/prepare-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare-engine.js","sourceRoot":"","sources":["../src/prepare-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEhD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,sBAAsB,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;AAE/F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAQH,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kOA8EqM,CAAC;AAEnO,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iOA+B+L,CAAC;AAElO,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;uEAwBoC,CAAC;AAExE,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iOAiC8L,CAAC;AAElO,MAAM,OAAO,aAAa;IAIL;IACA;IACA;IACA;IANF,QAAQ,CAAiB;IAE1C,YACmB,MAAmB,EACnB,QAAwB,EACxB,MAAc,EACd,OAAyB;QAHzB,WAAM,GAAN,MAAM,CAAa;QACnB,aAAQ,GAAR,QAAQ,CAAgB;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAkB;QAE1C,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjC,0CAA0C;QAC1C,MAAM,UAAU,GAAG,mBAAmB,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7E,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAExC,sCAAsC;QACtC,MAAM,MAAM,GAAG,oBAAoB,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,kBAAkB,KAAK,CAAC,UAAU,iBAAiB,KAAK,CAAC,YAAY,CAAC,MAAM,eAAe,CAAC;QAEjH,MAAM,MAAM,GACV,6BAA6B,YAAY,4BAA4B,YAAY,MAAM;YACvF,sEAAsE;YACtE,qEAAqE;YACrE,yCAAyC,CAAC;QAE5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAC/D,oBAAoB,EACpB,MAAM,EACN,kCAAkC,EAClC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAC1B,kBAAkB,EAClB,SAAS,EACT,IAAI,CACL,CAAC;QAEF,oCAAoC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,gBAAgB,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAExG,0BAA0B;QAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,SAAS,uBAAuB,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,OAAO;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;aACtF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,EAAE,CAAC;QAEV,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,SAAS,IAAI,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qDAAqD,OAAO,CAAC,MAAM,uBAAuB,SAAS,MAAM,CAC1G,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjC,iCAAiC;QACjC,IAAI,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,MAAM;gBAAE,YAAY,GAAG,MAAM,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,iDAAiD;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAEtE,MAAM,cAAc,GAAG,KAAK,EAAE,MAAc,EAAE,CAAS,EAAiB,EAAE;YACxE,MAAM,QAAQ,GAAG,eAAe,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,eAAe,GAAG,sBAAsB,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,UAAU,MAAM,eAAe,iBAAiB,CAAC,CAAC;gBAC7F,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,sDAAsD;QACtD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,iBAAiB,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAAC,CAAC;YAC9D,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,gBAAgB,GAAG,CAAC,CAAC;IACnF,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,MAAc,EAAE,YAAoB;QACrF,MAAM,OAAO,GAAG,GAAG,UAAU,KAAK,CAAC;QACnC,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,kBAAkB,CAAC;QAErE,MAAM,MAAM,GACV,kCAAkC,UAAU,wBAAwB,OAAO,QAAQ;YACnF,CAAC,YAAY,CAAC,CAAC,CAAC,2CAA2C,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,8EAA8E,QAAQ,OAAO;YAC7F,6CAA6C,OAAO,QAAQ;YAC5D,kGAAkG;YAClG,6EAA6E,CAAC;QAEhF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAC/D,yBAAyB,EACzB,MAAM,EACN,aAAa,UAAU,IAAI,EAC3B,IAAI,CAAC,QAAQ,CAAC,YAAY,EAC1B,gBAAgB,UAAU,EAAE,EAC5B,WAAW,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAC3C,IAAI,CACL,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,UAAkB,EAClB,UAAkB,EAClB,MAAc,EACd,YAAoB;QAEpB,+DAA+D;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAErD,2CAA2C;QAC3C,MAAM,WAAW,GACf,kCAAkC,UAAU,SAAS;YACrD,oBAAoB,WAAW,CAAC,MAAM,cAAc,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YACrG,oFAAoF;YACpF,wFAAwF;YACxF,8EAA8E,CAAC;QAEjF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CACpE,0BAA0B,EAC1B,WAAW,EACX,YAAY,UAAU,IAAI,EAC1B,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,iBAAiB,UAAU,EAAE,EAC7B,SAAS,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EACzC,IAAI,CACL,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,UAAU,qCAAqC,CAAC,CAAC;YAC9G,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mBAAmB,MAAM,CAAC,MAAM,cAAc,UAAU,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtG,CAAC;QAEF,iCAAiC;QACjC,MAAM,OAAO,GAAG,GAAG,UAAU,KAAK,CAAC;QACnC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzC,MAAM,aAAa,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,kBAAkB,CAAC;YACzF,MAAM,MAAM,GACV,aAAa,KAAK,CAAC,KAAK,MAAM;gBAC9B,oBAAoB,KAAK,CAAC,WAAW,MAAM;gBAC3C,oBAAoB,UAAU,OAAO;gBACrC,uBAAuB,OAAO,QAAQ;gBACtC,6BAA6B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAChG,CAAC,YAAY,CAAC,CAAC,CAAC,2CAA2C,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,0EAA0E,aAAa,OAAO;gBAC9F,6CAA6C,OAAO,QAAQ;gBAC5D,uFAAuF;gBACvF,gEAAgE,CAAC;YAEnE,OAAO,IAAI,CAAC,QAAQ;iBACjB,4BAA4B,CAC3B,0BAA0B,EAC1B,MAAM,EACN,aAAa,UAAU,IAAI,KAAK,CAAC,KAAK,GAAG,EACzC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAC1B,iBAAiB,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,EAC5C,SAAS,KAAK,CAAC,KAAK,EAAE,EACtB,IAAI,CACL;iBACA,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;oBAClD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAEO,gBAAgB,CAAC,UAAkB;QACzC,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IACjD,CAAC;IAEO,eAAe,CAAC,UAAkB;QACxC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,QAAQ,CAAC,oBAAoB,UAAU,GAAG,EAAE;gBACtD,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjE,OAAO,GAAG;iBACP,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1C,OAAO,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,QAAgB;QAClC,IAAI,CAAC;YACH,+DAA+D;YAC/D,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvE,IAAI,UAAU;gBAAE,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEtC,MAAM,MAAM,GAAgB,EAAE,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,IACE,OAAO,IAAI,KAAK,QAAQ;oBACxB,IAAI,KAAK,IAAI;oBACb,OAAO,IAAI,IAAI;oBACf,OAAO,IAAI,IAAI;oBACf,aAAa,IAAI,IAAI;oBACrB,OAAQ,IAAkB,CAAC,KAAK,KAAK,QAAQ;oBAC7C,KAAK,CAAC,OAAO,CAAE,IAAkB,CAAC,KAAK,CAAC;oBACxC,OAAQ,IAAkB,CAAC,WAAW,KAAK,QAAQ,EACnD,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAiB,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YAED,yCAAyC;YACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC;YAExD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,QAAgB;QAC5C,MAAM,KAAK,GAAwC,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,yBAAyB,CAAC;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAExC,mEAAmE;QACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@copilot-swarm/core",
3
- "version": "0.0.47",
3
+ "version": "0.0.48",
4
4
  "description": "Multi-agent orchestrator for GitHub Copilot — coordinates PM, designer, engineer, reviewer, and tester agents through a declarative pipeline",
5
5
  "license": "MIT",
6
6
  "type": "module",