charness 3.8.0 → 3.9.0
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/CHANGELOG.md +6 -0
- package/DEVELOPMENT.md +3 -1
- package/SETUP.md +4 -3
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +12 -5
- package/dist/cli.js.map +1 -1
- package/dist/connectors/telegram/commands/runners.d.ts.map +1 -1
- package/dist/connectors/telegram/commands/runners.js +64 -26
- package/dist/connectors/telegram/commands/runners.js.map +1 -1
- package/dist/connectors/telegram/runnerPairingMessages.d.ts +7 -5
- package/dist/connectors/telegram/runnerPairingMessages.d.ts.map +1 -1
- package/dist/connectors/telegram/runnerPairingMessages.js +17 -10
- package/dist/connectors/telegram/runnerPairingMessages.js.map +1 -1
- package/dist/i18n/de.d.ts.map +1 -1
- package/dist/i18n/de.js +6 -4
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +6 -4
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +6 -4
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +6 -4
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/hi.d.ts.map +1 -1
- package/dist/i18n/hi.js +6 -4
- package/dist/i18n/hi.js.map +1 -1
- package/dist/i18n/ja.d.ts.map +1 -1
- package/dist/i18n/ja.js +6 -4
- package/dist/i18n/ja.js.map +1 -1
- package/dist/i18n/ka.d.ts.map +1 -1
- package/dist/i18n/ka.js +6 -4
- package/dist/i18n/ka.js.map +1 -1
- package/dist/i18n/pt.d.ts.map +1 -1
- package/dist/i18n/pt.js +6 -4
- package/dist/i18n/pt.js.map +1 -1
- package/dist/i18n/ru.d.ts.map +1 -1
- package/dist/i18n/ru.js +6 -4
- package/dist/i18n/ru.js.map +1 -1
- package/dist/i18n/uk.d.ts.map +1 -1
- package/dist/i18n/uk.js +6 -4
- package/dist/i18n/uk.js.map +1 -1
- package/dist/i18n/uz.d.ts.map +1 -1
- package/dist/i18n/uz.js +6 -4
- package/dist/i18n/uz.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +6 -4
- package/dist/i18n/zh.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/remoteRun/pairedRunners.js +1 -1
- package/dist/remoteRun/pairedRunners.js.map +1 -1
- package/dist/remoteRun/runnerSummary.js +1 -1
- package/dist/remoteRun/runnerSummary.js.map +1 -1
- package/dist/remoteRun/runners.d.ts +8 -1
- package/dist/remoteRun/runners.d.ts.map +1 -1
- package/dist/remoteRun/runners.js +14 -2
- package/dist/remoteRun/runners.js.map +1 -1
- package/dist/remoteRun/runnersConfig.d.ts +2 -0
- package/dist/remoteRun/runnersConfig.d.ts.map +1 -1
- package/dist/remoteRun/runnersConfig.js.map +1 -1
- package/dist/runnerUtility/adminCheck.d.ts +7 -0
- package/dist/runnerUtility/adminCheck.d.ts.map +1 -1
- package/dist/runnerUtility/adminCheck.js +5 -4
- package/dist/runnerUtility/adminCheck.js.map +1 -1
- package/dist/runnerUtility/adminService.d.ts +22 -0
- package/dist/runnerUtility/adminService.d.ts.map +1 -0
- package/dist/runnerUtility/adminService.js +145 -0
- package/dist/runnerUtility/adminService.js.map +1 -0
- package/dist/runnerUtility/hubClient.d.ts +2 -2
- package/dist/runnerUtility/hubClient.d.ts.map +1 -1
- package/dist/runnerUtility/hubClient.js +1 -1
- package/dist/runnerUtility/hubClient.js.map +1 -1
- package/dist/runnerUtility/linkLoop.d.ts +0 -8
- package/dist/runnerUtility/linkLoop.d.ts.map +1 -1
- package/dist/runnerUtility/linkLoop.js +3 -10
- package/dist/runnerUtility/linkLoop.js.map +1 -1
- package/dist/runnerUtility/pairArgs.d.ts +16 -0
- package/dist/runnerUtility/pairArgs.d.ts.map +1 -0
- package/dist/runnerUtility/pairArgs.js +17 -0
- package/dist/runnerUtility/pairArgs.js.map +1 -0
- package/dist/runnerUtility/rootServiceCli.d.ts +8 -0
- package/dist/runnerUtility/rootServiceCli.d.ts.map +1 -0
- package/dist/runnerUtility/rootServiceCli.js +31 -0
- package/dist/runnerUtility/rootServiceCli.js.map +1 -0
- package/dist/runnerUtility/runnerCli.js +29 -23
- package/dist/runnerUtility/runnerCli.js.map +1 -1
- package/dist/runnerUtility/runnerCommands.d.ts +13 -4
- package/dist/runnerUtility/runnerCommands.d.ts.map +1 -1
- package/dist/runnerUtility/runnerCommands.js +58 -12
- package/dist/runnerUtility/runnerCommands.js.map +1 -1
- package/dist/runnerUtility/serviceCommon.d.ts +97 -0
- package/dist/runnerUtility/serviceCommon.d.ts.map +1 -0
- package/dist/runnerUtility/serviceCommon.js +209 -0
- package/dist/runnerUtility/serviceCommon.js.map +1 -0
- package/dist/runnerUtility/serviceManager.d.ts +14 -17
- package/dist/runnerUtility/serviceManager.d.ts.map +1 -1
- package/dist/runnerUtility/serviceManager.js +132 -201
- package/dist/runnerUtility/serviceManager.js.map +1 -1
- package/dist/runnerUtility/serviceUnits.d.ts +3 -1
- package/dist/runnerUtility/serviceUnits.d.ts.map +1 -1
- package/dist/runnerUtility/serviceUnits.js +26 -6
- package/dist/runnerUtility/serviceUnits.js.map +1 -1
- package/dist/runners/bootstrapLine.d.ts +10 -1
- package/dist/runners/bootstrapLine.d.ts.map +1 -1
- package/dist/runners/bootstrapLine.js +102 -17
- package/dist/runners/bootstrapLine.js.map +1 -1
- package/dist/runners/gate.d.ts.map +1 -1
- package/dist/runners/gate.js +9 -0
- package/dist/runners/gate.js.map +1 -1
- package/dist/runners/gateProtocol.d.ts +7 -1
- package/dist/runners/gateProtocol.d.ts.map +1 -1
- package/dist/runners/gateProtocol.js +5 -3
- package/dist/runners/gateProtocol.js.map +1 -1
- package/dist/runners/hubPairing.d.ts +7 -0
- package/dist/runners/hubPairing.d.ts.map +1 -1
- package/dist/runners/hubPairing.js +16 -0
- package/dist/runners/hubPairing.js.map +1 -1
- package/dist/runners/hubPaths.d.ts +4 -0
- package/dist/runners/hubPaths.d.ts.map +1 -1
- package/dist/runners/hubPaths.js +2 -0
- package/dist/runners/hubPaths.js.map +1 -1
- package/dist/runners/hubRegistry.d.ts +23 -1
- package/dist/runners/hubRegistry.d.ts.map +1 -1
- package/dist/runners/hubRegistry.js +48 -2
- package/dist/runners/hubRegistry.js.map +1 -1
- package/dist/runners/linkControl.d.ts +12 -1
- package/dist/runners/linkControl.d.ts.map +1 -1
- package/dist/runners/linkControl.js +56 -9
- package/dist/runners/linkControl.js.map +1 -1
- package/dist/runners/removalTiming.d.ts +13 -0
- package/dist/runners/removalTiming.d.ts.map +1 -0
- package/dist/runners/removalTiming.js +17 -0
- package/dist/runners/removalTiming.js.map +1 -0
- package/dist/runners/runnerRemoval.d.ts.map +1 -1
- package/dist/runners/runnerRemoval.js +12 -0
- package/dist/runners/runnerRemoval.js.map +1 -1
- package/dist/runners/runnerServiceKind.d.ts +10 -0
- package/dist/runners/runnerServiceKind.d.ts.map +1 -0
- package/dist/runners/runnerServiceKind.js +13 -0
- package/dist/runners/runnerServiceKind.js.map +1 -0
- package/dist/runners/runnersCli.d.ts +11 -2
- package/dist/runners/runnersCli.d.ts.map +1 -1
- package/dist/runners/runnersCli.js +39 -14
- package/dist/runners/runnersCli.js.map +1 -1
- package/dist/runners/runnersList.d.ts +6 -9
- package/dist/runners/runnersList.d.ts.map +1 -1
- package/dist/runners/runnersList.js +9 -7
- package/dist/runners/runnersList.js.map +1 -1
- package/dist/runners/runnersOverview.d.ts.map +1 -1
- package/dist/runners/runnersOverview.js +2 -1
- package/dist/runners/runnersOverview.js.map +1 -1
- package/dist/selfUpdate/selfCheck.d.ts +13 -0
- package/dist/selfUpdate/selfCheck.d.ts.map +1 -1
- package/dist/selfUpdate/selfCheck.js +9 -3
- package/dist/selfUpdate/selfCheck.js.map +1 -1
- package/dist/stt/sttInstallEntry.js +7 -4
- package/dist/stt/sttInstallEntry.js.map +1 -1
- package/dist/utils/runnersScreenPlan.d.ts +18 -7
- package/dist/utils/runnersScreenPlan.d.ts.map +1 -1
- package/dist/utils/runnersScreenPlan.js +22 -7
- package/dist/utils/runnersScreenPlan.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* `rootServiceCli.js install <account>` — the root step of the admin pairing line (`runners/bootstrapLine.ts`), run by it from a copy of
|
|
5
|
+
* the package that root unpacked into a folder of its own. Node built-ins only (that copy has no `node_modules`), and it never reads or
|
|
6
|
+
* runs anything from the account's home but through `sudo -u <account>` (see `adminService.ts`).
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const adminService_1 = require("./adminService");
|
|
10
|
+
const usageExitCode = 2;
|
|
11
|
+
async function main() {
|
|
12
|
+
const [command, account, ...rest] = process.argv.slice(2);
|
|
13
|
+
if (command !== 'install' || account === undefined || rest.length > 0) {
|
|
14
|
+
process.stderr.write('Usage: rootServiceCli.js install <account>\n');
|
|
15
|
+
return usageExitCode;
|
|
16
|
+
}
|
|
17
|
+
const result = await (0, adminService_1.installServiceForAccount)(account, (0, adminService_1.createAdminServiceDeps)());
|
|
18
|
+
if (result.lines.length > 0)
|
|
19
|
+
(result.ok ? process.stdout : process.stderr).write(`${result.lines.join('\n')}\n`);
|
|
20
|
+
return result.ok ? 0 : 1;
|
|
21
|
+
}
|
|
22
|
+
// Only when this file IS the program (`node <copy>/rootServiceCli.js install <account>`): importing it, as the self-check does, installs nothing.
|
|
23
|
+
if (require.main === module) {
|
|
24
|
+
main().then((code) => {
|
|
25
|
+
process.exitCode = code;
|
|
26
|
+
}, (error) => {
|
|
27
|
+
process.stderr.write(`charness-runner: ${error.message}\n`);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=rootServiceCli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rootServiceCli.js","sourceRoot":"","sources":["../../src/runnerUtility/rootServiceCli.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;;AAEH,iDAAkF;AAElF,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACrE,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAwB,EAAC,OAAO,EAAE,IAAA,qCAAsB,GAAE,CAAC,CAAC;IACjF,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjH,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,kJAAkJ;AAClJ,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,EAAE;QACP,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1B,CAAC,EACD,CAAC,KAAY,EAAE,EAAE;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -51,9 +51,11 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
51
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
52
|
const child_process_1 = require("child_process");
|
|
53
53
|
const fs = __importStar(require("fs"));
|
|
54
|
+
const os = __importStar(require("os"));
|
|
54
55
|
const path = __importStar(require("path"));
|
|
55
56
|
const appInstall_1 = require("./appInstall");
|
|
56
57
|
const packageId_1 = require("./packageId");
|
|
58
|
+
const pairArgs_1 = require("./pairArgs");
|
|
57
59
|
const runnerHome_1 = require("./runnerHome");
|
|
58
60
|
const usageExitCode = 2;
|
|
59
61
|
const usage = `Usage:
|
|
@@ -62,9 +64,8 @@ const usage = `Usage:
|
|
|
62
64
|
charness-runner run hold the link to the hub (Ctrl-C stops)
|
|
63
65
|
charness-runner check look at this machine; install Pueue and rsync when they are missing
|
|
64
66
|
charness-runner service install keep it running in the background (systemd user service on Linux, LaunchAgent on macOS)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
charness-runner service uninstall remove the services (with --system --user <account> for the daemons)
|
|
67
|
+
(always on, also logged out: an admin pastes the admin line from /runners, see docs/remote-run.md)
|
|
68
|
+
charness-runner service uninstall remove the services (an always-on one: prints the admin's commands)
|
|
68
69
|
charness-runner pause | resume take this machine out of rotation, or back in
|
|
69
70
|
charness-runner unpair [--local] tell the hub and forget the pairing (--local: forget it here only)
|
|
70
71
|
`;
|
|
@@ -72,24 +73,26 @@ const usage = `Usage:
|
|
|
72
73
|
function getOwnAppDir() {
|
|
73
74
|
return path.resolve(__dirname, '..', '..');
|
|
74
75
|
}
|
|
75
|
-
/** `--bootstrap <folder> --archive <file> --package-id <id> <code>` — what the pasted line passes. */
|
|
76
|
+
/** `--bootstrap <folder> --archive <file> --package-id <id> [--service-follows] <code>` — what the pasted line passes. */
|
|
76
77
|
function parseBootstrapArgs(args) {
|
|
77
|
-
const
|
|
78
|
+
const { rest: plainArgs, isServiceFollowing } = (0, pairArgs_1.splitServiceFollowsFlag)(args);
|
|
79
|
+
const [bootstrapFlag, bootstrapDir, archiveFlag, archivePath, idFlag, packageId, code, ...rest] = plainArgs;
|
|
78
80
|
if (bootstrapFlag !== '--bootstrap' || archiveFlag !== '--archive' || idFlag !== '--package-id' || rest.length > 0)
|
|
79
81
|
return null;
|
|
80
|
-
return bootstrapDir === undefined || archivePath === undefined || packageId === undefined || code === undefined ? null : { bootstrapDir, archivePath, packageId, code };
|
|
82
|
+
return bootstrapDir === undefined || archivePath === undefined || packageId === undefined || code === undefined ? null : { bootstrapDir, archivePath, packageId, code, isServiceFollowing };
|
|
81
83
|
}
|
|
82
|
-
/** `<code> [--package-id <id>]` — `pair` from an installed copy. */
|
|
84
|
+
/** `<code> [--package-id <id>] [--service-follows]` — `pair` from an installed copy. */
|
|
83
85
|
function parsePairArgs(args) {
|
|
84
|
-
const
|
|
86
|
+
const { rest: plainArgs, isServiceFollowing } = (0, pairArgs_1.splitServiceFollowsFlag)(args);
|
|
87
|
+
const [code, flag, packageId, ...rest] = plainArgs;
|
|
85
88
|
if (code === undefined || rest.length > 0)
|
|
86
89
|
return null;
|
|
87
90
|
if (flag === undefined)
|
|
88
|
-
return { code, packageId: null };
|
|
89
|
-
return flag === '--package-id' && packageId !== undefined && (0, packageId_1.checkIsPackageId)(packageId) ? { code, packageId } : null;
|
|
91
|
+
return { code, packageId: null, isServiceFollowing };
|
|
92
|
+
return flag === '--package-id' && packageId !== undefined && (0, packageId_1.checkIsPackageId)(packageId) ? { code, packageId, isServiceFollowing } : null;
|
|
90
93
|
}
|
|
91
94
|
function runBootstrap(args) {
|
|
92
|
-
const { bootstrapDir, archivePath, packageId, code } = args;
|
|
95
|
+
const { bootstrapDir, archivePath, packageId, code, isServiceFollowing } = args;
|
|
93
96
|
// The archive is checked against the id the hub announced with it, and THAT id — not whatever the hub offers a moment later — is
|
|
94
97
|
// what the runner records as installed.
|
|
95
98
|
if (!(0, packageId_1.checkArchiveHasId)(archivePath, packageId)) {
|
|
@@ -106,7 +109,7 @@ function runBootstrap(args) {
|
|
|
106
109
|
return 1;
|
|
107
110
|
}
|
|
108
111
|
const installedCli = path.join(appDir, 'dist', 'runnerUtility', 'runnerCli.js');
|
|
109
|
-
const result = (0, child_process_1.spawnSync)(process.execPath, [installedCli, 'pair', code, '--package-id', packageId], { stdio: 'inherit' });
|
|
112
|
+
const result = (0, child_process_1.spawnSync)(process.execPath, [installedCli, 'pair', code, '--package-id', packageId, ...(isServiceFollowing ? [pairArgs_1.serviceFollowsFlag] : [])], { stdio: 'inherit' });
|
|
110
113
|
const isCurrent = fs.existsSync(paths.currentApp) && fs.realpathSync(paths.currentApp) === fs.realpathSync(appDir);
|
|
111
114
|
if (!isCurrent)
|
|
112
115
|
fs.rmSync(appDir, { recursive: true, force: true });
|
|
@@ -114,7 +117,7 @@ function runBootstrap(args) {
|
|
|
114
117
|
}
|
|
115
118
|
async function main() {
|
|
116
119
|
const [command = 'status', ...args] = process.argv.slice(2);
|
|
117
|
-
if (command === 'pair' && args[0] === '--bootstrap') {
|
|
120
|
+
if (command === 'pair' && (0, pairArgs_1.splitServiceFollowsFlag)(args).rest[0] === '--bootstrap') {
|
|
118
121
|
const bootstrapArgs = parseBootstrapArgs(args);
|
|
119
122
|
if (bootstrapArgs === null) {
|
|
120
123
|
process.stderr.write(usage);
|
|
@@ -131,7 +134,7 @@ async function main() {
|
|
|
131
134
|
return usageExitCode;
|
|
132
135
|
}
|
|
133
136
|
const { runPair } = await Promise.resolve().then(() => __importStar(require('./runnerCommands')));
|
|
134
|
-
return runPair(pairArgs.code, getOwnAppDir(), pairArgs.packageId, io);
|
|
137
|
+
return runPair(pairArgs.code, getOwnAppDir(), pairArgs.packageId, io, os.homedir(), { isServiceFollowing: pairArgs.isServiceFollowing });
|
|
135
138
|
}
|
|
136
139
|
case 'run': {
|
|
137
140
|
const { runLink } = await Promise.resolve().then(() => __importStar(require('./runnerCommands')));
|
|
@@ -172,13 +175,16 @@ async function main() {
|
|
|
172
175
|
return usageExitCode;
|
|
173
176
|
}
|
|
174
177
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
});
|
|
178
|
+
// Only when this file IS the program (`charness-runner`, `node …/runnerCli.js`): importing it, as the self-check does, runs no command.
|
|
179
|
+
if (require.main === module) {
|
|
180
|
+
main().then((code) => {
|
|
181
|
+
process.exitCode = code;
|
|
182
|
+
// `run` holds sockets, a Pueue probe and timers: it leaves by itself — also with the restart code after an update; every other command ends when its output is flushed.
|
|
183
|
+
if (process.argv[2] === 'run' || code === appInstall_1.restartExitCode)
|
|
184
|
+
process.exit(code);
|
|
185
|
+
}, (error) => {
|
|
186
|
+
process.stderr.write(`charness-runner: ${error.message}\n`);
|
|
187
|
+
process.exit(1);
|
|
188
|
+
});
|
|
189
|
+
}
|
|
184
190
|
//# sourceMappingURL=runnerCli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runnerCli.js","sourceRoot":"","sources":["../../src/runnerUtility/runnerCli.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAA0C;AAC1C,uCAAyB;AACzB,2CAA6B;AAC7B,6CAAwE;AACxE,2CAAkE;AAClE,6CAAkD;AAElD,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"runnerCli.js","sourceRoot":"","sources":["../../src/runnerUtility/runnerCli.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,15 @@ export interface CommandIo {
|
|
|
13
13
|
stdout: (text: string) => void;
|
|
14
14
|
stderr: (text: string) => void;
|
|
15
15
|
}
|
|
16
|
-
/** @description The «Keep it running» part of the pairing text: the terminal, a service without admin, and — on a Mac — the always
|
|
17
|
-
export declare function formatKeepRunningHelp(paths: RunnerHomePaths, platform?: NodeJS.Platform
|
|
16
|
+
/** @description The «Keep it running» part of the pairing text: the terminal, a service without admin, and — on a Mac — the admin line that makes it always on. */
|
|
17
|
+
export declare function formatKeepRunningHelp(paths: RunnerHomePaths, platform?: NodeJS.Platform): string;
|
|
18
18
|
export declare function formatRemovedMessage(label: string): string;
|
|
19
|
+
/** @description What the pairing says in place of {@link formatKeepRunningHelp} when an admin's line installs the service next. */
|
|
20
|
+
export declare function formatServiceFollowsNote(): string;
|
|
21
|
+
export interface PairingOptions {
|
|
22
|
+
/** An admin's line installs the service right after this pairing (`pairArgs.ts`): no help about keeping it running is printed. */
|
|
23
|
+
isServiceFollowing: boolean;
|
|
24
|
+
}
|
|
19
25
|
export interface PairingOutcomeInputs {
|
|
20
26
|
endpoint: HubEndpoint;
|
|
21
27
|
keys: RunnerKeys;
|
|
@@ -30,7 +36,7 @@ export interface PairingOutcomeInputs {
|
|
|
30
36
|
* @description `charness-runner pair <code>` (run from the INSTALLED copy): redeem the code, record who the runner serves, install its
|
|
31
37
|
* tools. A pairing that an earlier run left half done is recovered FIRST (with the runner's own key), whatever the new code is. Returns the exit code.
|
|
32
38
|
*/
|
|
33
|
-
export declare function runPair(code: string, appDir: string, packageId: string | null, io: CommandIo, homeDir?: string): Promise<number>;
|
|
39
|
+
export declare function runPair(code: string, appDir: string, packageId: string | null, io: CommandIo, homeDir?: string, options?: PairingOptions): Promise<number>;
|
|
34
40
|
/** @description `charness-runner run`: ensure the tools and Pueue, then hold the link until stopped. Returns the exit code (75 = restart onto an update). */
|
|
35
41
|
export declare function runLink(io: CommandIo, appDir: string, homeDir?: string): Promise<number>;
|
|
36
42
|
/** @description `charness-runner status`. */
|
|
@@ -39,7 +45,10 @@ export declare function runStatus(io: CommandIo, homeDir?: string, processContro
|
|
|
39
45
|
export declare function runCheck(io: CommandIo, homeDir?: string): Promise<number>;
|
|
40
46
|
/** @description `charness-runner pause` / `resume`: take this machine out of rotation, or back in. */
|
|
41
47
|
export declare function runPause(isPaused: boolean, io: CommandIo, homeDir?: string): number;
|
|
42
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* @description `charness-runner service install|uninstall`, and the internal `service system-step prepare|abandon` (the account's side of
|
|
50
|
+
* the admin line's always-on install: one JSON line on stdout, see `serviceManager.ts`).
|
|
51
|
+
*/
|
|
43
52
|
export declare function runService(args: readonly string[], io: CommandIo, deps?: ServiceDeps): Promise<number>;
|
|
44
53
|
export interface UnpairOptions {
|
|
45
54
|
/** Do not tell the hub (it is gone, or this machine cannot reach it). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runnerCommands.d.ts","sourceRoot":"","sources":["../../src/runnerUtility/runnerCommands.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"runnerCommands.d.ts","sourceRoot":"","sources":["../../src/runnerUtility/runnerCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.formatKeepRunningHelp = formatKeepRunningHelp;
|
|
37
37
|
exports.formatRemovedMessage = formatRemovedMessage;
|
|
38
|
+
exports.formatServiceFollowsNote = formatServiceFollowsNote;
|
|
38
39
|
exports.runPair = runPair;
|
|
39
40
|
exports.runLink = runLink;
|
|
40
41
|
exports.runStatus = runStatus;
|
|
@@ -61,6 +62,7 @@ const iosCheck_1 = require("./iosCheck");
|
|
|
61
62
|
const localLinkStop_1 = require("./localLinkStop");
|
|
62
63
|
const commandRunner_1 = require("../selfUpdate/commandRunner");
|
|
63
64
|
const runnerFlags_1 = require("./runnerFlags");
|
|
65
|
+
const serviceCommon_1 = require("./serviceCommon");
|
|
64
66
|
const serviceManager_1 = require("./serviceManager");
|
|
65
67
|
const runnerConfig_1 = require("./runnerConfig");
|
|
66
68
|
const runnerHome_1 = require("./runnerHome");
|
|
@@ -111,8 +113,8 @@ async function installTools(paths, deps, io) {
|
|
|
111
113
|
if (!outcome.ok)
|
|
112
114
|
io.stderr(`charness-runner: ${outcome.reason}\n`);
|
|
113
115
|
}
|
|
114
|
-
/** @description The «Keep it running» part of the pairing text: the terminal, a service without admin, and — on a Mac — the always
|
|
115
|
-
function formatKeepRunningHelp(paths, platform = process.platform
|
|
116
|
+
/** @description The «Keep it running» part of the pairing text: the terminal, a service without admin, and — on a Mac — the admin line that makes it always on. */
|
|
117
|
+
function formatKeepRunningHelp(paths, platform = process.platform) {
|
|
116
118
|
const lines = [
|
|
117
119
|
'Keep it running:',
|
|
118
120
|
` ${paths.launcher} run`,
|
|
@@ -121,7 +123,7 @@ function formatKeepRunningHelp(paths, platform = process.platform, accountName =
|
|
|
121
123
|
platform === 'darwin' ? ' in the background while this user is logged in' : ' in the background, also after a logout or a reboot (a systemd user service that lingers)',
|
|
122
124
|
];
|
|
123
125
|
if (platform === 'darwin') {
|
|
124
|
-
lines.push(
|
|
126
|
+
lines.push(' an admin account\'s paste of a fresh admin line from /runners', ' always, also logged out — the admin line installs the service for this account (it finds it paired)');
|
|
125
127
|
}
|
|
126
128
|
lines.push('');
|
|
127
129
|
return lines.join('\n');
|
|
@@ -129,8 +131,12 @@ function formatKeepRunningHelp(paths, platform = process.platform, accountName =
|
|
|
129
131
|
function formatRemovedMessage(label) {
|
|
130
132
|
return `This runner was removed by ${label}. Pair again with a new line from /runners.`;
|
|
131
133
|
}
|
|
134
|
+
/** @description What the pairing says in place of {@link formatKeepRunningHelp} when an admin's line installs the service next. */
|
|
135
|
+
function formatServiceFollowsNote() {
|
|
136
|
+
return 'Keeping it running: the always-on service for this account is installed next, by the same line.\n';
|
|
137
|
+
}
|
|
132
138
|
/** @description Record a pairing the hub has committed: folders, `current`, launcher, `config.json`; then the tools. Removes `pairing.json`. */
|
|
133
|
-
async function finishPairing(paths, inputs, io, isRecovered) {
|
|
139
|
+
async function finishPairing(paths, inputs, io, isRecovered, options) {
|
|
134
140
|
const { endpoint, reply } = inputs;
|
|
135
141
|
const config = {
|
|
136
142
|
runnerId: reply.runnerId,
|
|
@@ -150,16 +156,44 @@ async function finishPairing(paths, inputs, io, isRecovered) {
|
|
|
150
156
|
(0, appInstall_1.removeOldApps)(paths);
|
|
151
157
|
await installTools(paths, (0, toolInstall_1.createToolDeps)(), io);
|
|
152
158
|
io.stdout(`\n${isRecovered ? 'Recovered a pairing whose answer was lost: paired' : 'Paired'} with charness ${reply.label} (${endpoint.host}:${endpoint.port}) as runner “${reply.name}”.\n`);
|
|
153
|
-
io.stdout(`Its agents will run their projects' code on this machine as user «${os.userInfo().username}».\n\n${formatKeepRunningHelp(paths)}`);
|
|
159
|
+
io.stdout(`Its agents will run their projects' code on this machine as user «${os.userInfo().username}».\n\n${options.isServiceFollowing ? formatServiceFollowsNote() : formatKeepRunningHelp(paths)}`);
|
|
160
|
+
}
|
|
161
|
+
/** @description Close `payload`'s code on the hub (the `cancel` request, with the code's own key); a hub that cannot be reached is said, never fatal: the code then runs out by itself. */
|
|
162
|
+
async function cancelPairingCode(payload, io) {
|
|
163
|
+
try {
|
|
164
|
+
const client = await (0, hubClient_1.connectToHub)({ host: payload.host, port: payload.port, user: payload.user, hostKey: payload.hostKey }, payload.privateKey);
|
|
165
|
+
try {
|
|
166
|
+
await (0, hubClient_1.requestGateJson)(client, 'cancel', null, gateProtocol_1.cancelReplySchema);
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
client.end();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
io.stderr(`charness-runner: the pairing code of this line could not be closed on the hub (${error instanceof Error ? error.message : 'unknown error'}); it stays open until it expires\n`);
|
|
174
|
+
}
|
|
154
175
|
}
|
|
155
176
|
/**
|
|
156
177
|
* @description `charness-runner pair <code>` (run from the INSTALLED copy): redeem the code, record who the runner serves, install its
|
|
157
178
|
* tools. A pairing that an earlier run left half done is recovered FIRST (with the runner's own key), whatever the new code is. Returns the exit code.
|
|
158
179
|
*/
|
|
159
|
-
async function runPair(code, appDir, packageId, io, homeDir = os.homedir()) {
|
|
180
|
+
async function runPair(code, appDir, packageId, io, homeDir = os.homedir(), options = { isServiceFollowing: false }) {
|
|
160
181
|
const paths = (0, runnerHome_1.getRunnerHomePaths)(homeDir);
|
|
161
182
|
const existing = (0, runnerConfig_1.readRunnerConfig)(paths);
|
|
162
183
|
if (existing !== null) {
|
|
184
|
+
// An admin line pasted again for an account that is already paired (a service step that failed, or one only a Mac's always-on is missing):
|
|
185
|
+
// nothing is paired twice, the line's code is closed on the hub (it will never be redeemed, and must not stay open in sudo's log and
|
|
186
|
+
// keep its Telegram messages waiting), and the line goes on to the service.
|
|
187
|
+
if (options.isServiceFollowing) {
|
|
188
|
+
const decodedRetry = (0, pairCode_1.decodePairCode)(code);
|
|
189
|
+
if (!decodedRetry.ok) {
|
|
190
|
+
io.stderr(`charness-runner: ${decodedRetry.error}\n`);
|
|
191
|
+
return 1;
|
|
192
|
+
}
|
|
193
|
+
io.stdout(`This account is already paired (as “${existing.name}” with ${existing.hub.label}): it is not paired again. Its always-on service is installed next, by the same line.\n`);
|
|
194
|
+
await cancelPairingCode(decodedRetry.payload, io);
|
|
195
|
+
return 0;
|
|
196
|
+
}
|
|
163
197
|
io.stderr(`charness-runner: this account is already paired (as “${existing.name}” with ${existing.hub.label}).\n`);
|
|
164
198
|
return 1;
|
|
165
199
|
}
|
|
@@ -174,7 +208,7 @@ async function runPair(code, appDir, packageId, io, homeDir = os.homedir()) {
|
|
|
174
208
|
if (interrupted !== null) {
|
|
175
209
|
const recovery = await (0, pairingRecovery_1.recoverPairing)({ host: interrupted.host, port: interrupted.port, user: interrupted.user, hostKey: interrupted.hostKey }, keys);
|
|
176
210
|
if (recovery.kind === 'recovered') {
|
|
177
|
-
await finishPairing(paths, { endpoint: interrupted, keys, reply: recovery.reply, packageId: interrupted.packageId, appDir }, io, true);
|
|
211
|
+
await finishPairing(paths, { endpoint: interrupted, keys, reply: recovery.reply, packageId: interrupted.packageId, appDir }, io, true, options);
|
|
178
212
|
return 0;
|
|
179
213
|
}
|
|
180
214
|
if (recovery.kind === 'unreachable') {
|
|
@@ -219,7 +253,7 @@ async function runPair(code, appDir, packageId, io, homeDir = os.homedir()) {
|
|
|
219
253
|
// No answer: the hub may have committed all the same (its answer lost on the way). The runner's own key can ask.
|
|
220
254
|
const recovery = await (0, pairingRecovery_1.recoverPairing)(endpoint, keys);
|
|
221
255
|
if (recovery.kind === 'recovered') {
|
|
222
|
-
await finishPairing(paths, { endpoint, keys, reply: recovery.reply, packageId, appDir }, io, true);
|
|
256
|
+
await finishPairing(paths, { endpoint, keys, reply: recovery.reply, packageId, appDir }, io, true, options);
|
|
223
257
|
return 0;
|
|
224
258
|
}
|
|
225
259
|
if (recovery.kind === 'not-registered')
|
|
@@ -227,7 +261,7 @@ async function runPair(code, appDir, packageId, io, homeDir = os.homedir()) {
|
|
|
227
261
|
io.stderr(`charness-runner: ${failure}${recovery.kind === 'unreachable' ? ' (run `charness-runner pair` again later to finish if the hub did register this machine)' : ''}\n`);
|
|
228
262
|
return 1;
|
|
229
263
|
}
|
|
230
|
-
await finishPairing(paths, { endpoint, keys, reply, packageId, appDir }, io, false);
|
|
264
|
+
await finishPairing(paths, { endpoint, keys, reply, packageId, appDir }, io, false, options);
|
|
231
265
|
return 0;
|
|
232
266
|
}
|
|
233
267
|
/** @description `charness-runner run`: ensure the tools and Pueue, then hold the link until stopped. Returns the exit code (75 = restart onto an update). */
|
|
@@ -239,7 +273,7 @@ async function runLink(io, appDir, homeDir = os.homedir()) {
|
|
|
239
273
|
if (interrupted !== null && keys !== null) {
|
|
240
274
|
const recovery = await (0, pairingRecovery_1.recoverPairing)({ host: interrupted.host, port: interrupted.port, user: interrupted.user, hostKey: interrupted.hostKey }, keys);
|
|
241
275
|
if (recovery.kind === 'recovered') {
|
|
242
|
-
await finishPairing(paths, { endpoint: interrupted, keys, reply: recovery.reply, packageId: interrupted.packageId, appDir }, io, true);
|
|
276
|
+
await finishPairing(paths, { endpoint: interrupted, keys, reply: recovery.reply, packageId: interrupted.packageId, appDir }, io, true, { isServiceFollowing: false });
|
|
243
277
|
config = (0, runnerConfig_1.readRunnerConfig)(paths);
|
|
244
278
|
}
|
|
245
279
|
else if (recovery.kind === 'not-registered') {
|
|
@@ -338,8 +372,20 @@ function runPause(isPaused, io, homeDir = os.homedir()) {
|
|
|
338
372
|
io.stdout(isPaused ? 'Paused: the link stays up, but no job is sent to this machine until `charness-runner resume`.\n' : 'Resumed: this machine takes jobs again.\n');
|
|
339
373
|
return 0;
|
|
340
374
|
}
|
|
341
|
-
/**
|
|
375
|
+
/**
|
|
376
|
+
* @description `charness-runner service install|uninstall`, and the internal `service system-step prepare|abandon` (the account's side of
|
|
377
|
+
* the admin line's always-on install: one JSON line on stdout, see `serviceManager.ts`).
|
|
378
|
+
*/
|
|
342
379
|
async function runService(args, io, deps = (0, serviceManager_1.createServiceDeps)()) {
|
|
380
|
+
if (args[0] === 'system-step') {
|
|
381
|
+
if (args.length !== 2) {
|
|
382
|
+
io.stderr('charness-runner: service system-step needs «prepare» or «abandon»\n');
|
|
383
|
+
return 2;
|
|
384
|
+
}
|
|
385
|
+
const answer = await (0, serviceManager_1.runSystemStep)(args[1], deps);
|
|
386
|
+
io.stdout((0, serviceCommon_1.formatSystemStepAnswer)(answer));
|
|
387
|
+
return answer.ok ? 0 : 1;
|
|
388
|
+
}
|
|
343
389
|
const parsed = (0, serviceManager_1.parseServiceCommand)(args);
|
|
344
390
|
if (!parsed.ok) {
|
|
345
391
|
io.stderr(`charness-runner: ${parsed.error}\n`);
|
|
@@ -374,7 +420,7 @@ async function runUnpair(options, io, homeDir = os.homedir(), deps = createUnpai
|
|
|
374
420
|
}
|
|
375
421
|
const serviceKind = (0, serviceManager_1.readServiceKind)(paths);
|
|
376
422
|
if (serviceKind === 'system-service') {
|
|
377
|
-
io.stderr(`charness-runner: this runner runs as a system service, which only an admin can
|
|
423
|
+
io.stderr(`charness-runner: this runner runs as a system service (always on), which only an admin can stop. As an admin, run:\n${(0, serviceManager_1.formatSystemServiceRemoval)(paths, deps.service.launchDaemonsDir).map((line) => ` ${line}`).join('\n')}\nthen run \`charness-runner service uninstall\` here and unpair again. Nothing was changed.\n`);
|
|
378
424
|
return 1;
|
|
379
425
|
}
|
|
380
426
|
if (!options.isLocalOnly) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runnerCommands.js","sourceRoot":"","sources":["../../src/runnerUtility/runnerCommands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runnerCommands.js","sourceRoot":"","sources":["../../src/runnerUtility/runnerCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { type CommandRunner } from '../selfUpdate/commandRunner';
|
|
2
|
+
import type { LaunchdJobSpec, ServiceNames } from './serviceUnits';
|
|
3
|
+
/**
|
|
4
|
+
* @description What the account's own service install (`serviceManager.ts`, needs the installed package and so its dependencies) and the
|
|
5
|
+
* admin's root step (`adminService.ts`, runs from a root-owned copy of the package that has NO dependencies) share: the result shape, the
|
|
6
|
+
* account lookups, the launchd job loader with its rollback, and the definition files. Node built-ins only, because the root step may
|
|
7
|
+
* import nothing else.
|
|
8
|
+
*/
|
|
9
|
+
export declare const commandTimeoutMs: number;
|
|
10
|
+
export declare const rootUid = 0;
|
|
11
|
+
export interface TargetAccount {
|
|
12
|
+
name: string;
|
|
13
|
+
uid: number;
|
|
14
|
+
gid: number;
|
|
15
|
+
homeDir: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ServiceResult {
|
|
18
|
+
ok: boolean;
|
|
19
|
+
lines: string[];
|
|
20
|
+
}
|
|
21
|
+
export declare function fail(...lines: string[]): ServiceResult;
|
|
22
|
+
/**
|
|
23
|
+
* @description What the account's `service system-step prepare` tells the admin step (one JSON line on stdout). The admin step never
|
|
24
|
+
* touches the account's tree itself: everything of the account's — Pueue, its configuration, the service record — is done by the account's
|
|
25
|
+
* own program, run AS the account, and root reads only this answer. The answer is not trusted for anything but what to say and whether
|
|
26
|
+
* the account's service was there before: what root writes is rendered from the account's name and home alone.
|
|
27
|
+
*/
|
|
28
|
+
export type SystemStepAnswer = {
|
|
29
|
+
ok: true;
|
|
30
|
+
hadService: boolean;
|
|
31
|
+
} | {
|
|
32
|
+
ok: false;
|
|
33
|
+
lines: string[];
|
|
34
|
+
};
|
|
35
|
+
export declare function formatSystemStepAnswer(answer: SystemStepAnswer): string;
|
|
36
|
+
/** @description The answer in the LAST non-empty line of `output`, or `null` when there is none that reads as one. */
|
|
37
|
+
export declare function parseSystemStepAnswer(output: string): SystemStepAnswer | null;
|
|
38
|
+
export interface ServiceFiles {
|
|
39
|
+
/** Where the link and pueued definitions are written. */
|
|
40
|
+
link: string;
|
|
41
|
+
pueued: string;
|
|
42
|
+
directory: string;
|
|
43
|
+
}
|
|
44
|
+
export declare function getLaunchdFiles(isSystem: boolean, homeDir: string, names: ServiceNames, daemonsDir: string): ServiceFiles;
|
|
45
|
+
/**
|
|
46
|
+
* The account from `id` and the directory service (`dscl`). A home folder that cannot be read from there is NOT guessed: root writes
|
|
47
|
+
* definitions that name it, so no answer means no account.
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolveMacAccount(name: string, runner: CommandRunner): Promise<TargetAccount | null>;
|
|
50
|
+
/** `getent passwd <name>` → `name:x:uid:gid:gecos:home:shell`. */
|
|
51
|
+
export declare function resolveLinuxAccount(name: string, runner: CommandRunner): Promise<TargetAccount | null>;
|
|
52
|
+
export declare function writeDefinition(filePath: string, text: string): void;
|
|
53
|
+
export interface PreviousDefinition {
|
|
54
|
+
file: string;
|
|
55
|
+
/** The text the file had before this install rewrote it; `null` = there was no such file. */
|
|
56
|
+
content: string | null;
|
|
57
|
+
}
|
|
58
|
+
/** @description The files of a service that already exists, as they are now: a failed re-install puts them back instead of tearing the working service down. */
|
|
59
|
+
export declare function readPreviousDefinitions(files: readonly string[]): PreviousDefinition[];
|
|
60
|
+
/** @description Put `previous` back: a file that existed gets its text again, one this install made new (it had no earlier version) is removed. */
|
|
61
|
+
export declare function restorePreviousDefinitions(previous: readonly PreviousDefinition[]): void;
|
|
62
|
+
/**
|
|
63
|
+
* @description Boot a job out and wait (bounded: 3 s) until launchd no longer has it loaded; `false` when it still is. A `bootstrap` right
|
|
64
|
+
* after a `bootout` often fails with error 5 while launchd is still tearing the old job down, and a check right after it can find the job
|
|
65
|
+
* «still loaded»: `print` succeeds only for a job that is still loaded.
|
|
66
|
+
*/
|
|
67
|
+
export declare function bootOutAndWaitUntilGone(label: string, domain: string, runner: CommandRunner): Promise<boolean>;
|
|
68
|
+
export declare function stopLaunchdJobs(labels: readonly string[], domain: string, runner: CommandRunner): Promise<string | null>;
|
|
69
|
+
/** What the launchd install needs to know about the kind of service it installs. */
|
|
70
|
+
export interface LaunchdInstallPlan {
|
|
71
|
+
runner: CommandRunner;
|
|
72
|
+
/** `system` for LaunchDaemons, `gui/<uid>` for LaunchAgents. */
|
|
73
|
+
domain: string;
|
|
74
|
+
files: ServiceFiles;
|
|
75
|
+
names: Pick<ServiceNames, 'launchdLink' | 'launchdPueued'>;
|
|
76
|
+
jobs: {
|
|
77
|
+
link: LaunchdJobSpec;
|
|
78
|
+
pueued: LaunchdJobSpec;
|
|
79
|
+
};
|
|
80
|
+
/** A re-install: the service's definitions are put back when it fails, and its jobs are not torn down. */
|
|
81
|
+
hadService: boolean;
|
|
82
|
+
/** Make the folder a job's log goes to (a LaunchAgent's own); a daemon's is made by the account (the admin step never touches the account's tree). */
|
|
83
|
+
isLogDirMade: boolean;
|
|
84
|
+
/** Give a written definition to root:wheel (LaunchDaemons only; `lchown`, so a link is never followed). */
|
|
85
|
+
giveToRoot?: (filePath: string, uid: number, gid: number) => void;
|
|
86
|
+
/** A first install failed and everything it wrote is gone: forget the marker that said a service was coming. */
|
|
87
|
+
forgetFirstInstall: () => Promise<void> | void;
|
|
88
|
+
/** The text that says what to run to try again. */
|
|
89
|
+
retryText: string;
|
|
90
|
+
render: (job: LaunchdJobSpec) => string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @description Write and load the queue's job, then the link's. A failure rolls back: a first install is stopped and its files removed; a
|
|
94
|
+
* re-install gets its earlier definitions back and loaded again, as far as it was touched, and says honestly whether that worked.
|
|
95
|
+
*/
|
|
96
|
+
export declare function installLaunchdJobs(plan: LaunchdInstallPlan): Promise<ServiceResult>;
|
|
97
|
+
//# sourceMappingURL=serviceCommon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serviceCommon.d.ts","sourceRoot":"","sources":["../../src/runnerUtility/serviceCommon.ts"],"names":[],"mappings":"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"}
|