@indy2kro/agentenv 0.2.2 → 0.3.1

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 (92) hide show
  1. package/README.md +46 -39
  2. package/dist/adapters/cursor.d.ts +1 -1
  3. package/dist/adapters/cursor.d.ts.map +1 -1
  4. package/dist/adapters/cursor.js +5 -1
  5. package/dist/adapters/cursor.js.map +1 -1
  6. package/dist/adapters/gemini.d.ts +1 -1
  7. package/dist/adapters/gemini.js +1 -1
  8. package/dist/adapters/rtk-delegation.d.ts +7 -0
  9. package/dist/adapters/rtk-delegation.d.ts.map +1 -1
  10. package/dist/adapters/rtk-delegation.js +5 -3
  11. package/dist/adapters/rtk-delegation.js.map +1 -1
  12. package/dist/adapters/vibe.d.ts +1 -1
  13. package/dist/adapters/vibe.js +1 -1
  14. package/dist/adapters/windsurf.d.ts +1 -1
  15. package/dist/adapters/windsurf.js +1 -1
  16. package/dist/cli/exit.d.ts +19 -0
  17. package/dist/cli/exit.d.ts.map +1 -0
  18. package/dist/cli/exit.js +36 -0
  19. package/dist/cli/exit.js.map +1 -0
  20. package/dist/commands/apply.d.ts +13 -2
  21. package/dist/commands/apply.d.ts.map +1 -1
  22. package/dist/commands/apply.js +53 -6
  23. package/dist/commands/apply.js.map +1 -1
  24. package/dist/commands/completion.d.ts +30 -0
  25. package/dist/commands/completion.d.ts.map +1 -0
  26. package/dist/commands/completion.js +181 -0
  27. package/dist/commands/completion.js.map +1 -0
  28. package/dist/commands/doctor.d.ts +15 -1
  29. package/dist/commands/doctor.d.ts.map +1 -1
  30. package/dist/commands/doctor.js +79 -8
  31. package/dist/commands/doctor.js.map +1 -1
  32. package/dist/commands/setup.d.ts +4 -1
  33. package/dist/commands/setup.d.ts.map +1 -1
  34. package/dist/commands/setup.js +32 -65
  35. package/dist/commands/setup.js.map +1 -1
  36. package/dist/commands/status.d.ts +124 -1
  37. package/dist/commands/status.d.ts.map +1 -1
  38. package/dist/commands/status.js +440 -135
  39. package/dist/commands/status.js.map +1 -1
  40. package/dist/commands/uninstall.d.ts +54 -0
  41. package/dist/commands/uninstall.d.ts.map +1 -0
  42. package/dist/commands/uninstall.js +246 -0
  43. package/dist/commands/uninstall.js.map +1 -0
  44. package/dist/commands/update.d.ts.map +1 -1
  45. package/dist/commands/update.js +78 -34
  46. package/dist/commands/update.js.map +1 -1
  47. package/dist/commands/wizard.d.ts +8 -0
  48. package/dist/commands/wizard.d.ts.map +1 -0
  49. package/dist/commands/{configure.js → wizard.js} +81 -69
  50. package/dist/commands/wizard.js.map +1 -0
  51. package/dist/config/schema.d.ts +2 -3
  52. package/dist/config/schema.d.ts.map +1 -1
  53. package/dist/config/schema.js +2 -11
  54. package/dist/config/schema.js.map +1 -1
  55. package/dist/config/scopes.d.ts.map +1 -1
  56. package/dist/config/scopes.js +4 -0
  57. package/dist/config/scopes.js.map +1 -1
  58. package/dist/generate/agentsmd.d.ts.map +1 -1
  59. package/dist/generate/agentsmd.js +17 -1
  60. package/dist/generate/agentsmd.js.map +1 -1
  61. package/dist/index.js +35 -8
  62. package/dist/index.js.map +1 -1
  63. package/dist/shell/detector.js +1 -1
  64. package/dist/shell/detector.js.map +1 -1
  65. package/dist/toolchain/fallbacks.d.ts +12 -2
  66. package/dist/toolchain/fallbacks.d.ts.map +1 -1
  67. package/dist/toolchain/fallbacks.js +18 -22
  68. package/dist/toolchain/fallbacks.js.map +1 -1
  69. package/dist/toolchain/mise.d.ts +51 -5
  70. package/dist/toolchain/mise.d.ts.map +1 -1
  71. package/dist/toolchain/mise.js +145 -28
  72. package/dist/toolchain/mise.js.map +1 -1
  73. package/dist/toolchain/rtk.d.ts +10 -1
  74. package/dist/toolchain/rtk.d.ts.map +1 -1
  75. package/dist/toolchain/rtk.js +21 -5
  76. package/dist/toolchain/rtk.js.map +1 -1
  77. package/dist/ui/output.d.ts +38 -0
  78. package/dist/ui/output.d.ts.map +1 -0
  79. package/dist/ui/output.js +107 -0
  80. package/dist/ui/output.js.map +1 -0
  81. package/dist/ui/spinner.d.ts +10 -2
  82. package/dist/ui/spinner.d.ts.map +1 -1
  83. package/dist/ui/spinner.js +17 -3
  84. package/dist/ui/spinner.js.map +1 -1
  85. package/dist/wizard/build.d.ts +17 -1
  86. package/dist/wizard/build.d.ts.map +1 -1
  87. package/dist/wizard/build.js +46 -1
  88. package/dist/wizard/build.js.map +1 -1
  89. package/package.json +1 -1
  90. package/dist/commands/configure.d.ts +0 -14
  91. package/dist/commands/configure.d.ts.map +0 -1
  92. package/dist/commands/configure.js.map +0 -1
@@ -9,7 +9,7 @@ import * as child_process from 'child_process';
9
9
  import { BINARY_MAP, TOOL_KEYS, TOOL_TIERS } from '../config/schema.js';
10
10
  import { resolveBinary } from '../adapters/detect.js';
11
11
  import { writeFileWithVerify } from '../utils/fs-retry.js';
12
- import { FALLBACK_REQUIRED_TOOLS, requiresFallback } from './fallbacks.js';
12
+ import { FALLBACK_REQUIRED_TOOLS, isPlatformUnsupported, requiresFallback } from './fallbacks.js';
13
13
  // Tool to mise name mappings
14
14
  export const MISE_TOOL_NAMES = {
15
15
  ripgrep: 'ripgrep',
@@ -18,7 +18,6 @@ export const MISE_TOOL_NAMES = {
18
18
  rtk: 'rtk',
19
19
  ast_grep: 'ast-grep',
20
20
  git_delta: 'delta',
21
- universal_ctags: 'universal-ctags',
22
21
  gh: 'gh',
23
22
  difftastic: 'difftastic',
24
23
  yq: 'yq',
@@ -48,8 +47,8 @@ export const MISE_TOOL_NAMES = {
48
47
  qsv: 'qsv',
49
48
  };
50
49
  // Tools that cannot be installed via mise and require fallback
51
- // Based on Phase 0 findings: universal-ctags and tokei are not in mise registry
52
- export { FALLBACK_REQUIRED_TOOLS, requiresFallback };
50
+ // Based on Phase 0 findings: tokei is not in the mise registry (needs cargo backend)
51
+ export { FALLBACK_REQUIRED_TOOLS, isPlatformUnsupported, requiresFallback };
53
52
  /**
54
53
  * Tools agentenv invokes directly are pinned to versions we have verified;
55
54
  * everything else resolves to latest. rtk is invoked by agentenv's delegation
@@ -79,7 +78,7 @@ export function generateMiseToml(config, customTools = []) {
79
78
  const allEnabledTools = [...tier1Tools, ...tier2Tools, ...tier3Tools];
80
79
  for (const toolKey of allEnabledTools) {
81
80
  // Skip tools that require fallback installation (not in mise registry)
82
- if (requiresFallback(toolKey)) {
81
+ if (requiresFallback(toolKey) || isPlatformUnsupported(toolKey)) {
83
82
  continue;
84
83
  }
85
84
  const miseName = MISE_TOOL_NAMES[toolKey] || toolKey;
@@ -246,7 +245,7 @@ export function getToolsToInstall(config) {
246
245
  for (const key of toolKeys) {
247
246
  if (tools[key]) {
248
247
  // Skip tools that require fallback installation (not in mise registry)
249
- if (requiresFallback(key)) {
248
+ if (requiresFallback(key) || isPlatformUnsupported(key)) {
250
249
  continue;
251
250
  }
252
251
  const miseName = MISE_TOOL_NAMES[key] || key;
@@ -320,6 +319,23 @@ export async function runMiseUpgrade(tools, cwd) {
320
319
  };
321
320
  }
322
321
  }
322
+ /**
323
+ * Uninstall the given tools from the mise store. Each tool name is passed
324
+ * version-less (no `@version`) together with `--all`, removing every installed
325
+ * version of that tool. `--all` is required: without it, mise 2026.x bails with
326
+ * "multiple tools specified, use --all to uninstall all versions" as soon as a
327
+ * named tool has more than one version installed. Surfaces the captured
328
+ * subprocess result like runMiseUpgrade does.
329
+ */
330
+ export function runMiseUninstall(tools, cwd = '.', miseTomlPath) {
331
+ const result = runMiseCaptured(['uninstall', '--all', ...tools], { cwd, miseTomlPath });
332
+ return {
333
+ success: result.status === 0,
334
+ stdout: result.stdout || '',
335
+ stderr: result.stderr || '',
336
+ exitCode: result.status ?? null,
337
+ };
338
+ }
323
339
  /**
324
340
  * Run a single mise command with args passed as an array (never a
325
341
  * string-built command — paths with spaces would break parsing on Windows)
@@ -613,6 +629,19 @@ export function eulaPreflightHint(config) {
613
629
  const tool = flagged[0];
614
630
  return `${tool} requires accepting a EULA on first install — run \`mise install ${tool}\` in an interactive terminal and accept it, then re-run \`agentenv apply\`.`;
615
631
  }
632
+ /**
633
+ * Printed instead of silently dropping enabled tools that mise cannot
634
+ * install at all on this platform (see PLATFORM_UNSUPPORTED_TOOLS) — without
635
+ * this, `generateMiseToml`/`getToolsToInstall` quietly excluding them would
636
+ * leave the user thinking those tools installed when they never even ran.
637
+ */
638
+ export function platformUnsupportedHint(config) {
639
+ const tools = config.tools || {};
640
+ const skipped = TOOL_KEYS.filter((key) => tools[key] === true && isPlatformUnsupported(key));
641
+ if (skipped.length === 0)
642
+ return '';
643
+ return `Skipped on ${process.platform} (no mise backend supports it here): ${skipped.join(', ')}`;
644
+ }
616
645
  /** Detect a likely interactive-acceptance prompt in captured install output. */
617
646
  export function detectEulaPrompt(stdout, stderr) {
618
647
  const combined = `${stdout}\n${stderr}`;
@@ -634,35 +663,123 @@ export function detectEulaPrompt(stdout, stderr) {
634
663
  /**
635
664
  * Run mise install
636
665
  * Installs all tools listed in mise.toml
637
- */
638
- export async function runMiseInstall(miseTomlPath, cwd = '.') {
639
- const result = runMiseCaptured(['install'], { cwd, miseTomlPath });
640
- const eula = detectEulaPrompt(result.stdout, result.stderr);
641
- return {
642
- success: result.status === 0,
643
- stdout: result.stdout,
644
- stderr: result.stderr,
645
- exitCode: result.status ?? null,
646
- eulaTools: eula.eulaTools,
647
- eulaHint: eula.eulaHint,
648
- };
666
+ *
667
+ * Runs via async `spawn` (not `spawnSync`): `mise install` can take tens of
668
+ * seconds (downloading/extracting many tools), and a sync call would block
669
+ * the whole Node event loop for that entire duration — freezing any ora
670
+ * spinner (which redraws via a timer) and delaying every captured line of
671
+ * output until the process exits. `onOutput`, when given, is called with
672
+ * each chunk as it arrives so a caller can stream mise's own progress output
673
+ * live instead of only seeing it after install finishes.
674
+ */
675
+ export async function runMiseInstall(miseTomlPath, cwd = '.', onOutput) {
676
+ const env = { ...process.env, MISE_CONFIG_FILE: miseTomlPath };
677
+ return new Promise((resolve) => {
678
+ let child;
679
+ try {
680
+ child = child_process.spawn('mise', ['install'], {
681
+ cwd,
682
+ env,
683
+ stdio: ['ignore', 'pipe', 'pipe'],
684
+ });
685
+ }
686
+ catch (err) {
687
+ resolve({
688
+ success: false,
689
+ stdout: '',
690
+ stderr: err instanceof Error ? err.message : String(err),
691
+ exitCode: null,
692
+ eulaTools: [],
693
+ eulaHint: '',
694
+ });
695
+ return;
696
+ }
697
+ let stdout = '';
698
+ let stderr = '';
699
+ child.stdout?.setEncoding('utf-8').on('data', (chunk) => {
700
+ stdout += chunk;
701
+ onOutput?.(chunk, 'stdout');
702
+ });
703
+ child.stderr?.setEncoding('utf-8').on('data', (chunk) => {
704
+ stderr += chunk;
705
+ onOutput?.(chunk, 'stderr');
706
+ });
707
+ child.on('error', (err) => {
708
+ resolve({
709
+ success: false,
710
+ stdout,
711
+ stderr: stderr || err.message,
712
+ exitCode: null,
713
+ eulaTools: [],
714
+ eulaHint: '',
715
+ });
716
+ });
717
+ child.on('close', (code) => {
718
+ const eula = detectEulaPrompt(stdout, stderr);
719
+ resolve({
720
+ success: code === 0,
721
+ stdout,
722
+ stderr,
723
+ exitCode: code,
724
+ eulaTools: eula.eulaTools,
725
+ eulaHint: eula.eulaHint,
726
+ });
727
+ });
728
+ });
649
729
  }
650
730
  /**
651
- * Get installed tool versions via mise
731
+ * Parse `mise ls --json` output into installed-tool state, or `null` when the
732
+ * output is not valid JSON in a recognizable shape. mise's real output is an
733
+ * object keyed by tool name mapping to entries like `{version, install_path,
734
+ * installed, active}`; declared-but-uninstalled tools still appear with
735
+ * `installed: false`. A legacy `[{name, version}]` array shape is tolerated
736
+ * so an older/downgraded mise cannot silently regress the caller to "nothing
737
+ * installed". Callers that mutate the store must fail closed on `null` —
738
+ * unrecognized output is never evidence that nothing is installed.
652
739
  */
653
- export function getInstalledVersions() {
654
- const versions = {};
655
- const result = runMiseCaptured(['ls', '--json']);
740
+ export function parseInstalledToolState(raw) {
741
+ var _a;
742
+ let parsed;
656
743
  try {
657
- const tools = JSON.parse(result.stdout);
658
- for (const tool of tools) {
659
- versions[tool.name] = tool.version;
660
- }
744
+ parsed = JSON.parse(raw);
661
745
  }
662
746
  catch {
663
- // Ignore errors (mise might not be installed or might not support --json)
747
+ return null;
664
748
  }
665
- return versions;
749
+ const state = {};
750
+ if (Array.isArray(parsed)) {
751
+ for (const item of parsed) {
752
+ if (typeof item?.name !== 'string')
753
+ continue;
754
+ const entry = (state[_a = item.name] ?? (state[_a] = { installed: true, versions: [] }));
755
+ if (typeof item.version === 'string')
756
+ entry.versions.push(item.version);
757
+ }
758
+ return state;
759
+ }
760
+ if (parsed && typeof parsed === 'object') {
761
+ for (const [name, entries] of Object.entries(parsed)) {
762
+ const list = Array.isArray(entries)
763
+ ? entries
764
+ : [];
765
+ state[name] = {
766
+ installed: list.some((entry) => entry.installed === true),
767
+ versions: list
768
+ .map((entry) => (typeof entry.version === 'string' ? entry.version : ''))
769
+ .filter((version) => version !== ''),
770
+ };
771
+ }
772
+ return state;
773
+ }
774
+ return null;
775
+ }
776
+ /**
777
+ * Tolerant installed-tool state view for read-only callers: unlike
778
+ * `parseInstalledToolState`, unparseable or unrecognized `mise ls --json`
779
+ * output (or an absent mise) yields an empty map rather than `null`.
780
+ */
781
+ export function getInstalledToolState(raw) {
782
+ return parseInstalledToolState(raw ?? runMiseCaptured(['ls', '--json']).stdout) ?? {};
666
783
  }
667
784
  /**
668
785
  * Parse existing mise.toml file
@@ -1 +1 @@
1
- {"version":3,"file":"mise.js","sourceRoot":"","sources":["../../src/toolchain/mise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mise.js","sourceRoot":"","sources":["../../src/toolchain/mise.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAkB,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElG,6BAA6B;AAC7B,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,OAAO,EAAE,SAAS;IAClB,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,OAAO;IAClB,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,YAAY;IACxB,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,YAAY;IACZ,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,+DAA+D;AAC/D,qFAAqF;AACrF,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,CAAC;AAgB5E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,GAAG,EAAE,QAAQ;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAsB,EACtB,cAIK,EAAE;IAEP,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAA8B,CAAC;IAEjE,wBAAwB;IACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjF,oBAAoB;IACpB,MAAM,eAAe,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IAEtE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,uEAAuE;QACvE,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;QACrD,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,OAAO,OAAO,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,oCAAoC;IACpC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,IAAI,QAAQ,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,OAAO,OAAO,GAAG,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,8CAA8C;IAC9C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,GAAW;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1E,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;SACrB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;SACtC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9E,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,cAAc;IAC5B,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,GAAW;IACzD,MAAM,SAAS,GAAG,gBAAgB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,OAAO,KAAK,EAAE;YACnB,CAAC,CAAC,eAAe,SAAS,IAAI;YAC9B,CAAC,CAAC,GAAG,OAAO,mBAAmB,SAAS,IAAI,CAAC;IACjD,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,MAAM;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC9D,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAIlC,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,QAAQ;YAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAG,cAAc,EAAE;YAC/B,CAAC,CAAC,GAAG,GAAG,aAAa;YACrB,CAAC,CAAC,OAAO,GAAG,2FAA2F,CAAC;QAC1G,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,0BAA0B,UAAU,KAAK,QAAQ,EAAE;aAC7D,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,gCAAgC,QAAQ,CAAC,GAAG,CAAC,MAAM,QAAQ,EAAE;SACvE,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,uCAAuC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACnG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,UAAkB;IAC9D,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC/E,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IAMtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAA8B,CAAC;IAEjE,MAAM,MAAM,GAKP,EAAE,CAAC;IAER,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,uEAAuE;YACvE,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG;gBACT,QAAQ;gBACR,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,QAAQ;gBAClF,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IACxD,OAAO,iBAAiB,CAAC,MAAM,CAAC;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;SAC3C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IAIrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE;YAC9D,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;SACvC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACzD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAe,EACf,GAAW;IAOX,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE;YAC/D,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;SAChC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACxD,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAe,EACf,MAAc,GAAG,EACjB,YAAqB;IAOrB,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;IACxF,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;KAChC,CAAC;AACJ,CAAC;AAeD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAc,EACd,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY;QAC3B,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE;QACzD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAChB,IAAI,MAA8C,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;YAC7C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACxD,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM;QACN,WAAW,EAAE,wCAAwC,CAAC,IAAI,CAAC,MAAM,CAAC;KACnE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,oBAAoB;IAClC,OAAO,cAAc,EAAE,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,eAAe,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IAIjC,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,8BAA8B,cAAc,EAAE,GAAG;SAC3D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EACL,yFAAyF;YACzF,uBAAuB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,sBAAsB,OAAO,EAAE,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,KAAK,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE7D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,YAAoB,EACpB,MAAc,GAAG;IAKjB,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,YAAY,eAAe,EAAE,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,CAAC;QACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,MAAM,EAAE,EAAE,CAAC;IACtE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,2BAA2B,MAAM,CAAC,MAAM,IAAI,MAAM,MAAM,MAAM,EAAE;KAC1E,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACrD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,SAAS,KAAK,CAAC;YACjB,OAAO,oEAAoE,CAAC;QAC9E,OAAO,qCAAqC,SAAS,QAAQ,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC7F,CAAC;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,GAAW;IACtD,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,CACL,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,CAC5F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAO,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAe,EACf,WAAoB,EACpB,YAAqB,OAAO,CAAC,QAAQ,KAAK,OAAO;IAEjD,IAAI,MAAM;QAAE,OAAO,YAAY,CAAC;IAChC,IAAI,SAAS,IAAI,WAAW;QAAE,OAAO,oBAAoB,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,yBAAyB,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,SAAS;QAClC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACV,GAAG;YACH,MAAM;YACN,MAAM;YACN,MAAM,EAAE,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD,MAAM,UAAU,YAAY,CAAC,YAAgC;IAC3D,MAAM,MAAM,GAAiB,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAChF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;YAAE,MAAM,CAAC,UAAU,EAAE,CAAC;aACjD,IAAI,IAAI,CAAC,MAAM,KAAK,oBAAoB;YAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;;YACpE,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAgC;IAChE,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,WAAW,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,gBAAgB,0BAA0B,MAAM,CAAC,OAAO,UAAU,CAAC;IACpI,IAAI,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,GAAG,IAAI,MAAM,MAAM,CAAC,UAAU,IAAI,YAAY,CAAC,MAAM,uCAAuC,CAAC;IACtG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,IAAsB;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;IAC1E,IAAI,IAAI,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACzC,OAAO,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,GAAG,oCAAoC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,GAAG,qDAAqD,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAgC;IAC/D,OAAO,YAAY,CAAC,IAAI,CACtB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,oBAAoB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAC5E,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO;YACL,uFAAuF;YACvF,+HAA+H;SAChI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,OAAO;QACL,uIAAuI;QACvI,4BAA4B;KAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAa;IAC5C,WAAW;IACX,iCAAiC;IACjC,WAAW;IACX,0BAA0B;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAa,CAAC,UAAU,CAAC,CAAC;AAEtD,iGAAiG;AACjG,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAA0B,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,GAAG,IAAI,oEAAoE,IAAI,8EAA8E,CAAC;AACvK,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAsB;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,cAAc,OAAO,CAAC,QAAQ,wCAAwC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACpG,CAAC;AAOD,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAc;IAC7D,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChF,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO;YACL,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,QAAQ,EAAE,4EAA4E,IAAI,8EAA8E;SACzK,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,EAAE;QACb,QAAQ,EACN,2IAA2I;KAC9I,CAAC;AACJ,CAAC;AAaD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAAoB,EACpB,MAAc,GAAG,EACjB,QAA+D;IAE/D,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;IAC/D,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,EAAE;QAChD,IAAI,KAAiC,CAAC;QACtC,IAAI,CAAC;YACH,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE;gBAC/C,GAAG;gBACH,GAAG;gBACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACxD,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC9D,MAAM,IAAI,KAAK,CAAC;YAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC9D,MAAM,IAAI,KAAK,CAAC;YAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM;gBACN,MAAM,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO;gBAC7B,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO,CAAC;gBACN,OAAO,EAAE,IAAI,KAAK,CAAC;gBACnB,MAAM;gBACN,MAAM;gBACN,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAOD;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;;IACjD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAuC,EAAE,CAAC;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,MAAoD,EAAE,CAAC;YACxE,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAC7C,MAAM,KAAK,GAAG,CAAC,KAAK,MAAC,IAAI,CAAC,IAAI,MAAf,KAAK,OAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAC,CAAC;YACvE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;gBAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACjC,CAAC,CAAE,OAA4D;gBAC/D,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,GAAG;gBACZ,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;gBACzD,QAAQ,EAAE,IAAI;qBACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACxE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC;aACvC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,OAAO,uBAAuB,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACxF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC,OAAO,CAAe,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,YAAY,GAAwB,MAAM,CAAC;IAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,gCAAgC;QAChC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,iBAAiB;QACjB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAErC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,iBAAiB;gBACjB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,MAAM,GAAwB,MAAM,CAAC;gBAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACxB,CAAC;oBACD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC;gBAED,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACvB,CAAC;gBACD,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YACD,SAAS;QACX,CAAC;QAED,iBAAiB;QACjB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEpD,2BAA2B;YAC3B,IAAI,UAAU,GAAQ,KAAK,CAAC;YAC5B,IACE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9C,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC9C,CAAC;gBACD,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;YAED,gBAAgB;YAChB,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;gBACxC,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;gBAChD,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;YAED,eAAe;YACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC/B,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA2B,EAAE,SAAqB;IACjF,MAAM,MAAM,GAAe;QACzB,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE;QAC7B,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE;QACzB,QAAQ,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;KACpC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,gEAAgE;QAChE,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,YAAY;QACZ,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;wBAChB,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;oBAClB,CAAC;oBACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACvB,CAAC;oBACD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -14,10 +14,19 @@ export interface RtkInitResult {
14
14
  * can stub it (CI has no rtk on PATH).
15
15
  */
16
16
  export type RtkInitFn = (args: string[], cwd: string) => RtkInitResult;
17
- /** rtk init args per agent, verified against rtk 0.42.4 and 0.49.0. */
17
+ /** rtk init args per agent, verified against real `rtk init` in smoke:real. */
18
18
  export declare const RTK_INIT_FLAGS: Record<string, string[]>;
19
19
  /** Resolve the rtk init function to use, defaulting to the real one. */
20
20
  export declare function resolveRtkInit(rtkInit?: RtkInitFn): RtkInitFn;
21
+ /**
22
+ * True when an `rtk init` failure is rtk's own `--agent` enum rejecting a
23
+ * value agentenv passes it (e.g. the pinned rtk build not yet knowing
24
+ * "vibe"), rather than an environment problem (missing binary, permissions,
25
+ * ...). Detected from rtk's clap-style usage error text so this keeps
26
+ * working as rtk's supported agent list changes upstream, without agentenv
27
+ * having to hardcode rtk's enum.
28
+ */
29
+ export declare function isUnsupportedRtkAgentError(errors: string[], agentValue: string): boolean;
21
30
  /**
22
31
  * Surfaces what rtk actually rewrote as part of the per-agent message, so its
23
32
  * work isn't silently invisible (Phase 4 transparency log).
@@ -1 +1 @@
1
- {"version":3,"file":"rtk.d.ts","sourceRoot":"","sources":["../../src/toolchain/rtk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC;AAEvE,uEAAuE;AACvE,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAUnD,CAAC;AAgDF,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAYrD"}
1
+ {"version":3,"file":"rtk.d.ts","sourceRoot":"","sources":["../../src/toolchain/rtk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC;AAEvE,+EAA+E;AAC/E,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAcnD,CAAC;AAgDF,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAE7D;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAGxF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAYrD"}
@@ -5,17 +5,21 @@
5
5
  */
6
6
  import * as child_process from 'child_process';
7
7
  import { resolveBinary } from '../adapters/detect.js';
8
- /** rtk init args per agent, verified against rtk 0.42.4 and 0.49.0. */
8
+ /** rtk init args per agent, verified against real `rtk init` in smoke:real. */
9
9
  export const RTK_INIT_FLAGS = {
10
10
  claude_code: ['--claude'],
11
11
  codex_cli: ['--codex'],
12
12
  copilot: ['--copilot'],
13
13
  opencode: ['-g', '--opencode'],
14
- gemini_cli: ['--gemini'],
15
- cursor: ['--agent', 'cursor'],
16
- windsurf: ['--agent', 'windsurf'],
14
+ // rtk 0.49.0 rejects project-scoped init for these with "Gemini/Cursor/
15
+ // Windsurf/Vibe support is global-only. Use: rtk init -g ...", so the `-g`
16
+ // is mandatory (like opencode above), not a preference. Cline is the one
17
+ // delegated agent rtk accepts project-scoped by default.
18
+ gemini_cli: ['-g', '--gemini'],
19
+ cursor: ['-g', '--agent', 'cursor'],
20
+ windsurf: ['-g', '--agent', 'windsurf'],
17
21
  cline: ['--agent', 'cline'],
18
- vibe: ['--agent', 'vibe'],
22
+ vibe: ['-g', '--agent', 'vibe'],
19
23
  };
20
24
  const defaultRtkInit = (args, cwd) => {
21
25
  // Testing escape hatch: point at a stub `rtk` program (run via node) that
@@ -62,6 +66,18 @@ const defaultRtkInit = (args, cwd) => {
62
66
  export function resolveRtkInit(rtkInit) {
63
67
  return rtkInit ?? defaultRtkInit;
64
68
  }
69
+ /**
70
+ * True when an `rtk init` failure is rtk's own `--agent` enum rejecting a
71
+ * value agentenv passes it (e.g. the pinned rtk build not yet knowing
72
+ * "vibe"), rather than an environment problem (missing binary, permissions,
73
+ * ...). Detected from rtk's clap-style usage error text so this keeps
74
+ * working as rtk's supported agent list changes upstream, without agentenv
75
+ * having to hardcode rtk's enum.
76
+ */
77
+ export function isUnsupportedRtkAgentError(errors, agentValue) {
78
+ const pattern = new RegExp(`invalid value ['"]?${agentValue}['"]?`, 'i');
79
+ return errors.some((error) => pattern.test(error));
80
+ }
65
81
  /**
66
82
  * Surfaces what rtk actually rewrote as part of the per-agent message, so its
67
83
  * work isn't silently invisible (Phase 4 transparency log).
@@ -1 +1 @@
1
- {"version":3,"file":"rtk.js","sourceRoot":"","sources":["../../src/toolchain/rtk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rtk.js","sourceRoot":"","sources":["../../src/toolchain/rtk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAetD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,WAAW,EAAE,CAAC,UAAU,CAAC;IACzB,SAAS,EAAE,CAAC,SAAS,CAAC;IACtB,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC;IAC9B,wEAAwE;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,yDAAyD;IACzD,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;IAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;IACvC,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,cAAc,GAAc,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC9C,0EAA0E;IAC1E,4EAA4E;IAC5E,0CAA0C;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EACL,yFAAyF;YAC3F,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAE,OAAkB,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAEnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE;YACnD,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;gBACT,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY;gBACxC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,MAAM,IAAI,MAAM,GAAG;YACzE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;SAC5B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aACjC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE;YACF,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,OAAmB;IAChD,OAAO,OAAO,IAAI,cAAc,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAgB,EAAE,UAAkB;IAC7E,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,sBAAsB,UAAU,OAAO,EAAE,GAAG,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAkB;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAEzF,4DAA4D;IAC5D,yFAAyF;IACzF,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;IAE7C,yFAAyF;IACzF,sDAAsD;IACtD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,38 @@
1
+ /** Global quiet state, wired to `-q/--quiet` in index.ts. */
2
+ export declare function setQuietEnabled(enabled: boolean): void;
3
+ export declare function isQuiet(): boolean;
4
+ /** Pure predicate so banner gating is unit-testable without a real TTY. */
5
+ export declare function shouldPrintBanner(isTTY: boolean, quietMode: boolean): boolean;
6
+ /** Print a banner/footer heading, suppressed when piped or in quiet mode. */
7
+ export declare function banner(text: string): void;
8
+ /** The ASCII wordmark as a single block of text (unit-testable constant). */
9
+ export declare const LOGO: string;
10
+ /** Print the logo, gated like a banner (TTY + not quiet). */
11
+ export declare function renderLogo(): void;
12
+ export type ResultSeverity = 'ok' | 'warn' | 'fail';
13
+ export interface ResultBoxContent {
14
+ severity: ResultSeverity;
15
+ headline: string;
16
+ summary?: string;
17
+ }
18
+ /**
19
+ * Approximate terminal column width of a string. Plain `.length` (UTF-16
20
+ * code units) undercounts the ✅/⚠️/❌ glyphs in RESULT_GLYPHS below: every
21
+ * terminal renders them as 2 columns wide, but ✅/❌ are a single code unit
22
+ * and ⚠️ is two (warning sign + the invisible U+FE0F variation selector).
23
+ * Without this, `formatResultBox` sizes the border from `.length` and the
24
+ * box ends up one column narrower than the glyph line actually renders.
25
+ */
26
+ export declare function displayWidth(text: string): number;
27
+ /**
28
+ * Draw the result box: a full-width-consistent frame around the glyph-prefixed
29
+ * headline and (optional) summary line, whole box colored by outcome. Glyphs
30
+ * and words survive `--no-color`, so the outcome is never color-only.
31
+ */
32
+ export declare function formatResultBox(result: ResultBoxContent): string;
33
+ /**
34
+ * Human result line: a colored box on a TTY, the plain headline otherwise
35
+ * (piped/quiet), so scripts keep seeing today's stable data line.
36
+ */
37
+ export declare function resolveResultLine(result: ResultBoxContent, isTTY?: boolean, quietMode?: boolean): string;
38
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/ui/output.ts"],"names":[],"mappings":"AAIA,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAE7E;AAED,6EAA6E;AAC7E,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIzC;AAYD,6EAA6E;AAC7E,eAAO,MAAM,IAAI,QAAwB,CAAC;AAE1C,6DAA6D;AAC7D,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA+BD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAUhE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,gBAAgB,EACxB,KAAK,GAAE,OAAuC,EAC9C,SAAS,GAAE,OAAe,GACzB,MAAM,CAER"}
@@ -0,0 +1,107 @@
1
+ import { theme } from './theme.js';
2
+ let quiet = false;
3
+ /** Global quiet state, wired to `-q/--quiet` in index.ts. */
4
+ export function setQuietEnabled(enabled) {
5
+ quiet = enabled;
6
+ }
7
+ export function isQuiet() {
8
+ return quiet;
9
+ }
10
+ /** Pure predicate so banner gating is unit-testable without a real TTY. */
11
+ export function shouldPrintBanner(isTTY, quietMode) {
12
+ return isTTY && !quietMode;
13
+ }
14
+ /** Print a banner/footer heading, suppressed when piped or in quiet mode. */
15
+ export function banner(text) {
16
+ if (shouldPrintBanner(process.stdout.isTTY === true, quiet)) {
17
+ console.log(theme.heading(text));
18
+ }
19
+ }
20
+ /** Embedded `agentenv` wordmark, printed once at the start of every command. */
21
+ const LOGO_LINES = [
22
+ ' ___ __',
23
+ ' / | ____ ____ ____ / /____ ____ _ __',
24
+ ' / /| |/ __ `/ _ \\/ __ \\/ __/ _ \\/ __ \\ | / /',
25
+ ' / ___ / /_/ / __/ / / / /_/ __/ / / / |/ /',
26
+ '/_/ |_\\__, /\\___/_/ /_/\\__/\\___/_/ /_/|___/',
27
+ ' /____/',
28
+ ];
29
+ /** The ASCII wordmark as a single block of text (unit-testable constant). */
30
+ export const LOGO = LOGO_LINES.join('\n');
31
+ /** Print the logo, gated like a banner (TTY + not quiet). */
32
+ export function renderLogo() {
33
+ if (shouldPrintBanner(process.stdout.isTTY === true, quiet)) {
34
+ console.log(`\n${theme.heading(LOGO)}\n`);
35
+ }
36
+ }
37
+ const RESULT_GLYPHS = {
38
+ ok: '✅',
39
+ warn: '⚠️',
40
+ fail: '❌',
41
+ };
42
+ function severityColor(text, severity) {
43
+ if (severity === 'ok')
44
+ return theme.ok(text);
45
+ if (severity === 'warn')
46
+ return theme.warn(text);
47
+ return theme.fail(text);
48
+ }
49
+ /**
50
+ * Code point ranges rendered 2 columns wide by virtually every terminal
51
+ * (CJK + emoji blocks). Deliberately excludes Box Drawing (U+2500-257F) —
52
+ * the ┌─│└┘ border characters below are narrow, single-column glyphs.
53
+ */
54
+ const WIDE_RANGES = [
55
+ [0x1100, 0x115f],
56
+ [0x2600, 0x27bf], // Misc Symbols & Dingbats — covers ✅ ⚠ ❌
57
+ [0x2e80, 0xa4cf],
58
+ [0xac00, 0xd7a3],
59
+ [0xf900, 0xfaff],
60
+ [0xff00, 0xff60],
61
+ [0xffe0, 0xffe6],
62
+ [0x1f000, 0x1ffff],
63
+ [0x20000, 0x3fffd],
64
+ ];
65
+ /**
66
+ * Approximate terminal column width of a string. Plain `.length` (UTF-16
67
+ * code units) undercounts the ✅/⚠️/❌ glyphs in RESULT_GLYPHS below: every
68
+ * terminal renders them as 2 columns wide, but ✅/❌ are a single code unit
69
+ * and ⚠️ is two (warning sign + the invisible U+FE0F variation selector).
70
+ * Without this, `formatResultBox` sizes the border from `.length` and the
71
+ * box ends up one column narrower than the glyph line actually renders.
72
+ */
73
+ export function displayWidth(text) {
74
+ let width = 0;
75
+ for (const ch of text) {
76
+ const code = ch.codePointAt(0) ?? 0;
77
+ if (code === 0xfe0f || code === 0x200d)
78
+ continue; // variation selector-16 / ZWJ: zero-width
79
+ width += WIDE_RANGES.some(([start, end]) => code >= start && code <= end) ? 2 : 1;
80
+ }
81
+ return width;
82
+ }
83
+ /**
84
+ * Draw the result box: a full-width-consistent frame around the glyph-prefixed
85
+ * headline and (optional) summary line, whole box colored by outcome. Glyphs
86
+ * and words survive `--no-color`, so the outcome is never color-only.
87
+ */
88
+ export function formatResultBox(result) {
89
+ const bodyLines = [`${RESULT_GLYPHS[result.severity]} ${result.headline}`];
90
+ if (result.summary !== undefined)
91
+ bodyLines.push(result.summary);
92
+ const widths = bodyLines.map(displayWidth);
93
+ const contentWidth = Math.max(...widths);
94
+ const mid = bodyLines.map((line, i) => `│ ${line}${' '.repeat(contentWidth - widths[i])} │`);
95
+ const edge = `┌${'─'.repeat(contentWidth + 2)}┐`;
96
+ const bottom = `└${'─'.repeat(contentWidth + 2)}┘`;
97
+ const plain = [edge, ...mid, bottom].join('\n');
98
+ return severityColor(plain, result.severity);
99
+ }
100
+ /**
101
+ * Human result line: a colored box on a TTY, the plain headline otherwise
102
+ * (piped/quiet), so scripts keep seeing today's stable data line.
103
+ */
104
+ export function resolveResultLine(result, isTTY = process.stdout.isTTY === true, quietMode = quiet) {
105
+ return shouldPrintBanner(isTTY, quietMode) ? formatResultBox(result) : result.headline;
106
+ }
107
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/ui/output.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,18 @@ export interface Spinner {
10
10
  start(): Spinner;
11
11
  succeed(text?: string): Spinner;
12
12
  fail(text?: string): Spinner;
13
+ /** Pause rendering without a succeed/fail glyph, so a caller can print raw output (e.g. streamed mise install progress) without the spinner fighting it for the terminal line, then `start()` again to resume. */
14
+ stop(): Spinner;
13
15
  }
14
16
  export type SpinnerFactory = (text: string) => Spinner;
15
- /** Run fn() under a spinner labeled `label`, resolving succeed/fail from the result's `success` field. */
17
+ /**
18
+ * Run fn() under a spinner labeled `label`, resolving succeed/fail from the
19
+ * result's `success` field. `-q/--quiet` swaps in a no-op spinner so quiet
20
+ * output is actually silent even on a TTY. `fn` receives the spinner itself
21
+ * so a long inner step can `stop()` it before printing raw output and
22
+ * `start()` it again afterwards.
23
+ */
16
24
  export declare function withSpinner<T extends {
17
25
  success: boolean;
18
- }>(label: string, fn: () => Promise<T>, spinnerFactory?: SpinnerFactory): Promise<T>;
26
+ }>(label: string, fn: (spinner: Spinner) => Promise<T>, spinnerFactory?: SpinnerFactory): Promise<T>;
19
27
  //# sourceMappingURL=spinner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/ui/spinner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,OAAO;IACtB,KAAK,IAAI,OAAO,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AAIvD,0GAA0G;AAC1G,wBAAsB,WAAW,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAC9D,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,cAAc,GAAE,cAAsC,GACrD,OAAO,CAAC,CAAC,CAAC,CAWZ"}
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/ui/spinner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,OAAO;IACtB,KAAK,IAAI,OAAO,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,kNAAkN;IAClN,IAAI,IAAI,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AAWvD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAC9D,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,cAAc,GAAE,cAAsC,GACrD,OAAO,CAAC,CAAC,CAAC,CAYZ"}