@algosuite/vo-mcp 0.2.0-beta.74 → 0.2.0-beta.75

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/README.md CHANGED
@@ -41,6 +41,7 @@ Restart the MCP clients and runner after updating, then use
41
41
  | `vo_verify_answer` | Stub | Semantic-equivalence comparison of expected vs observed. |
42
42
  | `vo_consensus_judgment` | Stub + logging skeleton | Submit a prompt to multiple models, return synthesized verdict. **Logs every call** (V1 launch gate #7). |
43
43
  | `vo_architecture_review` | Stub | Senior-architect review of a diff against project defaults. |
44
+ | `vo_action_catalog_lookup` | Implemented (local, monorepo-only) | Read-only lookup over the HQ agent-executor `ACTION_CATALOG` (product -> callable action list). Returns `catalog_available: false` outside a Nexus monorepo checkout. |
44
45
 
45
46
  All tools follow the same response envelope:
46
47
 
@@ -126,17 +126,18 @@ function buildWindowsClaudeLaunch({
126
126
  };
127
127
  }
128
128
  function spawnClaudeSync(args = [], options = {}) {
129
+ const { bin = "claude", ...spawnOptions } = options;
129
130
  if (process.platform !== "win32") {
130
- return spawnSync("claude", args, { windowsHide: true, ...options });
131
+ return spawnSync(bin, args, { windowsHide: true, ...spawnOptions });
131
132
  }
132
133
  try {
133
134
  const launch = buildWindowsClaudeLaunch({
134
- bin: "claude",
135
+ bin,
135
136
  args,
136
- env: options.env || process.env
137
+ env: spawnOptions.env || process.env
137
138
  });
138
139
  return spawnSync(launch.bin, launch.args, {
139
- ...options,
140
+ ...spawnOptions,
140
141
  ...launch.spawnOptions
141
142
  });
142
143
  } catch (error) {
@@ -556,7 +557,7 @@ function applyCliVersionFloor({ versionOutput, env = process.env, log = console.
556
557
  import { spawnSync as spawnSync6 } from "node:child_process";
557
558
  import { accessSync, constants, realpathSync as realpathSync2, statSync } from "node:fs";
558
559
  import path3 from "node:path";
559
- var VALIDATED_CLAUDE_SKILL_VERSIONS = Object.freeze(["2.1.263"]);
560
+ var VALIDATED_CLAUDE_SKILL_VERSIONS = Object.freeze(["2.1.263", "2.1.268"]);
560
561
  var REQUIRED_CLAUDE_SKILL_HELP = Object.freeze([
561
562
  "--allowedTools",
562
563
  "--disable-slash-commands",
@@ -613,6 +614,25 @@ function probeText(probe) {
613
614
  return `${String(probe?.stdout ?? "")}
614
615
  ${String(probe?.stderr ?? "")}`.trim();
615
616
  }
617
+ function describeProbeFailure(probe, { step, timeoutMs, resolvedBin }) {
618
+ const where = `probing "${resolvedBin}" (claude ${step})`;
619
+ const error = probe?.error;
620
+ if (error) {
621
+ const code = String(error.code || "").toUpperCase();
622
+ if (code === "ETIMEDOUT" || String(probe?.signal || "").toUpperCase() === "SIGTERM") {
623
+ return `timed out after ${timeoutMs}ms ${where}`;
624
+ }
625
+ if (code === "ENOENT") {
626
+ return `binary not found while ${where}`;
627
+ }
628
+ return `spawn error while ${where}: ${String(error.message || error)}`;
629
+ }
630
+ if (probe && probe.status !== 0) {
631
+ const stderr = String(probe.stderr ?? "").trim().slice(0, 200);
632
+ return `exited with status ${probe.status} while ${where}${stderr ? `: ${stderr}` : ""}`;
633
+ }
634
+ return `capability probe failed while ${where}`;
635
+ }
616
636
  function resolveClaudeBinaryIdentity(bin = "claude", env = process.env) {
617
637
  let resolvedBin = String(bin);
618
638
  try {
@@ -660,7 +680,11 @@ function probeClaudeSkillCapability({
660
680
  compatible: false,
661
681
  version: null,
662
682
  resolvedBin: identity.resolvedBin,
663
- reason: "claude version capability probe failed"
683
+ reason: `claude version capability probe failed: ${describeProbeFailure(versionProbe, {
684
+ step: "--version",
685
+ timeoutMs,
686
+ resolvedBin: identity.resolvedBin
687
+ })}`
664
688
  };
665
689
  }
666
690
  const effectiveVersionOutput = versionProbe ? probeText(versionProbe) : versionOutput;
@@ -674,7 +698,11 @@ function probeClaudeSkillCapability({
674
698
  compatible: false,
675
699
  version: suppliedVersion,
676
700
  resolvedBin: identity.resolvedBin,
677
- reason: "claude help capability probe failed"
701
+ reason: `claude help capability probe failed: ${describeProbeFailure(helpProbe, {
702
+ step: "--help",
703
+ timeoutMs,
704
+ resolvedBin: identity.resolvedBin
705
+ })}`
678
706
  };
679
707
  }
680
708
  const assessed = assessClaudeSkillCapability({
@@ -713,6 +741,7 @@ function resolveClaudeAuthTier({
713
741
  });
714
742
  }
715
743
  async function checkClaudeAuth({
744
+ bin = "claude",
716
745
  spawnVersion = spawnClaudeSync,
717
746
  probeLogin = probeClaudeLoginState,
718
747
  getStoredKey = getAnthropicKey,
@@ -725,7 +754,8 @@ async function checkClaudeAuth({
725
754
  let probe = spawnVersion(["--version"], {
726
755
  timeout: FIRST_VERSION_TIMEOUT_MS,
727
756
  encoding: "utf8",
728
- env
757
+ env,
758
+ bin
729
759
  });
730
760
  let retriedAfterTimeout = false;
731
761
  if (isTimeout(probe)) {
@@ -733,7 +763,8 @@ async function checkClaudeAuth({
733
763
  probe = spawnVersion(["--version"], {
734
764
  timeout: RETRY_VERSION_TIMEOUT_MS,
735
765
  encoding: "utf8",
736
- env
766
+ env,
767
+ bin
737
768
  });
738
769
  }
739
770
  if (probe.error) {
@@ -741,7 +772,7 @@ async function checkClaudeAuth({
741
772
  return {
742
773
  installed: false,
743
774
  authenticated: false,
744
- message: "claude CLI not found on PATH \u2014 it is a SEPARATE install from the Claude Desktop app and the Claude Code IDE extension. Install: npm install -g @anthropic-ai/claude-code, then sign in: claude auth login."
775
+ message: `claude CLI not found on PATH (looked for "${bin}") \u2014 it is a SEPARATE install from the Claude Desktop app and the Claude Code IDE extension. Install: npm install -g @anthropic-ai/claude-code, then sign in: claude auth login.`
745
776
  };
746
777
  }
747
778
  return {
@@ -775,11 +806,7 @@ async function checkClaudeAuth({
775
806
  }
776
807
  const authTier = resolveClaudeAuthTier({ env, loggedIn, getStoredKey });
777
808
  const remainingMs = AUTH_PROBE_BUDGET_MS - (now() - startedAt);
778
- const skillCapability = loggedIn === true && remainingMs >= MIN_SKILL_PROBE_MS ? probeSkillCapability({
779
- versionOutput: probe.stdout,
780
- env,
781
- timeoutMs: Math.min(2e3, remainingMs)
782
- }) : { compatible: false };
809
+ const skillCapability = loggedIn === true && remainingMs >= MIN_SKILL_PROBE_MS ? probeSkillCapability({ bin, env, freshIdentity: true }) : { compatible: false };
783
810
  return {
784
811
  installed: true,
785
812
  authenticated: true,
@@ -851,8 +878,13 @@ var ClaudeRunner = class {
851
878
  describeAuth(env = process.env) {
852
879
  return describeAnthropicAuthSource(env);
853
880
  }
854
- async checkAuth() {
855
- return checkClaudeAuth();
881
+ // `bin` lets the caller probe the EXACT binary dispatch will spawn (an
882
+ // operator VO_CODE_RUNNER_BIN / VO_CODE_RUNNER_CLAUDE_BIN override), so the
883
+ // heartbeat's skill_capable advertisement can never diverge from dispatch's
884
+ // own resolved binary (see agent-auth-probe-cli.mjs, which threads
885
+ // resolveRunner()'s runnerBin through here).
886
+ async checkAuth({ bin = this.binary } = {}) {
887
+ return checkClaudeAuth({ bin });
856
888
  }
857
889
  checkSkillCapability({ bin = this.binary, env = process.env } = {}) {
858
890
  return probeClaudeSkillCapability({ bin, env, freshIdentity: true });
@@ -863,7 +895,7 @@ var claudeRunner = new ClaudeRunner();
863
895
  // ../../scripts/virtual-office/code-runner/codex-runner.mjs
864
896
  import { spawnSync as spawnSync7 } from "node:child_process";
865
897
  import { existsSync as existsSync3 } from "node:fs";
866
- import { win32 } from "node:path";
898
+ import { win32 as win322 } from "node:path";
867
899
 
868
900
  // ../../scripts/virtual-office/code-runner/agent-key-store.mjs
869
901
  import { createRequire as createRequire2 } from "node:module";
@@ -1008,6 +1040,46 @@ function classifyCodexStderr(stderr = "") {
1008
1040
  return codexFailure("codex_runtime_launch_logon_session", { win32_error: 1312 });
1009
1041
  }
1010
1042
 
1043
+ // ../../scripts/virtual-office/code-runner/codex-shell-env.mjs
1044
+ import { lstatSync, realpathSync as realpathSync3 } from "node:fs";
1045
+ import { win32 } from "node:path";
1046
+ var isStoreAliasPath = (path4) => /[\\/]Microsoft[\\/]WindowsApps(?:[\\/]|$)/i.test(path4);
1047
+ var isLocalAbsolute = (path4) => /^[a-z]:[\\/]/i.test(path4);
1048
+ function isNativePowerShell(path4, { lstat = lstatSync, realpath = realpathSync3 } = {}) {
1049
+ if (!isLocalAbsolute(path4) || isStoreAliasPath(path4)) return false;
1050
+ try {
1051
+ const stat = lstat(path4);
1052
+ return stat.isFile() && !stat.isSymbolicLink() && stat.size > 0 && !isStoreAliasPath(realpath(path4));
1053
+ } catch {
1054
+ return false;
1055
+ }
1056
+ }
1057
+ function codexShellEnv(env, { platform = process.platform, isNative = isNativePowerShell } = {}) {
1058
+ if (platform !== "win32") return env;
1059
+ const pathKeys = Object.keys(env).filter((key) => key.toLowerCase() === "path").sort();
1060
+ const pathKey = pathKeys[0] || "PATH";
1061
+ const pathValue2 = String(env[pathKey] || "");
1062
+ const directories = pathValue2.split(";").map((part) => part.trim().replace(/^"(.*)"$/, "$1")).filter(Boolean);
1063
+ const candidates = directories.filter(isLocalAbsolute).map((dir) => win32.join(dir, "pwsh.exe"));
1064
+ if (env.ProgramFiles) candidates.push(win32.join(env.ProgramFiles, "PowerShell", "7", "pwsh.exe"));
1065
+ if (env.USERPROFILE) candidates.push(win32.join(
1066
+ env.USERPROFILE,
1067
+ ".cache",
1068
+ "codex-runtimes",
1069
+ "codex-primary-runtime",
1070
+ "dependencies",
1071
+ "native",
1072
+ "powershell",
1073
+ "pwsh.exe"
1074
+ ));
1075
+ const shell = candidates.find((candidate) => isNative(candidate));
1076
+ if (!shell) throw new Error("Codex requires a native PowerShell 7 pwsh.exe on Windows; install PowerShell 7 or add its native directory to the runner PATH. WindowsApps execution aliases are unsupported.");
1077
+ const out = { ...env };
1078
+ for (const key of pathKeys) delete out[key];
1079
+ out[pathKey] = [win32.dirname(shell), ...directories.filter((dir) => dir.toLowerCase() !== win32.dirname(shell).toLowerCase())].join(";");
1080
+ return out;
1081
+ }
1082
+
1011
1083
  // ../../scripts/virtual-office/code-runner/codex-runner.mjs
1012
1084
  var CODEX_PREFER_LOGIN_ENV = "VO_RUNNER_CODEX_PREFER_LOGIN";
1013
1085
  var LEGACY_PREFER_LOGIN_ENV = "VO_RUNNER_PREFER_LOGIN";
@@ -1025,7 +1097,7 @@ function resolveCodexBinary({
1025
1097
  const localAppData = String(env.LOCALAPPDATA || "").trim();
1026
1098
  const candidates = [];
1027
1099
  if (appData) {
1028
- candidates.push(win32.join(
1100
+ candidates.push(win322.join(
1029
1101
  appData,
1030
1102
  "npm",
1031
1103
  "node_modules",
@@ -1041,18 +1113,28 @@ function resolveCodexBinary({
1041
1113
  ));
1042
1114
  }
1043
1115
  if (userProfile) {
1044
- candidates.push(win32.join(userProfile, ".local", "bin", "codex.exe"));
1045
- candidates.push(win32.join(userProfile, ".codex", "bin", "codex.exe"));
1116
+ candidates.push(win322.join(userProfile, ".local", "bin", "codex.exe"));
1117
+ candidates.push(win322.join(userProfile, ".codex", "bin", "codex.exe"));
1046
1118
  }
1047
1119
  if (localAppData) {
1048
- candidates.push(win32.join(localAppData, "Microsoft", "WindowsApps", "codex.exe"));
1120
+ candidates.push(win322.join(localAppData, "Microsoft", "WindowsApps", "codex.exe"));
1049
1121
  }
1050
1122
  const absolute = candidates.find((candidate) => exists(candidate));
1051
1123
  if (absolute) return absolute;
1052
1124
  return "codex";
1053
1125
  }
1054
1126
  function buildCodexArgs({ model, effort } = {}) {
1055
- const args = ["exec", "--json", "-c", 'approval_policy="never"', "--sandbox", "workspace-write", "--skip-git-repo-check"];
1127
+ const args = [
1128
+ "exec",
1129
+ "--json",
1130
+ "-c",
1131
+ 'approval_policy="never"',
1132
+ "--sandbox",
1133
+ "workspace-write",
1134
+ "--skip-git-repo-check",
1135
+ "-c",
1136
+ "sandbox_workspace_write.writable_roots=[]"
1137
+ ];
1056
1138
  if (model) {
1057
1139
  args.push("--model", String(model));
1058
1140
  }
@@ -1113,10 +1195,11 @@ function parseCodexEvent(line) {
1113
1195
  return null;
1114
1196
  }
1115
1197
  var CodexRunner = class {
1116
- constructor({ spawn: spawn2 = spawnSync7, resolveBinary = resolveCodexBinary, env = process.env } = {}) {
1198
+ constructor({ spawn: spawn2 = spawnSync7, resolveBinary = resolveCodexBinary, env = process.env, shellEnv = codexShellEnv } = {}) {
1117
1199
  this.spawn = spawn2;
1118
1200
  this.resolveBinary = resolveBinary;
1119
1201
  this.env = env;
1202
+ this.shellEnv = shellEnv;
1120
1203
  }
1121
1204
  get binary() {
1122
1205
  return this.resolveBinary();
@@ -1160,6 +1243,9 @@ var CodexRunner = class {
1160
1243
  }
1161
1244
  return withAgentKey("openai", env);
1162
1245
  }
1246
+ prepareSpawn({ bin, args, spawnOptions, env }) {
1247
+ return { bin, args, spawnOptions: { ...spawnOptions, env: this.shellEnv(env) } };
1248
+ }
1163
1249
  costBasis(env = process.env) {
1164
1250
  return String(env.OPENAI_API_KEY || env.CODEX_API_KEY || "").trim() ? "vendor_billed" : "subscription_api_equivalent";
1165
1251
  }
@@ -1926,7 +2012,8 @@ function resolveRunner(env = process.env, { warn = () => {
1926
2012
  // ../../scripts/virtual-office/code-runner/agent-auth-probe-cli.mjs
1927
2013
  var agent = String(process.argv[2] || "");
1928
2014
  try {
1929
- const result = await resolveRunner({ ...process.env, VO_CODE_RUNNER_AGENT: agent }).runner.checkAuth();
2015
+ const { runner, runnerBin } = resolveRunner({ ...process.env, VO_CODE_RUNNER_AGENT: agent });
2016
+ const result = await runner.checkAuth({ bin: runnerBin });
1930
2017
  process.stdout.write(`${JSON.stringify(result)}
1931
2018
  `);
1932
2019
  } catch (error) {
@@ -2,7 +2,7 @@
2
2
  import { createRequire as __cr } from 'module'; const require = __cr(import.meta.url);
3
3
 
4
4
  // src/autostart.ts
5
- import { homedir, platform } from "node:os";
5
+ import { homedir, platform, userInfo } from "node:os";
6
6
  import { isAbsolute, join } from "node:path";
7
7
  import { existsSync, mkdirSync, writeFileSync, readFileSync, unlinkSync, copyFileSync } from "node:fs";
8
8
  var WINDOWS_RESTART_BACKOFF_MS = 1e4;
@@ -21,6 +21,15 @@ function resolveLinuxConfigHome(home, env) {
21
21
  const configured = env["XDG_CONFIG_HOME"]?.trim();
22
22
  return configured && isAbsolute(configured) ? configured : join(home, ".config");
23
23
  }
24
+ function resolveLinuxLingerUser(env) {
25
+ const fromEnv = env["USER"]?.trim() || env["LOGNAME"]?.trim();
26
+ if (fromEnv) return fromEnv;
27
+ try {
28
+ return userInfo().username;
29
+ } catch {
30
+ return "$USER";
31
+ }
32
+ }
24
33
  function launcherIsCurrent(path, desiredContent, label, log) {
25
34
  if (!existsSync(path)) return false;
26
35
  if (readFileSync(path, "utf8") === desiredContent) return true;
@@ -204,27 +213,40 @@ StandardError=append:${errFile}
204
213
  [Install]
205
214
  WantedBy=default.target
206
215
  `;
207
- if (launcherIsCurrent(unitPath, unit, "unit", log)) {
216
+ const alreadyCurrent = launcherIsCurrent(unitPath, unit, "unit", log);
217
+ if (alreadyCurrent) {
208
218
  log(`\u2713 Auto-start is already configured (systemd user unit)`);
209
219
  log(` Path: ${unitPath}`);
210
- return;
220
+ } else {
221
+ writeFileSync(unitPath, unit, "utf8");
222
+ log(`\u2713 Installed systemd user unit`);
223
+ log(` Path: ${unitPath}`);
211
224
  }
212
- writeFileSync(unitPath, unit, "utf8");
213
- log(`\u2713 Installed systemd user unit`);
214
- log(` Path: ${unitPath}`);
225
+ const lingerUser = resolveLinuxLingerUser(env);
226
+ const lingerCommand = `loginctl enable-linger ${lingerUser}`;
215
227
  if (process.env["VITEST"]) {
216
228
  log(` (test mode: skipping systemctl enable)`);
229
+ log(` Headless/server hosts also need: ${lingerCommand}`);
217
230
  return;
218
231
  }
232
+ const { execSync, execFileSync } = await import("node:child_process");
233
+ if (!alreadyCurrent) {
234
+ try {
235
+ execSync("systemctl --user daemon-reload", { stdio: "ignore" });
236
+ execSync("systemctl --user enable --now vo-runner.service", { stdio: "ignore" });
237
+ log(`\u2713 Enabled + started vo-runner.service (starts at login)`);
238
+ log(` Logs: ${logFile}`);
239
+ } catch {
240
+ log(`\u26A0 Could not enable via systemctl (enable it manually):`);
241
+ log(` systemctl --user daemon-reload && systemctl --user enable --now vo-runner.service`);
242
+ }
243
+ }
219
244
  try {
220
- const { execSync } = await import("node:child_process");
221
- execSync("systemctl --user daemon-reload", { stdio: "ignore" });
222
- execSync("systemctl --user enable --now vo-runner.service", { stdio: "ignore" });
223
- log(`\u2713 Enabled + started vo-runner.service (starts at login)`);
224
- log(` Logs: ${logFile}`);
245
+ execFileSync("loginctl", ["enable-linger", lingerUser], { stdio: "ignore" });
246
+ log(`\u2713 Enabled linger for ${lingerUser} (unit keeps running without an active login session)`);
225
247
  } catch {
226
- log(`\u26A0 Could not enable via systemctl (enable it manually):`);
227
- log(` systemctl --user daemon-reload && systemctl --user enable --now vo-runner.service`);
248
+ log(`\u26A0 Could not enable linger automatically \u2014 required on headless/server hosts. Run manually:`);
249
+ log(` ${lingerCommand}`);
228
250
  }
229
251
  }
230
252
  async function uninstallLinuxAutostart(log, env) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/autostart.ts", "../src/autostart-cli.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;AA4BA,SAAS,SAAS,UAAU,gBAAgB;AAC5C,SAAS,YAAY,YAAY;AACjC,SAAS,YAAY,WAAW,eAAe,cAAc,YAAY,oBAAoB;AAmB7F,IAAM,6BAA6B;AAMnC,IAAM,yBAAyB;AAS/B,IAAM,yBAAyB;AAM/B,SAAS,qBAAqB,UAA2B;AACvD,SAAO,YAAY;AACrB;AAGA,SAAS,wBAAwB,OAAuB;AACtD,MAAI,MAAM,SAAS,IAAQ,KAAK,MAAM,SAAS,IAAI,KAAK,MAAM,SAAS,IAAI,GAAG;AAC5E,UAAM,IAAI,MAAM,8EAA8E;AAAA,EAChG;AACA,SAAO,IAAI,MAAM,QAAQ,OAAO,OAAO,CAAC;AAC1C;AAOA,SAAS,uBACP,MACA,KACQ;AACR,QAAM,aAAa,IAAI,iBAAiB,GAAG,KAAK;AAChD,SAAO,cAAc,WAAW,UAAU,IAAI,aAAa,KAAK,MAAM,SAAS;AACjF;AAQA,SAAS,uBAAuB,KAA2D;AACzF,QAAM,UAAU,IAAI,MAAM,GAAG,KAAK,KAAK,IAAI,SAAS,GAAG,KAAK;AAC5D,MAAI,QAAS,QAAO;AACpB,MAAI;AACF,WAAO,SAAS,EAAE;AAAA,EACpB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAOA,SAAS,kBACP,MACA,gBACA,OACA,KACS;AACT,MAAI,CAAC,WAAW,IAAI,EAAG,QAAO;AAC9B,MAAI,aAAa,MAAM,MAAM,MAAM,eAAgB,QAAO;AAC1D,QAAM,aAAa,GAAG,IAAI,WAAW,KAAK,IAAI,CAAC;AAC/C,eAAa,MAAM,UAAU;AAC7B,MAAI,wBAAwB,KAAK,QAAQ,UAAU,EAAE;AACrD,SAAO;AACT;AAUA,SAAS,wBAAwB,eAAuB,KAA4B,KAAyD;AAC3I,QAAM,UAAU,IAAI,SAAS,KAAK,KAAK,QAAQ,GAAG,WAAW,SAAS;AACtE,QAAM,aAAa,KAAK,SAAS,aAAa,WAAW,cAAc,YAAY,SAAS;AAC5F,YAAU,YAAY,EAAE,WAAW,KAAK,CAAC;AAEzC,QAAM,eAAe,KAAK,YAAY,eAAe;AACrD,QAAM,gBAAgB,KAAK,YAAY,eAAe;AAItD,MAAI,WAAW,aAAa,GAAG;AAC7B,QAAI;AACF,iBAAW,aAAa;AACxB,UAAI,6CAA6C,aAAa,EAAE;AAAA,IAClE,SAAS,OAAO;AACd,UAAI,2CAAsC,aAAa,KAAK,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC,+CAA+C;AAAA,IACnK;AAAA,EACF;AAMA,QAAM,uBAAuB,UAAU,aAAa,mDAAmD,QAAQ,MAAM,IAAI;AAmBzH,QAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAcd,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAO1B,oBAAoB;AAAA;AAAA,8BAEF,sBAAsB;AAAA,gBACpC,sBAAsB;AAAA,gBACtB,0BAA0B;AAAA,qBACrB,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzC,MAAI,kBAAkB,cAAc,iBAAiB,YAAY,GAAG,GAAG;AACrE,QAAI,kEAA6D;AACjE,QAAI,WAAW,YAAY,EAAE;AAC7B;AAAA,EACF;AAEA,gBAAc,cAAc,iBAAiB,MAAM;AACnD,MAAI,8CAAyC;AAC7C,MAAI,WAAW,YAAY,EAAE;AAC7B,MAAI,+CAA+C;AACrD;AAKA,SAAS,0BAA0B,KAA4B,KAAyD;AACtH,QAAM,UAAU,IAAI,SAAS,KAAK,KAAK,QAAQ,GAAG,WAAW,SAAS;AACtE,QAAM,aAAa,KAAK,SAAS,aAAa,WAAW,cAAc,YAAY,SAAS;AAE5F,QAAM,gBAAgB,CAAC,KAAK,YAAY,eAAe,GAAG,KAAK,YAAY,eAAe,CAAC;AAE3F,MAAI,aAAa;AACjB,aAAW,gBAAgB,eAAe;AACxC,QAAI,CAAC,WAAW,YAAY,EAAG;AAC/B,eAAW,YAAY;AACvB,iBAAa;AACb,QAAI,4CAAuC;AAC3C,QAAI,WAAW,YAAY,EAAE;AAAA,EAC/B;AACA,MAAI,CAAC,YAAY;AACf,QAAI,wDAAmD;AAAA,EACzD;AACF;AAQA,eAAe,oBACb,eACA,KACA,KACe;AACf,QAAM,OAAO,IAAI,MAAM,GAAG,KAAK,KAAK,QAAQ;AAC5C,QAAM,kBAAkB,KAAK,MAAM,WAAW,cAAc;AAC5D,YAAU,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAE9C,QAAM,YAAY,KAAK,iBAAiB,8BAA8B;AAGtE,QAAM,QAAQ,cAAc,MAAM,KAAK;AACvC,QAAM,UAAU,MAAM,CAAC,KAAK;AAC5B,QAAM,OAAO,MAAM,SAAS,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ;AAE1D,QAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAQT,OAAO;AAAA,EACnB,KAAK,IAAI,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAO7C,IAAI;AAAA;AAAA;AAAA;AAAA,cAIF,KAAK,MAAM,WAAW,uBAAuB,0BAA0B,QAAQ,CAAC;AAAA;AAAA;AAAA,YAGlF,KAAK,MAAM,WAAW,eAAe,CAAC;AAAA;AAAA,YAEtC,KAAK,MAAM,WAAW,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAKtD,MAAI,kBAAkB,WAAW,cAAc,SAAS,GAAG,GAAG;AAC5D,QAAI,mDAA8C;AAClD,QAAI,WAAW,SAAS,EAAE;AAC1B;AAAA,EACF;AAEA,gBAAc,WAAW,cAAc,MAAM;AAC7C,MAAI,gCAA2B;AAC/B,MAAI,WAAW,SAAS,EAAE;AAG1B,MAAI;AACF,UAAM,EAAE,SAAS,IAAI,MAAM,OAAO,oBAAoB;AACtD,aAAS,mBAAmB,SAAS,KAAK,EAAE,OAAO,SAAS,CAAC;AAC7D,QAAI,sEAAiE;AACrE,QAAI,WAAW,KAAK,MAAM,WAAW,eAAe,CAAC,EAAE;AAAA,EACzD,QAAQ;AACN,QAAI,+EAA0E;AAC9E,QAAI,0BAA0B,SAAS,GAAG;AAAA,EAC5C;AACF;AAKA,eAAe,sBACb,KACA,KACe;AACf,QAAM,OAAO,IAAI,MAAM,GAAG,KAAK,KAAK,QAAQ;AAC5C,QAAM,kBAAkB,KAAK,MAAM,WAAW,cAAc;AAC5D,QAAM,YAAY,KAAK,iBAAiB,8BAA8B;AAEtE,MAAI,CAAC,WAAW,SAAS,GAAG;AAC1B,QAAI,qDAAgD;AACpD;AAAA,EACF;AAGA,MAAI;AACF,UAAM,EAAE,SAAS,IAAI,MAAM,OAAO,oBAAoB;AACtD,aAAS,qBAAqB,SAAS,KAAK,EAAE,OAAO,SAAS,CAAC;AAC/D,QAAI,sCAAiC;AAAA,EACvC,QAAQ;AACN,QAAI,kEAA6D;AAAA,EACnE;AAEA,aAAW,SAAS;AACpB,MAAI,8BAAyB;AAC7B,MAAI,WAAW,SAAS,EAAE;AAC5B;AASA,eAAe,sBACb,eACA,KACA,KACe;AACf,QAAM,OAAO,IAAI,MAAM,GAAG,KAAK,KAAK,QAAQ;AAC5C,QAAM,aAAa,uBAAuB,MAAM,GAAG;AACnD,QAAM,UAAU,KAAK,YAAY,WAAW,MAAM;AAClD,YAAU,SAAS,EAAE,WAAW,KAAK,CAAC;AACtC,QAAM,WAAW,KAAK,SAAS,mBAAmB;AAElD,QAAM,UAAU,KAAK,MAAM,WAAW,eAAe;AACrD,QAAM,UAAU,KAAK,MAAM,WAAW,qBAAqB;AAC3D,QAAM,sBAAsB,wBAAwB,aAAa;AACjE,YAAU,KAAK,MAAM,SAAS,GAAG,EAAE,WAAW,KAAK,CAAC;AAEpD,QAAM,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAOI,IAAI;AAAA,0CACmB,KAAK,YAAY,0BAA0B,QAAQ,CAAC;AAAA,wBACtE,mBAAmB;AAAA;AAAA;AAAA,wBAGnB,OAAO;AAAA,uBACR,OAAO;AAAA;AAAA;AAAA;AAAA;AAK5B,QAAM,iBAAiB,kBAAkB,UAAU,MAAM,QAAQ,GAAG;AACpE,MAAI,gBAAgB;AAClB,QAAI,6DAAwD;AAC5D,QAAI,WAAW,QAAQ,EAAE;AAAA,EAC3B,OAAO;AACL,kBAAc,UAAU,MAAM,MAAM;AACpC,QAAI,oCAA+B;AACnC,QAAI,WAAW,QAAQ,EAAE;AAAA,EAC3B;AAOA,QAAM,aAAa,uBAAuB,GAAG;AAC7C,QAAM,gBAAgB,0BAA0B,UAAU;AAG1D,MAAI,QAAQ,IAAI,QAAQ,GAAG;AACzB,QAAI,0CAA0C;AAC9C,QAAI,sCAAsC,aAAa,EAAE;AACzD;AAAA,EACF;AAEA,QAAM,EAAE,UAAU,aAAa,IAAI,MAAM,OAAO,oBAAoB;AACpE,MAAI,CAAC,gBAAgB;AACnB,QAAI;AACF,eAAS,kCAAkC,EAAE,OAAO,SAAS,CAAC;AAC9D,eAAS,mDAAmD,EAAE,OAAO,SAAS,CAAC;AAC/E,UAAI,8DAAyD;AAC7D,UAAI,WAAW,OAAO,EAAE;AAAA,IAC1B,QAAQ;AACN,UAAI,6DAAwD;AAC5D,UAAI,qFAAqF;AAAA,IAC3F;AAAA,EACF;AAEA,MAAI;AACF,iBAAa,YAAY,CAAC,iBAAiB,UAAU,GAAG,EAAE,OAAO,SAAS,CAAC;AAC3E,QAAI,6BAAwB,UAAU,uDAAuD;AAAA,EAC/F,QAAQ;AACN,QAAI,sGAA4F;AAChG,QAAI,KAAK,aAAa,EAAE;AAAA,EAC1B;AACF;AAKA,eAAe,wBACb,KACA,KACe;AACf,QAAM,OAAO,IAAI,MAAM,GAAG,KAAK,KAAK,QAAQ;AAC5C,QAAM,aAAa,uBAAuB,MAAM,GAAG;AACnD,QAAM,WAAW,KAAK,YAAY,WAAW,QAAQ,mBAAmB;AACxE,MAAI,CAAC,WAAW,QAAQ,GAAG;AACzB,QAAI,oDAA+C;AACnD;AAAA,EACF;AACA,MAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG;AAC1B,QAAI;AACF,YAAM,EAAE,SAAS,IAAI,MAAM,OAAO,oBAAoB;AACtD,eAAS,oDAAoD,EAAE,OAAO,SAAS,CAAC;AAChF,UAAI,6CAAwC;AAAA,IAC9C,QAAQ;AACN,UAAI,4DAAuD;AAAA,IAC7D;AAAA,EACF;AACA,aAAW,QAAQ;AACnB,MAAI,kCAA6B;AACjC,MAAI,WAAW,QAAQ,EAAE;AAC3B;AAKA,eAAsB,iBAAiB,OAAyB,CAAC,GAAkB;AACjF,QAAM,MAAM,KAAK,QAAQ,CAAC,MAAc,QAAQ,MAAM,CAAC;AACvD,QAAM,MAAM,KAAK,OAAO,QAAQ;AAChC,QAAM,gBAAgB,qBAAqB,KAAK,aAAa;AAC7D,QAAM,OAAO,KAAK,YAAY,SAAS;AAEvC,MAAI,SAAS,SAAS;AACpB,4BAAwB,eAAe,KAAK,GAAG;AAAA,EACjD,WAAW,SAAS,UAAU;AAC5B,UAAM,oBAAoB,eAAe,KAAK,GAAG;AAAA,EACnD,WAAW,SAAS,SAAS;AAC3B,UAAM,sBAAsB,eAAe,KAAK,GAAG;AAAA,EACrD,OAAO;AACL,QAAI,mDAA8C,IAAI,EAAE;AACxD,QAAI,uEAAuE;AAAA,EAC7E;AACF;AAKA,eAAsB,mBAAmB,OAAyB,CAAC,GAAkB;AACnF,QAAM,MAAM,KAAK,QAAQ,CAAC,MAAc,QAAQ,MAAM,CAAC;AACvD,QAAM,MAAM,KAAK,OAAO,QAAQ;AAChC,QAAM,OAAO,KAAK,YAAY,SAAS;AAEvC,MAAI,SAAS,SAAS;AACpB,8BAA0B,KAAK,GAAG;AAAA,EACpC,WAAW,SAAS,UAAU;AAC5B,UAAM,sBAAsB,KAAK,GAAG;AAAA,EACtC,WAAW,SAAS,SAAS;AAC3B,UAAM,wBAAwB,KAAK,GAAG;AAAA,EACxC,OAAO;AACL,QAAI,mDAA8C,IAAI,EAAE;AACxD,QAAI,uEAAuE;AAAA,EAC7E;AACF;;;AClfA,eAAsB,sBAAqC;AACzD,QAAM,MAAM,CAAC,MAAoB,QAAQ,MAAM,CAAC;AAEhD,MAAI,4EAA8C;AAElD,QAAM,iBAAiB,EAAE,IAAI,CAAC;AAE9B,MAAI,0FAA0F;AAC9F,MAAI,gDAAgD;AACtD;AAEA,eAAsB,wBAAuC;AAC3D,QAAM,MAAM,CAAC,MAAoB,QAAQ,MAAM,CAAC;AAEhD,MAAI,8EAAgD;AAEpD,QAAM,mBAAmB,EAAE,IAAI,CAAC;AAEhC,MAAI,gFAAgF;AACpF,MAAI,iDAAiD;AACvD;",
5
5
  "names": []
6
6
  }