@jungjaehoon/mama-os 0.77.0 → 0.78.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 +135 -0
- package/README.md +25 -10
- package/dist/api/security-events.d.ts.map +1 -1
- package/dist/api/security-events.js +10 -1
- package/dist/api/security-events.js.map +1 -1
- package/dist/api/viewer-server.d.ts +1 -0
- package/dist/api/viewer-server.d.ts.map +1 -1
- package/dist/api/viewer-server.js +34 -0
- package/dist/api/viewer-server.js.map +1 -1
- package/dist/api/work-actions.d.ts.map +1 -1
- package/dist/api/work-actions.js +27 -2
- package/dist/api/work-actions.js.map +1 -1
- package/dist/cli/commands/backfill.d.ts.map +1 -1
- package/dist/cli/commands/backfill.js +1 -0
- package/dist/cli/commands/backfill.js.map +1 -1
- package/dist/cli/commands/backup.d.ts +13 -0
- package/dist/cli/commands/backup.d.ts.map +1 -0
- package/dist/cli/commands/backup.js +137 -0
- package/dist/cli/commands/backup.js.map +1 -0
- package/dist/cli/commands/control.d.ts +26 -0
- package/dist/cli/commands/control.d.ts.map +1 -0
- package/dist/cli/commands/control.js +193 -0
- package/dist/cli/commands/control.js.map +1 -0
- package/dist/cli/commands/daemon.d.ts +49 -3
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +244 -74
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +13 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +216 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +3 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/logs.d.ts +9 -0
- package/dist/cli/commands/logs.d.ts.map +1 -0
- package/dist/cli/commands/logs.js +109 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/register-owner.d.ts.map +1 -1
- package/dist/cli/commands/register-owner.js +12 -0
- package/dist/cli/commands/register-owner.js.map +1 -1
- package/dist/cli/commands/restore.d.ts +14 -0
- package/dist/cli/commands/restore.d.ts.map +1 -0
- package/dist/cli/commands/restore.js +130 -0
- package/dist/cli/commands/restore.js.map +1 -0
- package/dist/cli/commands/service.d.ts +28 -0
- package/dist/cli/commands/service.d.ts.map +1 -0
- package/dist/cli/commands/service.js +278 -0
- package/dist/cli/commands/service.js.map +1 -0
- package/dist/cli/commands/uninstall.d.ts +7 -0
- package/dist/cli/commands/uninstall.d.ts.map +1 -0
- package/dist/cli/commands/uninstall.js +262 -0
- package/dist/cli/commands/uninstall.js.map +1 -0
- package/dist/cli/index.js +67 -20
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/launch-files.d.ts +83 -0
- package/dist/cli/launch-files.d.ts.map +1 -1
- package/dist/cli/launch-files.js +231 -15
- package/dist/cli/launch-files.js.map +1 -1
- package/dist/cli/runtime/backend-probe.d.ts +34 -0
- package/dist/cli/runtime/backend-probe.d.ts.map +1 -0
- package/dist/cli/runtime/backend-probe.js +83 -0
- package/dist/cli/runtime/backend-probe.js.map +1 -0
- package/dist/cli/runtime/backup.d.ts +114 -0
- package/dist/cli/runtime/backup.d.ts.map +1 -0
- package/dist/cli/runtime/backup.js +564 -0
- package/dist/cli/runtime/backup.js.map +1 -0
- package/dist/cli/runtime/daemon-control.d.ts +84 -0
- package/dist/cli/runtime/daemon-control.d.ts.map +1 -0
- package/dist/cli/runtime/daemon-control.js +266 -0
- package/dist/cli/runtime/daemon-control.js.map +1 -0
- package/dist/cli/runtime/diagnostics.d.ts +43 -0
- package/dist/cli/runtime/diagnostics.d.ts.map +1 -0
- package/dist/cli/runtime/diagnostics.js +953 -0
- package/dist/cli/runtime/diagnostics.js.map +1 -0
- package/dist/cli/runtime/restore.d.ts +98 -0
- package/dist/cli/runtime/restore.d.ts.map +1 -0
- package/dist/cli/runtime/restore.js +756 -0
- package/dist/cli/runtime/restore.js.map +1 -0
- package/dist/cli/runtime/systemd-service.d.ts +13 -0
- package/dist/cli/runtime/systemd-service.d.ts.map +1 -0
- package/dist/cli/runtime/systemd-service.js +32 -0
- package/dist/cli/runtime/systemd-service.js.map +1 -0
- package/dist/connectors/chatwork/index.js +1 -1
- package/dist/connectors/chatwork/index.js.map +1 -1
- package/dist/connectors/config-loader.d.ts +2 -1
- package/dist/connectors/config-loader.d.ts.map +1 -1
- package/dist/connectors/config-loader.js +3 -2
- package/dist/connectors/config-loader.js.map +1 -1
- package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
- package/dist/connectors/framework/polling-scheduler.js +12 -11
- package/dist/connectors/framework/polling-scheduler.js.map +1 -1
- package/dist/connectors/imessage/index.d.ts.map +1 -1
- package/dist/connectors/imessage/index.js +2 -1
- package/dist/connectors/imessage/index.js.map +1 -1
- package/dist/connectors/slack/index.js +1 -1
- package/dist/connectors/slack/index.js.map +1 -1
- package/dist/runtime/backend-security.d.ts +3 -0
- package/dist/runtime/backend-security.d.ts.map +1 -1
- package/dist/runtime/backend-security.js +13 -5
- package/dist/runtime/backend-security.js.map +1 -1
- package/dist/runtime/config.d.ts +3 -0
- package/dist/runtime/config.d.ts.map +1 -1
- package/dist/runtime/config.js +4 -4
- package/dist/runtime/config.js.map +1 -1
- package/dist/runtime/connectors.d.ts +21 -1
- package/dist/runtime/connectors.d.ts.map +1 -1
- package/dist/runtime/connectors.js +28 -17
- package/dist/runtime/connectors.js.map +1 -1
- package/dist/runtime/core-db.d.ts.map +1 -1
- package/dist/runtime/core-db.js +2 -0
- package/dist/runtime/core-db.js.map +1 -1
- package/dist/runtime/owner-system-prompt.d.ts.map +1 -1
- package/dist/runtime/owner-system-prompt.js +7 -5
- package/dist/runtime/owner-system-prompt.js.map +1 -1
- package/dist/runtime/rotating-log.d.ts +44 -0
- package/dist/runtime/rotating-log.d.ts.map +1 -0
- package/dist/runtime/rotating-log.js +124 -0
- package/dist/runtime/rotating-log.js.map +1 -0
- package/dist/tools/document-toolkit.d.ts +2 -0
- package/dist/tools/document-toolkit.d.ts.map +1 -1
- package/dist/tools/document-toolkit.js +2 -0
- package/dist/tools/document-toolkit.js.map +1 -1
- package/package.json +4 -3
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OWNER_PRINCIPAL_ID = void 0;
|
|
3
|
+
exports.MESSENGER_SECRETS = exports.BOOT_STAGES = exports.StopDuringBootError = exports.OWNER_PRINCIPAL_ID = void 0;
|
|
4
|
+
exports.pathsOverlap = pathsOverlap;
|
|
4
5
|
exports.validateDeliveryRoutes = validateDeliveryRoutes;
|
|
6
|
+
exports.pathsFor = pathsFor;
|
|
5
7
|
exports.ensureDaemonIsolation = ensureDaemonIsolation;
|
|
6
8
|
exports.loggedOwnerIntake = loggedOwnerIntake;
|
|
7
9
|
exports.bootDaemon = bootDaemon;
|
|
8
10
|
exports.runDaemon = runDaemon;
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
+
exports.installControlPaths = installControlPaths;
|
|
12
|
+
exports.askDaemon = askDaemon;
|
|
13
|
+
exports.launchdService = launchdService;
|
|
14
|
+
exports.bootoutLaunchdService = bootoutLaunchdService;
|
|
11
15
|
const mama_core_1 = require("@jungjaehoon/mama-core");
|
|
12
16
|
const document_toolkit_js_1 = require("../../tools/document-toolkit.js");
|
|
13
17
|
const node_fs_1 = require("node:fs");
|
|
@@ -39,6 +43,7 @@ const wiki_read_js_1 = require("../../wiki/wiki-read.js");
|
|
|
39
43
|
const timezone_js_1 = require("../../runtime/timezone.js");
|
|
40
44
|
const security_events_js_1 = require("../../api/security-events.js");
|
|
41
45
|
const egress_proxy_js_1 = require("../../runtime/egress-proxy.js");
|
|
46
|
+
const daemon_control_js_1 = require("../runtime/daemon-control.js");
|
|
42
47
|
exports.OWNER_PRINCIPAL_ID = 'owner';
|
|
43
48
|
const OWNER_AGENT_ID = 'owner-agent';
|
|
44
49
|
const OWNER_MEMORY_SCOPES = (0, action_surface_js_1.ownerMemoryScopes)(exports.OWNER_PRINCIPAL_ID, index_js_1.LOADABLE_CONNECTORS);
|
|
@@ -56,9 +61,49 @@ function errorName(error) {
|
|
|
56
61
|
const name = error.name.trim() !== '' ? error.name : 'Error';
|
|
57
62
|
return `${name}: ${error.message}`;
|
|
58
63
|
}
|
|
59
|
-
|
|
64
|
+
class StopDuringBootError extends Error {
|
|
65
|
+
constructor() {
|
|
66
|
+
super('Stopped during boot');
|
|
67
|
+
this.name = 'StopDuringBootError';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.StopDuringBootError = StopDuringBootError;
|
|
71
|
+
/** Every stage boot logs as `boot stage=<name>`; `mama doctor` reports only these names. */
|
|
72
|
+
exports.BOOT_STAGES = [
|
|
73
|
+
'config',
|
|
74
|
+
'isolation',
|
|
75
|
+
'owner_runtime',
|
|
76
|
+
'viewer',
|
|
77
|
+
'replay',
|
|
78
|
+
'connectors',
|
|
79
|
+
'messengers',
|
|
80
|
+
'telegram',
|
|
81
|
+
'telegram:disabled',
|
|
82
|
+
'discord',
|
|
83
|
+
'slack',
|
|
84
|
+
'report_scheduler',
|
|
85
|
+
'report_scheduler:route_unavailable',
|
|
86
|
+
'personal_job_scheduler',
|
|
87
|
+
];
|
|
88
|
+
function stage(logger, name, signal) {
|
|
89
|
+
if (signal?.aborted)
|
|
90
|
+
throw new StopDuringBootError();
|
|
60
91
|
logger.info(`boot stage=${name}`);
|
|
61
92
|
}
|
|
93
|
+
/** The auth.env names each messenger needs before it starts; `mama doctor` checks the same. */
|
|
94
|
+
exports.MESSENGER_SECRETS = {
|
|
95
|
+
telegram: ['MAMA_TELEGRAM_TOKEN'],
|
|
96
|
+
discord: ['MAMA_DISCORD_TOKEN'],
|
|
97
|
+
slack: ['MAMA_SLACK_TOKEN', 'MAMA_SLACK_APP_TOKEN'],
|
|
98
|
+
};
|
|
99
|
+
function messengerSecrets(messenger) {
|
|
100
|
+
return exports.MESSENGER_SECRETS[messenger].map((name) => {
|
|
101
|
+
const value = process.env[name];
|
|
102
|
+
if (!value?.trim())
|
|
103
|
+
throw new Error(`${name} is required`);
|
|
104
|
+
return value;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
62
107
|
function stageFailed(logger, name, error) {
|
|
63
108
|
logger.error(`boot stage=${name} failed error=${errorName(error)}`);
|
|
64
109
|
}
|
|
@@ -129,6 +174,11 @@ function pathsFor(configPath, config) {
|
|
|
129
174
|
if (pathsOverlap(workspaceDir, runtimeRoot)) {
|
|
130
175
|
throw new Error(`agent.codex_cwd must not contain or sit inside ${runtimeRoot}`);
|
|
131
176
|
}
|
|
177
|
+
// Backups are denied to the agents; a workspace there could not be read by its own agent.
|
|
178
|
+
const backupsRoot = (0, node_path_1.join)(mamaRoot, 'backups');
|
|
179
|
+
if (pathsOverlap(workspaceDir, backupsRoot)) {
|
|
180
|
+
throw new Error(`agent.codex_cwd must not contain or sit inside ${backupsRoot}`);
|
|
181
|
+
}
|
|
132
182
|
return {
|
|
133
183
|
mamaRoot,
|
|
134
184
|
runtimeRoot,
|
|
@@ -196,7 +246,15 @@ async function stopOne(logger, name, stop, errors) {
|
|
|
196
246
|
}
|
|
197
247
|
/** Open the W1 owner subject, then activate producers in their dependency order. */
|
|
198
248
|
async function bootDaemon(options = {}) {
|
|
199
|
-
const
|
|
249
|
+
const baseLogger = options.logger ?? defaultLogger;
|
|
250
|
+
let lastError = null;
|
|
251
|
+
const logger = {
|
|
252
|
+
info: (line) => baseLogger.info(line),
|
|
253
|
+
error: (line) => {
|
|
254
|
+
lastError = { at: Date.now(), line: line.slice(0, 500) };
|
|
255
|
+
baseLogger.error(line);
|
|
256
|
+
},
|
|
257
|
+
};
|
|
200
258
|
const dependencies = options.dependencies ?? {};
|
|
201
259
|
const configPath = options.configPath ?? (0, config_js_1.defaultConfigPath)(options.home ?? (0, node_os_1.homedir)());
|
|
202
260
|
let config;
|
|
@@ -213,10 +271,49 @@ async function bootDaemon(options = {}) {
|
|
|
213
271
|
let deliveryReady = options.mode === 'replay';
|
|
214
272
|
const startedAt = Date.now();
|
|
215
273
|
let currentStage = 'config';
|
|
216
|
-
|
|
274
|
+
let booted = false;
|
|
275
|
+
const command = options.command ?? (options.mode === 'replay' ? 'replay' : 'daemon');
|
|
276
|
+
// The install's one process: taken before anything opens the database or rewrites settings.
|
|
277
|
+
const control = (0, daemon_control_js_1.daemonControlPaths)((0, node_path_1.dirname)(configPath));
|
|
278
|
+
const lock = (0, daemon_control_js_1.acquireInstallLock)(control, command);
|
|
279
|
+
let controlServer = null;
|
|
280
|
+
const statusReport = async () => {
|
|
281
|
+
const report = {
|
|
282
|
+
pid: process.pid,
|
|
283
|
+
command,
|
|
284
|
+
version: (0, package_version_js_1.resolvePackageVersion)(),
|
|
285
|
+
startedAt,
|
|
286
|
+
stage: stopped ? 'stopping' : booted ? 'running' : currentStage,
|
|
287
|
+
lastError,
|
|
288
|
+
};
|
|
289
|
+
// Stores close during a stop; what it reports then is that it is stopping.
|
|
217
290
|
if (stopped)
|
|
218
|
-
return;
|
|
219
|
-
|
|
291
|
+
return report;
|
|
292
|
+
if (owner) {
|
|
293
|
+
const adapter = owner.database.adapter;
|
|
294
|
+
report.runningTurns = adapter
|
|
295
|
+
.prepare(`SELECT COALESCE(json_extract(input_refs_json, '$.sessionKey'), 'unknown') AS session,
|
|
296
|
+
COUNT(*) AS count
|
|
297
|
+
FROM model_runs WHERE status = 'running' AND created_at >= ? GROUP BY 1 ORDER BY 1`)
|
|
298
|
+
.all(startedAt);
|
|
299
|
+
report.inputs = adapter
|
|
300
|
+
.prepare(`SELECT status, COUNT(*) AS count FROM mailbox_inputs
|
|
301
|
+
WHERE status IN ('pending', 'claimed') GROUP BY status ORDER BY status`)
|
|
302
|
+
.all();
|
|
303
|
+
}
|
|
304
|
+
if (connectors) {
|
|
305
|
+
const connectorRuntime = connectors;
|
|
306
|
+
const health = await connectorRuntime.registry.healthCheckAll();
|
|
307
|
+
report.connectors = connectorRuntime.enabledConnectorNames.map((name) => ({
|
|
308
|
+
name,
|
|
309
|
+
healthy: health[name]?.healthy === true,
|
|
310
|
+
lastPoll: health[name]?.lastPollTime?.toISOString() ?? null,
|
|
311
|
+
error: health[name]?.error ?? null,
|
|
312
|
+
}));
|
|
313
|
+
}
|
|
314
|
+
return report;
|
|
315
|
+
};
|
|
316
|
+
const stopOwned = async () => {
|
|
220
317
|
const errors = [];
|
|
221
318
|
owner?.beginStop?.();
|
|
222
319
|
// Quiesce every producer before awaiting any one of them. Transports and the database
|
|
@@ -243,22 +340,50 @@ async function bootDaemon(options = {}) {
|
|
|
243
340
|
if (errors.length > 0)
|
|
244
341
|
throw new AggregateError(errors, 'Daemon shutdown failed');
|
|
245
342
|
};
|
|
343
|
+
const stopResources = async () => {
|
|
344
|
+
if (stopped)
|
|
345
|
+
return;
|
|
346
|
+
stopped = true;
|
|
347
|
+
let closed = false;
|
|
348
|
+
try {
|
|
349
|
+
await stopOwned();
|
|
350
|
+
closed = true;
|
|
351
|
+
}
|
|
352
|
+
finally {
|
|
353
|
+
if (controlServer) {
|
|
354
|
+
await controlServer
|
|
355
|
+
.close()
|
|
356
|
+
.catch((error) => logger.error(`shutdown stage=control failed error=${errorName(error)}`));
|
|
357
|
+
}
|
|
358
|
+
// Released only once every store closed: after a failed stop something may still run, so
|
|
359
|
+
// the install stays held until this process ends and the operating system lets it go.
|
|
360
|
+
if (closed)
|
|
361
|
+
lock.release();
|
|
362
|
+
}
|
|
363
|
+
};
|
|
246
364
|
try {
|
|
247
365
|
currentStage = 'config';
|
|
248
|
-
|
|
366
|
+
// A half-switched install is neither the old one nor the restored one.
|
|
367
|
+
(0, daemon_control_js_1.refuseWhileRestoring)((0, node_path_1.dirname)(configPath));
|
|
368
|
+
controlServer = await (0, daemon_control_js_1.startDaemonControl)(control, {
|
|
369
|
+
status: statusReport,
|
|
370
|
+
stop: () => {
|
|
371
|
+
if (!options.requestStop)
|
|
372
|
+
throw new Error(`${command} stops when it finishes`);
|
|
373
|
+
options.requestStop();
|
|
374
|
+
},
|
|
375
|
+
});
|
|
376
|
+
if (options.signal?.aborted)
|
|
377
|
+
throw new StopDuringBootError();
|
|
249
378
|
config = options.config ?? (0, config_js_1.loadConfig)({ path: configPath, home: options.home });
|
|
379
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(config.logging.file), { recursive: true });
|
|
380
|
+
// The service manager redirects only what comes before this point, to the crash log. From here
|
|
381
|
+
// on the daemon's own log holds everything, from the first boot stage on.
|
|
382
|
+
options.captureOutput?.(config.logging.file);
|
|
383
|
+
stage(logger, 'config', options.signal);
|
|
250
384
|
logger.info(`document toolkit: ${(0, document_toolkit_js_1.readDocumentToolkit)(config.tools_root, (error) => logger.error(error.message)) ? 'present' : 'absent (run mama tools install)'}`);
|
|
251
385
|
const timeZone = (0, timezone_js_1.createTimeZoneSetting)(config.timezone);
|
|
252
386
|
validateDeliveryRoutes(config);
|
|
253
|
-
// launchd may have created the redirected log already; preserve its contents and tighten it.
|
|
254
|
-
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(config.logging.file), { recursive: true });
|
|
255
|
-
const logDescriptor = (0, node_fs_1.openSync)(config.logging.file, 'a', 0o600);
|
|
256
|
-
try {
|
|
257
|
-
(0, node_fs_1.fchmodSync)(logDescriptor, 0o600);
|
|
258
|
-
}
|
|
259
|
-
finally {
|
|
260
|
-
(0, node_fs_1.closeSync)(logDescriptor);
|
|
261
|
-
}
|
|
262
387
|
(0, model_cache_js_1.declareModelCache)();
|
|
263
388
|
paths = pathsFor(configPath, config);
|
|
264
389
|
currentStage = 'isolation';
|
|
@@ -268,7 +393,7 @@ async function bootDaemon(options = {}) {
|
|
|
268
393
|
paths,
|
|
269
394
|
...(options.mcpServerPath ? { mcpServerPath: options.mcpServerPath } : {}),
|
|
270
395
|
});
|
|
271
|
-
stage(logger, 'isolation');
|
|
396
|
+
stage(logger, 'isolation', options.signal);
|
|
272
397
|
currentStage = 'owner_runtime';
|
|
273
398
|
const ownerPolicyProvider = (0, owner_policy_js_1.createOwnerPolicyProvider)(paths.mamaRoot);
|
|
274
399
|
const ownerPolicy = ownerPolicyProvider();
|
|
@@ -494,7 +619,7 @@ async function bootDaemon(options = {}) {
|
|
|
494
619
|
onStimulusDelivered: (row, modelRunId) => stimulusDelivered(logger, row, modelRunId),
|
|
495
620
|
onStimulusFailed: (row, reason, modelRunId) => stimulusFailed(logger, row.kind ?? 'unknown', row.stimulusId, reason, modelRunId),
|
|
496
621
|
});
|
|
497
|
-
stage(logger, 'owner_runtime');
|
|
622
|
+
stage(logger, 'owner_runtime', options.signal);
|
|
498
623
|
currentStage = 'viewer';
|
|
499
624
|
const viewerFactory = dependencies.createViewerServer ?? viewer_server_js_1.createViewerServer;
|
|
500
625
|
viewer = viewerFactory({
|
|
@@ -545,14 +670,14 @@ async function bootDaemon(options = {}) {
|
|
|
545
670
|
});
|
|
546
671
|
await viewer.start();
|
|
547
672
|
logger.info(`viewer server listening on port=${String(viewer.port)}`);
|
|
548
|
-
stage(logger, 'viewer');
|
|
673
|
+
stage(logger, 'viewer', options.signal);
|
|
549
674
|
if (options.mode === 'replay') {
|
|
550
675
|
logger.info('replay collectors: disabled');
|
|
551
676
|
currentStage = 'replay';
|
|
552
677
|
if (!options.replay)
|
|
553
678
|
throw new Error('Replay mode requires a replay feeder');
|
|
554
679
|
await options.replay({ config, paths, owner, logger, timeZone });
|
|
555
|
-
stage(logger, 'replay');
|
|
680
|
+
stage(logger, 'replay', options.signal);
|
|
556
681
|
return {
|
|
557
682
|
config,
|
|
558
683
|
paths,
|
|
@@ -589,16 +714,14 @@ async function bootDaemon(options = {}) {
|
|
|
589
714
|
coreAdapter: owner.database?.adapter,
|
|
590
715
|
acceptSourceDelta,
|
|
591
716
|
});
|
|
592
|
-
stage(logger, 'connectors');
|
|
717
|
+
stage(logger, 'connectors', options.signal);
|
|
593
718
|
currentStage = 'messengers';
|
|
594
719
|
const intake = loggedOwnerIntake(owner.intake, logger);
|
|
595
720
|
const ledgerPath = paths.ownerMessageLedgerPath;
|
|
596
721
|
messageLedger = new telegram_message_ledger_js_1.OwnerMessageLedger(ledgerPath, { log: (line) => logger.info(line) });
|
|
597
722
|
const filesRoot = (0, node_path_1.join)(paths.workspaceDir, 'files');
|
|
598
723
|
if (config.telegram.enabled) {
|
|
599
|
-
const token =
|
|
600
|
-
if (!token?.trim())
|
|
601
|
-
throw new Error('MAMA_TELEGRAM_TOKEN is required');
|
|
724
|
+
const [token] = messengerSecrets('telegram');
|
|
602
725
|
const factory = dependencies.createTelegramGateway ?? ((options) => new telegram_js_1.TelegramGateway(options));
|
|
603
726
|
gateway = factory({
|
|
604
727
|
token,
|
|
@@ -633,14 +756,12 @@ async function bootDaemon(options = {}) {
|
|
|
633
756
|
});
|
|
634
757
|
gateways.set('telegram', gateway);
|
|
635
758
|
await gateway.start();
|
|
636
|
-
stage(logger, 'telegram');
|
|
759
|
+
stage(logger, 'telegram', options.signal);
|
|
637
760
|
}
|
|
638
761
|
else
|
|
639
|
-
stage(logger, 'telegram:disabled');
|
|
762
|
+
stage(logger, 'telegram:disabled', options.signal);
|
|
640
763
|
if (config.discord?.enabled) {
|
|
641
|
-
const token =
|
|
642
|
-
if (!token?.trim())
|
|
643
|
-
throw new Error('MAMA_DISCORD_TOKEN is required');
|
|
764
|
+
const [token] = messengerSecrets('discord');
|
|
644
765
|
const factory = dependencies.createDiscordGateway ?? ((options) => new discord_js_1.DiscordGateway(options));
|
|
645
766
|
const active = factory({
|
|
646
767
|
token,
|
|
@@ -662,15 +783,10 @@ async function bootDaemon(options = {}) {
|
|
|
662
783
|
});
|
|
663
784
|
gateways.set('discord', active);
|
|
664
785
|
await active.start();
|
|
665
|
-
stage(logger, 'discord');
|
|
786
|
+
stage(logger, 'discord', options.signal);
|
|
666
787
|
}
|
|
667
788
|
if (config.slack?.enabled) {
|
|
668
|
-
const token =
|
|
669
|
-
const appToken = process.env.MAMA_SLACK_APP_TOKEN;
|
|
670
|
-
if (!token?.trim())
|
|
671
|
-
throw new Error('MAMA_SLACK_TOKEN is required');
|
|
672
|
-
if (!appToken?.trim())
|
|
673
|
-
throw new Error('MAMA_SLACK_APP_TOKEN is required');
|
|
789
|
+
const [token, appToken] = messengerSecrets('slack');
|
|
674
790
|
const factory = dependencies.createSlackGateway ?? ((options) => new slack_js_1.SlackGateway(options));
|
|
675
791
|
const active = factory({
|
|
676
792
|
token,
|
|
@@ -693,7 +809,7 @@ async function bootDaemon(options = {}) {
|
|
|
693
809
|
});
|
|
694
810
|
gateways.set('slack', active);
|
|
695
811
|
await active.start();
|
|
696
|
-
stage(logger, 'slack');
|
|
812
|
+
stage(logger, 'slack', options.signal);
|
|
697
813
|
}
|
|
698
814
|
const reportRoute = config.delivery?.reports ?? 'telegram';
|
|
699
815
|
if (gateways.has(reportRoute)) {
|
|
@@ -724,18 +840,19 @@ async function bootDaemon(options = {}) {
|
|
|
724
840
|
onError: (error) => logger.error(`report scheduler failed reason=${(0, stimulus_delivery_js_1.stimulusFailureReason)(error)}`),
|
|
725
841
|
});
|
|
726
842
|
reportScheduler.start();
|
|
727
|
-
stage(logger, 'report_scheduler');
|
|
843
|
+
stage(logger, 'report_scheduler', options.signal);
|
|
728
844
|
}
|
|
729
845
|
else
|
|
730
|
-
stage(logger, 'report_scheduler:route_unavailable');
|
|
846
|
+
stage(logger, 'report_scheduler:route_unavailable', options.signal);
|
|
731
847
|
if (gateway?.sendMemberText) {
|
|
732
848
|
owner.personalJobs.start();
|
|
733
849
|
await owner.personalJobs
|
|
734
850
|
.tick()
|
|
735
851
|
.catch((error) => logger.error(`personal job scheduler failed reason=${(0, stimulus_delivery_js_1.stimulusFailureReason)(error)}`));
|
|
736
|
-
stage(logger, 'personal_job_scheduler');
|
|
852
|
+
stage(logger, 'personal_job_scheduler', options.signal);
|
|
737
853
|
}
|
|
738
854
|
deliveryReady = true;
|
|
855
|
+
booted = true;
|
|
739
856
|
return {
|
|
740
857
|
config,
|
|
741
858
|
paths,
|
|
@@ -748,7 +865,16 @@ async function bootDaemon(options = {}) {
|
|
|
748
865
|
};
|
|
749
866
|
}
|
|
750
867
|
catch (error) {
|
|
751
|
-
|
|
868
|
+
if (error instanceof StopDuringBootError) {
|
|
869
|
+
logger.info(`boot stopped before stage=${currentStage}`);
|
|
870
|
+
}
|
|
871
|
+
else {
|
|
872
|
+
stageFailed(logger, currentStage, error);
|
|
873
|
+
// A frozen error keeps its own shape; the stage is still in the log line above.
|
|
874
|
+
if (error !== null && typeof error === 'object' && Object.isExtensible(error)) {
|
|
875
|
+
Object.defineProperty(error, 'bootStage', { value: currentStage, enumerable: false });
|
|
876
|
+
}
|
|
877
|
+
}
|
|
752
878
|
try {
|
|
753
879
|
await stopResources();
|
|
754
880
|
}
|
|
@@ -758,48 +884,92 @@ async function bootDaemon(options = {}) {
|
|
|
758
884
|
throw error;
|
|
759
885
|
}
|
|
760
886
|
}
|
|
761
|
-
/**
|
|
887
|
+
/**
|
|
888
|
+
* Foreground entry for launchd, systemd, Docker or a terminal. Signals are taken before boot, so a
|
|
889
|
+
* stop during boot unwinds what has started; `mama stop` asks through the control socket.
|
|
890
|
+
*/
|
|
762
891
|
async function runDaemon(options = {}) {
|
|
763
|
-
const
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
892
|
+
const controller = new AbortController();
|
|
893
|
+
// A stop asked for through `mama stop` exits 0; one by a signal exits 128 + its number, as an
|
|
894
|
+
// unhandled signal would, so a service that restarts only after a failure brings back a daemon
|
|
895
|
+
// that was killed (a service manager's own stop does not restart it whatever the code).
|
|
896
|
+
let signalExit;
|
|
897
|
+
const requestStop = () => controller.abort();
|
|
898
|
+
const onSigterm = () => {
|
|
899
|
+
signalExit = 143;
|
|
900
|
+
controller.abort();
|
|
901
|
+
};
|
|
902
|
+
const onSigint = () => {
|
|
903
|
+
signalExit = 130;
|
|
904
|
+
controller.abort();
|
|
905
|
+
};
|
|
906
|
+
// Once each: a second signal falls to Node's default and ends the process at once, a force stop;
|
|
907
|
+
// the operating system releases the install lock with it.
|
|
908
|
+
process.once('SIGTERM', onSigterm);
|
|
909
|
+
process.once('SIGINT', onSigint);
|
|
910
|
+
try {
|
|
911
|
+
let daemon;
|
|
912
|
+
try {
|
|
913
|
+
daemon = await bootDaemon({ ...options, signal: controller.signal, requestStop });
|
|
914
|
+
}
|
|
915
|
+
catch (error) {
|
|
916
|
+
if (error instanceof StopDuringBootError) {
|
|
917
|
+
if (signalExit !== undefined)
|
|
918
|
+
process.exitCode = signalExit;
|
|
768
919
|
return;
|
|
769
|
-
finished = true;
|
|
770
|
-
try {
|
|
771
|
-
await daemon.stop();
|
|
772
|
-
resolve();
|
|
773
920
|
}
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
921
|
+
throw error;
|
|
922
|
+
}
|
|
923
|
+
if (!controller.signal.aborted) {
|
|
924
|
+
await new Promise((resolve) => controller.signal.addEventListener('abort', () => resolve(), { once: true }));
|
|
925
|
+
}
|
|
926
|
+
await daemon.stop();
|
|
927
|
+
if (signalExit !== undefined)
|
|
928
|
+
process.exitCode = signalExit;
|
|
929
|
+
}
|
|
930
|
+
finally {
|
|
931
|
+
process.off('SIGTERM', onSigterm);
|
|
932
|
+
process.off('SIGINT', onSigint);
|
|
933
|
+
}
|
|
781
934
|
}
|
|
782
|
-
|
|
783
|
-
|
|
935
|
+
/** The install's control paths from its config path, as boot derives them. */
|
|
936
|
+
function installControlPaths(options = {}) {
|
|
937
|
+
const configPath = options.configPath ?? (0, config_js_1.defaultConfigPath)(options.home ?? (0, node_os_1.homedir)());
|
|
938
|
+
return (0, daemon_control_js_1.daemonControlPaths)((0, node_path_1.dirname)(configPath));
|
|
939
|
+
}
|
|
940
|
+
async function askDaemon(op, options = {}) {
|
|
941
|
+
return await (0, daemon_control_js_1.requestDaemonControl)(installControlPaths(options), op);
|
|
942
|
+
}
|
|
943
|
+
/** macOS only: this user's LaunchAgent (`launchctl print` exits 113 when it is not loaded). */
|
|
944
|
+
function launchdService() {
|
|
945
|
+
if (process.platform !== 'darwin')
|
|
946
|
+
return { loaded: false, pid: null };
|
|
947
|
+
const result = (0, node_child_process_1.spawnSync)('launchctl', ['print', `gui/${process.getuid()}/com.mama.server`], {
|
|
784
948
|
encoding: 'utf8',
|
|
785
949
|
});
|
|
786
950
|
if (result.error)
|
|
787
951
|
throw result.error;
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
952
|
+
if (result.status === 113)
|
|
953
|
+
return { loaded: false, pid: null };
|
|
954
|
+
if (result.status !== 0) {
|
|
955
|
+
throw Object.assign(new Error('launchctl print failed'), {
|
|
791
956
|
code: `LAUNCHCTL_${result.status ?? result.signal ?? 'UNKNOWN'}`,
|
|
792
957
|
});
|
|
793
958
|
}
|
|
794
|
-
|
|
795
|
-
}
|
|
796
|
-
function daemonStatus() {
|
|
797
|
-
const result = launchdService('print');
|
|
798
|
-
return result.status === 0 && /^\s*state = running\s*$/m.test(result.stdout)
|
|
799
|
-
? 'running'
|
|
800
|
-
: 'stopped';
|
|
959
|
+
const pid = /^\s*pid = (\d+)\s*$/m.exec(result.stdout)?.[1];
|
|
960
|
+
return { loaded: true, pid: pid === undefined ? null : Number(pid) };
|
|
801
961
|
}
|
|
802
|
-
|
|
803
|
-
|
|
962
|
+
/** Unload the LaunchAgent so KeepAlive cannot restart it; launchd sends the stop signal. */
|
|
963
|
+
function bootoutLaunchdService() {
|
|
964
|
+
const result = (0, node_child_process_1.spawnSync)('launchctl', ['bootout', `gui/${process.getuid()}/com.mama.server`], {
|
|
965
|
+
encoding: 'utf8',
|
|
966
|
+
});
|
|
967
|
+
if (result.error)
|
|
968
|
+
throw result.error;
|
|
969
|
+
if (result.status !== 0) {
|
|
970
|
+
throw Object.assign(new Error('launchctl bootout failed'), {
|
|
971
|
+
code: `LAUNCHCTL_${result.status ?? result.signal ?? 'UNKNOWN'}`,
|
|
972
|
+
});
|
|
973
|
+
}
|
|
804
974
|
}
|
|
805
975
|
//# sourceMappingURL=daemon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/cli/commands/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/cli/commands/daemon.ts"],"names":[],"mappings":"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"}
|