@singbox-iac/cli 0.1.8 → 0.1.10

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 (76) hide show
  1. package/README-en.md +43 -0
  2. package/README.md +42 -0
  3. package/dist/cli/commands/apply.js +5 -1
  4. package/dist/cli/commands/apply.js.map +1 -1
  5. package/dist/cli/commands/author.js +10 -0
  6. package/dist/cli/commands/author.js.map +1 -1
  7. package/dist/cli/commands/build.js +11 -0
  8. package/dist/cli/commands/build.js.map +1 -1
  9. package/dist/cli/commands/check.js +5 -1
  10. package/dist/cli/commands/check.js.map +1 -1
  11. package/dist/cli/commands/doctor.js +12 -0
  12. package/dist/cli/commands/doctor.js.map +1 -1
  13. package/dist/cli/commands/reload.js +5 -1
  14. package/dist/cli/commands/reload.js.map +1 -1
  15. package/dist/cli/commands/restart.d.ts +2 -0
  16. package/dist/cli/commands/restart.js +57 -0
  17. package/dist/cli/commands/restart.js.map +1 -0
  18. package/dist/cli/commands/rollback.js +6 -2
  19. package/dist/cli/commands/rollback.js.map +1 -1
  20. package/dist/cli/commands/run.js +5 -1
  21. package/dist/cli/commands/run.js.map +1 -1
  22. package/dist/cli/commands/schedule.js +10 -2
  23. package/dist/cli/commands/schedule.js.map +1 -1
  24. package/dist/cli/commands/setup.js +68 -9
  25. package/dist/cli/commands/setup.js.map +1 -1
  26. package/dist/cli/commands/start.d.ts +2 -0
  27. package/dist/cli/commands/start.js +51 -0
  28. package/dist/cli/commands/start.js.map +1 -0
  29. package/dist/cli/commands/status.d.ts +2 -0
  30. package/dist/cli/commands/status.js +65 -0
  31. package/dist/cli/commands/status.js.map +1 -0
  32. package/dist/cli/commands/stop.d.ts +2 -0
  33. package/dist/cli/commands/stop.js +29 -0
  34. package/dist/cli/commands/stop.js.map +1 -0
  35. package/dist/cli/commands/verify.js +15 -3
  36. package/dist/cli/commands/verify.js.map +1 -1
  37. package/dist/cli/index.js +17 -1
  38. package/dist/cli/index.js.map +1 -1
  39. package/dist/config/schema.d.ts +125 -0
  40. package/dist/config/schema.js +49 -0
  41. package/dist/config/schema.js.map +1 -1
  42. package/dist/domain/runtime-mode.d.ts +2 -0
  43. package/dist/modules/compiler/index.js +32 -14
  44. package/dist/modules/compiler/index.js.map +1 -1
  45. package/dist/modules/desktop-runtime/index.d.ts +48 -0
  46. package/dist/modules/desktop-runtime/index.js +183 -0
  47. package/dist/modules/desktop-runtime/index.js.map +1 -0
  48. package/dist/modules/doctor/index.d.ts +5 -0
  49. package/dist/modules/doctor/index.js +37 -8
  50. package/dist/modules/doctor/index.js.map +1 -1
  51. package/dist/modules/init/index.d.ts +2 -0
  52. package/dist/modules/init/index.js +7 -2
  53. package/dist/modules/init/index.js.map +1 -1
  54. package/dist/modules/manager/index.d.ts +1 -1
  55. package/dist/modules/manager/index.js +6 -28
  56. package/dist/modules/manager/index.js.map +1 -1
  57. package/dist/modules/runtime-dependencies/index.d.ts +22 -0
  58. package/dist/modules/runtime-dependencies/index.js +114 -0
  59. package/dist/modules/runtime-dependencies/index.js.map +1 -0
  60. package/dist/modules/runtime-mode/index.d.ts +6 -1
  61. package/dist/modules/runtime-mode/index.js +14 -0
  62. package/dist/modules/runtime-mode/index.js.map +1 -1
  63. package/dist/modules/schedule/index.d.ts +1 -0
  64. package/dist/modules/schedule/index.js +1 -1
  65. package/dist/modules/schedule/index.js.map +1 -1
  66. package/dist/modules/status/index.d.ts +57 -0
  67. package/dist/modules/status/index.js +295 -0
  68. package/dist/modules/status/index.js.map +1 -0
  69. package/dist/modules/update/index.js +5 -3
  70. package/dist/modules/update/index.js.map +1 -1
  71. package/dist/modules/verification/index.d.ts +1 -1
  72. package/dist/modules/verification/index.js +6 -12
  73. package/dist/modules/verification/index.js.map +1 -1
  74. package/docs/runtime-on-macos.md +36 -0
  75. package/examples/builder.config.yaml +9 -0
  76. package/package.json +1 -1
@@ -3,10 +3,11 @@ 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 { resolveSingBoxBinary } from "../manager/index.js";
7
- import { resolveChromeBinary } from "../verification/index.js";
6
+ import { resolveChromeDependency, resolveSingBoxDependency, } from "../runtime-dependencies/index.js";
8
7
  export async function runDoctor(input) {
9
8
  const checks = [];
9
+ let resolvedSingBox;
10
+ let resolvedChrome;
10
11
  checks.push(makeCheck(platform() === "darwin" ? "PASS" : "WARN", "os", `platform=${platform()}`));
11
12
  if (input.config && input.configPath) {
12
13
  checks.push(makeCheck("PASS", "builder-config", input.configPath));
@@ -14,8 +15,22 @@ export async function runDoctor(input) {
14
15
  else {
15
16
  checks.push(makeCheck("WARN", "builder-config", "No builder config was found. Use init or pass --config when running commands."));
16
17
  }
17
- checks.push(await checkBinary("sing-box", () => resolveSingBoxBinary(input.singBoxBinary), "FAIL"));
18
- checks.push(await checkBinary("chrome", () => resolveChromeBinary(input.chromeBinary), "WARN"));
18
+ {
19
+ const result = await checkBinary("sing-box", () => resolveSingBoxDependency({
20
+ explicitPath: input.singBoxBinary,
21
+ persistedPath: input.config?.runtime.dependencies.singBoxBinary,
22
+ }), "FAIL", input.config?.runtime.dependencies.singBoxBinary);
23
+ checks.push(result.check);
24
+ resolvedSingBox = result.resolved;
25
+ }
26
+ {
27
+ const result = await checkBinary("chrome", () => resolveChromeDependency({
28
+ explicitPath: input.chromeBinary,
29
+ persistedPath: input.config?.runtime.dependencies.chromeBinary,
30
+ }), "WARN", input.config?.runtime.dependencies.chromeBinary);
31
+ checks.push(result.check);
32
+ resolvedChrome = result.resolved;
33
+ }
19
34
  const localAiClis = await detectLocalAiClis();
20
35
  const installedAiClis = localAiClis.filter((cli) => cli.installed);
21
36
  checks.push(installedAiClis.length > 0
@@ -54,15 +69,29 @@ export async function runDoctor(input) {
54
69
  : `provider=${authoringProvider}, timeoutMs=${input.config.authoring.timeoutMs}`;
55
70
  checks.push(makeCheck(authoringStatus, "authoring-provider", authoringDetails));
56
71
  }
57
- return { checks };
72
+ return {
73
+ checks,
74
+ resolvedDependencies: {
75
+ ...(resolvedSingBox ? { singBox: resolvedSingBox } : {}),
76
+ ...(resolvedChrome ? { chrome: resolvedChrome } : {}),
77
+ },
78
+ };
58
79
  }
59
- async function checkBinary(name, resolver, failureStatus) {
80
+ async function checkBinary(name, resolver, failureStatus, persistedPath) {
60
81
  try {
61
82
  const resolved = await resolver();
62
- return makeCheck("PASS", name, resolved);
83
+ const status = persistedPath && resolved.source !== "persisted" && resolved.source !== "explicit"
84
+ ? "WARN"
85
+ : "PASS";
86
+ const details = persistedPath && resolved.source !== "persisted" && resolved.source !== "explicit"
87
+ ? `${resolved.path} (source=${resolved.source}, persisted path unavailable: ${persistedPath})`
88
+ : `${resolved.path} (source=${resolved.source})`;
89
+ return { check: makeCheck(status, name, details), resolved };
63
90
  }
64
91
  catch (error) {
65
- return makeCheck(failureStatus, name, error instanceof Error ? error.message : String(error));
92
+ return {
93
+ check: makeCheck(failureStatus, name, error instanceof Error ? error.message : String(error)),
94
+ };
66
95
  }
67
96
  }
68
97
  function makeCheck(status, name, details) {
@@ -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":"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"}
@@ -4,9 +4,11 @@ export interface InitWorkspaceInput {
4
4
  readonly examplesDir: string;
5
5
  readonly subscriptionUrl?: string;
6
6
  readonly force?: boolean;
7
+ readonly preserveExistingRules?: boolean;
7
8
  }
8
9
  export interface InitWorkspaceResult {
9
10
  readonly configPath: string;
10
11
  readonly rulesPath: string;
12
+ readonly reusedExistingRules: boolean;
11
13
  }
12
14
  export declare function initWorkspace(input: InitWorkspaceInput): Promise<InitWorkspaceResult>;
@@ -13,18 +13,23 @@ export async function initWorkspace(input) {
13
13
  : configTemplate;
14
14
  const configWithRulesPath = renderedConfig.replace('userRulesFile: "~/.config/singbox-iac/rules/custom.rules.yaml"', `userRulesFile: "${escapeYamlDoubleQuotedString(input.rulesOutPath)}"`);
15
15
  await writeIfAllowed(input.configOutPath, configWithRulesPath, input.force === true);
16
- await writeIfAllowed(input.rulesOutPath, rulesTemplate, input.force === true);
16
+ const reusedExistingRules = await writeIfAllowed(input.rulesOutPath, rulesTemplate, input.force === true, input.preserveExistingRules === true);
17
17
  return {
18
18
  configPath: input.configOutPath,
19
19
  rulesPath: input.rulesOutPath,
20
+ reusedExistingRules,
20
21
  };
21
22
  }
22
- async function writeIfAllowed(filePath, content, force) {
23
+ async function writeIfAllowed(filePath, content, force, preserveExisting = false) {
23
24
  if (!force && (await pathExists(filePath))) {
25
+ if (preserveExisting) {
26
+ return true;
27
+ }
24
28
  throw new Error(`Refusing to overwrite existing file: ${filePath}`);
25
29
  }
26
30
  await mkdir(path.dirname(filePath), { recursive: true });
27
31
  await writeFile(filePath, content, "utf8");
32
+ return false;
28
33
  }
29
34
  async function pathExists(filePath) {
30
35
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,IAAI,MAAM,WAAW,CAAC;AAe7B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAyB;IAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IAC/E,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAE5E,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe;QAC1C,CAAC,CAAC,cAAc,CAAC,OAAO,CACpB,yCAAyC,EACzC,SAAS,4BAA4B,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAChE;QACH,CAAC,CAAC,cAAc,CAAC;IACnB,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAChD,gEAAgE,EAChE,mBAAmB,4BAA4B,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CACvE,CAAC;IAEF,MAAM,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACrF,MAAM,cAAc,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAE9E,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,aAAa;QAC/B,SAAS,EAAE,KAAK,CAAC,YAAY;KAC9B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe,EAAE,KAAc;IAC7E,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7C,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,SAAS,4BAA4B,CAAC,KAAa;IACjD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,IAAI,MAAM,WAAW,CAAC;AAiB7B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAyB;IAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IAC/E,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAE5E,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe;QAC1C,CAAC,CAAC,cAAc,CAAC,OAAO,CACpB,yCAAyC,EACzC,SAAS,4BAA4B,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAChE;QACH,CAAC,CAAC,cAAc,CAAC;IACnB,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAChD,gEAAgE,EAChE,mBAAmB,4BAA4B,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CACvE,CAAC;IAEF,MAAM,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACrF,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAC9C,KAAK,CAAC,YAAY,EAClB,aAAa,EACb,KAAK,CAAC,KAAK,KAAK,IAAI,EACpB,KAAK,CAAC,qBAAqB,KAAK,IAAI,CACrC,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,aAAa;QAC/B,SAAS,EAAE,KAAK,CAAC,YAAY;QAC7B,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,QAAgB,EAChB,OAAe,EACf,KAAc,EACd,gBAAgB,GAAG,KAAK;IAExB,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC3C,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,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,SAAS,4BAA4B,CAAC,KAAa;IACjD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC"}
@@ -27,4 +27,4 @@ export declare function reloadRuntime(input: {
27
27
  readonly runtime: BuilderConfig["runtime"]["reload"];
28
28
  }): Promise<void>;
29
29
  export declare function shouldAutoReloadRuntime(runtime: BuilderConfig["runtime"]["reload"]): Promise<boolean>;
30
- export declare function resolveSingBoxBinary(explicitPath?: string): Promise<string>;
30
+ export declare function resolveSingBoxBinary(explicitPath?: string, persistedPath?: string): Promise<string>;
@@ -2,6 +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 { resolveSingBoxDependency } from "../runtime-dependencies/index.js";
5
6
  export async function checkConfig(input) {
6
7
  const binaryPath = await resolveSingBoxBinary(input.singBoxBinary);
7
8
  await runCommand(binaryPath, ["check", "-c", input.configPath]);
@@ -60,19 +61,12 @@ export async function shouldAutoReloadRuntime(runtime) {
60
61
  }
61
62
  return isProcessRunning(runtime.processName);
62
63
  }
63
- export async function resolveSingBoxBinary(explicitPath) {
64
- const candidates = [
64
+ export async function resolveSingBoxBinary(explicitPath, persistedPath) {
65
+ const resolved = await resolveSingBoxDependency({
65
66
  explicitPath,
66
- process.env.SING_BOX_BIN,
67
- path.resolve(process.cwd(), ".tools", "sing-box-1.13.4-darwin-arm64", "sing-box"),
68
- ...resolvePathCandidates("sing-box"),
69
- ].filter((candidate) => typeof candidate === "string" && candidate.length > 0);
70
- for (const candidate of candidates) {
71
- if (await isExecutable(candidate)) {
72
- return candidate;
73
- }
74
- }
75
- throw new Error("Unable to find a usable sing-box binary. Set SING_BOX_BIN or install sing-box on PATH.");
67
+ persistedPath,
68
+ });
69
+ return resolved.path;
76
70
  }
77
71
  async function reloadSingBox(input) {
78
72
  if (input.kind === "command") {
@@ -87,15 +81,6 @@ async function reloadSingBox(input) {
87
81
  }
88
82
  await runCommand("/usr/bin/killall", [`-${input.signal}`, input.processName]);
89
83
  }
90
- async function isExecutable(filePath) {
91
- try {
92
- await access(filePath, constants.X_OK);
93
- return true;
94
- }
95
- catch {
96
- return false;
97
- }
98
- }
99
84
  async function pathExists(filePath) {
100
85
  try {
101
86
  await access(filePath, constants.F_OK);
@@ -105,13 +90,6 @@ async function pathExists(filePath) {
105
90
  return false;
106
91
  }
107
92
  }
108
- function resolvePathCandidates(commandName) {
109
- return (process.env.PATH ?? "")
110
- .split(path.delimiter)
111
- .filter((entry) => entry.length > 0)
112
- .map((entry) => path.join(entry, commandName))
113
- .filter((candidate, index, items) => items.indexOf(candidate) === index);
114
- }
115
93
  async function runCommand(command, args) {
116
94
  await new Promise((resolve, reject) => {
117
95
  const child = spawn(command, args, {
@@ -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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"}
@@ -0,0 +1,22 @@
1
+ export type RuntimeDependencySource = "explicit" | "persisted" | "env" | "repo-tool" | "path" | "app-bundle";
2
+ export interface ResolvedRuntimeDependency {
3
+ readonly path: string;
4
+ readonly source: RuntimeDependencySource;
5
+ }
6
+ export interface PersistedRuntimeDependencies {
7
+ readonly singBoxBinary?: string;
8
+ readonly chromeBinary?: string;
9
+ }
10
+ export declare function resolveSingBoxDependency(input?: {
11
+ readonly explicitPath?: string | undefined;
12
+ readonly persistedPath?: string | undefined;
13
+ }): Promise<ResolvedRuntimeDependency>;
14
+ export declare function resolveChromeDependency(input?: {
15
+ readonly explicitPath?: string | undefined;
16
+ readonly persistedPath?: string | undefined;
17
+ }): Promise<ResolvedRuntimeDependency>;
18
+ export declare function persistRuntimeDependencies(input: {
19
+ readonly configPath: string;
20
+ readonly singBox?: ResolvedRuntimeDependency;
21
+ readonly chrome?: ResolvedRuntimeDependency;
22
+ }): Promise<boolean>;
@@ -0,0 +1,114 @@
1
+ import { constants } from "node:fs";
2
+ import { access, readFile, writeFile } from "node:fs/promises";
3
+ import { platform } from "node:os";
4
+ import path from "node:path";
5
+ import YAML from "yaml";
6
+ export async function resolveSingBoxDependency(input = {}) {
7
+ const candidates = [];
8
+ if (input.explicitPath) {
9
+ candidates.push({ path: input.explicitPath, source: "explicit" });
10
+ }
11
+ if (input.persistedPath) {
12
+ candidates.push({ path: input.persistedPath, source: "persisted" });
13
+ }
14
+ if (process.env.SING_BOX_BIN) {
15
+ candidates.push({ path: process.env.SING_BOX_BIN, source: "env" });
16
+ }
17
+ candidates.push({
18
+ path: path.resolve(process.cwd(), ".tools", "sing-box-1.13.4-darwin-arm64", "sing-box"),
19
+ source: "repo-tool",
20
+ });
21
+ for (const candidate of resolvePathCandidates("sing-box")) {
22
+ candidates.push({ path: candidate, source: "path" });
23
+ }
24
+ for (const candidate of candidates) {
25
+ if (await isExecutable(candidate.path)) {
26
+ return candidate;
27
+ }
28
+ }
29
+ const installHint = platform() === "darwin"
30
+ ? " Install it with `brew install sing-box`, set runtime.dependencies.singBoxBinary, or set SING_BOX_BIN."
31
+ : " Set runtime.dependencies.singBoxBinary or SING_BOX_BIN after installing sing-box.";
32
+ throw new Error(`Unable to find a usable sing-box binary.${installHint}`);
33
+ }
34
+ export async function resolveChromeDependency(input = {}) {
35
+ const candidates = [];
36
+ if (input.explicitPath) {
37
+ candidates.push({ path: input.explicitPath, source: "explicit" });
38
+ }
39
+ if (input.persistedPath) {
40
+ candidates.push({ path: input.persistedPath, source: "persisted" });
41
+ }
42
+ if (process.env.CHROME_BIN) {
43
+ candidates.push({ path: process.env.CHROME_BIN, source: "env" });
44
+ }
45
+ candidates.push({
46
+ path: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
47
+ source: "app-bundle",
48
+ });
49
+ candidates.push({
50
+ path: "/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary",
51
+ source: "app-bundle",
52
+ });
53
+ for (const candidate of candidates) {
54
+ if (await isExecutable(candidate.path)) {
55
+ return candidate;
56
+ }
57
+ }
58
+ throw new Error("Unable to find a usable Chrome binary. Install Google Chrome, set runtime.dependencies.chromeBinary, or set CHROME_BIN.");
59
+ }
60
+ export async function persistRuntimeDependencies(input) {
61
+ if (!input.singBox && !input.chrome) {
62
+ return false;
63
+ }
64
+ const raw = await readFile(input.configPath, "utf8");
65
+ const parsed = YAML.parse(raw);
66
+ const runtime = asRecord(parsed.runtime);
67
+ const dependencies = asRecord(runtime.dependencies);
68
+ let changed = false;
69
+ if (input.singBox) {
70
+ changed = updateValue(dependencies, "singBoxBinary", input.singBox.path) || changed;
71
+ changed = updateValue(dependencies, "singBoxSource", input.singBox.source) || changed;
72
+ }
73
+ if (input.chrome) {
74
+ changed = updateValue(dependencies, "chromeBinary", input.chrome.path) || changed;
75
+ changed = updateValue(dependencies, "chromeSource", input.chrome.source) || changed;
76
+ }
77
+ changed = updateValue(dependencies, "resolvedAt", new Date().toISOString()) || changed;
78
+ if (!changed) {
79
+ return false;
80
+ }
81
+ runtime.dependencies = dependencies;
82
+ parsed.runtime = runtime;
83
+ await writeFile(input.configPath, YAML.stringify(parsed), "utf8");
84
+ return true;
85
+ }
86
+ function asRecord(value) {
87
+ return value && typeof value === "object" && !Array.isArray(value)
88
+ ? { ...value }
89
+ : {};
90
+ }
91
+ function updateValue(target, key, value) {
92
+ if (target[key] === value) {
93
+ return false;
94
+ }
95
+ target[key] = value;
96
+ return true;
97
+ }
98
+ async function isExecutable(filePath) {
99
+ try {
100
+ await access(filePath, constants.X_OK);
101
+ return true;
102
+ }
103
+ catch {
104
+ return false;
105
+ }
106
+ }
107
+ function resolvePathCandidates(commandName) {
108
+ return (process.env.PATH ?? "")
109
+ .split(path.delimiter)
110
+ .filter((entry) => entry.length > 0)
111
+ .map((entry) => path.join(entry, commandName))
112
+ .filter((candidate, index, items) => items.indexOf(candidate) === index);
113
+ }
114
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/runtime-dependencies/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { BuilderConfig } from "../../config/schema.js";
2
2
  import type { IntentIR } from "../../domain/intent.js";
3
- import type { RuntimeMode, RuntimeModeDefaults } from "../../domain/runtime-mode.js";
3
+ import type { DesktopRuntimeProfileKind, RuntimeMode, RuntimeModeDefaults } from "../../domain/runtime-mode.js";
4
4
  interface RuntimeModeInferenceInput {
5
5
  readonly phase: "onboarding" | "update";
6
6
  readonly prompt?: string;
@@ -14,5 +14,10 @@ interface RuntimeModeScenario {
14
14
  }
15
15
  export declare function inferRuntimeMode(input: RuntimeModeInferenceInput): RuntimeMode;
16
16
  export declare function getRuntimeModeDefaults(mode: RuntimeMode): RuntimeModeDefaults;
17
+ export declare function inferDesktopRuntimeProfile(input: {
18
+ readonly mode: RuntimeMode;
19
+ readonly prompt?: string;
20
+ readonly config?: BuilderConfig;
21
+ }): DesktopRuntimeProfileKind;
17
22
  export declare function selectVerificationScenariosForRuntimeMode<T extends RuntimeModeScenario>(mode: RuntimeMode, scenarios: readonly T[]): readonly T[];
18
23
  export {};
@@ -6,6 +6,7 @@ const processKeywords = [
6
6
  "独立入口",
7
7
  "独立的入口",
8
8
  ];
9
+ const tunKeywords = ["tun", "全局代理", "全局模式", "系统全局", "utun", "全局接管"];
9
10
  export function inferRuntimeMode(input) {
10
11
  if (input.phase === "update") {
11
12
  return "headless-daemon";
@@ -33,6 +34,7 @@ export function getRuntimeModeDefaults(mode) {
33
34
  openVisibleBrowserByDefault: true,
34
35
  visibleBrowserScenarioLimit: 4,
35
36
  scheduleRecommended: true,
37
+ desktopProfile: "system-proxy",
36
38
  };
37
39
  case "headless-daemon":
38
40
  return {
@@ -41,6 +43,7 @@ export function getRuntimeModeDefaults(mode) {
41
43
  openVisibleBrowserByDefault: false,
42
44
  visibleBrowserScenarioLimit: 0,
43
45
  scheduleRecommended: true,
46
+ desktopProfile: "none",
44
47
  };
45
48
  default:
46
49
  return {
@@ -49,9 +52,20 @@ export function getRuntimeModeDefaults(mode) {
49
52
  openVisibleBrowserByDefault: true,
50
53
  visibleBrowserScenarioLimit: 3,
51
54
  scheduleRecommended: false,
55
+ desktopProfile: "system-proxy",
52
56
  };
53
57
  }
54
58
  }
59
+ export function inferDesktopRuntimeProfile(input) {
60
+ const prompt = input.prompt?.toLowerCase() ?? "";
61
+ if (tunKeywords.some((keyword) => prompt.includes(keyword))) {
62
+ return "tun";
63
+ }
64
+ if (input.config?.runtime.desktop.profile) {
65
+ return input.config.runtime.desktop.profile;
66
+ }
67
+ return getRuntimeModeDefaults(input.mode).desktopProfile;
68
+ }
55
69
  export function selectVerificationScenariosForRuntimeMode(mode, scenarios) {
56
70
  switch (mode) {
57
71
  case "process-proxy":
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/runtime-mode/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/runtime-mode/index.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export interface ScheduleRemoveInput {
22
22
  readonly launchAgentsDir?: string;
23
23
  readonly unload?: boolean;
24
24
  }
25
+ export declare const defaultLaunchAgentLabel = "org.singbox-iac.update";
25
26
  export declare function installLaunchdSchedule(input: ScheduleInstallInput): Promise<ScheduleInstallResult>;
26
27
  export declare function removeLaunchdSchedule(input: ScheduleRemoveInput): Promise<string>;
27
28
  export declare function renderLaunchAgentPlist(input: {
@@ -3,7 +3,7 @@ import { constants } from "node:fs";
3
3
  import { access, mkdir, rm, writeFile } from "node:fs/promises";
4
4
  import { homedir } from "node:os";
5
5
  import path from "node:path";
6
- const defaultLaunchAgentLabel = "org.singbox-iac.update";
6
+ export const defaultLaunchAgentLabel = "org.singbox-iac.update";
7
7
  export async function installLaunchdSchedule(input) {
8
8
  const label = input.label ?? defaultLaunchAgentLabel;
9
9
  const launchAgentsDir = input.launchAgentsDir ?? path.join(homedir(), "Library", "LaunchAgents");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/schedule/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/schedule/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { BuilderConfig } from "../../config/schema.js";
2
+ export interface StatusInput {
3
+ readonly config?: BuilderConfig;
4
+ readonly configPath?: string;
5
+ readonly singBoxBinary?: string;
6
+ readonly launchAgentsDir?: string;
7
+ readonly label?: string;
8
+ readonly runtimeLabel?: string;
9
+ }
10
+ export interface StatusReport {
11
+ readonly generatedAt: string;
12
+ readonly builderConfigPath?: string;
13
+ readonly runtime: {
14
+ readonly singBoxBinary?: string;
15
+ readonly binarySource?: string;
16
+ readonly processRunning: boolean;
17
+ readonly processIds: readonly number[];
18
+ readonly mode?: string;
19
+ readonly desktopProfile?: string;
20
+ readonly runtimeLabel: string;
21
+ readonly launchAgentInstalled: boolean;
22
+ readonly launchAgentLoaded?: boolean;
23
+ readonly systemProxyActive?: boolean;
24
+ readonly tunInterfacePresent?: boolean;
25
+ readonly listeners: readonly StatusListener[];
26
+ };
27
+ readonly config: {
28
+ readonly stagingPath?: string;
29
+ readonly livePath?: string;
30
+ readonly backupPath?: string;
31
+ readonly liveExists: boolean;
32
+ };
33
+ readonly scheduler: {
34
+ readonly enabled: boolean;
35
+ readonly label: string;
36
+ readonly installed: boolean;
37
+ readonly loaded?: boolean;
38
+ readonly plistPath: string;
39
+ };
40
+ readonly history: {
41
+ readonly lastTransactionId?: string;
42
+ readonly lastTransactionStatus?: string;
43
+ readonly lastTransactionAt?: string;
44
+ };
45
+ readonly diagnostics: readonly StatusDiagnostic[];
46
+ }
47
+ export interface StatusListener {
48
+ readonly tag: string;
49
+ readonly listen: string;
50
+ readonly port: number;
51
+ readonly active: boolean;
52
+ }
53
+ export interface StatusDiagnostic {
54
+ readonly level: "info" | "warn" | "error";
55
+ readonly message: string;
56
+ }
57
+ export declare function collectStatusReport(input: StatusInput): Promise<StatusReport>;