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
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 3.9.0 — 2026-11-03
|
|
6
|
+
|
|
7
|
+
**Pairing a runner from an admin account is now one paste: the pairing offers a `sudo` line that checks the account, pairs it and keeps it running — the line for the runner account itself stays as the second option.**
|
|
8
|
+
Before, the one-time line had to be pasted into the terminal of the account that will run the jobs — awkward when you are logged in as an admin and that account is one you never log in to — and the commands to keep it running came afterwards.
|
|
9
|
+
Now `/runners` → **+ Pair a new runner** (and `charness runners pair`, with `--account <name>`) offers two lines for one code, in two messages: first `sudo sh -c '…' sh runner`, to run from an admin account of the runner machine, then the plain line for the runner account. The admin line checks the account named by its last word — `runner` unless you change it: it must exist, and it is refused if it is root or an admin (or if its groups cannot be read), because it runs the agents' code; nothing ever creates an account — pairs the machine **as that account** (its files are its own, not root's), and then installs its always-on service: on a Mac the LaunchDaemon that runs as the account, on Linux its systemd user service with lingering switched on. The account runs the agents' code, so root never runs, reads through or writes into anything that account can change: the line downloads the package into a folder of its own, has the account pair itself from it, and runs the service step from the same copy — the account's own side is done by the account's program through `sudo -u`. Pasting the admin line runs code from this charness host as root on that machine (the Telegram message and the CLI's text say so); the plain line trusts the host only with the runner account. A Mac's daemons write their logs as the account, never through a folder root opens. Both messages turn into «paired» or «expired» together; a service step that fails leaves the account paired and says to paste a fresh admin line, which finds the account paired, closes its own code on the charness host and only installs the service (its Telegram messages then say the line was used on a machine that was already paired, and `charness runners pair --wait` exits 0). For the same reason `service install --system` on the runner is gone (an always-on service is installed by the admin line, and removed by the plain `launchctl` commands that `charness-runner service uninstall` prints).
|
|
10
|
+
|
|
5
11
|
## 3.8.0 — 2026-11-02
|
|
6
12
|
|
|
7
13
|
**Charness can now make a one-time pairing line for a runner machine — `charness runners pair` — and keeps the machines that used it in a registry (`charness runners ls | remove | pause | resume`); the runner's own side and the use of paired runners by `remote-run` follow in the same release.**
|
package/DEVELOPMENT.md
CHANGED
|
@@ -164,7 +164,9 @@ layout, from the teardown, from a detached reaper and at the next start.
|
|
|
164
164
|
|
|
165
165
|
The paired-runner flows (`runnerLinkE2e.test.ts`, `remoteRunPairedE2e.test.ts`, `runnersScreenE2e.test.ts`) use the same loopback `sshd` as «the charness
|
|
166
166
|
host» (its `AuthorizedKeysFile` pointed at a temp `.ssh`) and `charness-runner` in a temp `HOME`, so they never touch the real `~/.ssh`;
|
|
167
|
-
`runnerServiceTakeoverE2e.test.ts` needs only real Pueue (the service manager is a recording stand-in).
|
|
167
|
+
`runnerServiceTakeoverE2e.test.ts` needs only real Pueue (the service manager is a recording stand-in). `runnerAdminLineE2e.test.ts` (the admin pairing line) also needs
|
|
168
|
+
`fakeroot`: root, a second account and the service manager are stand-ins in `runnerAdminLineE2e/` (`sudo` runs the line under `fakeroot`, `sudo -u <account> -H` hands a
|
|
169
|
+
command to the real user with the stand-in account's `HOME`, and plants a trap in the account's launcher that fails the flow if root ever starts it); everything else — the line's own `sh`, the download, the pairing, the root step, the service install — is real. Same tools, same local skip and CI failure.
|
|
168
170
|
|
|
169
171
|
Node applies `--test-timeout` to a whole test FILE (a `describe`'s own `timeout` cannot extend it), so a file that
|
|
170
172
|
hangs or leaves a process alive fails by name when its limit passes, instead of hanging the run. A long-running
|
package/SETUP.md
CHANGED
|
@@ -391,9 +391,10 @@ had run locally. Without a runner nothing changes for anyone, and agents are not
|
|
|
391
391
|
**Pair it (the normal way).** Needs this machine's ordinary `sshd` (key login on) with an address the runner can reach — nothing else is
|
|
392
392
|
opened or changed, no root, no VPN — and on the runner machine Node 22.12+, `ssh` and `tar`. In General send `/runners` → **+ Pair a new
|
|
393
393
|
runner**; the first time the bot asks which address runners dial (the `runnerHost` row of the [instance settings](#instance-settings-settingsjson)) and
|
|
394
|
-
proposes the public address it finds. It posts
|
|
395
|
-
|
|
396
|
-
|
|
394
|
+
proposes the public address it finds. It posts two lines (valid 10 minutes, single use, one code): the first from an admin account of the
|
|
395
|
+
runner machine — it pairs a standard user there (`runner` unless you change the last word of the line) and installs its always-on service
|
|
396
|
+
in one go — the second as the account that will run the jobs, with `charness-runner service install` afterwards to keep it running. An
|
|
397
|
+
instance without Telegram uses `charness runners pair --host host.example`. The steps, the services (a Mac that stays on while logged out), removing and the safety
|
|
397
398
|
model: [docs/remote-run.md](docs/remote-run.md#pair-a-runner).
|
|
398
399
|
|
|
399
400
|
**Or by hand over plain ssh** — for a machine that cannot dial this one: list it in `~/.config/charness/runners.json` (one file per OS
|
package/dist/cli.d.ts
CHANGED
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,gCAAgC,CAAC;AAgLxC,4GAA4G;AAC5G,wBAAgB,MAAM,IAAI,IAAI,CAM7B"}
|
package/dist/cli.js
CHANGED
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
};
|
|
35
35
|
})();
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.runCli = runCli;
|
|
37
38
|
// FIRST import, on purpose: it snapshots the launch environment before anything reads a `.env` file into `process.env`.
|
|
38
39
|
require("./selfUpdate/launchEnvironment");
|
|
39
40
|
const fs = __importStar(require("fs"));
|
|
@@ -41,7 +42,6 @@ const path = __importStar(require("path"));
|
|
|
41
42
|
const applyDnsFix_1 = require("./cli/applyDnsFix");
|
|
42
43
|
const bot_1 = require("./cli/bot");
|
|
43
44
|
const hot_1 = require("./cli/hot");
|
|
44
|
-
(0, applyDnsFix_1.applyDnsFix)();
|
|
45
45
|
/** How long a finished `runner-gate` waits for its stdout to drain before it ends the process. */
|
|
46
46
|
const gateExitGraceMs = 5000;
|
|
47
47
|
/**
|
|
@@ -195,8 +195,15 @@ async function main() {
|
|
|
195
195
|
printUsage();
|
|
196
196
|
process.exit(2);
|
|
197
197
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
198
|
+
/** @description Run the command line (`process.argv`); a failure is printed and ends the process with 1. */
|
|
199
|
+
function runCli() {
|
|
200
|
+
(0, applyDnsFix_1.applyDnsFix)();
|
|
201
|
+
main().catch((err) => {
|
|
202
|
+
console.error(err);
|
|
203
|
+
process.exit(1);
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
// Only when this file IS the program (`node dist/cli.js`, the `charness` bin, `tsx src/cli.ts`): importing it — `index.ts`, the self-check — starts nothing.
|
|
207
|
+
if (require.main === module)
|
|
208
|
+
runCli();
|
|
202
209
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../../../src/connectors/telegram/commands/runners.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../../../src/connectors/telegram/commands/runners.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElF,OAAO,EAAoC,KAAK,cAAc,EAAE,KAAK,UAAU,EAAwB,MAAM,6BAA6B,CAAC;AAE3I,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQ5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAgBL,KAAK,UAAU,EAGhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,4GAA4G;AAC5G,eAAO,MAAM,sBAAsB,QAAW,CAAC;AAQ/C,uHAAuH;AACvH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;IAChM,yDAAyD;IACzD,GAAG,EAAE,UAAU,CAAC;IAChB,oFAAoF;IACpF,cAAc,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;IACxC,wFAAwF;IACxF,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,MAAM,GAAG,IAAI,CAAC;IACvD,oEAAoE;IACpE,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,gHAAgH;IAChH,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+DAA+D;IAC/D,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1D,qFAAqF;IACrF,aAAa,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACtF,oGAAoG;IACpG,qBAAqB,EAAE,MAAM,MAAM,EAAE,CAAC;IACtC,WAAW,EAAE,cAAc,CAAC;IAC5B,iEAAiE;IACjE,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAQD,2JAA2J;AAC3J,eAAO,MAAM,iBAAiB,EAAE,UAI/B,CAAC;AAgBF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY;mCA4ZX,IAAI;oCAYH,IAAI;oCA9OI,UAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;oCATjD,UAAU,KAAG,IAAI;+BAqNxB,MAAM,IAAI;6BAlEN,OAAO,CAAC,IAAI,CAAC;EAoHlD"}
|
|
@@ -5,14 +5,17 @@ exports.createRunners = createRunners;
|
|
|
5
5
|
/**
|
|
6
6
|
* `/runners` — the machines that run the agents' tests and builds, paired from Telegram. In General only (admins): one message that
|
|
7
7
|
* lists the machines (online or not, what they are, what they can do) with Pause / Resume / Remove per machine, and a button that pairs
|
|
8
|
-
* another one —
|
|
8
|
+
* another one — two one-time lines for the new machine (one for an admin account, one for the runner account itself), valid 10 minutes, in
|
|
9
|
+
* two messages that turn into «paired» or «expired».
|
|
9
10
|
* The hub itself is `src/runners/`; this file is only the screen, its buttons and the two background jobs (editing the pairing message,
|
|
10
11
|
* refreshing a list with live data). See `src/runners/README.md` for the safety line and `utils/runnersScreenPlan.ts` for the texts.
|
|
11
12
|
*
|
|
12
13
|
* Two rules keep the screen true under concurrency. (1) A render is claimed BEFORE its Telegram edit is awaited: every message has a
|
|
13
14
|
* generation, and a background job (the live probe) draws only if the message still carries the generation it started from — so a
|
|
14
15
|
* question that replaced the list while its edit was still queued is never drawn over. (2) The messages that offer a pairing code are
|
|
15
|
-
* this instance's own record (`runnerPairingMessages.ts
|
|
16
|
+
* this instance's own record (`runnerPairingMessages.ts`, an entry per message), each kept until the edit that settles it was accepted. A
|
|
17
|
+
* message settles to «paired» (a runner carries its code), «closed» (the code was closed unused: its line was pasted for a machine that
|
|
18
|
+
* was already paired) or «expired».
|
|
16
19
|
*/
|
|
17
20
|
const telegraf_1 = require("telegraf");
|
|
18
21
|
const configDirFile_1 = require("../../../configDirFile");
|
|
@@ -71,11 +74,12 @@ function createRunners(ports) {
|
|
|
71
74
|
const addressProposals = new Map();
|
|
72
75
|
/** General keys whose next message is an address → when the wait began. */
|
|
73
76
|
const addressWaits = new Map();
|
|
74
|
-
/** Pairing messages whose edit failed: when the next try may be, and the delay after it (in memory — a restart tries at once). */
|
|
77
|
+
/** Pairing messages whose edit failed, by {@link getPairingMessageId}: when the next try may be, and the delay after it (in memory — a restart tries at once). */
|
|
75
78
|
const settleRetries = new Map();
|
|
76
79
|
let isWatchTickRunning = false;
|
|
77
80
|
let lastGeneration = 0;
|
|
78
81
|
let lastStoreProblem = null;
|
|
82
|
+
let lastClosedProblem = null;
|
|
79
83
|
/** Claim `messageId` for a render: whatever started from an earlier claim no longer draws on it. Returns the claim. */
|
|
80
84
|
function claimMessage(key, messageId, kind, page) {
|
|
81
85
|
lastGeneration += 1;
|
|
@@ -172,7 +176,28 @@ function createRunners(ports) {
|
|
|
172
176
|
armAddressWait(key);
|
|
173
177
|
await replyToThread(key, (0, i18n_1.t)('runners.addressRejected', { reason }));
|
|
174
178
|
}
|
|
175
|
-
/**
|
|
179
|
+
/** `intro`, the line in a `<pre>`, and `outro` when there is one — the HTML of a pairing message. */
|
|
180
|
+
function renderPairingMessage(intro, line, outro) {
|
|
181
|
+
return `${(0, renderAgentHtml_1.escapeHtmlText)(intro)}\n\n<pre>${(0, renderAgentHtml_1.escapeHtmlText)(line)}</pre>${outro === null ? '' : `\n\n${(0, renderAgentHtml_1.escapeHtmlText)(outro)}`}`;
|
|
182
|
+
}
|
|
183
|
+
/** Post a message that carries a pairing line (a secret: the trace keeps only its length) and remember it so it can turn into «paired» / «expired». */
|
|
184
|
+
async function postPairingLine(key, pairId, text) {
|
|
185
|
+
const messageId = await replyToThread(key, text, { parse_mode: 'HTML' }, { isSecret: true });
|
|
186
|
+
if (messageId === null)
|
|
187
|
+
return false;
|
|
188
|
+
try {
|
|
189
|
+
(0, runnerPairingMessages_1.addPairingMessage)(ports.pairingMessagesPath, { pairId, key: (0, sessionKey_1.keyToString)(key), messageId, offeredAtMs: now() });
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
// The line is out and works; only its turning into «paired» / «expired» is lost.
|
|
193
|
+
console.warn(`[${logTag}] the pairing message could not be recorded (${(0, configDirFile_1.getCaughtErrnoCode)(error)}); it will not turn into «paired» or «expired»`);
|
|
194
|
+
}
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Make a code and post the two lines that carry it, one message each (together they are longer than a Telegram message): the line for an
|
|
199
|
+
* ADMIN account first, the plain one second. Both settle together, whichever line is used.
|
|
200
|
+
*/
|
|
176
201
|
async function offerPairing(key, address, knownCheck) {
|
|
177
202
|
const check = knownCheck ?? (await (0, hubAddress_1.checkHubAddress)(address, ports.scanHostKey));
|
|
178
203
|
if (!check.ok) {
|
|
@@ -182,19 +207,14 @@ function createRunners(ports) {
|
|
|
182
207
|
try {
|
|
183
208
|
ports.ensureGateWrapper();
|
|
184
209
|
const pairing = await (0, hubPairing_1.createPairing)(hub, { host: address.host, port: address.port, hostKey: check.hostKey, label: ports.getBotLabel(), nowMs: now() });
|
|
185
|
-
const parts = (0, runnersScreenPlan_1.buildPairingMessageParts)(pairingTiming_1.pairingLifetimeMinutes, i18n_1.t);
|
|
186
|
-
|
|
187
|
-
const messageId = await replyToThread(key, text, { parse_mode: 'HTML' }, { isSecret: true });
|
|
188
|
-
if (messageId === null) {
|
|
210
|
+
const parts = (0, runnersScreenPlan_1.buildPairingMessageParts)(pairingTiming_1.pairingLifetimeMinutes, bootstrapLine_1.defaultRunnerAccount, i18n_1.t);
|
|
211
|
+
if (!(await postPairingLine(key, pairing.pairId, renderPairingMessage(parts.adminIntro, (0, bootstrapLine_1.buildAdminBootstrapLine)(pairing.payload, bootstrapLine_1.defaultRunnerAccount), null)))) {
|
|
189
212
|
await replyToThread(key, (0, i18n_1.t)('runners.pairFailedText', { reason: 'the message could not be sent' }));
|
|
190
213
|
return;
|
|
191
214
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
catch (error) {
|
|
196
|
-
// The line is out and works; only its turning into «paired» / «expired» is lost.
|
|
197
|
-
console.warn(`[${logTag}] the pairing message could not be recorded (${(0, configDirFile_1.getCaughtErrnoCode)(error)}); it will not turn into «paired» or «expired»`);
|
|
215
|
+
// The admin line is out and works whatever happens to this one.
|
|
216
|
+
if (!(await postPairingLine(key, pairing.pairId, renderPairingMessage(parts.alternativeIntro, (0, bootstrapLine_1.buildBootstrapLine)(pairing.payload), parts.alternativeOutro)))) {
|
|
217
|
+
console.warn(`[${logTag}] the second pairing message (the line for the runner account itself) could not be sent`);
|
|
198
218
|
}
|
|
199
219
|
}
|
|
200
220
|
catch (error) {
|
|
@@ -391,33 +411,51 @@ function createRunners(ports) {
|
|
|
391
411
|
lastStoreProblem = problem;
|
|
392
412
|
if (pending.some((pairing) => pairing.expiresAtMs <= nowMs))
|
|
393
413
|
await ports.sweepExpiredCodes(nowMs);
|
|
394
|
-
const
|
|
414
|
+
const settledMessageIds = new Set();
|
|
415
|
+
/** The closed codes — read when a message first settles without a runner, and not before, and not on a look that has nothing to settle. */
|
|
416
|
+
let closedPairIds = null;
|
|
417
|
+
/** Is `pairId` a code that was closed unused AND is gone from the pending list? A trace of a code that is still listed (its write was followed by a failed one) is not a closing. */
|
|
418
|
+
const checkIsClosed = (pairId) => {
|
|
419
|
+
if (pending.some((pairing) => pairing.pairId === pairId))
|
|
420
|
+
return false;
|
|
421
|
+
if (closedPairIds === null) {
|
|
422
|
+
// After the pending list: a code is noted as closed BEFORE it leaves that list, so a code seen gone from it is already noted here.
|
|
423
|
+
const { codes, problem } = (0, hubRegistry_1.readClosedCodes)(hub.dir);
|
|
424
|
+
// A broken trace file fails every read: say it once, not at every look.
|
|
425
|
+
if (problem !== null && problem !== lastClosedProblem)
|
|
426
|
+
console.warn(`[${logTag}] ${problem}`);
|
|
427
|
+
lastClosedProblem = problem;
|
|
428
|
+
closedPairIds = new Set(codes.map((entry) => entry.pairId));
|
|
429
|
+
}
|
|
430
|
+
return closedPairIds.has(pairId);
|
|
431
|
+
};
|
|
395
432
|
for (const message of messages) {
|
|
396
|
-
|
|
433
|
+
const messageId = (0, runnerPairingMessages_1.getPairingMessageId)(message);
|
|
434
|
+
if ((settleRetries.get(messageId)?.nextAttemptAtMs ?? 0) > nowMs)
|
|
397
435
|
continue;
|
|
398
436
|
const runner = runners.find((candidate) => candidate.pairId === message.pairId);
|
|
399
437
|
const isOpen = pending.some((pairing) => pairing.pairId === message.pairId && pairing.expiresAtMs > nowMs);
|
|
400
438
|
if (runner === undefined && isOpen)
|
|
401
439
|
continue;
|
|
402
440
|
const key = (0, sessionKey_1.keyFromString)(message.key);
|
|
403
|
-
const isEdited = await withThreadLocale(key, () => editThreadMessage(key, message.messageId, runner
|
|
441
|
+
const isEdited = await withThreadLocale(key, () => editThreadMessage(key, message.messageId, runner !== undefined ? (0, runnersScreenPlan_1.buildPairedText)(runner.name, runner.pairedAtMs, i18n_1.t, exports.formatRunnersTime) : checkIsClosed(message.pairId) ? (0, runnersScreenPlan_1.buildClosedText)(i18n_1.t) : (0, runnersScreenPlan_1.buildExpiredText)(i18n_1.t)));
|
|
404
442
|
if (isEdited) {
|
|
405
|
-
|
|
406
|
-
settleRetries.delete(
|
|
443
|
+
settledMessageIds.add(messageId);
|
|
444
|
+
settleRetries.delete(messageId);
|
|
407
445
|
continue;
|
|
408
446
|
}
|
|
409
447
|
if (nowMs - (message.firstFailedAtMs ?? nowMs) > pairingMessageGiveUpAfterFailingMs) {
|
|
410
448
|
console.warn(`[${logTag}] a pairing message could not be edited for a day; giving up on it`);
|
|
411
|
-
|
|
412
|
-
settleRetries.delete(
|
|
449
|
+
settledMessageIds.add(messageId);
|
|
450
|
+
settleRetries.delete(messageId);
|
|
413
451
|
continue;
|
|
414
452
|
}
|
|
415
|
-
(0, runnerPairingMessages_1.markPairingMessageFailed)(ports.pairingMessagesPath, message
|
|
416
|
-
const delayMs = Math.min((settleRetries.get(
|
|
417
|
-
settleRetries.set(
|
|
453
|
+
(0, runnerPairingMessages_1.markPairingMessageFailed)(ports.pairingMessagesPath, message, nowMs);
|
|
454
|
+
const delayMs = Math.min((settleRetries.get(messageId)?.delayMs ?? settleRetryFirstDelayMs / 2) * 2, settleRetryMaxDelayMs);
|
|
455
|
+
settleRetries.set(messageId, { nextAttemptAtMs: nowMs + delayMs, delayMs });
|
|
418
456
|
}
|
|
419
|
-
if (
|
|
420
|
-
(0, runnerPairingMessages_1.removePairingMessages)(ports.pairingMessagesPath,
|
|
457
|
+
if (settledMessageIds.size > 0)
|
|
458
|
+
(0, runnerPairingMessages_1.removePairingMessages)(ports.pairingMessagesPath, settledMessageIds);
|
|
421
459
|
}
|
|
422
460
|
/**
|
|
423
461
|
* Keep the `gate` wrapper that the runners' `authorized_keys` lines run pointing at THIS install (a Node upgrade or a moved checkout would
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runners.js","sourceRoot":"","sources":["../../../../src/connectors/telegram/commands/runners.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runners.js","sourceRoot":"","sources":["../../../../src/connectors/telegram/commands/runners.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,11 +17,13 @@ export interface PairingMessagesRead {
|
|
|
17
17
|
export declare function readPairingMessages(filePath: string): PairingMessagesRead;
|
|
18
18
|
/** @description Write the entries (the newest {@link maxEntries}), through a temp file and a rename. */
|
|
19
19
|
export declare function writePairingMessages(filePath: string, messages: readonly PairingMessage[]): void;
|
|
20
|
-
/** @description
|
|
20
|
+
/** @description What names one message of the record: its code and its Telegram message id (a conversation holds both messages of a code). */
|
|
21
|
+
export declare function getPairingMessageId(message: Pick<PairingMessage, 'pairId' | 'messageId'>): string;
|
|
22
|
+
/** @description Add `message` (an older entry for the same message is replaced; the code's other message stays). */
|
|
21
23
|
export declare function addPairingMessage(filePath: string, message: PairingMessage): void;
|
|
22
|
-
/** @description Take the entries
|
|
23
|
-
export declare function removePairingMessages(filePath: string,
|
|
24
|
-
/** @description Note that an edit of
|
|
25
|
-
export declare function markPairingMessageFailed(filePath: string,
|
|
24
|
+
/** @description Take the entries named by `messageIds` ({@link getPairingMessageId}) out. */
|
|
25
|
+
export declare function removePairingMessages(filePath: string, messageIds: ReadonlySet<string>): void;
|
|
26
|
+
/** @description Note that an edit of `message` failed at `nowMs`: the first failure is kept, later ones change nothing. */
|
|
27
|
+
export declare function markPairingMessageFailed(filePath: string, message: Pick<PairingMessage, 'pairId' | 'messageId'>, nowMs: number): void;
|
|
26
28
|
export {};
|
|
27
29
|
//# sourceMappingURL=runnerPairingMessages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runnerPairingMessages.d.ts","sourceRoot":"","sources":["../../../src/connectors/telegram/runnerPairingMessages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"runnerPairingMessages.d.ts","sourceRoot":"","sources":["../../../src/connectors/telegram/runnerPairingMessages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,QAAA,MAAM,oBAAoB;;;;;;kBAOxB,CAAC;AAIH,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,6HAA6H;IAC7H,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,qJAAqJ;AACrJ,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAazE;AAED,wGAAwG;AACxG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI,CAEhG;AAED,8IAA8I;AAC9I,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,MAAM,CAEjG;AAED,oHAAoH;AACpH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAGjF;AAED,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAG7F;AAED,2HAA2H;AAC3H,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKrI"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.readPairingMessages = readPairingMessages;
|
|
37
37
|
exports.writePairingMessages = writePairingMessages;
|
|
38
|
+
exports.getPairingMessageId = getPairingMessageId;
|
|
38
39
|
exports.addPairingMessage = addPairingMessage;
|
|
39
40
|
exports.removePairingMessages = removePairingMessages;
|
|
40
41
|
exports.markPairingMessageFailed = markPairingMessageFailed;
|
|
@@ -44,7 +45,8 @@ const configDirFile_1 = require("../../configDirFile");
|
|
|
44
45
|
const hubIds_1 = require("../../runners/hubIds");
|
|
45
46
|
/**
|
|
46
47
|
* @description The pairing messages this INSTANCE has sent and not yet settled — the one record of "which message offers which code"
|
|
47
|
-
* (`DATA_DIR/runner-pairing-messages.json`).
|
|
48
|
+
* (`DATA_DIR/runner-pairing-messages.json`). One code is offered in TWO messages (the admin line and the plain one: together they would
|
|
49
|
+
* not fit one Telegram message), so an entry is one MESSAGE, found by {@link getPairingMessageId}, and a code has two entries. It is the instance's own: the hub registry is shared by every charness of the OS user and
|
|
48
50
|
* holds the credentials only, so a message of this bot is never adopted by another bot, and a credential swept or spent (while this bot
|
|
49
51
|
* was down, or by another instance) does not take the way back to its message with it. An entry stays until the message was edited to
|
|
50
52
|
* what became of its code (paired / expired) and Telegram accepted the edit — or until edits of it have been FAILING for a day: the
|
|
@@ -85,21 +87,26 @@ function readPairingMessages(filePath) {
|
|
|
85
87
|
function writePairingMessages(filePath, messages) {
|
|
86
88
|
(0, configDirFile_1.writeJsonFileAtomically)(filePath, { messages: messages.slice(-maxEntries) }, fileMode);
|
|
87
89
|
}
|
|
88
|
-
/** @description
|
|
90
|
+
/** @description What names one message of the record: its code and its Telegram message id (a conversation holds both messages of a code). */
|
|
91
|
+
function getPairingMessageId(message) {
|
|
92
|
+
return `${message.pairId}:${message.messageId}`;
|
|
93
|
+
}
|
|
94
|
+
/** @description Add `message` (an older entry for the same message is replaced; the code's other message stays). */
|
|
89
95
|
function addPairingMessage(filePath, message) {
|
|
90
96
|
const { messages } = readPairingMessages(filePath);
|
|
91
|
-
writePairingMessages(filePath, [...messages.filter((candidate) => candidate
|
|
97
|
+
writePairingMessages(filePath, [...messages.filter((candidate) => getPairingMessageId(candidate) !== getPairingMessageId(message)), message]);
|
|
92
98
|
}
|
|
93
|
-
/** @description Take the entries
|
|
94
|
-
function removePairingMessages(filePath,
|
|
99
|
+
/** @description Take the entries named by `messageIds` ({@link getPairingMessageId}) out. */
|
|
100
|
+
function removePairingMessages(filePath, messageIds) {
|
|
95
101
|
const { messages } = readPairingMessages(filePath);
|
|
96
|
-
writePairingMessages(filePath, messages.filter((candidate) => !
|
|
102
|
+
writePairingMessages(filePath, messages.filter((candidate) => !messageIds.has(getPairingMessageId(candidate))));
|
|
97
103
|
}
|
|
98
|
-
/** @description Note that an edit of
|
|
99
|
-
function markPairingMessageFailed(filePath,
|
|
104
|
+
/** @description Note that an edit of `message` failed at `nowMs`: the first failure is kept, later ones change nothing. */
|
|
105
|
+
function markPairingMessageFailed(filePath, message, nowMs) {
|
|
100
106
|
const { messages } = readPairingMessages(filePath);
|
|
101
|
-
|
|
107
|
+
const messageId = getPairingMessageId(message);
|
|
108
|
+
if (!messages.some((candidate) => getPairingMessageId(candidate) === messageId && candidate.firstFailedAtMs === undefined))
|
|
102
109
|
return;
|
|
103
|
-
writePairingMessages(filePath, messages.map((candidate) => (candidate
|
|
110
|
+
writePairingMessages(filePath, messages.map((candidate) => (getPairingMessageId(candidate) === messageId && candidate.firstFailedAtMs === undefined ? { ...candidate, firstFailedAtMs: nowMs } : candidate)));
|
|
104
111
|
}
|
|
105
112
|
//# sourceMappingURL=runnerPairingMessages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runnerPairingMessages.js","sourceRoot":"","sources":["../../../src/connectors/telegram/runnerPairingMessages.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"runnerPairingMessages.js","sourceRoot":"","sources":["../../../src/connectors/telegram/runnerPairingMessages.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/de.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../src/i18n/de.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../src/i18n/de.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4rCzC,CAAC"}
|
package/dist/i18n/de.js
CHANGED
|
@@ -1072,8 +1072,8 @@ exports.deDict = {
|
|
|
1072
1072
|
'runners.pausedToast': '⏸ {name} pausiert',
|
|
1073
1073
|
'runners.resumedToast': '▶️ {name} läuft wieder',
|
|
1074
1074
|
'runners.removedJobsStoppedText': '✅ {name} entfernt. Sein Schlüssel ist gelöscht, die Jobs, die dort liefen, sind beendet.',
|
|
1075
|
-
'runners.removedJobsOfflineText': '✅ {name} entfernt. Sein Schlüssel ist gelöscht. Der Rechner ist offline, daher wurden seine Jobs von hier aus nicht beendet: Er beendet sie selbst, sobald
|
|
1076
|
-
'runners.removedJobsFailedText': '✅ {name} entfernt. Sein Schlüssel ist gelöscht, aber die Jobs, die dort liefen, konnten von hier aus nicht beendet werden: Der Rechner beendet sie selbst, sobald
|
|
1075
|
+
'runners.removedJobsOfflineText': '✅ {name} entfernt. Sein Schlüssel ist gelöscht. Der Rechner ist offline, daher wurden seine Jobs von hier aus nicht beendet: Er beendet sie selbst, sobald sein Schlüssel {hours} h lang abgelehnt wird.',
|
|
1076
|
+
'runners.removedJobsFailedText': '✅ {name} entfernt. Sein Schlüssel ist gelöscht, aber die Jobs, die dort liefen, konnten von hier aus nicht beendet werden: Der Rechner beendet sie selbst, sobald sein Schlüssel {hours} h lang abgelehnt wird.',
|
|
1077
1077
|
'runners.removeConfirmText': '{name} entfernen? Sein Schlüssel wird gelöscht und er verbindet sich nicht mehr. Dort laufende Jobs werden beendet.',
|
|
1078
1078
|
'runners.removeConfirmButton': 'Entfernen',
|
|
1079
1079
|
'runners.removeCancelButton': 'Abbrechen',
|
|
@@ -1086,10 +1086,12 @@ exports.deDict = {
|
|
|
1086
1086
|
'runners.addressRejected': '⚠️ {reason}\n\nSende eine andere Adresse oder öffne /runners erneut.',
|
|
1087
1087
|
'runners.addressNote': 'ℹ️ {note}',
|
|
1088
1088
|
'runners.addressExpired': 'Diese Frage ist veraltet — öffne /runners und beginne neu.',
|
|
1089
|
-
'runners.
|
|
1090
|
-
'runners.
|
|
1089
|
+
'runners.pairingAdminIntro': 'Runner koppeln — gültig {minutes} Minuten, einmalig verwendbar.\n\n① Von einem Administratorkonto der Runner-Maschine: koppelt „{account}“ (das letzte Wort — bei Bedarf ändern) und hält es am Laufen. Führt Code von diesem charness-Host als root auf der Maschine aus:',
|
|
1090
|
+
'runners.pairingAlternativeIntro': '② Ohne Administratorrechte: Führe diese Zeile im Terminal des Runner-Kontos selbst aus:',
|
|
1091
|
+
'runners.pairingAlternativeOutro': 'Das Konto muss bereits existieren und ein normales Konto sein, nicht dein Hauptkonto — es führt den Code der Agenten aus. Wer eine der beiden Zeilen hat, kann eine Maschine mit diesem charness verbinden, bis eine davon benutzt wird oder abläuft.',
|
|
1091
1092
|
'runners.pairedText': 'Runner „{name}“ gekoppelt {time}.',
|
|
1092
1093
|
'runners.expiredText': 'Der Kopplungscode ist abgelaufen.',
|
|
1094
|
+
'runners.closedText': 'Diese Zeile wurde auf einer bereits gekoppelten Maschine verwendet — es wurde nichts Neues gekoppelt.',
|
|
1093
1095
|
'runners.pairFailedText': '⚠️ Die Kopplungszeile konnte nicht erstellt werden: {reason}',
|
|
1094
1096
|
'runners.registryErrorText': '⚠️ Das Runner-Register ist nicht lesbar: {reason}',
|
|
1095
1097
|
};
|