@guyghost/swarm-dao-pi-adapter 0.2.2 → 0.3.0

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/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
+ export declare function assertSafePiModel(model: string): void;
3
+ export declare function assertSafePiPrompt(prompt: string): void;
2
4
  export default function swarmDaoExtension(pi: ExtensionAPI): void;
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AAkc7F,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,EAAE,YAAY,QAouBzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AA4F7F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAmBrD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAIvD;AAqXD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,EAAE,YAAY,QA+lBzD"}
package/dist/index.js CHANGED
@@ -5,23 +5,13 @@
5
5
  // Registers tools, commands, and event hooks.
6
6
  import { spawn } from "node:child_process";
7
7
  import { StringEnum } from "@earendil-works/pi-ai";
8
- import { addRating,
8
+ import {
9
9
  // Commands registry (source of truth for the /dao surface)
10
- buildDaoCommandHelp, calculateCompositeScore, classifyRiskZone, computeHealthScore, createDispatchModelContext, createProposal, createProposalsBatch, dispatchProposalEvent, dispatchSwarm,
10
+ buildDaoCommandHelp, computeHealthScore,
11
11
  // Delivery
12
- execCommand, executeProposal, formatAllArtefacts, formatAuditTrail, formatCompositeScore, formatControlResult, formatDryRun, formatHealthScore, formatPlan, formatRollback, formatRoundTableResults, formatTallyResult, generateAllArtefacts, generateDashboard, generateDeliveryPlan, getAllAuditLog, getOrCreateState, getPlan, getProposal, getState, getUnexecutedDependencies,
13
- // Governance
14
- initializeAgents, initStorage, loadAgentDefinitions, loadConfig,
15
- // Persistence
16
- loadState, PROPOSAL_TYPE_LABELS,
12
+ execCommand, FileDaoStateRepository, formatAllArtefacts, formatAuditTrail, formatHealthScore, formatPlan, generateAllArtefacts, generateDashboard, getAllAuditLog, getPlan, getProposal, getState, handleDaoCheckEdit, handleDaoConfigGithub, handleDaoControl, handleDaoDeliberate, handleDaoDryRun, handleDaoExecute, handleDaoGithubCreateBranch, handleDaoGithubOpenPr, handleDaoPropose, handleDaoRate, handleDaoRollback, handleDaoRoundtable, handleDaoSetup, handleDaoShip, handleDaoUpdateProposal, logger,
17
13
  // Types
18
- PROPOSAL_TYPES,
19
- // Voting & Scoring
20
- parseVoteFromOutput, performDryRun, performRollback, readFileContained, recordAudit, resolveDaoCommand,
21
- // Control
22
- runGates,
23
- // Round Table
24
- runRoundTable, saveState, setState, storeCompositeScore, storeDeliberationBatch, storeDeliveryPlan, storeSynthesis, suggestDaoCommand, synthesize, tallyVotes, writeFileContained, } from "@guyghost/swarm-dao-core";
14
+ PROPOSAL_TYPES, readFileContained, resolveDaoCommand, setRepository, suggestDaoCommand, writeFileContained, } from "@guyghost/swarm-dao-core";
25
15
  import { Type } from "typebox";
26
16
  let currentSessionModel = process.env.PI_MODEL;
27
17
  function detectParentSessionModel(ctx) {
@@ -60,10 +50,43 @@ function extractPiJsonContent(stdout) {
60
50
  const trimmed = stdout.trim();
61
51
  return trimmed.length > 0 ? trimmed : null;
62
52
  }
53
+ export function assertSafePiModel(model) {
54
+ // Reject empty values, null bytes (cannot be represented in argv), and values
55
+ // that look like command-line options (start with a dash). Allow any other
56
+ // characters so provider-defined identifiers (including @, +, Unicode, etc.)
57
+ // are accepted when spawn is invoked with an argv array and shell: false.
58
+ if (typeof model !== "string" || model.length === 0) {
59
+ throw new Error(`Invalid pi model identifier: ${JSON.stringify(model)}`);
60
+ }
61
+ if (model.includes("\0")) {
62
+ throw new Error("Invalid pi model identifier: null bytes are not allowed");
63
+ }
64
+ if (model.startsWith("-")) {
65
+ throw new Error(`Invalid pi model identifier: ${JSON.stringify(model)} (must not start with '-')`);
66
+ }
67
+ // Reject characters that could enable shell injection when invoked in a shell.
68
+ // Semicolons and other control characters are not allowed in model identifiers.
69
+ if (/[;&|$`<>]/.test(model)) {
70
+ throw new Error(`Invalid pi model identifier: ${JSON.stringify(model)}`);
71
+ }
72
+ }
73
+ export function assertSafePiPrompt(prompt) {
74
+ if (prompt.includes("\0")) {
75
+ throw new Error("Invalid pi prompt: null bytes are not allowed");
76
+ }
77
+ }
63
78
  async function spawnPiSubprocess(systemPrompt, model, timeoutMs) {
79
+ try {
80
+ assertSafePiModel(model);
81
+ assertSafePiPrompt(systemPrompt);
82
+ }
83
+ catch (error) {
84
+ const message = error instanceof Error ? error.message : String(error);
85
+ return { content: null, error: message };
86
+ }
64
87
  return new Promise((resolve) => {
65
88
  const args = ["--mode", "json", "-p", "--no-session", "--model", model, "-e", systemPrompt];
66
- const child = spawn("pi", args, { stdio: ["ignore", "pipe", "pipe"] });
89
+ const child = spawn("pi", args, { stdio: ["ignore", "pipe", "pipe"], shell: false });
67
90
  let stdout = "";
68
91
  let stderr = "";
69
92
  let timedOut = false;
@@ -244,7 +267,16 @@ function createPiHostAdapter(_pi, ctx) {
244
267
  return Promise.all(params.agents.map((agent) => this.spawnAgent({ agent, proposal: params.proposal, systemPrompt: agent.systemPrompt })));
245
268
  },
246
269
  async log(params) {
247
- console.log(`[${params.level}] ${params.service}: ${params.message}`);
270
+ const message = `[${params.service}] ${params.message}`;
271
+ if (params.level === "error") {
272
+ logger.error(message);
273
+ }
274
+ else if (params.level === "warn") {
275
+ logger.warn(message);
276
+ }
277
+ else {
278
+ logger.info(message);
279
+ }
248
280
  },
249
281
  getWorkingDirectory() {
250
282
  return process.cwd();
@@ -280,14 +312,12 @@ const PI_ONBOARDING_MESSAGE = [
280
312
  ].join("\n");
281
313
  // ── Main Extension Export ────────────────────────────────────
282
314
  export default function swarmDaoExtension(pi) {
315
+ let repository;
283
316
  // Restore state on session start
284
317
  pi.on("session_start", async (_event, _ctx) => {
285
318
  const cwd = process.cwd();
286
- await initStorage(cwd);
287
- const loaded = await loadState(cwd);
288
- if (!loaded) {
289
- setState(getOrCreateState(cwd));
290
- }
319
+ repository = await FileDaoStateRepository.open(cwd);
320
+ setRepository(repository);
291
321
  return undefined;
292
322
  });
293
323
  // System prompt injection
@@ -327,16 +357,13 @@ export default function swarmDaoExtension(pi) {
327
357
  useDefaults: Type.Optional(Type.Boolean({ description: "Use default agents (default: true)" })),
328
358
  }),
329
359
  async execute(_id, params) {
330
- const state = getState();
331
- if (state.initialized) {
332
- return toolResult(`DAO already initialized with ${state.agents.length} agents.`);
333
- }
334
- const agents = initializeAgents(params.useDefaults !== false ? undefined : []);
335
- state.agents = agents;
336
- state.initialized = true;
337
- await saveState();
338
- const table = agents.map((a) => `| ${a.name} | ${a.weight} | ${a.role} |`).join("\n");
339
- return toolResult(`# DAO Initialized\n\n| Agent | Weight | Role |\n|-------|--------|------|\n${table}\n\nRun \`dao_propose\` to create proposals.`);
360
+ return toolResult(await handleDaoSetup({
361
+ adapter: createPiHostAdapter(pi),
362
+ workDir: process.cwd(),
363
+ deliberationMode: "auto",
364
+ controlToolName: "dao_check",
365
+ repository,
366
+ }, params.useDefaults !== false));
340
367
  },
341
368
  });
342
369
  // ── Tool: dao_propose ────────────────────────────────────
@@ -356,26 +383,7 @@ export default function swarmDaoExtension(pi) {
356
383
  affectedPaths: Type.Optional(Type.Array(Type.String())),
357
384
  }),
358
385
  async execute(_id, params) {
359
- const state = getState();
360
- if (!state.initialized)
361
- return toolResult(PI_ONBOARDING_MESSAGE);
362
- const proposal = await createProposal(params.title, params.type, params.description, "user", params.context);
363
- if (params.problemStatement !== undefined)
364
- proposal.problemStatement = params.problemStatement;
365
- if (params.acceptanceCriteria !== undefined)
366
- proposal.acceptanceCriteria = params.acceptanceCriteria;
367
- if (params.successMetrics !== undefined)
368
- proposal.successMetrics = params.successMetrics;
369
- if (params.rollbackConditions !== undefined)
370
- proposal.rollbackConditions = params.rollbackConditions;
371
- if (params.affectedPaths !== undefined)
372
- proposal.affectedPaths = params.affectedPaths;
373
- const zone = classifyRiskZone(proposal);
374
- proposal.riskZone = zone;
375
- await saveState();
376
- await recordAudit(proposal.id, "governance", "proposal_created", "user", `Proposal "${params.title}" created`);
377
- await saveState();
378
- return toolResult(`# 📋 Proposal Created — #${proposal.id}\n\n**Title:** ${params.title}\n**Type:** ${PROPOSAL_TYPE_LABELS[params.type]}\n**Zone:** ${zone}\n\nRun \`dao_deliberate proposalId=${proposal.id}\` to deliberate.`);
386
+ return toolResult(await handleDaoPropose({ ...params, type: params.type }, repository));
379
387
  },
380
388
  });
381
389
  // ── Tool: dao_deliberate ─────────────────────────────────
@@ -387,74 +395,29 @@ export default function swarmDaoExtension(pi) {
387
395
  proposalId: Type.Number(),
388
396
  }),
389
397
  async execute(_id, params, _signal, onUpdate, ctx) {
390
- const state = getState();
391
- if (!state.initialized)
392
- return toolResult(PI_ONBOARDING_MESSAGE);
393
- const proposal = getProposal(Number(params.proposalId));
394
- if (!proposal)
395
- return toolResult(`Proposal #${params.proposalId} not found.`);
396
- if (proposal.status !== "open")
397
- return toolResult(`Proposal #${proposal.id} is ${proposal.status}, must be open.`);
398
- // Transition
399
- const transition = dispatchProposalEvent(proposal, { type: "DELIBERATE" });
400
- if (!transition.ok)
401
- return toolResult(`Cannot deliberate: ${transition.error}`);
402
- await recordAudit(proposal.id, "governance", "deliberation_started", "system", `Deliberation on #${proposal.id}`);
403
- await saveState();
404
398
  if (onUpdate) {
405
- onUpdate({ content: [{ type: "text", text: `🗳️ Deliberating proposal #${proposal.id}...` }], details: {} });
399
+ onUpdate({
400
+ content: [{ type: "text", text: `🗳️ Deliberating proposal #${params.proposalId}...` }],
401
+ details: {},
402
+ });
406
403
  }
407
- const startTime = Date.now();
408
404
  const adapter = createPiHostAdapter(pi, ctx);
409
- const projectConfig = await loadConfig(state.daoRoot);
410
- const agents = await loadAgentDefinitions(state.daoRoot, projectConfig);
411
- const modelContext = createDispatchModelContext(state.config.defaultModel, adapter);
412
- const outputs = await dispatchSwarm(proposal, agents, adapter, state.config.maxConcurrent, modelContext, (update) => {
413
- if (onUpdate) {
414
- onUpdate({
415
- content: [{ type: "text", text: `${update.agentName}: ${update.phase}` }],
416
- details: {},
417
- });
418
- }
419
- });
420
- // Parse votes
421
- const votes = [];
422
- const persistedOutputs = [];
423
- for (const output of outputs) {
424
- if (output.content) {
425
- const vote = parseVoteFromOutput(output.agentId, output.agentName, agents.find((a) => a.id === output.agentId)?.weight ?? 1, output.content);
426
- if (vote) {
427
- vote.weight = agents.find((a) => a.id === output.agentId)?.weight ?? 1;
428
- votes.push(vote);
405
+ return toolResult(await handleDaoDeliberate({
406
+ adapter,
407
+ workDir: process.cwd(),
408
+ deliberationMode: "auto",
409
+ controlToolName: "dao_check",
410
+ failOnGateFailure: true,
411
+ repository,
412
+ onDeliberationProgress: (update) => {
413
+ if (onUpdate) {
414
+ onUpdate({
415
+ content: [{ type: "text", text: `${update.agentName}: ${update.phase}` }],
416
+ details: {},
417
+ });
429
418
  }
430
- }
431
- persistedOutputs.push(output);
432
- }
433
- if (votes.length > 0 || persistedOutputs.length > 0) {
434
- await storeDeliberationBatch(proposal.id, votes, persistedOutputs);
435
- }
436
- proposal.votes = votes;
437
- // Composite score
438
- const compositeScore = calculateCompositeScore(outputs);
439
- proposal.compositeScore = compositeScore;
440
- await storeCompositeScore(proposal.id, compositeScore);
441
- // Synthesis
442
- const tally = tallyVotes(proposal, state.config);
443
- const synthesisText = synthesize(proposal, agents, outputs, tally);
444
- proposal.synthesis = synthesisText;
445
- await storeSynthesis(proposal.id, synthesisText);
446
- // Final transition
447
- if (tally.approved) {
448
- dispatchProposalEvent(proposal, { type: "APPROVE", tally });
449
- await recordAudit(proposal.id, "intelligence", "deliberation_approved", "system", `Approved: ${tally.approvalScore}%`);
450
- }
451
- else {
452
- dispatchProposalEvent(proposal, { type: "REJECT" });
453
- await recordAudit(proposal.id, "intelligence", "deliberation_rejected", "system", `Rejected: ${tally.approvalScore}%`);
454
- }
455
- await saveState();
456
- const duration = Date.now() - startTime;
457
- return toolResult(`# 🗳️ Deliberation Complete — #${proposal.id} (${duration}ms)\n\n${formatTallyResult(tally)}\n\n${formatCompositeScore(compositeScore)}\n\n${synthesisText}\n\n> Next: \`dao_check proposalId=${proposal.id}\``);
419
+ },
420
+ }, Number(params.proposalId)));
458
421
  },
459
422
  });
460
423
  // ── Tool: dao_check ──────────────────────────────────────
@@ -464,30 +427,14 @@ export default function swarmDaoExtension(pi) {
464
427
  description: "Run quality control gates",
465
428
  parameters: Type.Object({ proposalId: Type.Number() }),
466
429
  async execute(_id, params) {
467
- const state = getState();
468
- if (!state.initialized)
469
- return toolResult(PI_ONBOARDING_MESSAGE);
470
- const proposal = getProposal(params.proposalId);
471
- if (!proposal)
472
- return toolResult(`Proposal #${params.proposalId} not found.`);
473
- if (proposal.status !== "approved")
474
- return toolResult(`Must be approved (current: ${proposal.status})`);
475
- const result = runGates(proposal, state.config);
476
- if (result.allGatesPassed) {
477
- dispatchProposalEvent(proposal, { type: "CONTROL_PASS", result });
478
- await recordAudit(proposal.id, "control", "gates_passed", "system", "All gates passed");
479
- // Generate delivery plan after gates pass, making it available before execution
480
- if (!state.deliveryPlans[proposal.id]) {
481
- const plan = generateDeliveryPlan(proposal);
482
- await storeDeliveryPlan(proposal.id, plan);
483
- }
484
- }
485
- else {
486
- dispatchProposalEvent(proposal, { type: "CONTROL_FAIL" });
487
- await recordAudit(proposal.id, "control", "gates_failed", "system", `${result.blockerCount} blockers`);
488
- }
489
- await saveState();
490
- return toolResult(formatControlResult(result));
430
+ return toolResult(await handleDaoControl({
431
+ adapter: createPiHostAdapter(pi),
432
+ workDir: process.cwd(),
433
+ deliberationMode: "auto",
434
+ controlToolName: "dao_check",
435
+ failOnGateFailure: true,
436
+ repository,
437
+ }, params.proposalId));
491
438
  },
492
439
  });
493
440
  // ── Tool: dao_plan ───────────────────────────────────────
@@ -529,18 +476,13 @@ export default function swarmDaoExtension(pi) {
529
476
  description: "Execute a controlled proposal",
530
477
  parameters: Type.Object({ proposalId: Type.Number() }),
531
478
  async execute(_id, params) {
532
- const _state = getState();
533
- const proposal = getProposal(params.proposalId);
534
- if (!proposal)
535
- return toolResult(`Proposal #${params.proposalId} not found.`);
536
- if (proposal.status !== "controlled") {
537
- return toolResult(`Must be controlled (current: ${proposal.status}). Run dao_control first.`);
538
- }
539
- const result = await executeProposal(proposal);
540
- await saveState();
541
- await recordAudit(proposal.id, "delivery", "proposal_executed", "user", `Executed #${proposal.id}`);
542
- await saveState();
543
- return toolResult(result.result);
479
+ return toolResult(await handleDaoExecute({
480
+ adapter: createPiHostAdapter(pi),
481
+ workDir: process.cwd(),
482
+ deliberationMode: "auto",
483
+ controlToolName: "dao_check",
484
+ repository,
485
+ }, params.proposalId));
544
486
  },
545
487
  });
546
488
  // ── Tool: dao_ship ───────────────────────────────────────
@@ -554,69 +496,13 @@ export default function swarmDaoExtension(pi) {
554
496
  force: Type.Optional(Type.Boolean()),
555
497
  }),
556
498
  async execute(_id, params) {
557
- const state = getState();
558
- if (!state.initialized)
559
- return toolResult(PI_ONBOARDING_MESSAGE);
560
- const proposal = getProposal(params.proposalId);
561
- if (!proposal)
562
- return toolResult(`Proposal #${params.proposalId} not found.`);
563
- const cascade = params.cascade === true;
564
- const force = params.force === true;
565
- const shipOne = async (proposalId) => {
566
- const target = getProposal(proposalId);
567
- if (!target)
568
- return `Proposal #${proposalId} not found.`;
569
- if (target.status !== "controlled") {
570
- return `Proposal #${target.id} must be in 'controlled' state to ship (current: ${target.status})`;
571
- }
572
- const result = await executeProposal(target);
573
- if (!result.success)
574
- return result.result;
575
- await recordAudit(target.id, "delivery", "proposal-shipped", "pi", "shipped via dao_ship");
576
- return null;
577
- };
578
- const shipped = [];
579
- if (!force) {
580
- const depsResolution = getUnexecutedDependencies(proposal.id, state.proposals);
581
- if (depsResolution.error)
582
- return toolResult(depsResolution.error);
583
- const pendingDeps = depsResolution.order ?? [];
584
- if (pendingDeps.length > 0 && !cascade) {
585
- const lines = pendingDeps.map((depId) => {
586
- const dep = getProposal(depId);
587
- return dep ? `- #${dep.id} [${dep.status}] ${dep.title}` : `- #${depId} [missing]`;
588
- });
589
- return toolResult(`Cannot ship proposal #${proposal.id}: unexecuted dependencies found.\n\n${lines.join("\n")}\n\nRetry with \`dao_ship proposalId=${proposal.id} cascade=true\` or \`force=true\`.`);
590
- }
591
- if (cascade && pendingDeps.length > 0) {
592
- const notControlled = pendingDeps.filter((depId) => getProposal(depId)?.status !== "controlled");
593
- if (notControlled.length > 0) {
594
- const details = notControlled
595
- .map((depId) => {
596
- const dep = getProposal(depId);
597
- return dep ? `#${dep.id} (${dep.status})` : `#${depId} (missing)`;
598
- })
599
- .join(", ");
600
- return toolResult(`Cannot cascade ship: dependencies not in 'controlled' state: ${details}`);
601
- }
602
- for (const depId of pendingDeps) {
603
- const dep = getProposal(depId);
604
- if (!dep || dep.status === "executed")
605
- continue;
606
- const depError = await shipOne(depId);
607
- if (depError)
608
- return toolResult(depError);
609
- shipped.push(depId);
610
- }
611
- }
612
- }
613
- const targetError = await shipOne(proposal.id);
614
- if (targetError)
615
- return toolResult(targetError);
616
- shipped.push(proposal.id);
617
- await saveState();
618
- const summary = shipped.map((id) => `- #${id}`).join("\n");
619
- return toolResult(`# 🚀 Ship Complete\n\nShipped proposals:\n${summary}`);
499
+ return toolResult(await handleDaoShip({
500
+ adapter: createPiHostAdapter(pi),
501
+ workDir: process.cwd(),
502
+ deliberationMode: "auto",
503
+ controlToolName: "dao_check",
504
+ repository,
505
+ }, params.proposalId, { cascade: params.cascade, force: params.force }));
620
506
  },
621
507
  });
622
508
  // ── Tool: dao_audit ──────────────────────────────────────
@@ -657,20 +543,7 @@ export default function swarmDaoExtension(pi) {
657
543
  comment: Type.String(),
658
544
  }),
659
545
  async execute(_id, params) {
660
- const proposal = getProposal(Number(params.proposalId));
661
- if (!proposal)
662
- return toolResult(`Proposal #${params.proposalId} not found.`);
663
- if (proposal.status !== "executed")
664
- return toolResult(`Proposal #${proposal.id} is ${proposal.status}, must be executed.`);
665
- await addRating(proposal.id, {
666
- proposalId: proposal.id,
667
- rater: "user",
668
- score: Number(params.score),
669
- comment: params.comment,
670
- ratedAt: new Date().toISOString(),
671
- });
672
- await saveState();
673
- return toolResult(`# ⭐ Rating Recorded — #${proposal.id}\n\n**Score:** ${params.score}/5\n**Comment:** ${params.comment}`);
546
+ return toolResult(await handleDaoRate(Number(params.proposalId), Number(params.score), params.comment, repository));
674
547
  },
675
548
  });
676
549
  // ── Tool: dao_dashboard ──────────────────────────────────
@@ -695,14 +568,7 @@ export default function swarmDaoExtension(pi) {
695
568
  description: "Preview execution without applying changes",
696
569
  parameters: Type.Object({ proposalId: Type.Number() }),
697
570
  async execute(_id, params) {
698
- const proposal = getProposal(Number(params.proposalId));
699
- if (!proposal)
700
- return toolResult(`Proposal #${params.proposalId} not found.`);
701
- const result = await performDryRun(proposal);
702
- proposal.dryRunAt = new Date().toISOString();
703
- proposal.dryRunCanProceed = result.canProceed;
704
- await saveState();
705
- return toolResult(formatDryRun(result));
571
+ return toolResult(await handleDaoDryRun(Number(params.proposalId), repository));
706
572
  },
707
573
  });
708
574
  // ── Tool: dao_rollback ───────────────────────────────────
@@ -712,8 +578,7 @@ export default function swarmDaoExtension(pi) {
712
578
  description: "Revert proposal execution to pre-execution snapshot",
713
579
  parameters: Type.Object({ proposalId: Type.Number() }),
714
580
  async execute(_id, params) {
715
- const result = await performRollback(Number(params.proposalId));
716
- return toolResult(formatRollback(result));
581
+ return toolResult(await handleDaoRollback(Number(params.proposalId), repository));
717
582
  },
718
583
  });
719
584
  // ── Tool: dao_roundtable ─────────────────────────────────
@@ -723,44 +588,15 @@ export default function swarmDaoExtension(pi) {
723
588
  description: "Ask every agent to suggest a proposal idea",
724
589
  parameters: Type.Object({}),
725
590
  async execute(_id, _params, _signal, _onUpdate, ctx) {
726
- const state = getState();
727
- if (!state.initialized)
728
- return toolResult(PI_ONBOARDING_MESSAGE);
729
591
  const adapter = createPiHostAdapter(pi, ctx);
730
- const projectConfig = await loadConfig(state.daoRoot);
731
- const agents = await loadAgentDefinitions(state.daoRoot, projectConfig);
732
- const modelContext = createDispatchModelContext(state.config.defaultModel, adapter);
733
- const suggestions = await runRoundTable(adapter, agents, state.config.maxConcurrent, modelContext);
734
- // Create proposals from valid suggestions
735
- const proposalIds = new Map();
736
- const parsedSuggestions = suggestions
737
- .map((suggestion) => ({ suggestion, parsed: suggestion.parsed }))
738
- .filter((entry) => Boolean(entry.parsed));
739
- try {
740
- const proposals = await createProposalsBatch(parsedSuggestions.map(({ suggestion, parsed }) => ({
741
- title: parsed.title,
742
- type: parsed.type,
743
- description: parsed.description,
744
- proposedBy: suggestion.agentId,
745
- })));
746
- for (const [index, { suggestion }] of parsedSuggestions.entries()) {
747
- const proposal = proposals[index];
748
- if (!proposal)
749
- continue;
750
- proposal.riskZone = classifyRiskZone(proposal);
751
- suggestion.proposalId = proposal.id;
752
- proposalIds.set(suggestion.agentId, proposal.id);
753
- await recordAudit(proposal.id, "intelligence", "roundtable_proposal_created", suggestion.agentId, `Auto-created from round table`);
754
- }
755
- }
756
- catch (error) {
757
- const message = error instanceof Error ? error.message : String(error);
758
- for (const { suggestion } of parsedSuggestions) {
759
- suggestion.error = `Failed to create proposal: ${message}`;
760
- }
761
- }
762
- await saveState();
763
- return toolResult(formatRoundTableResults(suggestions, proposalIds));
592
+ return toolResult(await handleDaoRoundtable({
593
+ adapter,
594
+ workDir: process.cwd(),
595
+ deliberationMode: "auto",
596
+ controlToolName: "dao_check",
597
+ getSessionModel: () => detectParentSessionModel(ctx),
598
+ repository,
599
+ }));
764
600
  },
765
601
  });
766
602
  // ── Tool: dao_update_proposal ────────────────────────────
@@ -776,21 +612,85 @@ export default function swarmDaoExtension(pi) {
776
612
  rollbackConditions: Type.Optional(Type.Array(Type.String())),
777
613
  }),
778
614
  async execute(_id, params) {
779
- const proposal = getProposal(Number(params.proposalId));
780
- if (!proposal)
781
- return toolResult(`Proposal #${params.proposalId} not found.`);
782
- if (proposal.status !== "open")
783
- return toolResult(`Must be open (current: ${proposal.status})`);
784
- if (params.problemStatement !== undefined)
785
- proposal.problemStatement = params.problemStatement;
786
- if (params.acceptanceCriteria !== undefined)
787
- proposal.acceptanceCriteria = params.acceptanceCriteria;
788
- if (params.successMetrics !== undefined)
789
- proposal.successMetrics = params.successMetrics;
790
- if (params.rollbackConditions !== undefined)
791
- proposal.rollbackConditions = params.rollbackConditions;
792
- await saveState();
793
- return toolResult(`# 📝 Proposal Updated #${proposal.id}\n\nUpdated fields applied.`);
615
+ return toolResult(await handleDaoUpdateProposal(Number(params.proposalId), {
616
+ problemStatement: params.problemStatement,
617
+ acceptanceCriteria: params.acceptanceCriteria,
618
+ successMetrics: params.successMetrics,
619
+ rollbackConditions: params.rollbackConditions,
620
+ }, repository));
621
+ },
622
+ });
623
+ // ── Tool: dao_check_edit ─────────────────────────────────
624
+ pi.registerTool({
625
+ name: "dao_check_edit",
626
+ label: "DAO Check Edit",
627
+ description: "Check whether paths may be edited under the configured mode (opt-in/suggest/enforce)",
628
+ parameters: Type.Object({
629
+ paths: Type.Array(Type.String(), { description: "Files about to be edited" }),
630
+ }),
631
+ async execute(_id, params) {
632
+ return toolResult(await handleDaoCheckEdit({
633
+ adapter: createPiHostAdapter(pi),
634
+ workDir: process.cwd(),
635
+ deliberationMode: "auto",
636
+ controlToolName: "dao_check",
637
+ repository,
638
+ }, params.paths));
639
+ },
640
+ });
641
+ // ── Tool: dao_config_github ─────────────────────────────
642
+ pi.registerTool({
643
+ name: "dao_config_github",
644
+ label: "DAO GitHub Config",
645
+ description: "Configure the GitHub integration (token, owner, repo)",
646
+ parameters: Type.Object({
647
+ token: Type.String({ description: "GitHub personal access token" }),
648
+ owner: Type.String({ description: "Repository owner (user or org)" }),
649
+ repo: Type.String({ description: "Repository name" }),
650
+ }),
651
+ async execute(_id, params) {
652
+ return toolResult(await handleDaoConfigGithub({
653
+ adapter: createPiHostAdapter(pi),
654
+ workDir: process.cwd(),
655
+ deliberationMode: "auto",
656
+ controlToolName: "dao_check",
657
+ repository,
658
+ }, params));
659
+ },
660
+ });
661
+ // ── Tool: dao_github_create_branch ──────────────────────
662
+ pi.registerTool({
663
+ name: "dao_github_create_branch",
664
+ label: "DAO GitHub Branch",
665
+ description: "Create a GitHub branch (dao/<id>-<slug>) for a proposal",
666
+ parameters: Type.Object({ proposalId: Type.Number() }),
667
+ async execute(_id, params) {
668
+ return toolResult(await handleDaoGithubCreateBranch({
669
+ adapter: createPiHostAdapter(pi),
670
+ workDir: process.cwd(),
671
+ deliberationMode: "auto",
672
+ controlToolName: "dao_check",
673
+ repository,
674
+ }, params.proposalId));
675
+ },
676
+ });
677
+ // ── Tool: dao_github_open_pr ────────────────────────────
678
+ pi.registerTool({
679
+ name: "dao_github_open_pr",
680
+ label: "DAO GitHub PR",
681
+ description: "Open a GitHub pull request for a proposal",
682
+ parameters: Type.Object({
683
+ proposalId: Type.Number(),
684
+ headBranch: Type.String({ description: "Branch containing the work" }),
685
+ }),
686
+ async execute(_id, params) {
687
+ return toolResult(await handleDaoGithubOpenPr({
688
+ adapter: createPiHostAdapter(pi),
689
+ workDir: process.cwd(),
690
+ deliberationMode: "auto",
691
+ controlToolName: "dao_check",
692
+ repository,
693
+ }, params.proposalId, params.headBranch));
794
694
  },
795
695
  });
796
696
  // ── Command: /dao ────────────────────────────────────────
@@ -811,22 +711,13 @@ export default function swarmDaoExtension(pi) {
811
711
  return output.trim();
812
712
  };
813
713
  const runDaoSetup = async () => {
814
- let state;
815
- try {
816
- state = getState();
817
- }
818
- catch {
819
- state = getOrCreateState(process.cwd());
820
- }
821
- if (state.initialized) {
822
- return `DAO already initialized with ${state.agents.length} agents. Run \`/dao help\` for commands.`;
823
- }
824
- const agents = initializeAgents();
825
- state.agents = agents;
826
- state.initialized = true;
827
- setState(state);
828
- await saveState();
829
- return `# DAO Initialized\n\nAgents: ${agents.length}\nRun \`/dao status\` to view the dashboard.`;
714
+ return handleDaoSetup({
715
+ adapter: createPiHostAdapter(pi),
716
+ workDir: process.cwd(),
717
+ deliberationMode: "auto",
718
+ controlToolName: "dao_check",
719
+ repository,
720
+ });
830
721
  };
831
722
  const renderProposalList = (state, filters = {}) => {
832
723
  let proposals = state.proposals;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,yBAAyB;AACzB,+DAA+D;AAC/D,mDAAmD;AACnD,8CAA8C;AAE9C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AASnD,OAAO;AACL,2DAA2D;AAC3D,mBAAmB,EACnB,kBAAkB;AAClB,WAAW;AACX,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,MAAM;AACN,QAAQ;AACR,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAM/B,IAAI,mBAAmB,GAAuB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAEnE,SAAS,wBAAwB,CAAC,GAA6B;IAC7D,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,IAAI,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAiC,CAAC;YACjD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC;YAC9D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC;YACxD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAC;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO;qBACxB,MAAM,CAAC,CAAC,KAAK,EAA2C,EAAE;oBACzD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;wBACzB,KAAK,KAAK,IAAI;wBACb,KAA2B,CAAC,IAAI,KAAK,MAAM;wBAC5C,OAAQ,KAA2B,CAAC,IAAI,KAAK,QAAQ,CACtD,CAAC;gBACJ,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;qBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,0EAA0E;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACrG,CAAC;IACD,+EAA+E;IAC/E,gFAAgF;IAChF,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,YAAoB,EACpB,KAAa,EACb,SAAkB;IAElB,IAAI,CAAC;QACH,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrF,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC;YAC5C,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC,EAAE,SAAS,CAAC;YACf,CAAC,CAAC,SAAS,CAAC;QAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,iCAAiC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAClF,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,kCAAkC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClG,OAAO;YACT,CAAC;YACD,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;IACxE,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC7B,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,kBAAkB,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC;QAC3B,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC;QAC1B,KAAK,aAAa;YAChB,OAAO,mBAAmB,CAAC;QAC7B;YACE,OAAO,iBAAiB,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAwB;IAC5D,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC;IACxJ,MAAM,WAAW,GACf,cAAc,KAAK,iBAAiB;QAClC,CAAC,CAAC,wIAAwI;QAC1I,CAAC,CAAC,yJAAyJ,CAAC;IAEhK,OAAO;aACI,KAAK;YACN,cAAc;mBACP,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe,EAAE,QAAkB;IAC7D,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,CAAC;QACjG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAwB;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEpF,MAAM,cAAc,GAAiC;QACnD,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,CAAC;KACvB,CAAC;IACF,MAAM,UAAU,GAAiC;QAC/C,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,CAAC;KACvB,CAAC;IACF,MAAM,gBAAgB,GAAiC;QACrD,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,CAAC;KACvB,CAAC;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEtE,MAAM,aAAa,GACjB,IAAI,KAAK,KAAK;QACZ,CAAC,CAAC,uEAAuE;QACzE,CAAC,CAAC,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,uDAAuD;YACzD,CAAC,CAAC,6EAA6E,CAAC;IAEtF,OAAO;EACP,MAAM,CAAC,KAAK,CAAC,IAAI,uBAAuB,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI;;;EAGrE,IAAI;;;EAGJ,aAAa;;;gBAGC,UAAU;oBACN,cAAc;YACtB,MAAM;kBACA,YAAY;gBACd,UAAU;;;EAGxB,SAAS,EAAE,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAiB,EAAE,GAA6B;IAC3E,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAEzD,OAAO;QACL,MAAM,EAAE,IAAI;QAEZ,eAAe;YACb,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,MAAM;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,yBAAyB,CAAC;YAErG,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,CAAC;YACrE,IAAI,cAAc,IAAI,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,OAAO;wBACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;wBACxB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBAC5B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBACvB,OAAO,EAAE,UAAU,CAAC,OAAO;wBAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;qBACnC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,CAAC,GAAG,CAAC;oBACb,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,YAAY;oBACrB,OAAO,EAAE,kCAAkC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,MAAM,UAAU,CAAC,KAAK,IAAI,cAAc,yBAAyB;iBACtI,CAAC,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACzG,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACxB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBAC5B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,OAAO;gBACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,MAAM;YACtB,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CACxF,CACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,MAAM;YACd,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YACxD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,mBAAmB;YACjB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,IAAY;YACzB,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;YAC3C,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,CAAC,IAAI,CACR,OAAe,EACf,OAA4C;YAE5C,OAAO,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,aAAa,CAAC,UAAkB;YAC9B,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gEAAgE;AAEhE,SAAS,UAAU,CAAC,OAAe;IAIjC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG;IAC5B,uBAAuB;IACvB,EAAE;IACF,6DAA6D;IAC7D,sDAAsD;IACtD,uGAAuG;CACxG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AA6Fb,gEAAgE;AAEhE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAgB;IACxD,IAAI,UAA8C,CAAC;IACnD,iCAAiC;IACjC,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,UAAU,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAChD,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,mBAAmB,GAAG,KAAK,CAAC,KAAK,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO;gBACL,YAAY,EACV,KAAK,CAAC,YAAY;oBAClB,gNAAgN;aACnN,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC;QAExG,IAAI,UAAU,GAAG,mFAAmF,CAAC;QACrG,UAAU,IAAI,sBAAsB,MAAM,CAAC,MAAM,KAAK,SAAS,qBAAqB,WAAW,EAAE,CAAC;QAClG,UAAU,IAAI,uBAAuB,aAAa,CAAC,MAAM,EAAE,CAAC;QAC5D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC9B,UAAU,IAAI,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YACxE,CAAC;QACH,CAAC;QACD,UAAU,IAAI,sBAAsB,KAAK,CAAC,MAAM,CAAC,aAAa,eAAe,KAAK,CAAC,MAAM,CAAC,iBAAiB,WAAW,KAAK,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC;QACtJ,UAAU,IAAI,mMAAmM,CAAC;QAElN,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,UAAU,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,0CAA0C;QACvD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC,CAAC;SAChG,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAsB;YACvC,OAAO,UAAU,CACf,MAAM,cAAc,CAClB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,WAAW,KAAK,KAAK,CAC7B,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACxD,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAwB;YACzC,OAAO,UAAU,CAAC,MAAM,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAoB,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1G,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,sCAAsC;QACnD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;SAC1B,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA2B,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG;YACpE,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC;oBACP,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC;oBACvF,OAAO,EAAE,EAAE;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7C,OAAO,UAAU,CACf,MAAM,mBAAmB,CACvB;gBACE,OAAO;gBACP,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,iBAAiB,EAAE,IAAI;gBACvB,UAAU;gBACV,sBAAsB,EAAE,CAAC,MAAM,EAAE,EAAE;oBACjC,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC;4BACP,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;4BACzE,OAAO,EAAE,EAAE;yBACZ,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;aACF,EACD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAC1B,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAsB;YACvC,OAAO,UAAU,CACf,MAAM,gBAAgB,CACpB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,iBAAiB,EAAE,IAAI;gBACvB,UAAU;aACX,EACD,MAAM,CAAC,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAqB;YACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAO,UAAU,CAAC,aAAa,MAAM,CAAC,UAAU,aAAa,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC/B,OAAO,UAAU,CACf,oHAAoH,CACrH,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;oBACvC,OAAO,UAAU,CACf,kGAAkG,CACnG,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACnC,OAAO,UAAU,CAAC,qFAAqF,CAAC,CAAC;gBAC3G,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBACrC,OAAO,UAAU,CAAC,yEAAyE,CAAC,CAAC;gBAC/F,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACnC,OAAO,UAAU,CAAC,+CAA+C,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,UAAU,CAAC,uCAAuC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,+BAA+B;QAC5C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAwB;YACzC,OAAO,UAAU,CACf,MAAM,gBAAgB,CACpB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,8DAA8D;QAC3E,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACrC,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAqB;YACtC,OAAO,UAAU,CACf,MAAM,aAAa,CACjB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,UAAU,EACjB,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CACjD,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAsB;YACvC,MAAM,OAAO,GACX,MAAM,CAAC,UAAU,KAAK,SAAS;gBAC7B,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC;gBACpE,CAAC,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC;KACF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,8CAA8C;QAC3D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA0B;YAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ;gBAAE,OAAO,UAAU,CAAC,aAAa,MAAM,CAAC,UAAU,aAAa,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;QACnD,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,oDAAoD;QACjE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;YACzB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;SACvB,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAqB;YACtC,OAAO,UAAU,CACf,MAAM,aAAa,CACjB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAsB,EACzC,MAAM,CAAC,OAAO,EACd,UAAU,CACX,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,iCAAiC;QAC9C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAA2B;YAC5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,WAAW;gBAAE,OAAO,UAAU,CAAC,qBAAqB,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;YAC1G,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/F,OAAO,UAAU,CAAC,GAAG,SAAS,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,4CAA4C;QACzD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAuB;YACxC,OAAO,UAAU,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,qDAAqD;QAClE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAyB;YAC1C,OAAO,UAAU,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QACpF,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,4CAA4C;QACzD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAA4B,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG;YACtE,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7C,OAAO,UAAU,CACf,MAAM,mBAAmB,CAAC;gBACxB,OAAO;gBACP,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,eAAe,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC;gBACpD,UAAU;aACX,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,8CAA8C;QAC3D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;YACzB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7D,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA+B;YAChD,OAAO,UAAU,CACf,MAAM,uBAAuB,CAC3B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EACzB;gBACE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;aAC9C,EACD,UAAU,CACX,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,sFAAsF;QACnG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;SAC9E,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA0B;YAC3C,OAAO,UAAU,CACf,MAAM,kBAAkB,CACtB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,KAAK,CACb,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,uDAAuD;QACpE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;YACnE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;YACrE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;SACtD,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA6B;YAC9C,OAAO,UAAU,CACf,MAAM,qBAAqB,CACzB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CACP,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yDAAyD;QACtE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA6B;YAC9C,OAAO,UAAU,CACf,MAAM,2BAA2B,CAC/B;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,2CAA2C;QACxD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;SACvE,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAyB;YAC1C,OAAO,UAAU,CACf,MAAM,qBAAqB,CACzB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,eAAe,GAAG,CAAC,KAAkC,EAAU,EAAE;QACrE,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,GAAG,yBAAyB,CAAC;QACvC,MAAM,IAAI,WAAW,KAAK,CAAC,MAAM,CAAC,MAAM,iBAAiB,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;QACpF,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,MAAM,KAAK,KAAK,IAAI,CAAC;QACtC,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,IAAqB,EAAE;QAC9C,OAAO,cAAc,CAAC;YACpB,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,gBAAgB,EAAE,MAAM;YACxB,eAAe,EAAE,WAAW;YAC5B,UAAU;SACX,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CACzB,KAAkC,EAClC,UAA8C,EAAE,EACxC,EAAE;QACV,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAChC,IAAI,OAAO,CAAC,MAAM;YAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QACrF,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAC9C,OAAO,MAAM;gBACX,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,6DAA6D,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChG,OAAO,gBAAgB,SAAS,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAkC,EAAU,EAAE;QACrE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,uDAAuD,CAAC;QAC9F,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,OAAO,iBAAiB,KAAK,CAAC,MAAM,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;IAC5D,CAAC,CAAC;IAEF,mFAAmF;IACnF,MAAM,gBAAgB,GAAG,CAAC,MAAgB,EAAsC,EAAE;QAChF,MAAM,OAAO,GAAuC,EAAE,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;gBACtB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpB,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,uFAAuF;IACvF,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAsB,EAAE;QACxE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QACzB,WAAW,EAAE,sGAAsG;QACnH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE7B,cAAc;YACd,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC5E,OAAO,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YAED,gEAAgE;YAChE,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBACpD,OAAO,MAAM,WAAW,EAAE,CAAC;YAC7B,CAAC;YAED,2CAA2C;YAC3C,IAAI,KAAkC,CAAC;YACvC,IAAI,CAAC;gBACH,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,qBAAqB,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,WAAW;gBAAE,OAAO,qBAAqB,CAAC;YAErD,sCAAsC;YACtC,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC/E,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,6EAA6E;YAC7E,IAAI,UAAU,KAAK,MAAM;gBAAE,OAAO,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YACpF,IAAI,UAAU,KAAK,QAAQ;gBAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBACtD,OAAO,0BAA0B,IAAI,CAAC,CAAC,CAAC,2CAA2C,CAAC;gBACtF,CAAC;gBACD,MAAM,OAAO,GACX,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;gBAC5G,OAAO,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;YAED,oCAAoC;YACpC,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG;gBAAE,OAAO,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAErD,0EAA0E;YAC1E,8EAA8E;YAC9E,2DAA2D;YAC3D,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;gBACjE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,GAAG,GAAG,CAAC,OAAO,oBAAoB,IAAI,UAAU,OAAO,gBAAgB,GAAG,CAAC,EAAE,uDAAuD,IAAI,WAAW,CAAC;YAC7J,CAAC;YACD,OAAO,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guyghost/swarm-dao-pi-adapter",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Swarm DAO adapter for the Pi coding agent — multi-agent governance tools, commands, and event hooks",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "prepublishOnly": "bun run build"
25
25
  },
26
26
  "dependencies": {
27
- "@guyghost/swarm-dao-core": "^0.4.0"
27
+ "@guyghost/swarm-dao-core": "^0.5.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "@earendil-works/pi-ai": ">=0.1.0",