@singbox-iac/cli 0.1.16 → 0.1.17

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 (80) hide show
  1. package/README.md +70 -24
  2. package/dist/cli/commands/author.d.ts +2 -0
  3. package/dist/cli/commands/author.js +49 -19
  4. package/dist/cli/commands/author.js.map +1 -1
  5. package/dist/cli/commands/build.js +25 -13
  6. package/dist/cli/commands/build.js.map +1 -1
  7. package/dist/cli/commands/diagnose.d.ts +2 -0
  8. package/dist/cli/commands/diagnose.js +120 -0
  9. package/dist/cli/commands/diagnose.js.map +1 -0
  10. package/dist/cli/commands/doctor.js +21 -1
  11. package/dist/cli/commands/doctor.js.map +1 -1
  12. package/dist/cli/commands/restart.js +42 -2
  13. package/dist/cli/commands/restart.js.map +1 -1
  14. package/dist/cli/commands/rulesets.d.ts +2 -0
  15. package/dist/cli/commands/rulesets.js +125 -0
  16. package/dist/cli/commands/rulesets.js.map +1 -0
  17. package/dist/cli/commands/runtime-watchdog.d.ts +2 -0
  18. package/dist/cli/commands/runtime-watchdog.js +45 -0
  19. package/dist/cli/commands/runtime-watchdog.js.map +1 -0
  20. package/dist/cli/commands/setup.js +38 -13
  21. package/dist/cli/commands/setup.js.map +1 -1
  22. package/dist/cli/commands/start.js +29 -1
  23. package/dist/cli/commands/start.js.map +1 -1
  24. package/dist/cli/commands/status.js +135 -28
  25. package/dist/cli/commands/status.js.map +1 -1
  26. package/dist/cli/commands/stop.js +19 -1
  27. package/dist/cli/commands/stop.js.map +1 -1
  28. package/dist/cli/commands/use.js +3 -1
  29. package/dist/cli/commands/use.js.map +1 -1
  30. package/dist/cli/index.js +12 -4
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/config/schema.d.ts +49 -6
  33. package/dist/config/schema.js +17 -0
  34. package/dist/config/schema.js.map +1 -1
  35. package/dist/modules/authoring/index.js +25 -8
  36. package/dist/modules/authoring/index.js.map +1 -1
  37. package/dist/modules/build/index.d.ts +4 -1
  38. package/dist/modules/build/index.js +17 -4
  39. package/dist/modules/build/index.js.map +1 -1
  40. package/dist/modules/bundle-registry/index.d.ts +46 -0
  41. package/dist/modules/bundle-registry/index.js +650 -0
  42. package/dist/modules/bundle-registry/index.js.map +1 -0
  43. package/dist/modules/desktop-runtime/index.d.ts +11 -0
  44. package/dist/modules/desktop-runtime/index.js +41 -0
  45. package/dist/modules/desktop-runtime/index.js.map +1 -1
  46. package/dist/modules/diagnostics/index.d.ts +28 -0
  47. package/dist/modules/diagnostics/index.js +288 -0
  48. package/dist/modules/diagnostics/index.js.map +1 -0
  49. package/dist/modules/layered-authoring/index.d.ts +45 -0
  50. package/dist/modules/layered-authoring/index.js +549 -0
  51. package/dist/modules/layered-authoring/index.js.map +1 -0
  52. package/dist/modules/natural-language/index.d.ts +6 -3
  53. package/dist/modules/natural-language/index.js +74 -69
  54. package/dist/modules/natural-language/index.js.map +1 -1
  55. package/dist/modules/proxifier/index.d.ts +1 -14
  56. package/dist/modules/proxifier/index.js +10 -139
  57. package/dist/modules/proxifier/index.js.map +1 -1
  58. package/dist/modules/rule-set-catalog/index.d.ts +25 -0
  59. package/dist/modules/rule-set-catalog/index.js +135 -0
  60. package/dist/modules/rule-set-catalog/index.js.map +1 -0
  61. package/dist/modules/runtime-watchdog/index.d.ts +73 -0
  62. package/dist/modules/runtime-watchdog/index.js +532 -0
  63. package/dist/modules/runtime-watchdog/index.js.map +1 -0
  64. package/dist/modules/status/index.d.ts +48 -0
  65. package/dist/modules/status/index.js +254 -23
  66. package/dist/modules/status/index.js.map +1 -1
  67. package/dist/modules/system-proxy/index.d.ts +31 -0
  68. package/dist/modules/system-proxy/index.js +164 -0
  69. package/dist/modules/system-proxy/index.js.map +1 -0
  70. package/docs/agent-context.md +131 -0
  71. package/docs/natural-language-authoring.md +106 -1
  72. package/docs/proxifier-onboarding.md +15 -4
  73. package/docs/rule-templates.md +2 -0
  74. package/docs/runtime-modes.md +84 -0
  75. package/docs/runtime-on-macos.md +53 -4
  76. package/examples/builder.config.yaml +60 -0
  77. package/package.json +3 -2
  78. package/dist/cli/commands/quickstart.d.ts +0 -2
  79. package/dist/cli/commands/quickstart.js +0 -54
  80. package/dist/cli/commands/quickstart.js.map +0 -1
@@ -35,7 +35,7 @@ export function registerDoctorCommand(program) {
35
35
  : {}),
36
36
  });
37
37
  }
38
- process.stdout.write(`${report.checks.map((check) => `[${check.status}] ${check.name}: ${check.details}`).join("\n")}\n`);
38
+ process.stdout.write(renderDoctorOutput(report, configPath));
39
39
  if (report.checks.some((check) => check.status === "FAIL")) {
40
40
  throw new Error("Doctor found blocking failures.");
41
41
  }
@@ -44,4 +44,24 @@ export function registerDoctorCommand(program) {
44
44
  function pathResolve(filePath) {
45
45
  return filePath.startsWith("/") ? filePath : path.resolve(process.cwd(), filePath);
46
46
  }
47
+ function renderDoctorOutput(report, configPath) {
48
+ const lines = [
49
+ "Readiness check: environment and config prerequisites for singbox-iac.",
50
+ "",
51
+ ...renderSection("Context", [`config: ${configPath ?? "(missing)"}`]),
52
+ "",
53
+ ...renderSection("Checks", report.checks.map((check) => `[${check.status}] ${check.name}: ${check.details}`)),
54
+ "",
55
+ ...renderSection("Result", [formatDoctorResult(report.checks)]),
56
+ ];
57
+ return `${lines.join("\n")}\n`;
58
+ }
59
+ function formatDoctorResult(checks) {
60
+ return checks.some((check) => check.status === "FAIL")
61
+ ? "blocking-failures: yes"
62
+ : "blocking-failures: no";
63
+ }
64
+ function renderSection(title, items) {
65
+ return [`${title}:`, ...items.map((item) => `- ${item}`)];
66
+ }
47
67
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import path from "node:path";
2
2
  import { installDesktopRuntimeAgent, removeDesktopRuntimeAgent, restartDesktopRuntimeAgent, } from "../../modules/desktop-runtime/index.js";
3
3
  import { checkConfig, resolveSingBoxBinary } from "../../modules/manager/index.js";
4
- import { resolveBuilderConfig } from "../command-helpers.js";
4
+ import { installRuntimeWatchdogAgent, removeRuntimeWatchdogAgent, } from "../../modules/runtime-watchdog/index.js";
5
+ import { findDefaultConfigPath, resolveBuilderConfig, resolveCliEntrypoint, } from "../command-helpers.js";
5
6
  export function registerRestartCommand(program) {
6
7
  program
7
8
  .command("restart")
@@ -14,13 +15,20 @@ export function registerRestartCommand(program) {
14
15
  .option("--no-load", "write the runtime LaunchAgent without calling launchctl bootstrap")
15
16
  .action(async (options) => {
16
17
  const builderConfig = await resolveBuilderConfig(options);
18
+ const configPath = options.config
19
+ ? resolvePath(options.config)
20
+ : await findDefaultConfigPath();
17
21
  if (!builderConfig) {
18
22
  throw new Error("Restart requires a builder config. Run `singbox-iac go` first.");
19
23
  }
24
+ if (!configPath) {
25
+ throw new Error("Restart requires a builder config path.");
26
+ }
20
27
  if (builderConfig.runtime.desktop.profile === "none") {
21
28
  throw new Error("Desktop runtime profile is disabled in this config. Re-run onboarding or set runtime.desktop.profile first.");
22
29
  }
23
30
  const label = options.label ?? builderConfig.runtime.desktop.launchAgentLabel;
31
+ const watchdogLabel = builderConfig.runtime.desktop.watchdog.launchAgentLabel;
24
32
  const singBoxBinary = await resolveSingBoxBinary(options.singBoxBin ? resolvePath(options.singBoxBin) : undefined, builderConfig.runtime.dependencies.singBoxBinary);
25
33
  await checkConfig({
26
34
  configPath: builderConfig.output.livePath,
@@ -29,7 +37,9 @@ export function registerRestartCommand(program) {
29
37
  const hasOverrides = options.singBoxBin !== undefined ||
30
38
  options.launchAgentsDir !== undefined ||
31
39
  options.logsDir !== undefined;
32
- if (options.load !== false && !hasOverrides) {
40
+ const needsWatchdogLifecycle = builderConfig.runtime.desktop.profile === "system-proxy" &&
41
+ builderConfig.runtime.desktop.watchdog.enabled;
42
+ if (options.load !== false && !hasOverrides && !needsWatchdogLifecycle) {
33
43
  try {
34
44
  await restartDesktopRuntimeAgent({ label });
35
45
  process.stdout.write(`${[
@@ -50,6 +60,15 @@ export function registerRestartCommand(program) {
50
60
  ? { launchAgentsDir: resolvePath(options.launchAgentsDir) }
51
61
  : {}),
52
62
  });
63
+ if (builderConfig.runtime.desktop.profile === "system-proxy" &&
64
+ builderConfig.runtime.desktop.watchdog.enabled) {
65
+ await removeRuntimeWatchdogAgent({
66
+ label: watchdogLabel,
67
+ ...(options.launchAgentsDir
68
+ ? { launchAgentsDir: resolvePath(options.launchAgentsDir) }
69
+ : {}),
70
+ });
71
+ }
53
72
  const result = await installDesktopRuntimeAgent({
54
73
  liveConfigPath: builderConfig.output.livePath,
55
74
  singBoxBinary,
@@ -61,11 +80,32 @@ export function registerRestartCommand(program) {
61
80
  force: true,
62
81
  load: options.load !== false,
63
82
  });
83
+ const watchdogResult = builderConfig.runtime.desktop.profile === "system-proxy" &&
84
+ builderConfig.runtime.desktop.watchdog.enabled
85
+ ? await installRuntimeWatchdogAgent({
86
+ configPath,
87
+ cliEntrypoint: resolveCliEntrypoint(import.meta.url),
88
+ intervalSeconds: builderConfig.runtime.desktop.watchdog.intervalSeconds,
89
+ label: watchdogLabel,
90
+ ...(options.launchAgentsDir
91
+ ? { launchAgentsDir: resolvePath(options.launchAgentsDir) }
92
+ : {}),
93
+ ...(options.logsDir ? { logsDir: resolvePath(options.logsDir) } : {}),
94
+ force: true,
95
+ load: options.load !== false,
96
+ })
97
+ : undefined;
64
98
  process.stdout.write(`${[
65
99
  `Restarted desktop runtime profile: ${builderConfig.runtime.desktop.profile}`,
66
100
  `Label: ${result.label}`,
67
101
  `Live config: ${builderConfig.output.livePath}`,
68
102
  `LaunchAgent: ${result.plistPath}`,
103
+ ...(watchdogResult
104
+ ? [
105
+ `Watchdog: ${watchdogResult.label}`,
106
+ `Watchdog LaunchAgent: ${watchdogResult.plistPath}`,
107
+ ]
108
+ : []),
69
109
  ].join("\n")}\n`);
70
110
  });
71
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../src/cli/commands/restart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../src/cli/commands/restart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerRuleSetsCommand(program: Command): void;
@@ -0,0 +1,125 @@
1
+ import { listBuiltInPreferredSiteRuleSetTags, listSiteBundles, } from "../../modules/bundle-registry/index.js";
2
+ import { defaultOfficialRuleSetCatalogCachePath, loadOfficialRuleSetCatalog, } from "../../modules/rule-set-catalog/index.js";
3
+ import { findDefaultConfigPath, resolveBuilderConfig } from "../command-helpers.js";
4
+ export function registerRuleSetsCommand(program) {
5
+ const root = program
6
+ .command("rulesets")
7
+ .description("Inspect configured and official sing-box rule-set tags.");
8
+ root
9
+ .command("list")
10
+ .description("Show configured rule sets and refreshable official upstream tags.")
11
+ .option("-c, --config <path>", "path to builder config YAML")
12
+ .option("--refresh", "refresh the official upstream catalog before printing")
13
+ .option("--filter <text>", "only show official tags containing this text")
14
+ .option("--kind <kind>", "filter official tags by kind: geosite, geoip, or all", "all")
15
+ .option("--all", "print all matching official tags in human-readable output")
16
+ .option("--json", "print the full machine-readable report")
17
+ .action(async (options) => {
18
+ const configPath = options.config ?? (await findDefaultConfigPath());
19
+ const config = configPath ? await resolveBuilderConfig({ config: configPath }) : undefined;
20
+ const catalog = await loadOfficialRuleSetCatalog({
21
+ refresh: options.refresh === true,
22
+ cachePath: defaultOfficialRuleSetCatalogCachePath(),
23
+ });
24
+ const configuredTags = [...(config?.ruleSets.map((ruleSet) => ruleSet.tag) ?? [])].sort();
25
+ const configuredTagSet = new Set(configuredTags);
26
+ const filter = options.filter?.toLowerCase().trim();
27
+ const selectedKinds = normalizeKinds(options.kind);
28
+ const geositeTags = filterOfficialTags(catalog.geositeTags, selectedKinds.has("geosite"), filter);
29
+ const geoipTags = filterOfficialTags(catalog.geoipTags, selectedKinds.has("geoip"), filter);
30
+ const builtInBundleCoverage = listSiteBundles()
31
+ .map((bundle) => {
32
+ const preferredRuleSetTags = [...(bundle.preferredRuleSetTags ?? [])];
33
+ return {
34
+ id: bundle.id,
35
+ name: bundle.name,
36
+ preferredRuleSetTags,
37
+ activeRuleSetTags: preferredRuleSetTags.filter((tag) => configuredTagSet.has(tag)),
38
+ usingFallback: preferredRuleSetTags.every((tag) => !configuredTagSet.has(tag)),
39
+ };
40
+ })
41
+ .filter((bundle) => bundle.preferredRuleSetTags.length > 0 ||
42
+ (filter
43
+ ? bundle.id.includes(filter) || bundle.name.toLowerCase().includes(filter)
44
+ : true));
45
+ if (options.json === true) {
46
+ process.stdout.write(`${JSON.stringify({
47
+ configPath: configPath ?? null,
48
+ configuredTags,
49
+ officialCatalog: {
50
+ cachePath: catalog.cachePath,
51
+ source: catalog.source,
52
+ refreshedAt: catalog.refreshedAt,
53
+ geositeRef: catalog.geositeRef,
54
+ geoipRef: catalog.geoipRef,
55
+ geositeTags,
56
+ geoipTags,
57
+ },
58
+ builtInSiteBundleCoverage: builtInBundleCoverage,
59
+ builtInPreferredRuleSetTags: listBuiltInPreferredSiteRuleSetTags(),
60
+ }, null, 2)}\n`);
61
+ return;
62
+ }
63
+ const lines = [
64
+ "Rule-set inventory: configured tags plus official upstream geosite/geoip catalog.",
65
+ "",
66
+ "Context",
67
+ `- builder-config: ${configPath ?? "(none)"}`,
68
+ `- cache: ${catalog.cachePath}`,
69
+ `- catalog-source: ${catalog.source}`,
70
+ `- refreshed-at: ${catalog.refreshedAt}`,
71
+ `- upstream-geosite-ref: ${catalog.geositeRef}`,
72
+ `- upstream-geoip-ref: ${catalog.geoipRef}`,
73
+ "",
74
+ "Configured",
75
+ `- count: ${configuredTags.length}`,
76
+ `- tags: ${configuredTags.length > 0 ? configuredTags.join(", ") : "(none)"}`,
77
+ "",
78
+ "Built-In Site Bundle Coverage",
79
+ ];
80
+ if (builtInBundleCoverage.length === 0) {
81
+ lines.push("- bundles: (none)");
82
+ }
83
+ else {
84
+ for (const bundle of builtInBundleCoverage) {
85
+ lines.push(`- ${bundle.name}: preferred=${bundle.preferredRuleSetTags.join(", ")}; active=${bundle.activeRuleSetTags.length > 0 ? bundle.activeRuleSetTags.join(", ") : "(none)"}; mode=${bundle.usingFallback ? "fallback" : "rule-set"}`);
86
+ }
87
+ }
88
+ lines.push("", "Official Catalog", `- geosite-count: ${geositeTags.length}`, `- geoip-count: ${geoipTags.length}`);
89
+ if (filter) {
90
+ lines.push(`- filter: ${filter}`);
91
+ }
92
+ if (options.all === true || filter) {
93
+ if (geositeTags.length > 0) {
94
+ lines.push(`- geosite-tags: ${geositeTags.join(", ")}`);
95
+ }
96
+ if (geoipTags.length > 0) {
97
+ lines.push(`- geoip-tags: ${geoipTags.join(", ")}`);
98
+ }
99
+ }
100
+ else {
101
+ lines.push("- official-tags: use --all or --filter <text> to inspect individual upstream tags");
102
+ }
103
+ process.stdout.write(`${lines.join("\n")}\n`);
104
+ });
105
+ }
106
+ function normalizeKinds(kind) {
107
+ const normalized = kind.toLowerCase();
108
+ if (normalized === "geosite") {
109
+ return new Set(["geosite"]);
110
+ }
111
+ if (normalized === "geoip") {
112
+ return new Set(["geoip"]);
113
+ }
114
+ return new Set(["geosite", "geoip"]);
115
+ }
116
+ function filterOfficialTags(tags, enabled, filter) {
117
+ if (!enabled) {
118
+ return [];
119
+ }
120
+ if (!filter) {
121
+ return tags;
122
+ }
123
+ return tags.filter((tag) => tag.toLowerCase().includes(filter));
124
+ }
125
+ //# sourceMappingURL=rulesets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rulesets.js","sourceRoot":"","sources":["../../../src/cli/commands/rulesets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerRuntimeWatchdogCommand(program: Command): void;
@@ -0,0 +1,45 @@
1
+ import path from "node:path";
2
+ import { loadConfig } from "../../config/load-config.js";
3
+ import { runRuntimeWatchdogTick } from "../../modules/runtime-watchdog/index.js";
4
+ import { findDefaultConfigPath } from "../command-helpers.js";
5
+ export function registerRuntimeWatchdogCommand(program) {
6
+ program
7
+ .command("runtime-watchdog")
8
+ .description("Internal command used by the desktop runtime watchdog LaunchAgent.")
9
+ .option("-c, --config <path>", "path to builder config YAML")
10
+ .option("--json", "print machine-readable JSON")
11
+ .action(async (options) => {
12
+ const configPath = options.config
13
+ ? resolvePath(options.config)
14
+ : await findDefaultConfigPath();
15
+ if (!configPath) {
16
+ throw new Error("runtime-watchdog requires a builder config path.");
17
+ }
18
+ const config = await loadConfig(configPath);
19
+ const result = await runRuntimeWatchdogTick({
20
+ config,
21
+ configPath,
22
+ });
23
+ if (options.json) {
24
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
25
+ return;
26
+ }
27
+ process.stdout.write(`${[
28
+ `Watchdog label: ${config.runtime.desktop.watchdog.launchAgentLabel}`,
29
+ `Result: ${result.state.lastResult}`,
30
+ ...(result.state.lastRecoveryAction
31
+ ? [`Recovery action: ${result.state.lastRecoveryAction}`]
32
+ : []),
33
+ ...(result.state.lastTrigger ? [`Trigger: ${result.state.lastTrigger}`] : []),
34
+ `Recorded: ${result.state.lastCheckedAt}`,
35
+ `Message: ${result.state.lastMessage}`,
36
+ ...(result.state.lastReassertAt ? [`Last reassert: ${result.state.lastReassertAt}`] : []),
37
+ ...(result.state.lastRestartAt ? [`Last restart: ${result.state.lastRestartAt}`] : []),
38
+ ...(result.state.lastError ? [`Error: ${result.state.lastError}`] : []),
39
+ ].join("\n")}\n`);
40
+ });
41
+ }
42
+ function resolvePath(filePath) {
43
+ return filePath.startsWith("/") ? filePath : path.resolve(process.cwd(), filePath);
44
+ }
45
+ //# sourceMappingURL=runtime-watchdog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-watchdog.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime-watchdog.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,UAAU,8BAA8B,CAAC,OAAgB;IAC7D,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,OAAsC,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM;YAC/B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,MAAM,qBAAqB,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;YAC1C,MAAM;YACN,UAAU;SACX,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG;YACD,mBAAmB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YACrE,WAAW,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE;YACpC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB;gBACjC,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBACzD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,aAAa,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE;YACzC,YAAY,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;YACtC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAOD,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;AACrF,CAAC"}
@@ -9,6 +9,7 @@ import { buildConfigArtifact, resolveEffectiveIntent } from "../../modules/build
9
9
  import { updateBuilderDesktopRuntime } from "../../modules/desktop-runtime/index.js";
10
10
  import { runDoctor } from "../../modules/doctor/index.js";
11
11
  import { initWorkspace } from "../../modules/init/index.js";
12
+ import { applyLayeredAuthoringUpdate, materializeLayeredAuthoringState, resolveLayeredAuthoringPath, resolveLayeredAuthoringState, writeLayeredAuthoringState, } from "../../modules/layered-authoring/index.js";
12
13
  import { applyConfig, checkConfig, resolveSingBoxBinary } from "../../modules/manager/index.js";
13
14
  import { applyPlanToBuilderConfig, selectVerificationScenariosForPrompt, updateBuilderAuthoring, writeGeneratedRules, } from "../../modules/natural-language/index.js";
14
15
  import { selectProxifierBundlesFromPrompt, writeProxifierScaffold, } from "../../modules/proxifier/index.js";
@@ -92,23 +93,44 @@ export async function runSetupFlow(options) {
92
93
  ...(options.execCommand ? { execCommand: options.execCommand } : {}),
93
94
  ...(options.execArg.length > 0 ? { execArgs: options.execArg } : {}),
94
95
  });
96
+ const currentLayeredState = await resolveLayeredAuthoringState({
97
+ config: builderConfig,
98
+ });
99
+ const nextLayeredState = applyLayeredAuthoringUpdate({
100
+ current: currentLayeredState.state,
101
+ prompt: options.prompt,
102
+ plan: planResult.plan,
103
+ mode: "replace",
104
+ appliedAt: new Date().toISOString(),
105
+ });
106
+ const nextResolvedLayeredState = materializeLayeredAuthoringState({
107
+ filePath: resolveLayeredAuthoringPath(builderConfig.rules.userRulesFile),
108
+ exists: true,
109
+ state: nextLayeredState,
110
+ });
95
111
  effectiveConfig = applyPlanToBuilderConfig(builderConfig, {
96
112
  rulesPath: builderConfig.rules.userRulesFile,
97
- plan: planResult.plan,
113
+ plan: nextResolvedLayeredState.mergedPlan,
98
114
  });
99
115
  await writeGeneratedRules({
100
116
  filePath: effectiveConfig.rules.userRulesFile,
101
- plan: planResult.plan,
117
+ plan: nextResolvedLayeredState.mergedPlan,
118
+ });
119
+ await writeLayeredAuthoringState({
120
+ rulesPath: effectiveConfig.rules.userRulesFile,
121
+ state: nextLayeredState,
102
122
  });
103
123
  await updateBuilderAuthoring({
104
124
  configPath,
105
125
  rulesPath: effectiveConfig.rules.userRulesFile,
106
- ...(planResult.plan.scheduleIntervalMinutes
107
- ? { intervalMinutes: planResult.plan.scheduleIntervalMinutes }
126
+ ...(nextResolvedLayeredState.mergedPlan.scheduleIntervalMinutes
127
+ ? { intervalMinutes: nextResolvedLayeredState.mergedPlan.scheduleIntervalMinutes }
128
+ : {}),
129
+ ...(nextResolvedLayeredState.mergedPlan.groupDefaults
130
+ ? { groupDefaults: nextResolvedLayeredState.mergedPlan.groupDefaults }
108
131
  : {}),
109
- ...(planResult.plan.groupDefaults ? { groupDefaults: planResult.plan.groupDefaults } : {}),
110
- ...(planResult.plan.verificationOverrides
111
- ? { verificationOverrides: planResult.plan.verificationOverrides }
132
+ ...(nextResolvedLayeredState.mergedPlan.verificationOverrides
133
+ ? { verificationOverrides: nextResolvedLayeredState.mergedPlan.verificationOverrides }
112
134
  : {}),
113
135
  });
114
136
  builderConfig = await loadConfig(configPath);
@@ -116,12 +138,13 @@ export async function runSetupFlow(options) {
116
138
  planSummary = {
117
139
  providerRequested: planResult.providerRequested,
118
140
  providerUsed: planResult.providerUsed,
119
- templates: planResult.plan.templateIds,
120
- generatedRules: planResult.plan.beforeBuiltins.length + planResult.plan.afterBuiltins.length,
121
- notes: planResult.plan.notes,
122
- intent: planResult.intent,
141
+ templates: nextResolvedLayeredState.mergedPlan.templateIds,
142
+ generatedRules: nextResolvedLayeredState.mergedPlan.beforeBuiltins.length +
143
+ nextResolvedLayeredState.mergedPlan.afterBuiltins.length,
144
+ notes: nextResolvedLayeredState.mergedPlan.notes,
145
+ intent: nextResolvedLayeredState.mergedIntent,
123
146
  ambiguities: planResult.ambiguities,
124
- groupDefaults: planResult.plan.groupDefaults ?? {},
147
+ groupDefaults: nextResolvedLayeredState.mergedPlan.groupDefaults ?? {},
125
148
  };
126
149
  }
127
150
  const lines = [`Config: ${configPath}`, `Rules: ${effectiveConfig.rules.userRulesFile}`];
@@ -387,7 +410,9 @@ export async function runSetupFlow(options) {
387
410
  if (shouldOpenBrowser) {
388
411
  const runtimeScenarios = selectVerificationScenariosForRuntimeMode(runtimeMode, effectiveConfig.verification.scenarios);
389
412
  const selectedScenarios = options.prompt
390
- ? selectVerificationScenariosForPrompt(options.prompt, runtimeScenarios)
413
+ ? selectVerificationScenariosForPrompt(options.prompt, runtimeScenarios, {
414
+ activeRuleSetTags: effectiveConfig.ruleSets.map((ruleSet) => ruleSet.tag),
415
+ })
391
416
  : runtimeScenarios.slice(0, Math.min(runtimeModeDefaults.visibleBrowserScenarioLimit, runtimeScenarios.length));
392
417
  const visibleScenarios = selectedScenarios.map((scenario) => ({
393
418
  id: scenario.id,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}