@singbox-iac/cli 0.1.18 → 0.1.19

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 (48) hide show
  1. package/README-en.md +47 -1
  2. package/README.md +47 -1
  3. package/dist/cli/commands/diagnose.js +19 -5
  4. package/dist/cli/commands/diagnose.js.map +1 -1
  5. package/dist/cli/commands/reload.js +13 -1
  6. package/dist/cli/commands/reload.js.map +1 -1
  7. package/dist/cli/commands/restart.js +25 -5
  8. package/dist/cli/commands/restart.js.map +1 -1
  9. package/dist/cli/commands/start.js +70 -12
  10. package/dist/cli/commands/start.js.map +1 -1
  11. package/dist/cli/commands/status.js +5 -4
  12. package/dist/cli/commands/status.js.map +1 -1
  13. package/dist/cli/commands/stop.js +15 -4
  14. package/dist/cli/commands/stop.js.map +1 -1
  15. package/dist/cli/commands/verify.js +19 -1
  16. package/dist/cli/commands/verify.js.map +1 -1
  17. package/dist/config/load-config.js +24 -1
  18. package/dist/config/load-config.js.map +1 -1
  19. package/dist/modules/authoring/index.js +21 -1
  20. package/dist/modules/authoring/index.js.map +1 -1
  21. package/dist/modules/desktop-runtime/index.d.ts +25 -0
  22. package/dist/modules/desktop-runtime/index.js +119 -0
  23. package/dist/modules/desktop-runtime/index.js.map +1 -1
  24. package/dist/modules/diagnostics/index.js +83 -8
  25. package/dist/modules/diagnostics/index.js.map +1 -1
  26. package/dist/modules/doctor/index.js +41 -0
  27. package/dist/modules/doctor/index.js.map +1 -1
  28. package/dist/modules/manager/index.js +15 -5
  29. package/dist/modules/manager/index.js.map +1 -1
  30. package/dist/modules/natural-language/index.d.ts +1 -0
  31. package/dist/modules/natural-language/index.js +83 -35
  32. package/dist/modules/natural-language/index.js.map +1 -1
  33. package/dist/modules/runtime-watchdog/index.d.ts +10 -0
  34. package/dist/modules/runtime-watchdog/index.js +33 -0
  35. package/dist/modules/runtime-watchdog/index.js.map +1 -1
  36. package/dist/modules/status/index.d.ts +4 -0
  37. package/dist/modules/status/index.js +55 -3
  38. package/dist/modules/status/index.js.map +1 -1
  39. package/dist/modules/verification/index.d.ts +22 -0
  40. package/dist/modules/verification/index.js +449 -8
  41. package/dist/modules/verification/index.js.map +1 -1
  42. package/dist/modules/verification-plan/index.js +4 -3
  43. package/dist/modules/verification-plan/index.js.map +1 -1
  44. package/docs/natural-language-authoring.md +6 -0
  45. package/docs/runtime-modes.md +23 -7
  46. package/docs/runtime-on-macos.md +48 -9
  47. package/docs/sing-box-config-primer.md +10 -1
  48. package/package.json +1 -1
@@ -1,6 +1,8 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { lookup } from "node:dns/promises";
3
+ import { readFile } from "node:fs/promises";
3
4
  import net from "node:net";
5
+ import { isProcessRoot } from "../desktop-runtime/index.js";
4
6
  import { collectStatusReport, } from "../status/index.js";
5
7
  export async function collectDiagnosticsReport(input) {
6
8
  const statusCollector = input.statusCollector ?? collectStatusReport;
@@ -18,7 +20,10 @@ export async function collectDiagnosticsReport(input) {
18
20
  createRuntimeProcessCheck(status),
19
21
  ...createListenerChecks(status),
20
22
  ...(status.runtime.systemProxy ? [createSystemProxyCheck(status)] : []),
21
- ...createTunChecks(status),
23
+ ...(await createTunChecks({
24
+ status,
25
+ ...(input.config ? { config: input.config } : {}),
26
+ })),
22
27
  createLiveConfigCheck(status),
23
28
  createScheduleCheck(status),
24
29
  createTransactionCheck(status),
@@ -53,22 +58,48 @@ function createListenerChecks(status) {
53
58
  details: `${listener.listen}:${listener.port} ${listener.active ? "accepting connections" : "not accepting connections"}`,
54
59
  }));
55
60
  }
56
- function createTunChecks(status) {
57
- if (status.runtime.desktopProfile !== "tun") {
61
+ async function createTunChecks(input) {
62
+ if (input.status.runtime.desktopProfile !== "tun") {
58
63
  return [];
59
64
  }
60
- return [
61
- makeCheck(status.runtime.tunInterfacePresent === false ? "WARN" : "PASS", "tun-interface", status.runtime.tunInterfacePresent === undefined
65
+ const checks = [
66
+ makeCheck(isProcessRoot() ? "PASS" : "WARN", "tun-root-access", isProcessRoot()
67
+ ? "running as root for full LaunchDaemon visibility"
68
+ : "Run `sudo singbox-iac diagnose` for full LaunchDaemon visibility and tun root smoke."),
69
+ makeCheck(input.status.runtime.tunInterfacePresent === false ? "WARN" : "PASS", "tun-interface", input.status.runtime.tunInterfacePresent === undefined
62
70
  ? "TUN interface state is unavailable."
63
- : status.runtime.tunInterfacePresent
71
+ : input.status.runtime.tunInterfacePresent
64
72
  ? "TUN interface is present."
65
73
  : "TUN interface is missing."),
66
- ...(status.runtime.fakeIpCachePath
74
+ ...(input.status.runtime.servicePid
75
+ ? [makeCheck("PASS", "tun-service-pid", `pid=${input.status.runtime.servicePid}`)]
76
+ : input.status.runtime.serviceVisibilityLimited
77
+ ? [
78
+ makeCheck("WARN", "tun-service-pid", "LaunchDaemon PID is not visible without root."),
79
+ ]
80
+ : input.status.runtime.processRunning
81
+ ? [
82
+ makeCheck("WARN", "tun-service-pid", "The managed LaunchDaemon PID could not be resolved."),
83
+ ]
84
+ : []),
85
+ ...(input.status.runtime.fakeIpCachePath
67
86
  ? [
68
- makeCheck(status.runtime.fakeIpCachePresent === false ? "WARN" : "PASS", "fakeip-cache", `${status.runtime.fakeIpCachePath}${status.runtime.fakeIpCachePresent ? " [present]" : " [missing]"}`),
87
+ makeCheck(input.status.runtime.fakeIpCachePresent === false ? "WARN" : "PASS", "fakeip-cache", `${input.status.runtime.fakeIpCachePath}${input.status.runtime.fakeIpCachePresent ? " [present]" : " [missing]"}`),
69
88
  ]
70
89
  : []),
71
90
  ];
91
+ if (input.config) {
92
+ checks.push(makeCheck(input.config.runtime.reload.kind === "signal" && input.config.runtime.reload.signal === "HUP"
93
+ ? "PASS"
94
+ : "WARN", "tun-hot-reload", input.config.runtime.reload.kind === "signal" && input.config.runtime.reload.signal === "HUP"
95
+ ? "signal=HUP"
96
+ : `reload.kind=${input.config.runtime.reload.kind}, signal=${input.config.runtime.reload.signal ?? "(unset)"}`));
97
+ }
98
+ const liveProcessRuleCheck = await createTunNativeProcessRuleCheck(input.status, input.config);
99
+ if (liveProcessRuleCheck) {
100
+ checks.push(liveProcessRuleCheck);
101
+ }
102
+ return checks;
72
103
  }
73
104
  function createSystemProxyCheck(status) {
74
105
  const systemProxy = status.runtime.systemProxy;
@@ -216,6 +247,50 @@ function summarizeChecks(checks) {
216
247
  function makeCheck(status, name, details) {
217
248
  return { status, name, details };
218
249
  }
250
+ async function createTunNativeProcessRuleCheck(status, config) {
251
+ if (status.runtime.desktopProfile !== "tun") {
252
+ return undefined;
253
+ }
254
+ if (config && !config.runtime.desktop.tun.processRouting.enabled) {
255
+ return makeCheck("WARN", "tun-native-process-rules", "processRouting.enabled=false");
256
+ }
257
+ if (!status.config.livePath || !status.config.liveExists) {
258
+ return makeCheck("WARN", "tun-native-process-rules", "Live config is unavailable.");
259
+ }
260
+ try {
261
+ const raw = JSON.parse(await readFile(status.config.livePath, "utf8"));
262
+ const route = typeof raw.route === "object" && raw.route !== null ? raw.route : undefined;
263
+ const rules = Array.isArray(route?.rules)
264
+ ? (route.rules)
265
+ : [];
266
+ const matchedRule = rules.find((rule) => typeof rule === "object" &&
267
+ rule !== null &&
268
+ (Array.isArray(rule.process_name) ||
269
+ Array.isArray(rule.process_path) ||
270
+ Array.isArray(rule.process_path_regex)));
271
+ if (!matchedRule) {
272
+ return makeCheck("WARN", "tun-native-process-rules", "No native process-aware route was found in the live config.");
273
+ }
274
+ const matcherDetails = [
275
+ Array.isArray(matchedRule.process_name)
276
+ ? `process_name=${matchedRule.process_name.join(",")}`
277
+ : undefined,
278
+ Array.isArray(matchedRule.process_path)
279
+ ? `process_path=${matchedRule.process_path.join(",")}`
280
+ : undefined,
281
+ Array.isArray(matchedRule.process_path_regex)
282
+ ? `process_path_regex=${matchedRule.process_path_regex.join(",")}`
283
+ : undefined,
284
+ typeof matchedRule.outbound === "string" ? `outbound=${matchedRule.outbound}` : undefined,
285
+ ]
286
+ .filter((value) => typeof value === "string" && value.length > 0)
287
+ .join("; ");
288
+ return makeCheck("PASS", "tun-native-process-rules", matcherDetails || "Native process-aware route is present.");
289
+ }
290
+ catch (error) {
291
+ return makeCheck("WARN", "tun-native-process-rules", error instanceof Error ? error.message : String(error));
292
+ }
293
+ }
219
294
  function formatProxyEndpoint(endpoint) {
220
295
  return `${endpoint.host}:${endpoint.port}`;
221
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/diagnostics/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/diagnostics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,GAAG,MAAM,UAAU,CAAC;AAG3B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAIL,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAoC5B,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAuB;IAEvB,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,mBAAmB,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,UAAU,CAAC;IACxD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,uBAAuB,CAAC;IAE7D,MAAM,MAAM,GAAuB;QACjC,yBAAyB,CAAC,MAAM,CAAC;QACjC,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAC/B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,eAAe,CAAC;YACxB,MAAM;YACN,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;QACH,qBAAqB,CAAC,MAAM,CAAC;QAC7B,mBAAmB,CAAC,MAAM,CAAC;QAC3B,sBAAsB,CAAC,MAAM,CAAC;QAC9B,GAAG,CAAC,MAAM,wBAAwB,CAAC;YACjC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM;YACN,aAAa;YACb,SAAS;SACV,CAAC,CAAC;KACJ,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC;QAChC,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAoB;IACrD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACvD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc;YACpC,CAAC,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtG,CAAC,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAoB;IAChD,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACzC,IAAI,EAAE,YAAY,QAAQ,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,EAAE;KAC1H,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAG9B;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAuB;QACjC,SAAS,CACP,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACjC,iBAAiB,EACjB,aAAa,EAAE;YACb,CAAC,CAAC,kDAAkD;YACpD,CAAC,CAAC,sFAAsF,CAC3F;QACD,SAAS,CACP,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACpE,eAAe,EACf,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS;YACpD,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB;gBACxC,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,2BAA2B,CAClC;QACD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU;YACjC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YAClF,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB;gBAC7C,CAAC,CAAC;oBACE,SAAS,CACP,MAAM,EACN,iBAAiB,EACjB,+CAA+C,CAChD;iBACF;gBACH,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc;oBACnC,CAAC,CAAC;wBACE,SAAS,CACP,MAAM,EACN,iBAAiB,EACjB,qDAAqD,CACtD;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe;YACtC,CAAC,CAAC;gBACE,SAAS,CACP,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACnE,cAAc,EACd,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,CAClH;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CACT,SAAS,CACP,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAC3F,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,EACV,gBAAgB,EAChB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAC3F,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CACjH,CACF,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,MAAM,+BAA+B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/F,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAoB;IAClD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,8CAA8C,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,SAAS,CACd,MAAM,EACN,cAAc,EACd,aAAa,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,MAAM,GAAG,CACrE,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CACd,MAAM,EACN,cAAc,EACd,SAAS,WAAW,CAAC,KAAK,cAAc,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzK,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAoB;IACjD,OAAO,SAAS,CACd,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAC1C,aAAa,EACb,MAAM,CAAC,MAAM,CAAC,QAAQ;QACpB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE;QACtF,CAAC,CAAC,SAAS,CACd,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAoB;IAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,SAAS,CACd,MAAM,EACN,UAAU,EACV,qCAAqC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAC/D,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,SAAS,CACd,MAAM,EACN,UAAU,EACV,0DAA0D,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CACvF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CACd,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACnD,UAAU,EACV,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,aAAa,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAClI,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAoB;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,sCAAsC,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,kBAAkB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,IAAI,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1M,OAAO,SAAS,CACd,MAAM,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACpE,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAKvC;IACC,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,MAAM,uBAAuB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAE7D,KAAK,MAAM,QAAQ,IAAI,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,aAAuC;IAEvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,aAAa,EACb,CAAC,iBAAiB,EAAE,aAAa,CAAC,EAClC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CACzB,CAAC;QACF,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEvE,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClC,OAAO,SAAS,CACd,MAAM,EACN,eAAe,EACf,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,gBAAgB,aAAa,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CACd,MAAM,EACN,eAAe,EACf,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,aAAuC,EACvC,QAA2B,EAC3B,IAAuB;IAEvB,IAAI,SAAkB,CAAC;IACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,YAAY,KAAK;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,aAAuC;IAEvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,iDAAiD,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,QAAgB,EAChB,MAAoB,EACpB,SAA2D;IAE3D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC,MAAM,EAAE,aAAa,QAAQ,EAAE,EAAE,+BAA+B,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3E,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO,SAAS,CACd,MAAM,EACN,aAAa,QAAQ,EAAE,EACvB,uCAAuC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CACd,MAAM,EACN,aAAa,QAAQ,EAAE,EACvB,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAChH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GACV,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,QAAQ;YAC5C,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,GAAG,CAAC;QACV,OAAO,SAAS,CACd,MAAM,EACN,aAAa,QAAQ,EAAE,EACvB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,QAAgB;IACrD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAsB;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS;SAC5C,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,MAAmC;IAC1D,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;KACR,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAChB,MAAkC,EAClC,IAAY,EACZ,OAAe;IAEf,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,MAAoB,EACpB,MAAsB;IAEtB,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC,MAAM,EAAE,0BAA0B,EAAE,8BAA8B,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzD,OAAO,SAAS,CAAC,MAAM,EAAE,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAA4B,CAAC;QAClG,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAE,KAA6B,EAAE,KAAK,CAAC;YAChE,CAAC,CAAE,CAAE,KAA8B,CAAC,KAAK,CAAe;YACxD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAC5B,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,KAAK,IAAI;YACb,CAAC,KAAK,CAAC,OAAO,CAAE,IAAmC,CAAC,YAAY,CAAC;gBAC/D,KAAK,CAAC,OAAO,CAAE,IAAmC,CAAC,YAAY,CAAC;gBAChE,KAAK,CAAC,OAAO,CAAE,IAAyC,CAAC,kBAAkB,CAAC,CAAC,CAQtE,CAAC;QAEd,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,SAAS,CACd,MAAM,EACN,0BAA0B,EAC1B,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG;YACrB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC;gBACrC,CAAC,CAAC,gBAAgB,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACtD,CAAC,CAAC,SAAS;YACb,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC;gBACrC,CAAC,CAAC,gBAAgB,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACtD,CAAC,CAAC,SAAS;YACb,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC;gBAC3C,CAAC,CAAC,sBAAsB,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAClE,CAAC,CAAC,SAAS;YACb,OAAO,WAAW,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;SAC1F;aACE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACjF,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,SAAS,CACd,MAAM,EACN,0BAA0B,EAC1B,cAAc,IAAI,wCAAwC,CAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,SAAS,CACd,MAAM,EACN,0BAA0B,EAC1B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAwC;IACnE,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,yBAAyB,CAAC,QAA6C;IAC9E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,eAAe;SACnB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACf,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;QAC9C,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;QACnD,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,eAAe,CACnC;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,WAAW,GAAG,MAAM;SACvB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SAC9E,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,GAAW;IACpD,OAAO,MAAM;SACV,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SAChF,IAAI,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,KAAkC,CAAC;QACxD,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,OAAO,CACL,CAAC,KAAK,CAAC;YACP,CAAC,KAAK,EAAE;YACR,CAAC,KAAK,GAAG;YACT,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YACxB,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CACzB,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,CACL,UAAU,KAAK,KAAK;YACpB,UAAU,KAAK,IAAI;YACnB,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3B,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3B,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAC/B,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,OAAe,EACf,IAAuB;IAEvB,OAAO,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9F,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,mBAAmB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -3,6 +3,7 @@ import { access } from "node:fs/promises";
3
3
  import { homedir, platform } from "node:os";
4
4
  import path from "node:path";
5
5
  import { detectLocalAiClis } from "../authoring/index.js";
6
+ import { resolveDesktopRuntimePlistDirectory, resolveDesktopRuntimePrivilegeState, resolveDesktopRuntimeServiceKind, } from "../desktop-runtime/index.js";
6
7
  import { resolveChromeDependency, resolveSingBoxDependency, } from "../runtime-dependencies/index.js";
7
8
  export async function runDoctor(input) {
8
9
  const checks = [];
@@ -68,6 +69,36 @@ export async function runDoctor(input) {
68
69
  ? `provider=${authoringProvider}, timeoutMs=${input.config.authoring.timeoutMs}, command=${input.config.authoring.exec?.command ?? "(unset)"}`
69
70
  : `provider=${authoringProvider}, timeoutMs=${input.config.authoring.timeoutMs}`;
70
71
  checks.push(makeCheck(authoringStatus, "authoring-provider", authoringDetails));
72
+ checks.push(makeCheck("PASS", "desktop-runtime-profile", `profile=${input.config.runtime.desktop.profile}`));
73
+ if (input.config.runtime.desktop.profile === "tun") {
74
+ const serviceKind = resolveDesktopRuntimeServiceKind(input.config.runtime.desktop.profile);
75
+ const privilegeState = resolveDesktopRuntimePrivilegeState({
76
+ serviceKind,
77
+ action: "install",
78
+ ...(input.launchAgentsDir ? { launchAgentsDir: input.launchAgentsDir } : {}),
79
+ ...(input.configPath ? { configPath: input.configPath } : {}),
80
+ });
81
+ checks.push(makeCheck(privilegeState.isRoot ? "PASS" : "FAIL", "tun-root-access", privilegeState.isRoot
82
+ ? "running as root for LaunchDaemon lifecycle checks"
83
+ : `Root is required for tun lifecycle operations.${privilegeState.rerunCommand ? ` Re-run with ${privilegeState.rerunCommand}.` : ""}`));
84
+ const launchDaemonsDir = resolveDesktopRuntimePlistDirectory({
85
+ serviceKind,
86
+ ...(input.launchAgentsDir ? { launchAgentsDir: input.launchAgentsDir } : {}),
87
+ });
88
+ checks.push((await isDirectoryWritable(launchDaemonsDir))
89
+ ? makeCheck("PASS", "launch-daemons-dir", launchDaemonsDir)
90
+ : makeCheck(privilegeState.requiresRoot && !privilegeState.isRoot ? "FAIL" : "WARN", "launch-daemons-dir", `Directory not writable: ${launchDaemonsDir}`));
91
+ const tunCacheDir = path.dirname(input.config.runtime.desktop.tun.cache.path);
92
+ checks.push((await ensureDirectoryWritable(tunCacheDir))
93
+ ? makeCheck("PASS", "tun-cache-dir", tunCacheDir)
94
+ : makeCheck("WARN", "tun-cache-dir", `Directory not writable: ${tunCacheDir}`));
95
+ const hotReloadReady = input.config.runtime.reload.kind === "signal" &&
96
+ input.config.runtime.reload.signal === "HUP";
97
+ checks.push(makeCheck(hotReloadReady ? "PASS" : "WARN", "tun-hot-reload", hotReloadReady
98
+ ? "signal=HUP; reload/update can use hot-reload semantics"
99
+ : `reload.kind=${input.config.runtime.reload.kind}, signal=${input.config.runtime.reload.signal ?? "(unset)"}`));
100
+ checks.push(makeCheck(input.config.runtime.desktop.tun.processRouting.enabled ? "PASS" : "WARN", "tun-native-process-routing", `enabled=${String(input.config.runtime.desktop.tun.processRouting.enabled)}`));
101
+ }
71
102
  }
72
103
  return {
73
104
  checks,
@@ -115,4 +146,14 @@ async function isDirectoryWritable(dirPath) {
115
146
  return false;
116
147
  }
117
148
  }
149
+ async function ensureDirectoryWritable(dirPath) {
150
+ if (await isDirectoryWritable(dirPath)) {
151
+ return true;
152
+ }
153
+ const parent = path.dirname(dirPath);
154
+ if (parent === dirPath) {
155
+ return false;
156
+ }
157
+ return isDirectoryWritable(parent);
158
+ }
118
159
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/doctor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/doctor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACnC,gCAAgC,GACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAwB1C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAkB;IAChD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,eAAsD,CAAC;IAC3D,IAAI,cAAqD,CAAC;IAE1D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAElG,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CACT,SAAS,CACP,MAAM,EACN,gBAAgB,EAChB,+EAA+E,CAChF,CACF,CAAC;IACJ,CAAC;IAED,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,UAAU,EACV,GAAG,EAAE,CACH,wBAAwB,CAAC;YACvB,YAAY,EAAE,KAAK,CAAC,aAAa;YACjC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,aAAa;SAChE,CAAC,EACJ,MAAM,EACN,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,aAAa,CACjD,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,QAAQ,EACR,GAAG,EAAE,CACH,uBAAuB,CAAC;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY;SAC/D,CAAC,EACJ,MAAM,EACN,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,CAChD,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CACT,eAAe,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,SAAS,CACP,MAAM,EACN,eAAe,EACf,eAAe;aACZ,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,gBAAgB,GAAG,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,CACd;QACH,CAAC,CAAC,SAAS,CACP,MAAM,EACN,eAAe,EACf,mIAAmI,CACpI,CACN,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACjG,MAAM,CAAC,IAAI,CACT,CAAC,MAAM,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAC1C,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,eAAe,CAAC;QACzD,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,2BAA2B,eAAe,EAAE,CAAC,CACzF,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CACT,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;YACxE,CAAC,CAAC,SAAS,CACP,MAAM,EACN,iBAAiB,EACjB,4BAA4B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAC/D,CACN,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CACT,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC;gBAC5D,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAClF,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CACT,SAAS,CACP,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAC/C,iBAAiB,EACjB,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,MAAM,CACzE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CACtC,EAAE,CACJ,CACF,CAAC;QAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC1D,MAAM,eAAe,GACnB,iBAAiB,KAAK,eAAe;YACnC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,iBAAiB,KAAK,MAAM;gBAC5B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,iBAAiB,KAAK,QAAQ;oBAC9B,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC;wBAC/D,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,MAAM;oBACV,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO;wBACpC,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,MAAM,CAAC;QACnB,MAAM,gBAAgB,GACpB,iBAAiB,KAAK,MAAM;YAC1B,CAAC,CAAC,YAAY,iBAAiB,eAAe,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,aAC1E,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,IAAI,SAC1C,EAAE;YACJ,CAAC,CAAC,YAAY,iBAAiB,eAAe,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAEhF,MAAM,CAAC,IAAI,CACT,SAAS,CACP,MAAM,EACN,yBAAyB,EACzB,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAClD,CACF,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,gCAAgC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3F,MAAM,cAAc,GAAG,mCAAmC,CAAC;gBACzD,WAAW;gBACX,MAAM,EAAE,SAAS;gBACjB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CACT,SAAS,CACP,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACvC,iBAAiB,EACjB,cAAc,CAAC,MAAM;gBACnB,CAAC,CAAC,mDAAmD;gBACrD,CAAC,CAAC,iDAAiD,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,cAAc,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzI,CACF,CAAC;YAEF,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;gBAC3D,WAAW;gBACX,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CACT,CAAC,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAC3C,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;gBAC3D,CAAC,CAAC,SAAS,CACP,cAAc,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACvE,oBAAoB,EACpB,2BAA2B,gBAAgB,EAAE,CAC9C,CACN,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CACT,CAAC,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;gBAC1C,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC;gBACjD,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,2BAA2B,WAAW,EAAE,CAAC,CACjF,CAAC;YAEF,MAAM,cAAc,GAClB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAC7C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC;YAC/C,MAAM,CAAC,IAAI,CACT,SAAS,CACP,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAChC,gBAAgB,EAChB,cAAc;gBACZ,CAAC,CAAC,wDAAwD;gBAC1D,CAAC,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CACjH,CACF,CAAC;YAEF,MAAM,CAAC,IAAI,CACT,SAAS,CACP,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACzE,4BAA4B,EAC5B,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAC7E,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,oBAAoB,EAAE;YACpB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,QAAkD,EAClD,aAA8B,EAC9B,aAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,GACV,aAAa,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU;YAChF,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC;QACb,MAAM,OAAO,GACX,aAAa,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU;YAChF,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,MAAM,iCAAiC,aAAa,GAAG;YAC9F,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,MAAM,GAAG,CAAC;QACrD,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,MAA6B,EAAE,IAAY,EAAE,OAAe;IAC7E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAe;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAe;IACpD,IAAI,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
2
2
  import { constants } from "node:fs";
3
3
  import { access, copyFile, mkdir } from "node:fs/promises";
4
4
  import path from "node:path";
5
- import { resolveDesktopRuntimeServiceKind, resolveDesktopRuntimeServicePid, } from "../desktop-runtime/index.js";
5
+ import { assertDesktopRuntimePrivileges, resolveDesktopRuntimeServiceKind, resolveDesktopRuntimeServicePid, } from "../desktop-runtime/index.js";
6
6
  import { resolveSingBoxDependency } from "../runtime-dependencies/index.js";
7
7
  export async function checkConfig(input) {
8
8
  const binaryPath = await resolveSingBoxBinary(input.singBoxBinary);
@@ -88,12 +88,16 @@ async function reloadSingBox(input) {
88
88
  await runCommand("/bin/sh", ["-lc", input.command]);
89
89
  return;
90
90
  }
91
- if (!input.processName || !input.signal) {
92
- throw new Error("Signal-based reload requires processName and signal.");
93
- }
94
91
  if (input.desktopRuntime?.profile === "tun") {
92
+ if (!input.signal) {
93
+ throw new Error("Signal-based tun reload requires a signal.");
94
+ }
95
95
  const serviceKind = resolveDesktopRuntimeServiceKind(input.desktopRuntime.profile);
96
96
  const serviceLabel = input.desktopRuntime.tun.launchDaemonLabel;
97
+ assertDesktopRuntimePrivileges({
98
+ serviceKind,
99
+ action: "reload",
100
+ });
97
101
  const pid = await resolveDesktopRuntimeServicePid({
98
102
  serviceKind,
99
103
  label: serviceLabel,
@@ -104,6 +108,9 @@ async function reloadSingBox(input) {
104
108
  await runCommand("/bin/kill", [`-${input.signal}`, String(pid)]);
105
109
  return;
106
110
  }
111
+ if (!input.processName || !input.signal) {
112
+ throw new Error("Signal-based reload requires processName and signal.");
113
+ }
107
114
  await runCommand("/usr/bin/killall", [`-${input.signal}`, input.processName]);
108
115
  }
109
116
  async function pathExists(filePath) {
@@ -141,7 +148,10 @@ async function runCommand(command, args) {
141
148
  }
142
149
  async function isProcessRunning(processName) {
143
150
  return new Promise((resolve, reject) => {
144
- const child = spawn("/usr/bin/pgrep", ["-x", processName], {
151
+ const args = typeof process.getuid === "function"
152
+ ? ["-x", "-U", String(process.getuid()), processName]
153
+ : ["-x", processName];
154
+ const child = spawn("/usr/bin/pgrep", args, {
145
155
  stdio: ["ignore", "ignore", "ignore"],
146
156
  });
147
157
  child.on("error", reject);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/manager/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/manager/index.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export interface NaturalLanguagePromptAnalysis {
30
30
  }
31
31
  export interface NaturalLanguageAnalysisOptions {
32
32
  readonly activeRuleSetTags?: readonly string[];
33
+ readonly desktopProfile?: BuilderConfig["runtime"]["desktop"]["profile"];
33
34
  }
34
35
  export interface PromptSelectableVerificationScenario {
35
36
  readonly id: string;
@@ -92,6 +92,8 @@ export function analyzePrompt(prompt, options) {
92
92
  const groupDefaults = {};
93
93
  const ambiguities = new Set();
94
94
  const activeRuleSetTags = new Set(options?.activeRuleSetTags ?? []);
95
+ const defaultVerificationInbound = resolveDefaultVerificationInbound(options);
96
+ const tunProfile = options?.desktopProfile === "tun";
95
97
  const parsedInterval = parseScheduleIntervalMinutes(text);
96
98
  for (const clause of clauses) {
97
99
  const route = extractRouteTarget(clause);
@@ -189,8 +191,8 @@ export function analyzePrompt(prompt, options) {
189
191
  else {
190
192
  afterBuiltins.push(...generatedRules);
191
193
  }
192
- verificationOverrides.push(...[...requestedHosts, ...explicitDomains].map((domain) => ({
193
- inbound: "in-mixed",
194
+ verificationOverrides.push(...dedupeStringList([...requestedHosts, ...explicitDomains]).map((domain) => ({
195
+ inbound: defaultVerificationInbound,
194
196
  domainSuffix: domain,
195
197
  expectedOutbound: route,
196
198
  })));
@@ -207,11 +209,17 @@ export function analyzePrompt(prompt, options) {
207
209
  continue;
208
210
  }
209
211
  if (hasProcessIntent) {
210
- notes.push(matchedProcessBundles.length > 0
211
- ? `Prompt clause "${clause}" maps to built-in proxifier bundles: ${matchedProcessBundles
212
- .map((bundle) => bundle.name)
213
- .join(", ")}. Use Proxifier to send the target apps to in-proxifier.`
214
- : `Prompt clause "${clause}" maps to the built-in proxifier flow. Use Proxifier to send the target apps to in-proxifier.`);
212
+ notes.push(tunProfile
213
+ ? matchedProcessBundles.length > 0
214
+ ? `Prompt clause "${clause}" maps to built-in process-aware bundles: ${matchedProcessBundles
215
+ .map((bundle) => bundle.name)
216
+ .join(", ")}. The current tun profile routes matching apps natively through in-tun.`
217
+ : `Prompt clause "${clause}" maps to the built-in process-aware flow. The current tun profile routes matching apps natively through in-tun.`
218
+ : matchedProcessBundles.length > 0
219
+ ? `Prompt clause "${clause}" maps to built-in proxifier bundles: ${matchedProcessBundles
220
+ .map((bundle) => bundle.name)
221
+ .join(", ")}. Use Proxifier to send the target apps to in-proxifier.`
222
+ : `Prompt clause "${clause}" maps to the built-in proxifier flow. Use Proxifier to send the target apps to in-proxifier.`);
215
223
  }
216
224
  }
217
225
  const mergedTemplates = mergeRuleTemplates([...templateIds]);
@@ -357,12 +365,10 @@ export function renderUpdatedBuilderConfig(input) {
357
365
  if (input.groupDefaults) {
358
366
  parsed.groups = applyGroupDefaults(parsed.groups, input.groupDefaults);
359
367
  }
360
- if (input.verificationOverrides && input.verificationOverrides.length > 0) {
361
- parsed.verification = {
362
- ...parsed.verification,
363
- scenarios: applyVerificationOverrides(parsed.verification.scenarios, input.verificationOverrides),
364
- };
365
- }
368
+ parsed.verification = {
369
+ ...parsed.verification,
370
+ scenarios: applyVerificationProfileAndOverrides(parsed.verification.scenarios, parsed.runtime?.desktop?.profile ?? "system-proxy", input.verificationOverrides),
371
+ };
366
372
  return YAML.stringify(parsed);
367
373
  }
368
374
  export function applyPlanToBuilderConfig(config, input) {
@@ -386,14 +392,10 @@ export function applyPlanToBuilderConfig(config, input) {
386
392
  groups: applyGroupDefaults(config.groups, input.plan.groupDefaults),
387
393
  }
388
394
  : {}),
389
- ...(input.plan.verificationOverrides && input.plan.verificationOverrides.length > 0
390
- ? {
391
- verification: {
392
- ...config.verification,
393
- scenarios: applyVerificationOverrides(config.verification.scenarios, input.plan.verificationOverrides),
394
- },
395
- }
396
- : {}),
395
+ verification: {
396
+ ...config.verification,
397
+ scenarios: applyVerificationProfileAndOverrides(config.verification.scenarios, config.runtime.desktop.profile, input.plan.verificationOverrides),
398
+ },
397
399
  };
398
400
  }
399
401
  function serializeRule(rule) {
@@ -494,7 +496,9 @@ function resolveTemplateForRoute(templateId, route) {
494
496
  function dedupeRules(rules) {
495
497
  const byKey = new Map();
496
498
  for (const rule of rules) {
497
- byKey.set(JSON.stringify(rule), rule);
499
+ const key = matcherRuleKey(rule);
500
+ byKey.delete(key);
501
+ byKey.set(key, rule);
498
502
  }
499
503
  return [...byKey.values()];
500
504
  }
@@ -543,19 +547,7 @@ function applyGroupDefaults(groups, overrides) {
543
547
  function applyVerificationOverrides(scenarios, overrides) {
544
548
  return scenarios.map((scenario) => {
545
549
  const host = new URL(scenario.url).hostname.toLowerCase();
546
- const matchedOverride = overrides.find((override) => {
547
- if (override.inbound && override.inbound !== scenario.inbound) {
548
- return false;
549
- }
550
- if (override.domain && override.domain.toLowerCase() === host) {
551
- return true;
552
- }
553
- if (override.domainSuffix) {
554
- const suffix = override.domainSuffix.toLowerCase();
555
- return host === suffix || host.endsWith(`.${suffix}`);
556
- }
557
- return false;
558
- });
550
+ const matchedOverride = findMatchingVerificationOverride(scenario.inbound, host, overrides);
559
551
  if (!matchedOverride) {
560
552
  return scenario;
561
553
  }
@@ -565,6 +557,62 @@ function applyVerificationOverrides(scenarios, overrides) {
565
557
  };
566
558
  });
567
559
  }
560
+ function applyVerificationProfileAndOverrides(scenarios, desktopProfile, overrides) {
561
+ const normalizedScenarios = normalizeVerificationScenariosForProfile(scenarios, desktopProfile);
562
+ if (!overrides || overrides.length === 0) {
563
+ return normalizedScenarios;
564
+ }
565
+ return applyVerificationOverrides(normalizedScenarios, overrides);
566
+ }
567
+ function normalizeVerificationScenariosForProfile(scenarios, desktopProfile) {
568
+ if (desktopProfile !== "tun") {
569
+ return scenarios.map((scenario) => ({ ...scenario }));
570
+ }
571
+ return scenarios
572
+ .filter((scenario) => scenario.inbound !== "in-proxifier" && scenario.expectedOutbound !== "Process-Proxy")
573
+ .map((scenario) => ({
574
+ ...scenario,
575
+ inbound: "in-tun",
576
+ }));
577
+ }
578
+ function findMatchingVerificationOverride(inbound, host, overrides) {
579
+ for (let index = overrides.length - 1; index >= 0; index -= 1) {
580
+ const override = overrides[index];
581
+ if (!override) {
582
+ continue;
583
+ }
584
+ if (override.inbound && override.inbound !== inbound) {
585
+ continue;
586
+ }
587
+ if (override.domain && override.domain.toLowerCase() === host) {
588
+ return override;
589
+ }
590
+ if (override.domainSuffix) {
591
+ const suffix = override.domainSuffix.toLowerCase();
592
+ if (host === suffix || host.endsWith(`.${suffix}`)) {
593
+ return override;
594
+ }
595
+ }
596
+ }
597
+ return undefined;
598
+ }
599
+ function resolveDefaultVerificationInbound(options) {
600
+ return options?.desktopProfile === "tun" ? "in-tun" : "in-mixed";
601
+ }
602
+ function matcherRuleKey(rule) {
603
+ return JSON.stringify({
604
+ inbound: rule.inbound ? dedupeStringList(rule.inbound) : [],
605
+ protocol: rule.protocol ?? null,
606
+ network: rule.network ?? null,
607
+ port: rule.port ?? null,
608
+ domain: rule.domain ? dedupeStringList(rule.domain) : [],
609
+ domainSuffix: rule.domainSuffix ? dedupeStringList(rule.domainSuffix) : [],
610
+ ruleSet: rule.ruleSet ? dedupeStringList(rule.ruleSet) : [],
611
+ });
612
+ }
613
+ function dedupeStringList(values) {
614
+ return [...new Set(values)].sort((left, right) => left.localeCompare(right));
615
+ }
568
616
  function updateScheduleNode(document, intervalMinutes) {
569
617
  const schedule = document.get("schedule", true);
570
618
  if (hasYamlSet(schedule)) {