@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.
- package/README.md +70 -24
- package/dist/cli/commands/author.d.ts +2 -0
- package/dist/cli/commands/author.js +49 -19
- package/dist/cli/commands/author.js.map +1 -1
- package/dist/cli/commands/build.js +25 -13
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/diagnose.d.ts +2 -0
- package/dist/cli/commands/diagnose.js +120 -0
- package/dist/cli/commands/diagnose.js.map +1 -0
- package/dist/cli/commands/doctor.js +21 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/restart.js +42 -2
- package/dist/cli/commands/restart.js.map +1 -1
- package/dist/cli/commands/rulesets.d.ts +2 -0
- package/dist/cli/commands/rulesets.js +125 -0
- package/dist/cli/commands/rulesets.js.map +1 -0
- package/dist/cli/commands/runtime-watchdog.d.ts +2 -0
- package/dist/cli/commands/runtime-watchdog.js +45 -0
- package/dist/cli/commands/runtime-watchdog.js.map +1 -0
- package/dist/cli/commands/setup.js +38 -13
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/start.js +29 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.js +135 -28
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/stop.js +19 -1
- package/dist/cli/commands/stop.js.map +1 -1
- package/dist/cli/commands/use.js +3 -1
- package/dist/cli/commands/use.js.map +1 -1
- package/dist/cli/index.js +12 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/config/schema.d.ts +49 -6
- package/dist/config/schema.js +17 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/modules/authoring/index.js +25 -8
- package/dist/modules/authoring/index.js.map +1 -1
- package/dist/modules/build/index.d.ts +4 -1
- package/dist/modules/build/index.js +17 -4
- package/dist/modules/build/index.js.map +1 -1
- package/dist/modules/bundle-registry/index.d.ts +46 -0
- package/dist/modules/bundle-registry/index.js +650 -0
- package/dist/modules/bundle-registry/index.js.map +1 -0
- package/dist/modules/desktop-runtime/index.d.ts +11 -0
- package/dist/modules/desktop-runtime/index.js +41 -0
- package/dist/modules/desktop-runtime/index.js.map +1 -1
- package/dist/modules/diagnostics/index.d.ts +28 -0
- package/dist/modules/diagnostics/index.js +288 -0
- package/dist/modules/diagnostics/index.js.map +1 -0
- package/dist/modules/layered-authoring/index.d.ts +45 -0
- package/dist/modules/layered-authoring/index.js +549 -0
- package/dist/modules/layered-authoring/index.js.map +1 -0
- package/dist/modules/natural-language/index.d.ts +6 -3
- package/dist/modules/natural-language/index.js +74 -69
- package/dist/modules/natural-language/index.js.map +1 -1
- package/dist/modules/proxifier/index.d.ts +1 -14
- package/dist/modules/proxifier/index.js +10 -139
- package/dist/modules/proxifier/index.js.map +1 -1
- package/dist/modules/rule-set-catalog/index.d.ts +25 -0
- package/dist/modules/rule-set-catalog/index.js +135 -0
- package/dist/modules/rule-set-catalog/index.js.map +1 -0
- package/dist/modules/runtime-watchdog/index.d.ts +73 -0
- package/dist/modules/runtime-watchdog/index.js +532 -0
- package/dist/modules/runtime-watchdog/index.js.map +1 -0
- package/dist/modules/status/index.d.ts +48 -0
- package/dist/modules/status/index.js +254 -23
- package/dist/modules/status/index.js.map +1 -1
- package/dist/modules/system-proxy/index.d.ts +31 -0
- package/dist/modules/system-proxy/index.js +164 -0
- package/dist/modules/system-proxy/index.js.map +1 -0
- package/docs/agent-context.md +131 -0
- package/docs/natural-language-authoring.md +106 -1
- package/docs/proxifier-onboarding.md +15 -4
- package/docs/rule-templates.md +2 -0
- package/docs/runtime-modes.md +84 -0
- package/docs/runtime-on-macos.md +53 -4
- package/examples/builder.config.yaml +60 -0
- package/package.json +3 -2
- package/dist/cli/commands/quickstart.d.ts +0 -2
- package/dist/cli/commands/quickstart.js +0 -54
- package/dist/cli/commands/quickstart.js.map +0 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { installDesktopRuntimeAgent } from "../../modules/desktop-runtime/index.js";
|
|
3
3
|
import { checkConfig, resolveSingBoxBinary } from "../../modules/manager/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { installRuntimeWatchdogAgent } from "../../modules/runtime-watchdog/index.js";
|
|
5
|
+
import { findDefaultConfigPath, resolveBuilderConfig, resolveCliEntrypoint, } from "../command-helpers.js";
|
|
5
6
|
export function registerStartCommand(program) {
|
|
6
7
|
program
|
|
7
8
|
.command("start")
|
|
@@ -15,9 +16,15 @@ export function registerStartCommand(program) {
|
|
|
15
16
|
.option("--no-load", "write the runtime LaunchAgent without calling launchctl bootstrap")
|
|
16
17
|
.action(async (options) => {
|
|
17
18
|
const builderConfig = await resolveBuilderConfig(options);
|
|
19
|
+
const configPath = options.config
|
|
20
|
+
? resolvePath(options.config)
|
|
21
|
+
: await findDefaultConfigPath();
|
|
18
22
|
if (!builderConfig) {
|
|
19
23
|
throw new Error("Start requires a builder config. Run `singbox-iac go` first.");
|
|
20
24
|
}
|
|
25
|
+
if (!configPath) {
|
|
26
|
+
throw new Error("Start requires a builder config path.");
|
|
27
|
+
}
|
|
21
28
|
if (builderConfig.runtime.desktop.profile === "none") {
|
|
22
29
|
throw new Error("Desktop runtime profile is disabled in this config. Re-run onboarding or set runtime.desktop.profile first.");
|
|
23
30
|
}
|
|
@@ -37,11 +44,32 @@ export function registerStartCommand(program) {
|
|
|
37
44
|
force: options.force === true,
|
|
38
45
|
load: options.load !== false,
|
|
39
46
|
});
|
|
47
|
+
const watchdogResult = builderConfig.runtime.desktop.profile === "system-proxy" &&
|
|
48
|
+
builderConfig.runtime.desktop.watchdog.enabled
|
|
49
|
+
? await installRuntimeWatchdogAgent({
|
|
50
|
+
configPath,
|
|
51
|
+
cliEntrypoint: resolveCliEntrypoint(import.meta.url),
|
|
52
|
+
intervalSeconds: builderConfig.runtime.desktop.watchdog.intervalSeconds,
|
|
53
|
+
label: builderConfig.runtime.desktop.watchdog.launchAgentLabel,
|
|
54
|
+
...(options.launchAgentsDir
|
|
55
|
+
? { launchAgentsDir: resolvePath(options.launchAgentsDir) }
|
|
56
|
+
: {}),
|
|
57
|
+
...(options.logsDir ? { logsDir: resolvePath(options.logsDir) } : {}),
|
|
58
|
+
force: options.force === true,
|
|
59
|
+
load: options.load !== false,
|
|
60
|
+
})
|
|
61
|
+
: undefined;
|
|
40
62
|
process.stdout.write(`${[
|
|
41
63
|
`Started desktop runtime profile: ${builderConfig.runtime.desktop.profile}`,
|
|
42
64
|
`Label: ${result.label}`,
|
|
43
65
|
`Live config: ${builderConfig.output.livePath}`,
|
|
44
66
|
`LaunchAgent: ${result.plistPath}`,
|
|
67
|
+
...(watchdogResult
|
|
68
|
+
? [
|
|
69
|
+
`Watchdog: ${watchdogResult.label}`,
|
|
70
|
+
`Watchdog LaunchAgent: ${watchdogResult.plistPath}`,
|
|
71
|
+
]
|
|
72
|
+
: []),
|
|
45
73
|
].join("\n")}\n`);
|
|
46
74
|
});
|
|
47
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { collectStatusReport } from "../../modules/status/index.js";
|
|
2
|
+
import { collectStatusReport, } from "../../modules/status/index.js";
|
|
3
3
|
import { findDefaultConfigPath, resolveBuilderConfig } from "../command-helpers.js";
|
|
4
4
|
export function registerStatusCommand(program) {
|
|
5
5
|
program
|
|
@@ -30,36 +30,143 @@ export function registerStatusCommand(program) {
|
|
|
30
30
|
process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
`Generated: ${report.generatedAt}`,
|
|
35
|
-
`Config: ${report.builderConfigPath ?? "(missing)"}`,
|
|
36
|
-
`Binary: ${report.runtime.singBoxBinary ?? "(unresolved)"}${report.runtime.binarySource ? ` [${report.runtime.binarySource}]` : ""}`,
|
|
37
|
-
`Mode: ${report.runtime.mode ?? "(unknown)"}`,
|
|
38
|
-
`Desktop runtime: ${report.runtime.desktopProfile ?? "none"} label=${report.runtime.runtimeLabel} installed=${String(report.runtime.launchAgentInstalled)}${report.runtime.launchAgentLoaded !== undefined
|
|
39
|
-
? ` loaded=${String(report.runtime.launchAgentLoaded)}`
|
|
40
|
-
: ""}${report.runtime.systemProxyActive !== undefined
|
|
41
|
-
? ` system-proxy=${String(report.runtime.systemProxyActive)}`
|
|
42
|
-
: ""}${report.runtime.tunInterfacePresent !== undefined
|
|
43
|
-
? ` tun=${String(report.runtime.tunInterfacePresent)}`
|
|
44
|
-
: ""}`,
|
|
45
|
-
`Process: ${report.runtime.processRunning ? "running" : "stopped"}${report.runtime.processIds.length > 0 ? ` (${report.runtime.processIds.join(", ")})` : ""}`,
|
|
46
|
-
`Live config: ${report.config.livePath ?? "(unset)"}${report.config.liveExists ? " [present]" : " [missing]"}`,
|
|
47
|
-
`Schedule: ${report.scheduler.label} installed=${String(report.scheduler.installed)}${report.scheduler.loaded !== undefined ? ` loaded=${String(report.scheduler.loaded)}` : ""}`,
|
|
48
|
-
"Listeners:",
|
|
49
|
-
...report.runtime.listeners.map((listener) => `- ${listener.tag}: ${listener.listen}:${listener.port} ${listener.active ? "active" : "inactive"}`),
|
|
50
|
-
"Transactions:",
|
|
51
|
-
report.history.lastTransactionId
|
|
52
|
-
? `- ${report.history.lastTransactionId} ${report.history.lastTransactionStatus ?? "unknown"} ${report.history.lastTransactionAt ?? ""}`.trim()
|
|
53
|
-
: "- (none)",
|
|
54
|
-
"Diagnostics:",
|
|
55
|
-
...(report.diagnostics.length > 0
|
|
56
|
-
? report.diagnostics.map((diagnostic) => `- [${diagnostic.level}] ${diagnostic.message}`)
|
|
57
|
-
: ["- [info] No immediate problems detected."]),
|
|
58
|
-
];
|
|
59
|
-
process.stdout.write(`${lines.join("\n")}\n`);
|
|
33
|
+
process.stdout.write(renderStatusOutput(report));
|
|
60
34
|
});
|
|
61
35
|
}
|
|
62
36
|
function resolvePath(filePath) {
|
|
63
37
|
return filePath.startsWith("/") ? filePath : path.resolve(process.cwd(), filePath);
|
|
64
38
|
}
|
|
39
|
+
function formatProxyEndpoint(endpoint) {
|
|
40
|
+
return `${endpoint.host}:${endpoint.port}`;
|
|
41
|
+
}
|
|
42
|
+
function formatSystemProxyServices(services) {
|
|
43
|
+
if (services.length === 0) {
|
|
44
|
+
return "unknown";
|
|
45
|
+
}
|
|
46
|
+
const enabledServices = services.filter((service) => service.enabled);
|
|
47
|
+
if (enabledServices.length === 0) {
|
|
48
|
+
return "inactive";
|
|
49
|
+
}
|
|
50
|
+
return enabledServices
|
|
51
|
+
.map((service) => `${service.kind}=${formatSystemProxyService(service)}`)
|
|
52
|
+
.join(", ");
|
|
53
|
+
}
|
|
54
|
+
function formatSystemProxyService(service) {
|
|
55
|
+
if (service.host && typeof service.port === "number") {
|
|
56
|
+
return `${service.host}:${service.port}`;
|
|
57
|
+
}
|
|
58
|
+
return "(incomplete)";
|
|
59
|
+
}
|
|
60
|
+
function renderStatusOutput(report) {
|
|
61
|
+
const lines = [
|
|
62
|
+
"Runtime snapshot: current sing-box, proxy, schedule, and recent publish state.",
|
|
63
|
+
"",
|
|
64
|
+
...renderSection("Context", [
|
|
65
|
+
`generated: ${report.generatedAt}`,
|
|
66
|
+
`config: ${report.builderConfigPath ?? "(missing)"}`,
|
|
67
|
+
]),
|
|
68
|
+
"",
|
|
69
|
+
...renderSection("Summary", buildStatusSummaryLines(report)),
|
|
70
|
+
"",
|
|
71
|
+
...renderSection("Runtime", buildRuntimeLines(report)),
|
|
72
|
+
"",
|
|
73
|
+
...renderSection("Config & Schedule", buildConfigAndScheduleLines(report)),
|
|
74
|
+
"",
|
|
75
|
+
...renderSection("Recent Publish", [formatLatestTransaction(report)]),
|
|
76
|
+
"",
|
|
77
|
+
...renderSection("Diagnostics", report.diagnostics.length > 0
|
|
78
|
+
? report.diagnostics.map((diagnostic) => `[${diagnostic.level}] ${diagnostic.message}`)
|
|
79
|
+
: ["[info] No immediate problems detected."]),
|
|
80
|
+
];
|
|
81
|
+
return `${lines.join("\n")}\n`;
|
|
82
|
+
}
|
|
83
|
+
function buildStatusSummaryLines(report) {
|
|
84
|
+
const lines = [
|
|
85
|
+
`runtime: ${formatProcessSummary(report)}`,
|
|
86
|
+
`desktop-profile: ${report.runtime.desktopProfile ?? "none"}`,
|
|
87
|
+
];
|
|
88
|
+
if (report.runtime.systemProxy) {
|
|
89
|
+
lines.push(`proxy: state=${report.runtime.systemProxy.state}${report.runtime.systemProxy.drift !== undefined
|
|
90
|
+
? `, drift=${String(report.runtime.systemProxy.drift)}`
|
|
91
|
+
: ""}`);
|
|
92
|
+
}
|
|
93
|
+
if (report.runtime.watchdog) {
|
|
94
|
+
lines.push(`watchdog: ${formatWatchdogSummary(report)}`);
|
|
95
|
+
}
|
|
96
|
+
lines.push(`latest-transaction: ${formatLatestTransaction(report)}`);
|
|
97
|
+
return lines;
|
|
98
|
+
}
|
|
99
|
+
function buildRuntimeLines(report) {
|
|
100
|
+
const lines = [
|
|
101
|
+
`binary: ${report.runtime.singBoxBinary ?? "(unresolved)"}${report.runtime.binarySource ? ` [${report.runtime.binarySource}]` : ""}`,
|
|
102
|
+
`mode: ${report.runtime.mode ?? "(unknown)"}`,
|
|
103
|
+
`desktop-runtime: ${report.runtime.desktopProfile ?? "none"} label=${report.runtime.runtimeLabel} installed=${String(report.runtime.launchAgentInstalled)}${report.runtime.launchAgentLoaded !== undefined
|
|
104
|
+
? ` loaded=${String(report.runtime.launchAgentLoaded)}`
|
|
105
|
+
: ""}${report.runtime.systemProxyActive !== undefined
|
|
106
|
+
? ` system-proxy=${String(report.runtime.systemProxyActive)}`
|
|
107
|
+
: ""}${report.runtime.tunInterfacePresent !== undefined
|
|
108
|
+
? ` tun=${String(report.runtime.tunInterfacePresent)}`
|
|
109
|
+
: ""}`,
|
|
110
|
+
`process: ${formatProcessSummary(report)}`,
|
|
111
|
+
...report.runtime.listeners.map((listener) => `listener ${listener.tag}: ${listener.listen}:${listener.port} ${listener.active ? "active" : "inactive"}`),
|
|
112
|
+
];
|
|
113
|
+
if (report.runtime.systemProxy) {
|
|
114
|
+
lines.push(`system-proxy: state=${report.runtime.systemProxy.state}${report.runtime.systemProxy.drift !== undefined
|
|
115
|
+
? ` drift=${String(report.runtime.systemProxy.drift)}`
|
|
116
|
+
: ""} expected=${formatProxyEndpoint(report.runtime.systemProxy.expected)} actual=${formatSystemProxyServices(report.runtime.systemProxy.actual)}`);
|
|
117
|
+
if (report.runtime.systemProxy.nextAction) {
|
|
118
|
+
lines.push(`proxy-hint: ${report.runtime.systemProxy.nextAction}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (report.runtime.watchdog) {
|
|
122
|
+
lines.push(`watchdog: enabled=${String(report.runtime.watchdog.enabled)} label=${report.runtime.watchdog.label} installed=${String(report.runtime.watchdog.launchAgentInstalled)}${report.runtime.watchdog.launchAgentLoaded !== undefined
|
|
123
|
+
? ` loaded=${String(report.runtime.watchdog.launchAgentLoaded)}`
|
|
124
|
+
: ""} interval=${report.runtime.watchdog.intervalSeconds}s${report.runtime.watchdog.lastResult
|
|
125
|
+
? ` last-result=${report.runtime.watchdog.lastResult}`
|
|
126
|
+
: ""}${report.runtime.watchdog.lastRecoveryAction
|
|
127
|
+
? ` last-action=${report.runtime.watchdog.lastRecoveryAction}`
|
|
128
|
+
: ""}${report.runtime.watchdog.lastTrigger
|
|
129
|
+
? ` last-trigger=${report.runtime.watchdog.lastTrigger}`
|
|
130
|
+
: ""}${report.runtime.watchdog.lastCheckedAt
|
|
131
|
+
? ` last-recorded=${report.runtime.watchdog.lastCheckedAt}`
|
|
132
|
+
: ""}${report.runtime.watchdog.lastReassertAt
|
|
133
|
+
? ` last-reassert=${report.runtime.watchdog.lastReassertAt}`
|
|
134
|
+
: ""}${report.runtime.watchdog.lastRestartAt
|
|
135
|
+
? ` last-restart=${report.runtime.watchdog.lastRestartAt}`
|
|
136
|
+
: ""}`);
|
|
137
|
+
if (report.runtime.watchdog.lastMessage) {
|
|
138
|
+
lines.push(`watchdog-message: ${report.runtime.watchdog.lastMessage}`);
|
|
139
|
+
}
|
|
140
|
+
if (report.runtime.watchdog.lastError) {
|
|
141
|
+
lines.push(`watchdog-error: ${report.runtime.watchdog.lastError}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return lines;
|
|
145
|
+
}
|
|
146
|
+
function buildConfigAndScheduleLines(report) {
|
|
147
|
+
return [
|
|
148
|
+
`live-config: ${report.config.livePath ?? "(unset)"}${report.config.liveExists ? " [present]" : " [missing]"}`,
|
|
149
|
+
`schedule: ${report.scheduler.label} installed=${String(report.scheduler.installed)}${report.scheduler.loaded !== undefined ? ` loaded=${String(report.scheduler.loaded)}` : ""}`,
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
function formatProcessSummary(report) {
|
|
153
|
+
return report.runtime.processRunning
|
|
154
|
+
? `running${report.runtime.processIds.length > 0 ? ` (${report.runtime.processIds.join(", ")})` : ""}`
|
|
155
|
+
: "stopped";
|
|
156
|
+
}
|
|
157
|
+
function formatWatchdogSummary(report) {
|
|
158
|
+
const watchdog = report.runtime.watchdog;
|
|
159
|
+
if (!watchdog) {
|
|
160
|
+
return "disabled";
|
|
161
|
+
}
|
|
162
|
+
return `${watchdog.enabled ? "enabled" : "disabled"}${watchdog.lastResult ? `, last-result=${watchdog.lastResult}` : ""}${watchdog.lastRecoveryAction ? `, last-action=${watchdog.lastRecoveryAction}` : ""}`;
|
|
163
|
+
}
|
|
164
|
+
function formatLatestTransaction(report) {
|
|
165
|
+
return report.history.lastTransactionId
|
|
166
|
+
? `${report.history.lastTransactionId} ${report.history.lastTransactionStatus ?? "unknown"} ${report.history.lastTransactionAt ?? ""}`.trim()
|
|
167
|
+
: "(none)";
|
|
168
|
+
}
|
|
169
|
+
function renderSection(title, items) {
|
|
170
|
+
return [`${title}:`, ...items.map((item) => `- ${item}`)];
|
|
171
|
+
}
|
|
65
172
|
//# sourceMappingURL=status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { defaultRuntimeLaunchAgentLabel, removeDesktopRuntimeAgent, } from "../../modules/desktop-runtime/index.js";
|
|
3
|
+
import { defaultRuntimeWatchdogLaunchAgentLabel, removeRuntimeWatchdogAgent, } from "../../modules/runtime-watchdog/index.js";
|
|
3
4
|
import { resolveBuilderConfig } from "../command-helpers.js";
|
|
4
5
|
export function registerStopCommand(program) {
|
|
5
6
|
program
|
|
@@ -11,6 +12,8 @@ export function registerStopCommand(program) {
|
|
|
11
12
|
.option("--no-unload", "remove the LaunchAgent file without calling launchctl bootout")
|
|
12
13
|
.action(async (options) => {
|
|
13
14
|
const builderConfig = await resolveBuilderConfig(options);
|
|
15
|
+
const watchdogLabel = builderConfig?.runtime.desktop.watchdog.launchAgentLabel ??
|
|
16
|
+
defaultRuntimeWatchdogLaunchAgentLabel;
|
|
14
17
|
const plistPath = await removeDesktopRuntimeAgent({
|
|
15
18
|
label: options.label ??
|
|
16
19
|
builderConfig?.runtime.desktop.launchAgentLabel ??
|
|
@@ -20,7 +23,22 @@ export function registerStopCommand(program) {
|
|
|
20
23
|
: {}),
|
|
21
24
|
unload: options.unload !== false,
|
|
22
25
|
});
|
|
23
|
-
|
|
26
|
+
const watchdogPlistPath = builderConfig?.runtime.desktop.profile === "system-proxy" &&
|
|
27
|
+
builderConfig.runtime.desktop.watchdog.enabled
|
|
28
|
+
? await removeRuntimeWatchdogAgent({
|
|
29
|
+
label: watchdogLabel,
|
|
30
|
+
...(options.launchAgentsDir
|
|
31
|
+
? { launchAgentsDir: resolvePath(options.launchAgentsDir) }
|
|
32
|
+
: {}),
|
|
33
|
+
unload: options.unload !== false,
|
|
34
|
+
})
|
|
35
|
+
: undefined;
|
|
36
|
+
process.stdout.write(`${[
|
|
37
|
+
`Stopped desktop runtime LaunchAgent: ${plistPath}`,
|
|
38
|
+
...(watchdogPlistPath
|
|
39
|
+
? [`Stopped runtime watchdog LaunchAgent: ${watchdogPlistPath}`]
|
|
40
|
+
: []),
|
|
41
|
+
].join("\n")}\n`);
|
|
24
42
|
});
|
|
25
43
|
}
|
|
26
44
|
function resolvePath(filePath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;SACtD,MAAM,CAAC,4BAA4B,EAAE,iCAAiC,CAAC;SACvE,MAAM,CAAC,aAAa,EAAE,+DAA+D,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;YAChD,KAAK,EACH,OAAO,CAAC,KAAK;gBACb,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;gBAC/C,8BAA8B;YAChC,GAAG,CAAC,OAAO,CAAC,eAAe;gBACzB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;SACjC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,sCAAsC,EACtC,0BAA0B,GAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;SACtD,MAAM,CAAC,4BAA4B,EAAE,iCAAiC,CAAC;SACvE,MAAM,CAAC,aAAa,EAAE,+DAA+D,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,aAAa,GACjB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;YACxD,sCAAsC,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;YAChD,KAAK,EACH,OAAO,CAAC,KAAK;gBACb,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;gBAC/C,8BAA8B;YAChC,GAAG,CAAC,OAAO,CAAC,eAAe;gBACzB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;SACjC,CAAC,CAAC;QACH,MAAM,iBAAiB,GACrB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,KAAK,cAAc;YACzD,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;YAC5C,CAAC,CAAC,MAAM,0BAA0B,CAAC;gBAC/B,KAAK,EAAE,aAAa;gBACpB,GAAG,CAAC,OAAO,CAAC,eAAe;oBACzB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;oBAC3D,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;aACjC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG;YACD,wCAAwC,SAAS,EAAE;YACnD,GAAG,CAAC,iBAAiB;gBACnB,CAAC,CAAC,CAAC,yCAAyC,iBAAiB,EAAE,CAAC;gBAChE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AASD,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"}
|
package/dist/cli/commands/use.js
CHANGED
|
@@ -2,9 +2,10 @@ import { runAuthorFlow } from "./author.js";
|
|
|
2
2
|
export function registerUseCommand(program) {
|
|
3
3
|
const command = program
|
|
4
4
|
.command("use")
|
|
5
|
-
.description("
|
|
5
|
+
.description("Patch routing policy with one sentence and apply it.")
|
|
6
6
|
.argument("<prompt>", "one-sentence routing intent")
|
|
7
7
|
.option("-c, --config <path>", "path to builder config YAML")
|
|
8
|
+
.option("--replace", "replace the authored policy set instead of patching it")
|
|
8
9
|
.option("--preview", "print diffs without writing any files")
|
|
9
10
|
.option("--diff", "print Intent IR and config diffs without writing any files")
|
|
10
11
|
.option("--emit-intent-ir", "print the generated Intent IR and exit without writing files")
|
|
@@ -22,6 +23,7 @@ export function registerUseCommand(program) {
|
|
|
22
23
|
execArg: [],
|
|
23
24
|
label: "org.singbox-iac.update",
|
|
24
25
|
...(options.config ? { config: options.config } : {}),
|
|
26
|
+
authoringMode: options.replace ? "replace" : "patch",
|
|
25
27
|
...(options.preview ? { preview: true } : {}),
|
|
26
28
|
...(options.diff ? { diff: true } : {}),
|
|
27
29
|
...(options.emitIntentIr ? { emitIntentIr: true } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/cli/commands/use.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/cli/commands/use.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -6,16 +6,18 @@ import { registerApplyCommand } from "./commands/apply.js";
|
|
|
6
6
|
import { registerAuthorCommand } from "./commands/author.js";
|
|
7
7
|
import { registerBuildCommand } from "./commands/build.js";
|
|
8
8
|
import { registerCheckCommand } from "./commands/check.js";
|
|
9
|
+
import { registerDiagnoseCommand } from "./commands/diagnose.js";
|
|
9
10
|
import { registerDoctorCommand } from "./commands/doctor.js";
|
|
10
11
|
import { registerGoCommand } from "./commands/go.js";
|
|
11
12
|
import { registerHistoryCommand } from "./commands/history.js";
|
|
12
13
|
import { registerInitCommand } from "./commands/init.js";
|
|
13
14
|
import { registerProxifierCommand } from "./commands/proxifier.js";
|
|
14
|
-
import { registerQuickstartCommand } from "./commands/quickstart.js";
|
|
15
15
|
import { registerReloadCommand } from "./commands/reload.js";
|
|
16
16
|
import { registerRestartCommand } from "./commands/restart.js";
|
|
17
17
|
import { registerRollbackCommand } from "./commands/rollback.js";
|
|
18
|
+
import { registerRuleSetsCommand } from "./commands/rulesets.js";
|
|
18
19
|
import { registerRunCommand } from "./commands/run.js";
|
|
20
|
+
import { registerRuntimeWatchdogCommand } from "./commands/runtime-watchdog.js";
|
|
19
21
|
import { registerScheduleCommand } from "./commands/schedule.js";
|
|
20
22
|
import { registerSetupCommand } from "./commands/setup.js";
|
|
21
23
|
import { registerStartCommand } from "./commands/start.js";
|
|
@@ -39,10 +41,12 @@ export function createProgram() {
|
|
|
39
41
|
" singbox-iac update",
|
|
40
42
|
"",
|
|
41
43
|
"Health/debug:",
|
|
44
|
+
" singbox-iac doctor",
|
|
45
|
+
" singbox-iac diagnose",
|
|
42
46
|
" singbox-iac status",
|
|
43
47
|
" singbox-iac start | stop | restart",
|
|
44
48
|
"",
|
|
45
|
-
"
|
|
49
|
+
"Power-user commands remain available via `singbox-iac help <command>` and the docs.",
|
|
46
50
|
].join("\n"));
|
|
47
51
|
registerGoCommand(program);
|
|
48
52
|
registerUseCommand(program);
|
|
@@ -53,15 +57,17 @@ export function createProgram() {
|
|
|
53
57
|
registerStartCommand(program);
|
|
54
58
|
registerStopCommand(program);
|
|
55
59
|
registerRestartCommand(program);
|
|
56
|
-
registerQuickstartCommand(program);
|
|
57
60
|
registerAuthorCommand(program);
|
|
58
61
|
registerBuildCommand(program);
|
|
59
62
|
registerCheckCommand(program);
|
|
60
63
|
registerApplyCommand(program);
|
|
61
64
|
registerHistoryCommand(program);
|
|
62
65
|
registerRunCommand(program);
|
|
66
|
+
registerRuleSetsCommand(program);
|
|
67
|
+
registerRuntimeWatchdogCommand(program);
|
|
63
68
|
registerRollbackCommand(program);
|
|
64
69
|
registerVerifyCommand(program);
|
|
70
|
+
registerDiagnoseCommand(program);
|
|
65
71
|
registerDoctorCommand(program);
|
|
66
72
|
registerProxifierCommand(program);
|
|
67
73
|
registerReloadCommand(program);
|
|
@@ -88,15 +94,17 @@ function hideAdvancedCommands(program) {
|
|
|
88
94
|
"start",
|
|
89
95
|
"stop",
|
|
90
96
|
"restart",
|
|
91
|
-
"quickstart",
|
|
92
97
|
"author",
|
|
93
98
|
"build",
|
|
94
99
|
"check",
|
|
95
100
|
"apply",
|
|
96
101
|
"history",
|
|
97
102
|
"run",
|
|
103
|
+
"runtime-watchdog",
|
|
104
|
+
"rulesets",
|
|
98
105
|
"rollback",
|
|
99
106
|
"verify",
|
|
107
|
+
"diagnose",
|
|
100
108
|
"doctor",
|
|
101
109
|
"proxifier",
|
|
102
110
|
"reload",
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -83,6 +83,19 @@ export declare const builderConfigSchema: z.ZodObject<{
|
|
|
83
83
|
interfaceName?: string | undefined;
|
|
84
84
|
addresses?: string[] | undefined;
|
|
85
85
|
}>>;
|
|
86
|
+
watchdog: z.ZodDefault<z.ZodObject<{
|
|
87
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
88
|
+
intervalSeconds: z.ZodDefault<z.ZodNumber>;
|
|
89
|
+
launchAgentLabel: z.ZodDefault<z.ZodString>;
|
|
90
|
+
}, "strip", z.ZodTypeAny, {
|
|
91
|
+
enabled: boolean;
|
|
92
|
+
intervalSeconds: number;
|
|
93
|
+
launchAgentLabel: string;
|
|
94
|
+
}, {
|
|
95
|
+
enabled?: boolean | undefined;
|
|
96
|
+
intervalSeconds?: number | undefined;
|
|
97
|
+
launchAgentLabel?: string | undefined;
|
|
98
|
+
}>>;
|
|
86
99
|
}, "strip", z.ZodTypeAny, {
|
|
87
100
|
tun: {
|
|
88
101
|
autoRoute: boolean;
|
|
@@ -90,8 +103,13 @@ export declare const builderConfigSchema: z.ZodObject<{
|
|
|
90
103
|
addresses: string[];
|
|
91
104
|
interfaceName?: string | undefined;
|
|
92
105
|
};
|
|
93
|
-
profile: "none" | "system-proxy" | "tun";
|
|
94
106
|
launchAgentLabel: string;
|
|
107
|
+
profile: "none" | "system-proxy" | "tun";
|
|
108
|
+
watchdog: {
|
|
109
|
+
enabled: boolean;
|
|
110
|
+
intervalSeconds: number;
|
|
111
|
+
launchAgentLabel: string;
|
|
112
|
+
};
|
|
95
113
|
}, {
|
|
96
114
|
tun?: {
|
|
97
115
|
autoRoute?: boolean | undefined;
|
|
@@ -99,8 +117,13 @@ export declare const builderConfigSchema: z.ZodObject<{
|
|
|
99
117
|
interfaceName?: string | undefined;
|
|
100
118
|
addresses?: string[] | undefined;
|
|
101
119
|
} | undefined;
|
|
102
|
-
profile?: "none" | "system-proxy" | "tun" | undefined;
|
|
103
120
|
launchAgentLabel?: string | undefined;
|
|
121
|
+
profile?: "none" | "system-proxy" | "tun" | undefined;
|
|
122
|
+
watchdog?: {
|
|
123
|
+
enabled?: boolean | undefined;
|
|
124
|
+
intervalSeconds?: number | undefined;
|
|
125
|
+
launchAgentLabel?: string | undefined;
|
|
126
|
+
} | undefined;
|
|
104
127
|
}>>;
|
|
105
128
|
}, "strip", z.ZodTypeAny, {
|
|
106
129
|
checkCommand: string;
|
|
@@ -124,8 +147,13 @@ export declare const builderConfigSchema: z.ZodObject<{
|
|
|
124
147
|
addresses: string[];
|
|
125
148
|
interfaceName?: string | undefined;
|
|
126
149
|
};
|
|
127
|
-
profile: "none" | "system-proxy" | "tun";
|
|
128
150
|
launchAgentLabel: string;
|
|
151
|
+
profile: "none" | "system-proxy" | "tun";
|
|
152
|
+
watchdog: {
|
|
153
|
+
enabled: boolean;
|
|
154
|
+
intervalSeconds: number;
|
|
155
|
+
launchAgentLabel: string;
|
|
156
|
+
};
|
|
129
157
|
};
|
|
130
158
|
}, {
|
|
131
159
|
checkCommand: string;
|
|
@@ -149,8 +177,13 @@ export declare const builderConfigSchema: z.ZodObject<{
|
|
|
149
177
|
interfaceName?: string | undefined;
|
|
150
178
|
addresses?: string[] | undefined;
|
|
151
179
|
} | undefined;
|
|
152
|
-
profile?: "none" | "system-proxy" | "tun" | undefined;
|
|
153
180
|
launchAgentLabel?: string | undefined;
|
|
181
|
+
profile?: "none" | "system-proxy" | "tun" | undefined;
|
|
182
|
+
watchdog?: {
|
|
183
|
+
enabled?: boolean | undefined;
|
|
184
|
+
intervalSeconds?: number | undefined;
|
|
185
|
+
launchAgentLabel?: string | undefined;
|
|
186
|
+
} | undefined;
|
|
154
187
|
} | undefined;
|
|
155
188
|
}>;
|
|
156
189
|
listeners: z.ZodObject<{
|
|
@@ -479,8 +512,13 @@ export declare const builderConfigSchema: z.ZodObject<{
|
|
|
479
512
|
addresses: string[];
|
|
480
513
|
interfaceName?: string | undefined;
|
|
481
514
|
};
|
|
482
|
-
profile: "none" | "system-proxy" | "tun";
|
|
483
515
|
launchAgentLabel: string;
|
|
516
|
+
profile: "none" | "system-proxy" | "tun";
|
|
517
|
+
watchdog: {
|
|
518
|
+
enabled: boolean;
|
|
519
|
+
intervalSeconds: number;
|
|
520
|
+
launchAgentLabel: string;
|
|
521
|
+
};
|
|
484
522
|
};
|
|
485
523
|
};
|
|
486
524
|
listeners: {
|
|
@@ -591,8 +629,13 @@ export declare const builderConfigSchema: z.ZodObject<{
|
|
|
591
629
|
interfaceName?: string | undefined;
|
|
592
630
|
addresses?: string[] | undefined;
|
|
593
631
|
} | undefined;
|
|
594
|
-
profile?: "none" | "system-proxy" | "tun" | undefined;
|
|
595
632
|
launchAgentLabel?: string | undefined;
|
|
633
|
+
profile?: "none" | "system-proxy" | "tun" | undefined;
|
|
634
|
+
watchdog?: {
|
|
635
|
+
enabled?: boolean | undefined;
|
|
636
|
+
intervalSeconds?: number | undefined;
|
|
637
|
+
launchAgentLabel?: string | undefined;
|
|
638
|
+
} | undefined;
|
|
596
639
|
} | undefined;
|
|
597
640
|
};
|
|
598
641
|
listeners: {
|
package/dist/config/schema.js
CHANGED
|
@@ -71,11 +71,23 @@ const desktopTunRuntimeSchema = z
|
|
|
71
71
|
strictRoute: false,
|
|
72
72
|
addresses: ["172.19.0.1/30", "fdfe:dcba:9876::1/126"],
|
|
73
73
|
});
|
|
74
|
+
const desktopRuntimeWatchdogSchema = z
|
|
75
|
+
.object({
|
|
76
|
+
enabled: z.boolean().default(true),
|
|
77
|
+
intervalSeconds: z.number().int().positive().default(60),
|
|
78
|
+
launchAgentLabel: z.string().min(1).default("org.singbox-iac.runtime.watchdog"),
|
|
79
|
+
})
|
|
80
|
+
.default({
|
|
81
|
+
enabled: true,
|
|
82
|
+
intervalSeconds: 60,
|
|
83
|
+
launchAgentLabel: "org.singbox-iac.runtime.watchdog",
|
|
84
|
+
});
|
|
74
85
|
const desktopRuntimeSchema = z
|
|
75
86
|
.object({
|
|
76
87
|
profile: desktopRuntimeProfileSchema.default("system-proxy"),
|
|
77
88
|
launchAgentLabel: z.string().min(1).default("org.singbox-iac.runtime"),
|
|
78
89
|
tun: desktopTunRuntimeSchema,
|
|
90
|
+
watchdog: desktopRuntimeWatchdogSchema,
|
|
79
91
|
})
|
|
80
92
|
.default({
|
|
81
93
|
profile: "system-proxy",
|
|
@@ -85,6 +97,11 @@ const desktopRuntimeSchema = z
|
|
|
85
97
|
strictRoute: false,
|
|
86
98
|
addresses: ["172.19.0.1/30", "fdfe:dcba:9876::1/126"],
|
|
87
99
|
},
|
|
100
|
+
watchdog: {
|
|
101
|
+
enabled: true,
|
|
102
|
+
intervalSeconds: 60,
|
|
103
|
+
launchAgentLabel: "org.singbox-iac.runtime.watchdog",
|
|
104
|
+
},
|
|
88
105
|
});
|
|
89
106
|
export const builderConfigSchema = z.object({
|
|
90
107
|
version: z.literal(1),
|