@jungjaehoon/mama-os 0.78.0 → 0.79.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 +311 -0
- package/README.md +38 -24
- package/db/migrations/002-model-runs-parent-index.sql +11 -0
- package/db/migrations/003-upkeep-settled.sql +15 -0
- package/dist/api/google-read-actions.d.ts +30 -0
- package/dist/api/google-read-actions.d.ts.map +1 -0
- package/dist/api/google-read-actions.js +256 -0
- package/dist/api/google-read-actions.js.map +1 -0
- package/dist/api/record-actions.d.ts.map +1 -1
- package/dist/api/record-actions.js +23 -5
- package/dist/api/record-actions.js.map +1 -1
- package/dist/api/report-handler.d.ts +0 -6
- package/dist/api/report-handler.d.ts.map +1 -1
- package/dist/api/report-handler.js +0 -54
- package/dist/api/report-handler.js.map +1 -1
- package/dist/api/security-events.d.ts +1 -1
- package/dist/api/security-events.d.ts.map +1 -1
- package/dist/api/security-events.js.map +1 -1
- package/dist/api/source-actions.d.ts +9 -0
- package/dist/api/source-actions.d.ts.map +1 -1
- package/dist/api/source-actions.js +49 -0
- package/dist/api/source-actions.js.map +1 -1
- package/dist/api/viewer-request-security.d.ts +14 -1
- package/dist/api/viewer-request-security.d.ts.map +1 -1
- package/dist/api/viewer-request-security.js +26 -3
- package/dist/api/viewer-request-security.js.map +1 -1
- package/dist/api/viewer-server.d.ts +7 -0
- package/dist/api/viewer-server.d.ts.map +1 -1
- package/dist/api/viewer-server.js +32 -0
- package/dist/api/viewer-server.js.map +1 -1
- package/dist/api/work-actions.d.ts +19 -2
- package/dist/api/work-actions.d.ts.map +1 -1
- package/dist/api/work-actions.js +15 -0
- package/dist/api/work-actions.js.map +1 -1
- package/dist/cli/commands/backup.d.ts +7 -6
- package/dist/cli/commands/backup.d.ts.map +1 -1
- package/dist/cli/commands/backup.js +44 -7
- package/dist/cli/commands/backup.js.map +1 -1
- package/dist/cli/commands/control.d.ts +22 -4
- package/dist/cli/commands/control.d.ts.map +1 -1
- package/dist/cli/commands/control.js +172 -11
- package/dist/cli/commands/control.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts +13 -2
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +211 -5
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/init-questions.d.ts +98 -0
- package/dist/cli/commands/init-questions.d.ts.map +1 -0
- package/dist/cli/commands/init-questions.js +420 -0
- package/dist/cli/commands/init-questions.js.map +1 -0
- package/dist/cli/commands/init-section.d.ts +13 -0
- package/dist/cli/commands/init-section.d.ts.map +1 -0
- package/dist/cli/commands/init-section.js +375 -0
- package/dist/cli/commands/init-section.js.map +1 -0
- package/dist/cli/commands/init.d.ts +56 -2
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +562 -351
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/node-move.d.ts +20 -0
- package/dist/cli/commands/node-move.d.ts.map +1 -0
- package/dist/cli/commands/node-move.js +289 -0
- package/dist/cli/commands/node-move.js.map +1 -0
- package/dist/cli/commands/register-owner.d.ts +3 -0
- package/dist/cli/commands/register-owner.d.ts.map +1 -1
- package/dist/cli/commands/register-owner.js +2 -0
- package/dist/cli/commands/register-owner.js.map +1 -1
- package/dist/cli/commands/restore.d.ts +2 -0
- package/dist/cli/commands/restore.d.ts.map +1 -1
- package/dist/cli/commands/restore.js +7 -0
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/service.d.ts +16 -0
- package/dist/cli/commands/service.d.ts.map +1 -1
- package/dist/cli/commands/service.js +36 -8
- package/dist/cli/commands/service.js.map +1 -1
- package/dist/cli/commands/tools.d.ts +1 -1
- package/dist/cli/commands/tools.d.ts.map +1 -1
- package/dist/cli/commands/tools.js +8 -3
- package/dist/cli/commands/tools.js.map +1 -1
- package/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/dist/cli/commands/uninstall.js +78 -5
- package/dist/cli/commands/uninstall.js.map +1 -1
- package/dist/cli/commands/update.d.ts +59 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +948 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/index.js +8 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/launch-files.d.ts +36 -0
- package/dist/cli/launch-files.d.ts.map +1 -1
- package/dist/cli/launch-files.js +94 -1
- package/dist/cli/launch-files.js.map +1 -1
- package/dist/cli/prompt.d.ts +2 -1
- package/dist/cli/prompt.d.ts.map +1 -1
- package/dist/cli/prompt.js +5 -2
- package/dist/cli/prompt.js.map +1 -1
- package/dist/cli/runtime/backup.d.ts +17 -1
- package/dist/cli/runtime/backup.d.ts.map +1 -1
- package/dist/cli/runtime/backup.js +32 -4
- package/dist/cli/runtime/backup.js.map +1 -1
- package/dist/cli/runtime/daemon-control.d.ts +92 -7
- package/dist/cli/runtime/daemon-control.d.ts.map +1 -1
- package/dist/cli/runtime/daemon-control.js +183 -8
- package/dist/cli/runtime/daemon-control.js.map +1 -1
- package/dist/cli/runtime/default-roots.d.ts +27 -0
- package/dist/cli/runtime/default-roots.d.ts.map +1 -0
- package/dist/cli/runtime/default-roots.js +61 -0
- package/dist/cli/runtime/default-roots.js.map +1 -0
- package/dist/cli/runtime/diagnostics.d.ts +25 -0
- package/dist/cli/runtime/diagnostics.d.ts.map +1 -1
- package/dist/cli/runtime/diagnostics.js +249 -63
- package/dist/cli/runtime/diagnostics.js.map +1 -1
- package/dist/cli/runtime/init-state.d.ts +20 -0
- package/dist/cli/runtime/init-state.d.ts.map +1 -0
- package/dist/cli/runtime/init-state.js +51 -0
- package/dist/cli/runtime/init-state.js.map +1 -0
- package/dist/cli/runtime/install-kind.d.ts +54 -0
- package/dist/cli/runtime/install-kind.d.ts.map +1 -0
- package/dist/cli/runtime/install-kind.js +164 -0
- package/dist/cli/runtime/install-kind.js.map +1 -0
- package/dist/cli/runtime/node-move-journal.d.ts +44 -0
- package/dist/cli/runtime/node-move-journal.d.ts.map +1 -0
- package/dist/cli/runtime/node-move-journal.js +48 -0
- package/dist/cli/runtime/node-move-journal.js.map +1 -0
- package/dist/cli/runtime/release-check.d.ts +94 -0
- package/dist/cli/runtime/release-check.d.ts.map +1 -0
- package/dist/cli/runtime/release-check.js +316 -0
- package/dist/cli/runtime/release-check.js.map +1 -0
- package/dist/cli/runtime/setup-page.d.ts +57 -0
- package/dist/cli/runtime/setup-page.d.ts.map +1 -0
- package/dist/cli/runtime/setup-page.js +266 -0
- package/dist/cli/runtime/setup-page.js.map +1 -0
- package/dist/cli/runtime/source-tools.d.ts +60 -0
- package/dist/cli/runtime/source-tools.d.ts.map +1 -0
- package/dist/cli/runtime/source-tools.js +170 -0
- package/dist/cli/runtime/source-tools.js.map +1 -0
- package/dist/cli/runtime/telegram-pairing.d.ts +73 -0
- package/dist/cli/runtime/telegram-pairing.d.ts.map +1 -0
- package/dist/cli/runtime/telegram-pairing.js +184 -0
- package/dist/cli/runtime/telegram-pairing.js.map +1 -0
- package/dist/cli/runtime/update-journal.d.ts +135 -0
- package/dist/cli/runtime/update-journal.d.ts.map +1 -0
- package/dist/cli/runtime/update-journal.js +144 -0
- package/dist/cli/runtime/update-journal.js.map +1 -0
- package/dist/cli/runtime/update-progress.d.ts +95 -0
- package/dist/cli/runtime/update-progress.d.ts.map +1 -0
- package/dist/cli/runtime/update-progress.js +154 -0
- package/dist/cli/runtime/update-progress.js.map +1 -0
- package/dist/cli/runtime/update-request.d.ts +58 -0
- package/dist/cli/runtime/update-request.d.ts.map +1 -0
- package/dist/cli/runtime/update-request.js +172 -0
- package/dist/cli/runtime/update-request.js.map +1 -0
- package/dist/connectors/calendar/index.d.ts +5 -1
- package/dist/connectors/calendar/index.d.ts.map +1 -1
- package/dist/connectors/calendar/index.js +19 -28
- package/dist/connectors/calendar/index.js.map +1 -1
- package/dist/connectors/chatwork/index.d.ts.map +1 -1
- package/dist/connectors/chatwork/index.js +7 -3
- package/dist/connectors/chatwork/index.js.map +1 -1
- package/dist/connectors/config-loader.d.ts +5 -0
- package/dist/connectors/config-loader.d.ts.map +1 -1
- package/dist/connectors/config-loader.js +8 -0
- package/dist/connectors/config-loader.js.map +1 -1
- package/dist/connectors/discord/index.d.ts.map +1 -1
- package/dist/connectors/discord/index.js +4 -3
- package/dist/connectors/discord/index.js.map +1 -1
- package/dist/connectors/drive/index.d.ts.map +1 -1
- package/dist/connectors/drive/index.js +15 -13
- package/dist/connectors/drive/index.js.map +1 -1
- package/dist/connectors/framework/gws-utils.d.ts +62 -0
- package/dist/connectors/framework/gws-utils.d.ts.map +1 -1
- package/dist/connectors/framework/gws-utils.js +133 -3
- package/dist/connectors/framework/gws-utils.js.map +1 -1
- package/dist/connectors/framework/types.d.ts +24 -0
- package/dist/connectors/framework/types.d.ts.map +1 -1
- package/dist/connectors/framework/types.js +9 -0
- package/dist/connectors/framework/types.js.map +1 -1
- package/dist/connectors/gmail/index.d.ts.map +1 -1
- package/dist/connectors/gmail/index.js +14 -13
- package/dist/connectors/gmail/index.js.map +1 -1
- package/dist/connectors/index.d.ts +4 -4
- package/dist/connectors/index.d.ts.map +1 -1
- package/dist/connectors/index.js +4 -10
- package/dist/connectors/index.js.map +1 -1
- package/dist/connectors/notion/index.d.ts.map +1 -1
- package/dist/connectors/notion/index.js +5 -3
- package/dist/connectors/notion/index.js.map +1 -1
- package/dist/connectors/sheets/index.d.ts.map +1 -1
- package/dist/connectors/sheets/index.js +17 -12
- package/dist/connectors/sheets/index.js.map +1 -1
- package/dist/connectors/slack/index.d.ts.map +1 -1
- package/dist/connectors/slack/index.js +9 -3
- package/dist/connectors/slack/index.js.map +1 -1
- package/dist/connectors/telegram/index.d.ts.map +1 -1
- package/dist/connectors/telegram/index.js +4 -3
- package/dist/connectors/telegram/index.js.map +1 -1
- package/dist/connectors/trello/index.d.ts +1 -1
- package/dist/connectors/trello/index.d.ts.map +1 -1
- package/dist/connectors/trello/index.js +10 -5
- package/dist/connectors/trello/index.js.map +1 -1
- package/dist/gateways/discord.d.ts +6 -0
- package/dist/gateways/discord.d.ts.map +1 -1
- package/dist/gateways/discord.js +38 -27
- package/dist/gateways/discord.js.map +1 -1
- package/dist/gateways/slack.d.ts +6 -0
- package/dist/gateways/slack.d.ts.map +1 -1
- package/dist/gateways/slack.js +38 -27
- package/dist/gateways/slack.js.map +1 -1
- package/dist/gateways/telegram-commands.d.ts +124 -0
- package/dist/gateways/telegram-commands.d.ts.map +1 -0
- package/dist/gateways/telegram-commands.js +131 -0
- package/dist/gateways/telegram-commands.js.map +1 -0
- package/dist/gateways/telegram.d.ts +20 -0
- package/dist/gateways/telegram.d.ts.map +1 -1
- package/dist/gateways/telegram.js +138 -34
- package/dist/gateways/telegram.js.map +1 -1
- package/dist/gateways/turn-contract.d.ts +11 -0
- package/dist/gateways/turn-contract.d.ts.map +1 -1
- package/dist/runtime/action-surface.d.ts +1 -1
- package/dist/runtime/action-surface.d.ts.map +1 -1
- package/dist/runtime/action-surface.js +10 -0
- package/dist/runtime/action-surface.js.map +1 -1
- package/dist/runtime/backend-security.d.ts +23 -2
- package/dist/runtime/backend-security.d.ts.map +1 -1
- package/dist/runtime/backend-security.js +50 -5
- package/dist/runtime/backend-security.js.map +1 -1
- package/dist/runtime/member-paths.d.ts +15 -7
- package/dist/runtime/member-paths.d.ts.map +1 -1
- package/dist/runtime/member-paths.js +64 -12
- package/dist/runtime/member-paths.js.map +1 -1
- package/dist/runtime/member-session.d.ts +4 -0
- package/dist/runtime/member-session.d.ts.map +1 -1
- package/dist/runtime/member-session.js +23 -2
- package/dist/runtime/member-session.js.map +1 -1
- package/dist/runtime/native-session.d.ts +2 -0
- package/dist/runtime/native-session.d.ts.map +1 -1
- package/dist/runtime/native-session.js +1 -0
- package/dist/runtime/native-session.js.map +1 -1
- package/dist/runtime/owner-runtime.d.ts +63 -1
- package/dist/runtime/owner-runtime.d.ts.map +1 -1
- package/dist/runtime/owner-runtime.js +180 -3
- package/dist/runtime/owner-runtime.js.map +1 -1
- package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
- package/dist/runtime/owner-system-prompt.js +0 -1
- package/dist/runtime/owner-system-prompt.js.map +1 -1
- package/dist/runtime/principal-access.d.ts +2 -0
- package/dist/runtime/principal-access.d.ts.map +1 -1
- package/dist/runtime/principal-access.js +7 -0
- package/dist/runtime/principal-access.js.map +1 -1
- package/dist/runtime/principal-sessions.d.ts.map +1 -1
- package/dist/runtime/principal-sessions.js +8 -1
- package/dist/runtime/principal-sessions.js.map +1 -1
- package/dist/runtime/record-orders.d.ts.map +1 -1
- package/dist/runtime/record-orders.js +3 -29
- package/dist/runtime/record-orders.js.map +1 -1
- package/dist/runtime/report-scheduler.d.ts +9 -2
- package/dist/runtime/report-scheduler.d.ts.map +1 -1
- package/dist/runtime/report-scheduler.js +37 -10
- package/dist/runtime/report-scheduler.js.map +1 -1
- package/dist/runtime/stimulus-delivery.d.ts +3 -0
- package/dist/runtime/stimulus-delivery.d.ts.map +1 -1
- package/dist/runtime/stimulus-delivery.js +19 -3
- package/dist/runtime/stimulus-delivery.js.map +1 -1
- package/dist/runtime/tools-paths.d.ts +7 -0
- package/dist/runtime/tools-paths.d.ts.map +1 -1
- package/dist/runtime/tools-paths.js +11 -5
- package/dist/runtime/tools-paths.js.map +1 -1
- package/dist/runtime/upkeep-close.d.ts +17 -0
- package/dist/runtime/upkeep-close.d.ts.map +1 -0
- package/dist/runtime/upkeep-close.js +127 -0
- package/dist/runtime/upkeep-close.js.map +1 -0
- package/dist/runtime/upkeep-orders.d.ts +124 -0
- package/dist/runtime/upkeep-orders.d.ts.map +1 -0
- package/dist/runtime/upkeep-orders.js +310 -0
- package/dist/runtime/upkeep-orders.js.map +1 -0
- package/dist/runtime/upkeep-reconcile.d.ts +25 -0
- package/dist/runtime/upkeep-reconcile.d.ts.map +1 -0
- package/dist/runtime/upkeep-reconcile.js +231 -0
- package/dist/runtime/upkeep-reconcile.js.map +1 -0
- package/dist/runtime/upkeep-writeback.d.ts +22 -0
- package/dist/runtime/upkeep-writeback.d.ts.map +1 -0
- package/dist/runtime/upkeep-writeback.js +203 -0
- package/dist/runtime/upkeep-writeback.js.map +1 -0
- package/dist/utils/untrusted-content.d.ts.map +1 -1
- package/dist/utils/untrusted-content.js +8 -1
- package/dist/utils/untrusted-content.js.map +1 -1
- package/install/install.sh +457 -0
- package/install/node.json +9 -0
- package/package.json +3 -4
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STATUS_STOPPED_EXIT = void 0;
|
|
3
|
+
exports.CONTROL_WAIT_MS = exports.STATUS_STOPPED_EXIT = void 0;
|
|
4
4
|
exports.runStatus = runStatus;
|
|
5
5
|
exports.runStop = runStop;
|
|
6
6
|
const node_os_1 = require("node:os");
|
|
7
|
+
const node_path_1 = require("node:path");
|
|
8
|
+
const config_js_1 = require("../../runtime/config.js");
|
|
7
9
|
const prompt_js_1 = require("../prompt.js");
|
|
10
|
+
const release_check_js_1 = require("../runtime/release-check.js");
|
|
11
|
+
const node_move_journal_js_1 = require("../runtime/node-move-journal.js");
|
|
12
|
+
const update_journal_js_1 = require("../runtime/update-journal.js");
|
|
8
13
|
const daemon_control_js_1 = require("../runtime/daemon-control.js");
|
|
9
14
|
const systemd_service_js_1 = require("../runtime/systemd-service.js");
|
|
10
15
|
const daemon_js_1 = require("./daemon.js");
|
|
11
16
|
/** `mama status` exits 0 while the daemon runs and 3 when nothing serves the install. */
|
|
12
17
|
exports.STATUS_STOPPED_EXIT = 3;
|
|
18
|
+
/**
|
|
19
|
+
* How long `mama stop` reads again while the install's holder is half made. A daemon takes the
|
|
20
|
+
* install's lock, writes its holder file and opens its control socket in one stretch at the start
|
|
21
|
+
* of its boot, before it reads its config or starts anything that claims work (daemon.ts,
|
|
22
|
+
* bootDaemon). At its own stop it closes the socket, removes the file and lets go of the lock in
|
|
23
|
+
* one stretch too (daemon.ts:614-623); before that, while it still shuts down with the socket
|
|
24
|
+
* open, it refuses a drain at once ("MAMA is stopping"). A stop that reads in either stretch finds
|
|
25
|
+
* the lock held with no holder file (`unknown`, pid 0), which every stop reads again, or a daemon
|
|
26
|
+
* that does not answer, which the drained stop tries again. No turn runs then, and the stretch is
|
|
27
|
+
* a few file operations, so past this bound the holder is not starting or ending.
|
|
28
|
+
*/
|
|
29
|
+
exports.CONTROL_WAIT_MS = 5_000;
|
|
13
30
|
function localTime(ms) {
|
|
14
31
|
return typeof ms === 'number' ? new Date(ms).toLocaleString('sv-SE') : 'unknown';
|
|
15
32
|
}
|
|
@@ -18,10 +35,18 @@ function holderLine(holder) {
|
|
|
18
35
|
}
|
|
19
36
|
function statusLines(status) {
|
|
20
37
|
const lines = [
|
|
21
|
-
`running: ${String(status.command)} (pid ${String(status.pid)}, version ${String(status.version)}, since ${localTime(status.startedAt)})`,
|
|
38
|
+
`running: ${String(status.command)} (pid ${String(status.pid)}, version ${String(status.version)}${typeof status.node === 'string' ? `, Node.js ${status.node}` : ''}, since ${localTime(status.startedAt)})`,
|
|
22
39
|
];
|
|
23
40
|
if (status.stage !== 'running')
|
|
24
41
|
lines.push(`boot stage: ${String(status.stage)}`);
|
|
42
|
+
const drain = status.drain;
|
|
43
|
+
if (drain) {
|
|
44
|
+
lines.push(`claims held for ${drain.holds === 1 ? 'a drain' : `${drain.holds} drains`} since ${localTime(drain.since)}: new inputs wait`);
|
|
45
|
+
}
|
|
46
|
+
const update = status.update;
|
|
47
|
+
if (update) {
|
|
48
|
+
lines.push(`claims held since ${localTime(update.since)} for the update to ${update.to}: new inputs wait until mama update confirms it`);
|
|
49
|
+
}
|
|
25
50
|
const turns = Array.isArray(status.runningTurns)
|
|
26
51
|
? status.runningTurns
|
|
27
52
|
: [];
|
|
@@ -64,14 +89,55 @@ async function runStatus(args, options = {}) {
|
|
|
64
89
|
service = `unknown (${error instanceof Error ? error.message : String(error)})`;
|
|
65
90
|
}
|
|
66
91
|
const reply = await (0, daemon_js_1.askDaemon)('status', options);
|
|
92
|
+
// The daemon's last release check, from its file: it outlives the daemon, and nothing here asks
|
|
93
|
+
// the registry.
|
|
94
|
+
const home = options.home ?? (0, node_os_1.homedir)();
|
|
95
|
+
const release = (0, release_check_js_1.releaseReport)((0, node_path_1.dirname)(options.configPath ?? (0, config_js_1.defaultConfigPath)(home)), home);
|
|
96
|
+
const releaseLines = () => release === null
|
|
97
|
+
? []
|
|
98
|
+
: [
|
|
99
|
+
`release: ${release.detail}${release.context ? ` (${release.context})` : ''}`,
|
|
100
|
+
...(release.steps ?? []).map((step) => ` update: ${step}`),
|
|
101
|
+
...(release.fix === undefined ? [] : [` fix: ${release.fix}`]),
|
|
102
|
+
];
|
|
67
103
|
if (reply.state === 'stopped') {
|
|
104
|
+
// A stopped install may be stopped by an unfinished update: start.sh exits on its hold file.
|
|
105
|
+
// So may a move of the managed Node, which holds it on the same file.
|
|
106
|
+
let update;
|
|
107
|
+
try {
|
|
108
|
+
const root = (0, node_path_1.dirname)(options.configPath ?? (0, config_js_1.defaultConfigPath)(home));
|
|
109
|
+
const move = (0, node_move_journal_js_1.readNodeMoveJournal)((0, node_move_journal_js_1.nodeMovePlaces)(root).journal);
|
|
110
|
+
update = move === null ? (0, update_journal_js_1.unfinishedUpdate)(root) : { move };
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
update = { unreadable: error instanceof Error ? error.message : String(error) };
|
|
114
|
+
}
|
|
115
|
+
const updateLine = update === null
|
|
116
|
+
? null
|
|
117
|
+
: 'unreadable' in update
|
|
118
|
+
? `update journal cannot be read: ${update.unreadable}; mama doctor names it`
|
|
119
|
+
: 'move' in update
|
|
120
|
+
? `Node move unfinished: ${update.move.from} → ${update.move.to} (${update.move.phase}, step ${update.move.step}); run the install command again, which finishes or undoes it: ${node_move_journal_js_1.INSTALL_COMMAND}`
|
|
121
|
+
: 'journal' in update
|
|
122
|
+
? `update unfinished: ${update.journal.from} → ${update.journal.to} (${update.journal.phase}, step ${update.journal.step}); resolve it with: ${update.command}`
|
|
123
|
+
: `update hold file ${update.hold} is in place with no journal, so start.sh exits at once; remove it, then mama service start`;
|
|
68
124
|
if (json) {
|
|
69
|
-
write(JSON.stringify({
|
|
125
|
+
write(JSON.stringify({
|
|
126
|
+
state: 'stopped',
|
|
127
|
+
holder: reply.holder,
|
|
128
|
+
service,
|
|
129
|
+
release: release?.state ?? null,
|
|
130
|
+
update: updateLine,
|
|
131
|
+
}));
|
|
70
132
|
}
|
|
71
133
|
else {
|
|
72
134
|
write(reply.holder ? `stopped; ${holderLine(reply.holder)}` : 'stopped');
|
|
135
|
+
if (updateLine)
|
|
136
|
+
write(updateLine);
|
|
73
137
|
if (service)
|
|
74
138
|
write(`service: ${service}`);
|
|
139
|
+
for (const line of releaseLines())
|
|
140
|
+
write(line);
|
|
75
141
|
}
|
|
76
142
|
return exports.STATUS_STOPPED_EXIT;
|
|
77
143
|
}
|
|
@@ -80,13 +146,15 @@ async function runStatus(args, options = {}) {
|
|
|
80
146
|
}
|
|
81
147
|
const status = reply.reply.status;
|
|
82
148
|
if (json) {
|
|
83
|
-
write(JSON.stringify({ state: 'running', status, service }));
|
|
149
|
+
write(JSON.stringify({ state: 'running', status, service, release: release?.state ?? null }));
|
|
84
150
|
}
|
|
85
151
|
else {
|
|
86
152
|
for (const line of statusLines(status))
|
|
87
153
|
write(line);
|
|
88
154
|
if (service)
|
|
89
155
|
write(`service: ${service}`);
|
|
156
|
+
for (const line of releaseLines())
|
|
157
|
+
write(line);
|
|
90
158
|
}
|
|
91
159
|
return 0;
|
|
92
160
|
}
|
|
@@ -131,17 +199,110 @@ function finish(outcome, write, done) {
|
|
|
131
199
|
write(`not stopped yet: ${holderLine(outcome.holder)}; check mama status`);
|
|
132
200
|
return 1;
|
|
133
201
|
}
|
|
202
|
+
function waitingFor(counts) {
|
|
203
|
+
const turns = `${counts.running} turn${counts.running === 1 ? '' : 's'} running`;
|
|
204
|
+
const inputs = `${counts.claimed} input${counts.claimed === 1 ? '' : 's'} claimed`;
|
|
205
|
+
return `${turns}, ${inputs}`;
|
|
206
|
+
}
|
|
207
|
+
function minutes(ms) {
|
|
208
|
+
return `${Math.ceil(ms / 60_000)} min`;
|
|
209
|
+
}
|
|
134
210
|
/**
|
|
135
|
-
* Stop the install's daemon. A daemon
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
211
|
+
* Stop the install's daemon. A daemon is drained first: it claims nothing new, and the stop waits
|
|
212
|
+
* until its running turns and claimed inputs finish, so their replies are delivered. The drain's
|
|
213
|
+
* connection stays open through the stop, so nothing starts in between; inputs that arrive wait
|
|
214
|
+
* for the next start. `--now` skips the drain and interrupts what runs; at the next start MAMA
|
|
215
|
+
* delivers its stored result or tells its sender that it was interrupted.
|
|
139
216
|
*/
|
|
140
217
|
async function runStop(args, options = {}) {
|
|
141
|
-
|
|
142
|
-
|
|
218
|
+
const now = args.length === 1 && args[0] === '--now';
|
|
219
|
+
if (args.length > 1 || (args.length === 1 && !now)) {
|
|
220
|
+
throw new prompt_js_1.CliInputError('Usage: mama stop [--now]');
|
|
221
|
+
}
|
|
143
222
|
const write = options.write ?? ((line) => console.log(line));
|
|
144
|
-
|
|
223
|
+
if (now)
|
|
224
|
+
return await stopNow(options, write);
|
|
225
|
+
const paths = (0, daemon_js_1.installControlPaths)(options);
|
|
226
|
+
let reported = false;
|
|
227
|
+
const onProgress = (progress) => {
|
|
228
|
+
if (progress.idle)
|
|
229
|
+
return;
|
|
230
|
+
write(reported
|
|
231
|
+
? `still draining: ${waitingFor(progress)}`
|
|
232
|
+
: `draining: new inputs wait; waiting for ${waitingFor(progress)} (at most ${minutes(progress.bound)})`);
|
|
233
|
+
reported = true;
|
|
234
|
+
};
|
|
235
|
+
// A daemon still opening its control socket is tried again (CONTROL_WAIT_MS); booting, it has
|
|
236
|
+
// nothing to drain.
|
|
237
|
+
const started = Date.now();
|
|
238
|
+
let drain = null;
|
|
239
|
+
while (drain === null) {
|
|
240
|
+
const holder = await namedHolder(options, started);
|
|
241
|
+
// A replay, backfill or register-owner is left to finish; a stopped install has nothing to
|
|
242
|
+
// drain. A holder still unnamed past the bound goes there too, which reports it.
|
|
243
|
+
if (holder?.command !== 'daemon')
|
|
244
|
+
return await stopNow(options, write, started);
|
|
245
|
+
drain = await (0, daemon_control_js_1.drainDaemon)(paths, onProgress, options.drainDeadlines);
|
|
246
|
+
if (drain !== null)
|
|
247
|
+
break;
|
|
248
|
+
if (Date.now() - started >= (options.controlWaitMs ?? exports.CONTROL_WAIT_MS)) {
|
|
249
|
+
write(`not stopped: ${holderLine(holder)} does not answer on its control socket; mama stop --now stops it without draining`);
|
|
250
|
+
return 1;
|
|
251
|
+
}
|
|
252
|
+
await new Promise((resolve) => setTimeout(resolve, options.pollMs ?? 500));
|
|
253
|
+
}
|
|
254
|
+
try {
|
|
255
|
+
const outcome = await drain.outcome;
|
|
256
|
+
if (outcome.kind === 'bound') {
|
|
257
|
+
write(`not stopped: still ${waitingFor(outcome)} after ${minutes(outcome.bound)}; nothing changed, new inputs are claimed again (mama stop --now interrupts them)`);
|
|
258
|
+
return 1;
|
|
259
|
+
}
|
|
260
|
+
if (outcome.kind === 'refused') {
|
|
261
|
+
// A daemon older than the drain answers `unknown op`.
|
|
262
|
+
write(`not stopped: the daemon refused the drain: ${outcome.error}; mama stop --now stops it without draining`);
|
|
263
|
+
return 1;
|
|
264
|
+
}
|
|
265
|
+
if (outcome.kind === 'silent') {
|
|
266
|
+
write(`not stopped: ${outcome.error}; mama stop --now stops it without draining`);
|
|
267
|
+
return 1;
|
|
268
|
+
}
|
|
269
|
+
if (outcome.kind === 'closed') {
|
|
270
|
+
write('not stopped by this command: the daemon ended the drain before it was idle; check mama status');
|
|
271
|
+
return 1;
|
|
272
|
+
}
|
|
273
|
+
write('drained: nothing runs; stopping');
|
|
274
|
+
// Still held: the service manager's stop or the socket's stop comes next.
|
|
275
|
+
return await stopNow(options, write);
|
|
276
|
+
}
|
|
277
|
+
finally {
|
|
278
|
+
drain.release();
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* The install's holder, read again while the lock is held with no holder file (`unknown`, pid 0),
|
|
283
|
+
* until `CONTROL_WAIT_MS` after `started`: such a holder is between its lock and its holder file,
|
|
284
|
+
* or between removing the file and letting go. The stop then judges the holder it will wait for,
|
|
285
|
+
* with its own nonce, not a placeholder.
|
|
286
|
+
*/
|
|
287
|
+
async function namedHolder(options, started) {
|
|
288
|
+
const paths = (0, daemon_js_1.installControlPaths)(options);
|
|
289
|
+
for (;;) {
|
|
290
|
+
const holder = (0, daemon_control_js_1.lockHolder)(paths);
|
|
291
|
+
if (holder?.command !== 'unknown')
|
|
292
|
+
return holder;
|
|
293
|
+
if (Date.now() - started >= (options.controlWaitMs ?? exports.CONTROL_WAIT_MS))
|
|
294
|
+
return holder;
|
|
295
|
+
await new Promise((resolve) => setTimeout(resolve, options.pollMs ?? 500));
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Today's stop, also `--now`. A daemon run by a loaded LaunchAgent is unloaded, so KeepAlive does
|
|
300
|
+
* not restart it; any other daemon is asked through the control socket. A replay, backfill or
|
|
301
|
+
* register-owner is left to finish. A running turn is interrupted. `started` is when the stop
|
|
302
|
+
* began, so a drained stop that comes here has used up part of the wait for an unnamed holder.
|
|
303
|
+
*/
|
|
304
|
+
async function stopNow(options, write, started = Date.now()) {
|
|
305
|
+
let holder = await namedHolder(options, started);
|
|
145
306
|
const service = (0, daemon_js_1.launchdService)();
|
|
146
307
|
const run = options.run ?? systemd_service_js_1.defaultServiceRun;
|
|
147
308
|
const unit = (0, systemd_service_js_1.systemdUnitState)(options.home ?? (0, node_os_1.homedir)(), run);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.js","sourceRoot":"","sources":["../../../src/cli/commands/control.ts"],"names":[],"mappings":";;;AA6EA,8BAuCC;AA0DD,0BA0DC;AAxOD,qCAAkC;AAClC,4CAA6C;AAC7C,oEAA0E;AAC1E,sEAKuC;AACvC,2CAAoG;AAEpG,yFAAyF;AAC5E,QAAA,mBAAmB,GAAG,CAAC,CAAC;AAgBrC,SAAS,SAAS,CAAC,EAAW;IAC5B,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED,SAAS,UAAU,CAAC,MAAiB;IACnC,OAAO,GAAG,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,GAAG,qBAAqB,CAAC;AACnE,CAAC;AAED,SAAS,WAAW,CAAC,MAA+B;IAClD,MAAM,KAAK,GAAG;QACZ,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG;KAC1I,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC9C,CAAC,CAAE,MAAM,CAAC,YAA0D;QACpE,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,kBAAkB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,CAAC,CAAE,MAAM,CAAC,MAAmD;QAC7D,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,CAAC,IAAI,CACR,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,mBAAmB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5F,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QACjD,CAAC,CAAE,MAAM,CAAC,UAKL;QACL,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,KAAK,CAAC,IAAI,CACR,aAAa,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,eAAe,IAAI,EAAE;YACvF,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACzD,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAA4D,CAAC;IACtF,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,SAAS,CAC7B,IAAuB,EACvB,UAA0B,EAAE;IAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;IACvD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,yBAAa,CAAC,6BAA6B,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,kGAAkG;IAClG,IAAI,OAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,0BAAc,GAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,qCAAgB,EAAC,OAAO,CAAC,IAAI,IAAI,IAAA,iBAAO,GAAE,EAAE,OAAO,CAAC,GAAG,IAAI,sCAAiB,CAAC,CAAC;QAC3F,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;IAClF,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAS,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,OAAO;gBAAE,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,2BAAmB,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,yBAAa,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAiC,CAAC;IAC7D,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,OAAO;YAAE,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAOD;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,QAAmB,EACnB,OAAuB,EACvB,KAA6B;IAE7B,MAAM,KAAK,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,QAAQ,GAAG,OAAO,CAAC;IACvB,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,IAAA,8BAAU,EAAC,KAAK,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,2FAA2F;YAC3F,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;YAC/E,MAAM,IAAI,GAAG,IAAA,8BAAU,EAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QACzE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAC1E,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC;YACpC,KAAK,CAAC,mBAAmB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,OAAoB,EAAE,KAA6B,EAAE,IAAY;IAC/E,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,KAAK,CAAC,gBAAgB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,oBAAoB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC3E,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,OAAO,CAC3B,IAAuB,EACvB,UAA0B,EAAE;IAE5B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,yBAAa,CAAC,kBAAkB,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,IAAI,MAAM,GAAG,IAAA,8BAAU,EAAC,IAAA,+BAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAA,0BAAc,GAAE,CAAC;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,sCAAiB,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAA,qCAAgB,EAAC,OAAO,CAAC,IAAI,IAAI,IAAA,iBAAO,GAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,6FAA6F;IAC7F,0FAA0F;IAC1F,6DAA6D;IAC7D,IAAI,OAAO,CAAC,MAAM;QAAE,IAAA,iCAAqB,GAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,CAAC;IAC9E,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iCAAY,CAAC,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,KAAK,CACH,sCAAsC,iCAAY,YAAY,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAC9J,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM;QAC7B,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,EAAE,CAAC;IACT,0FAA0F;IAC1F,0DAA0D;IAC1D,IAAI,WAAW;QAAE,MAAM,GAAG,IAAA,8BAAU,EAAC,IAAA,+BAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;IACnE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC3D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,cAAc,QAAQ,KAAK,UAAU,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAClF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;QACjD,OAAO,MAAM,CACX,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAC5C,KAAK,EACL,UAAU,QAAQ,sCAAsC,CACzD,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,cAAc,QAAQ,KAAK,UAAU,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;QAC7F,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAC5B,KAAK,CAAC,cAAc,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,QAAQ,EAAE,CAAC,CAAC;AAC3F,CAAC"}
|
|
1
|
+
{"version":3,"file":"control.js","sourceRoot":"","sources":["../../../src/cli/commands/control.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,9 @@ import { type MessengerName, type W1Config } from '../../runtime/config.js';
|
|
|
9
9
|
import { type ViewerServer, type ViewerServerOptions } from '../../api/viewer-server.js';
|
|
10
10
|
import type { OwnerFileDeliveryResult } from '../../api/file-delivery.js';
|
|
11
11
|
import { createReportScheduler } from '../../runtime/report-scheduler.js';
|
|
12
|
+
import { createReleaseCheck } from '../runtime/release-check.js';
|
|
12
13
|
import { createTimeZoneSetting } from '../../runtime/timezone.js';
|
|
13
|
-
import { type DaemonControlReply } from '../runtime/daemon-control.js';
|
|
14
|
+
import { type DaemonControlOp, type DaemonControlReply } from '../runtime/daemon-control.js';
|
|
14
15
|
export declare const OWNER_PRINCIPAL_ID = "owner";
|
|
15
16
|
export interface DaemonLogger {
|
|
16
17
|
info(line: string): void;
|
|
@@ -29,6 +30,8 @@ export interface DaemonGateway {
|
|
|
29
30
|
cancelMemberEnrollment?(principalId: string): void;
|
|
30
31
|
interruptResponse?(sourceRef: string): Promise<void>;
|
|
31
32
|
recoverPendingResponses(): Promise<void>;
|
|
33
|
+
/** Recover one owner message as startup recovery does, leaving every other one alone. */
|
|
34
|
+
recoverResponse(sourceRef: string): Promise<void>;
|
|
32
35
|
start(): Promise<void>;
|
|
33
36
|
stop(): Promise<void>;
|
|
34
37
|
deliverResponse(sourceRef: string, response: string): Promise<void>;
|
|
@@ -62,6 +65,8 @@ export interface DaemonBootDependencies {
|
|
|
62
65
|
createDiscordGateway?: (options: DiscordGatewayOptions) => DaemonGateway;
|
|
63
66
|
createSlackGateway?: (options: SlackGatewayOptions) => DaemonGateway;
|
|
64
67
|
createReportScheduler?: typeof createReportScheduler;
|
|
68
|
+
/** The daily release check; tests replace it so no boot asks the registry. */
|
|
69
|
+
createReleaseCheck?: typeof createReleaseCheck;
|
|
65
70
|
ensureIsolation?: (options: DaemonIsolationOptions) => void;
|
|
66
71
|
}
|
|
67
72
|
export interface DaemonBootOptions {
|
|
@@ -117,6 +122,11 @@ export declare const MESSENGER_SECRETS: {
|
|
|
117
122
|
/** Physical paths: a symlinked workspace must not reach the directories it is kept apart from. */
|
|
118
123
|
export declare function pathsOverlap(left: string, right: string): boolean;
|
|
119
124
|
export declare function validateDeliveryRoutes(config: W1Config): void;
|
|
125
|
+
/**
|
|
126
|
+
* The instant closing summaries start being ordered: written once, at the first start that runs
|
|
127
|
+
* upkeep, so items closed before it are left to the one-time summary script.
|
|
128
|
+
*/
|
|
129
|
+
export declare function upkeepCloseSince(path: string, now?: number): number;
|
|
120
130
|
export declare function pathsFor(configPath: string, config: W1Config): DaemonPaths;
|
|
121
131
|
/** Create only the native-process isolation files; never remove product state. */
|
|
122
132
|
export declare function ensureDaemonIsolation(options: DaemonIsolationOptions): void;
|
|
@@ -133,9 +143,10 @@ export declare function installControlPaths(options?: {
|
|
|
133
143
|
home?: string;
|
|
134
144
|
configPath?: string;
|
|
135
145
|
}): import("../runtime/daemon-control.js").DaemonControlPaths;
|
|
136
|
-
export declare function askDaemon(op:
|
|
146
|
+
export declare function askDaemon(op: DaemonControlOp, options?: {
|
|
137
147
|
home?: string;
|
|
138
148
|
configPath?: string;
|
|
149
|
+
timeoutMs?: number;
|
|
139
150
|
}): Promise<DaemonControlReply>;
|
|
140
151
|
export interface LaunchdService {
|
|
141
152
|
readonly loaded: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/daemon.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/daemon.ts"],"names":[],"mappings":"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"}
|