@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
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.initSections = void 0;
|
|
37
|
+
exports.runInitSection = runInitSection;
|
|
38
|
+
const node_crypto_1 = require("node:crypto");
|
|
39
|
+
const node_fs_1 = require("node:fs");
|
|
40
|
+
const node_os_1 = require("node:os");
|
|
41
|
+
const node_path_1 = require("node:path");
|
|
42
|
+
const yaml = __importStar(require("js-yaml"));
|
|
43
|
+
const config_loader_js_1 = require("../../connectors/config-loader.js");
|
|
44
|
+
const config_js_1 = require("../../runtime/config.js");
|
|
45
|
+
const connectors_js_1 = require("../../runtime/connectors.js");
|
|
46
|
+
const launch_files_js_1 = require("../launch-files.js");
|
|
47
|
+
const prompt_js_1 = require("../prompt.js");
|
|
48
|
+
const secrets_js_1 = require("../secrets.js");
|
|
49
|
+
const diagnostics_js_1 = require("../runtime/diagnostics.js");
|
|
50
|
+
const setup_page_js_1 = require("../runtime/setup-page.js");
|
|
51
|
+
const source_tools_js_1 = require("../runtime/source-tools.js");
|
|
52
|
+
const daemon_control_js_1 = require("../runtime/daemon-control.js");
|
|
53
|
+
const daemon_js_1 = require("./daemon.js");
|
|
54
|
+
const service_js_1 = require("./service.js");
|
|
55
|
+
const init_questions_js_1 = require("./init-questions.js");
|
|
56
|
+
/** The parts of a setup `mama init --section` asks again; the folders stay, member data is there. */
|
|
57
|
+
exports.initSections = [
|
|
58
|
+
'telegram',
|
|
59
|
+
'model',
|
|
60
|
+
'timezone',
|
|
61
|
+
'connectors',
|
|
62
|
+
'discord',
|
|
63
|
+
'slack',
|
|
64
|
+
'jev',
|
|
65
|
+
];
|
|
66
|
+
/**
|
|
67
|
+
* A messenger block asked again keeps the settings the questions do not cover (file_delivery);
|
|
68
|
+
* turned off, it also keeps its channels for turning it on again.
|
|
69
|
+
*/
|
|
70
|
+
function mergeBlock(current, answer) {
|
|
71
|
+
const kept = current;
|
|
72
|
+
if (answer.enabled === false && kept)
|
|
73
|
+
return { ...kept, enabled: false };
|
|
74
|
+
return { ...kept, ...answer };
|
|
75
|
+
}
|
|
76
|
+
/** What the sources section says once a refused source's tool is in place and signed in. */
|
|
77
|
+
const SOURCE_NEXT = 'Then run this again.';
|
|
78
|
+
/**
|
|
79
|
+
* The new sources' tools, before anything is written (install.md, W2.4.5e). Boot starts every
|
|
80
|
+
* enabled source: one whose tool the service cannot find fails its start (gws --version), which
|
|
81
|
+
* stops boot, and one whose tool is not signed in fails every poll. Either refuses the section,
|
|
82
|
+
* so a source is enabled only after its tool is installed and signed in. The sign-in is each
|
|
83
|
+
* source's own check (Calendar reads the calendar; the others ask gws whether Google still
|
|
84
|
+
* accepts its sign-in), run with the PATH and HOME the service gives it.
|
|
85
|
+
*/
|
|
86
|
+
async function checkSourceTools(added, enabled, install) {
|
|
87
|
+
const { root, home, config, options, mama } = install;
|
|
88
|
+
const platform = options.platform ?? process.platform;
|
|
89
|
+
const tools = (0, init_questions_js_1.sourceToolReports)(added, enabled, { root, home, platform }, config, options);
|
|
90
|
+
if (tools === null)
|
|
91
|
+
return;
|
|
92
|
+
const missing = tools.reports.filter(({ servicePath }) => servicePath === null);
|
|
93
|
+
if (missing.length > 0)
|
|
94
|
+
throw new prompt_js_1.CliInputError(['Nothing was saved.', ...(0, source_tools_js_1.sourceToolLines)(missing, SOURCE_NEXT, mama)].join('\n'));
|
|
95
|
+
// As doctor asks it: the environment start.sh gives the daemon.
|
|
96
|
+
const env = (0, diagnostics_js_1.serviceEnvironment)(home, (0, diagnostics_js_1.readAuthEnv)(root), tools.service.exports, tools.service.path);
|
|
97
|
+
/** Each refused source's reason, in gws's words: no sign-in, a missing scope, the network. */
|
|
98
|
+
const refused = new Map();
|
|
99
|
+
for (const { name, source, needs } of added)
|
|
100
|
+
if (needs.some((need) => need.type === 'cli') &&
|
|
101
|
+
!(await (0, diagnostics_js_1.withEnvironment)(env, () => source.authenticate())))
|
|
102
|
+
// A Google source's failed check keeps gws's reason as its health error.
|
|
103
|
+
refused.set(name, (await source.healthCheck()).error);
|
|
104
|
+
if (refused.size === 0)
|
|
105
|
+
return;
|
|
106
|
+
throw new prompt_js_1.CliInputError([
|
|
107
|
+
'Nothing was saved.',
|
|
108
|
+
...tools.reports.flatMap(({ tool, sources, login }) => {
|
|
109
|
+
const who = sources.filter((name) => refused.has(name));
|
|
110
|
+
return who.length === 0
|
|
111
|
+
? []
|
|
112
|
+
: [
|
|
113
|
+
...who.map((name) => refused.get(name)),
|
|
114
|
+
tool.beforeLogin,
|
|
115
|
+
// One login serves every source that runs the tool, so it names what all need.
|
|
116
|
+
`Sign in first: ${login}`,
|
|
117
|
+
];
|
|
118
|
+
}),
|
|
119
|
+
SOURCE_NEXT,
|
|
120
|
+
].join('\n'));
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* The sources `--section connectors --non-interactive` sets up: MAMA_INIT_CONNECTORS, a JSON
|
|
124
|
+
* object of connectors.json blocks keyed by source name, checked as boot checks connectors.json.
|
|
125
|
+
* Blocks name their tokens (`auth.tokenName`) and never hold one.
|
|
126
|
+
*/
|
|
127
|
+
function environmentConnectors(env) {
|
|
128
|
+
const source = env.MAMA_INIT_CONNECTORS?.trim();
|
|
129
|
+
if (!source)
|
|
130
|
+
throw new prompt_js_1.CliInputError('mama init --section connectors --non-interactive needs MAMA_INIT_CONNECTORS: a JSON object of connectors.json blocks, keyed by source name.');
|
|
131
|
+
let ignored = [];
|
|
132
|
+
const loaded = (0, config_loader_js_1.parseConnectorConfig)(source, 'MAMA_INIT_CONNECTORS', (names) => {
|
|
133
|
+
ignored = names;
|
|
134
|
+
});
|
|
135
|
+
if (!loaded.ok)
|
|
136
|
+
throw new prompt_js_1.CliInputError(`${loaded.error.message}; nothing was saved.`);
|
|
137
|
+
// Boot skips a source name or a setting it does not know, so such a block would be saved and
|
|
138
|
+
// never run.
|
|
139
|
+
if (ignored.length > 0)
|
|
140
|
+
throw new prompt_js_1.CliInputError(`MAMA_INIT_CONNECTORS names what MAMA does not read: ${ignored.join(', ')}; nothing was saved.`);
|
|
141
|
+
return loaded.config;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* The secrets the sources being enabled read, each entered on the setup page (install.md,
|
|
145
|
+
* W2.4.5b), one field each and named as auth.env names it. Their names come from each source's
|
|
146
|
+
* own requirements, which name the tokens a block's `auth` does not (Trello's key).
|
|
147
|
+
*/
|
|
148
|
+
async function sourceSecretsOnPage(sources, options, write) {
|
|
149
|
+
const readers = new Map();
|
|
150
|
+
for (const { name, needs } of sources)
|
|
151
|
+
for (const need of needs)
|
|
152
|
+
if (need.type === 'token' && need.tokenName !== undefined)
|
|
153
|
+
readers.set(need.tokenName, [...(readers.get(need.tokenName) ?? []), name]);
|
|
154
|
+
// Each token source is built only with its own token name (its constructor checks the block),
|
|
155
|
+
// so the page never takes the owner's bot token, MAMA_AUTH_TOKEN or the Slack app token.
|
|
156
|
+
const names = [...readers.keys()];
|
|
157
|
+
const secrets = {};
|
|
158
|
+
if (names.length === 0)
|
|
159
|
+
return secrets;
|
|
160
|
+
let taken;
|
|
161
|
+
const allTaken = new Promise((resolve) => {
|
|
162
|
+
taken = resolve;
|
|
163
|
+
});
|
|
164
|
+
const page = await (0, setup_page_js_1.openSetupPage)({
|
|
165
|
+
fields: names.map((name, index) => ({
|
|
166
|
+
name,
|
|
167
|
+
label: `${name}, for ${readers.get(name).join(', ')}`,
|
|
168
|
+
secret: true,
|
|
169
|
+
check: async (value) => {
|
|
170
|
+
secrets[name] = (0, prompt_js_1.nonblankLine)(value).trim();
|
|
171
|
+
write(`${name} taken`);
|
|
172
|
+
if (index < names.length - 1)
|
|
173
|
+
return `${name} is taken.`;
|
|
174
|
+
taken();
|
|
175
|
+
return 'Every token is taken.';
|
|
176
|
+
},
|
|
177
|
+
})),
|
|
178
|
+
write,
|
|
179
|
+
platform: options.platform ?? process.platform,
|
|
180
|
+
...(options.openRun ? { openRun: options.openRun } : {}),
|
|
181
|
+
...(options.setupPageMs === undefined ? {} : { lifetimeMs: options.setupPageMs }),
|
|
182
|
+
});
|
|
183
|
+
try {
|
|
184
|
+
await Promise.race([allTaken, page.stopped]);
|
|
185
|
+
}
|
|
186
|
+
finally {
|
|
187
|
+
page.close();
|
|
188
|
+
}
|
|
189
|
+
return secrets;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Ask one part of an existing setup again and save it: the answers are checked as `mama init`
|
|
193
|
+
* checks them, the changed config.yaml is parsed as the daemon parses it before it is written,
|
|
194
|
+
* and tokens go only to auth.env. The daemon reads its settings at boot and holds the install
|
|
195
|
+
* lock, so a change waits until it is stopped. `--section connectors --non-interactive` takes the
|
|
196
|
+
* sources from MAMA_INIT_CONNECTORS and their tokens on the setup page; every other part needs a
|
|
197
|
+
* terminal (install.md, W2.4.5e).
|
|
198
|
+
*/
|
|
199
|
+
async function runInitSection(section, options = {}, nonInteractive = false) {
|
|
200
|
+
if (!exports.initSections.includes(section))
|
|
201
|
+
throw new prompt_js_1.CliInputError(`Choose a section: ${exports.initSections.join(', ')}`);
|
|
202
|
+
if (nonInteractive && section !== 'connectors')
|
|
203
|
+
throw new prompt_js_1.CliInputError(`mama init --section ${section} has no --non-interactive form yet; only connectors has one.`);
|
|
204
|
+
const prompt = options.prompt ?? (0, prompt_js_1.createTerminalPrompt)();
|
|
205
|
+
if (!nonInteractive)
|
|
206
|
+
(0, prompt_js_1.requireTTY)(prompt);
|
|
207
|
+
const write = (line) => prompt.write(line);
|
|
208
|
+
const home = options.home ?? (0, node_os_1.homedir)();
|
|
209
|
+
const root = (0, node_path_1.join)(home, '.mama');
|
|
210
|
+
const configPath = (0, node_path_1.join)(root, 'config.yaml');
|
|
211
|
+
if (!(0, node_fs_1.existsSync)(configPath))
|
|
212
|
+
throw new prompt_js_1.CliInputError('MAMA is not set up here; run the install command first.');
|
|
213
|
+
const mama = (0, launch_files_js_1.mamaCommand)(root);
|
|
214
|
+
// `service start` needs the service file, which `service install` writes.
|
|
215
|
+
const start = (0, node_fs_1.existsSync)((0, service_js_1.serviceFile)({ home, platform: options.platform ?? process.platform }))
|
|
216
|
+
? `${mama} service start`
|
|
217
|
+
: `${mama} service install, then ${mama} service start`;
|
|
218
|
+
const lock = (0, daemon_control_js_1.acquireInstallLock)((0, daemon_control_js_1.daemonControlPaths)(root), 'init --section');
|
|
219
|
+
try {
|
|
220
|
+
(0, daemon_control_js_1.refuseWhileRestoring)(root);
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
lock.release();
|
|
224
|
+
throw error;
|
|
225
|
+
}
|
|
226
|
+
try {
|
|
227
|
+
const config = (0, config_js_1.loadConfig)({ home, path: configPath });
|
|
228
|
+
const secrets = {};
|
|
229
|
+
let change;
|
|
230
|
+
let connectors;
|
|
231
|
+
let jevKey;
|
|
232
|
+
const jevKeyFile = config.jev?.keyFile ?? (0, node_path_1.join)(root, 'jev-key');
|
|
233
|
+
if (section === 'telegram') {
|
|
234
|
+
const token = (0, prompt_js_1.nonblankLine)(await prompt.secret('Telegram bot token'));
|
|
235
|
+
// The owners and the common group stay, so the new bot must already be in that group.
|
|
236
|
+
await (0, init_questions_js_1.checkTelegram)(token, config.telegram?.owner_chat_id, options.telegramCall ?? diagnostics_js_1.defaultTelegramCall, write, { groupRequired: true, next: 'run this again' });
|
|
237
|
+
secrets.MAMA_TELEGRAM_TOKEN = token;
|
|
238
|
+
}
|
|
239
|
+
else if (section === 'model') {
|
|
240
|
+
const locate = options.findExecutable ?? launch_files_js_1.findExecutable;
|
|
241
|
+
const { backend, model } = await (0, init_questions_js_1.askBackend)(prompt, (name) => (0, init_questions_js_1.checkBackend)(name, config.agent.codex_home ?? (0, node_path_1.join)(root, '.codex'), locate, options.probeRun, 'run this again', { run: options.signIn ?? init_questions_js_1.terminalSignIn, write }), locate);
|
|
242
|
+
change = (doc) => {
|
|
243
|
+
doc.agent = { ...doc.agent, backend, model };
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
else if (section === 'timezone') {
|
|
247
|
+
const timezone = await (0, init_questions_js_1.askTimezone)(prompt, config.timezone);
|
|
248
|
+
change = (doc) => {
|
|
249
|
+
doc.timezone = timezone;
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
else if (section === 'connectors') {
|
|
253
|
+
// The sources named are set up again; the others keep their settings.
|
|
254
|
+
connectors = nonInteractive
|
|
255
|
+
? environmentConnectors(options.env ?? process.env)
|
|
256
|
+
: await (0, init_questions_js_1.collectConnectors)(prompt, secrets);
|
|
257
|
+
}
|
|
258
|
+
else if (section === 'discord') {
|
|
259
|
+
const discord = await (0, init_questions_js_1.askDiscord)(prompt, secrets);
|
|
260
|
+
change = (doc) => {
|
|
261
|
+
doc.discord = mergeBlock(doc.discord, discord);
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
else if (section === 'slack') {
|
|
265
|
+
const slack = await (0, init_questions_js_1.askSlack)(prompt, secrets);
|
|
266
|
+
change = (doc) => {
|
|
267
|
+
doc.slack = mergeBlock(doc.slack, slack);
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
const jev = await (0, init_questions_js_1.askJev)(prompt, jevKeyFile);
|
|
272
|
+
jevKey = jev.key;
|
|
273
|
+
change = (doc) => {
|
|
274
|
+
doc.jev = { ...doc.jev, enabled: jev.enabled };
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
// Every answer is in. The new files are staged in runtime/, which the agent may not read, and
|
|
278
|
+
// must pass the checks MAMA runs at boot before anything takes their place.
|
|
279
|
+
const staging = (0, node_path_1.join)(root, 'runtime');
|
|
280
|
+
(0, node_fs_1.mkdirSync)(staging, { recursive: true, mode: 0o700 });
|
|
281
|
+
const staged = [];
|
|
282
|
+
const stage = (path, content) => {
|
|
283
|
+
const temporary = (0, node_path_1.join)(staging, `init-section.${(0, node_crypto_1.randomUUID)()}.tmp`);
|
|
284
|
+
staged.push({ temporary, path });
|
|
285
|
+
(0, node_fs_1.writeFileSync)(temporary, content, { flag: 'wx', mode: 0o600 });
|
|
286
|
+
return temporary;
|
|
287
|
+
};
|
|
288
|
+
try {
|
|
289
|
+
let reshaped = false;
|
|
290
|
+
if (change) {
|
|
291
|
+
const raw = (0, node_fs_1.readFileSync)(configPath, 'utf8');
|
|
292
|
+
const doc = yaml.load(raw);
|
|
293
|
+
// A file init wrote reads back the same; one written by hand loses comments and layout.
|
|
294
|
+
reshaped = yaml.dump(doc) !== raw;
|
|
295
|
+
change(doc);
|
|
296
|
+
const changed = (0, config_js_1.parseConfig)(doc, { home });
|
|
297
|
+
try {
|
|
298
|
+
(0, daemon_js_1.validateDeliveryRoutes)(changed);
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
throw new prompt_js_1.CliInputError(`${error.message}; set that route in config.yaml to a messenger that stays on, then run this again.`);
|
|
302
|
+
}
|
|
303
|
+
stage(configPath, yaml.dump(doc));
|
|
304
|
+
}
|
|
305
|
+
if (connectors) {
|
|
306
|
+
const connectorsPath = (0, daemon_js_1.pathsFor)(configPath, config).connectorsConfigPath;
|
|
307
|
+
const current = (0, node_fs_1.existsSync)(connectorsPath)
|
|
308
|
+
? JSON.parse((0, node_fs_1.readFileSync)(connectorsPath, 'utf8'))
|
|
309
|
+
: {};
|
|
310
|
+
// The loader reads names in any case (both forms give them in lower case); a source asked
|
|
311
|
+
// again replaces its entry whatever case the file gave it.
|
|
312
|
+
for (const name of Object.keys(current))
|
|
313
|
+
if (Object.hasOwn(connectors, name.toLowerCase()))
|
|
314
|
+
delete current[name];
|
|
315
|
+
const temporary = stage(connectorsPath, `${JSON.stringify({ ...current, ...connectors }, null, 2)}\n`);
|
|
316
|
+
const refused = (error) => new prompt_js_1.CliInputError(`connectors.json would be refused at boot: ${error.message.split(temporary).join(connectorsPath)}`);
|
|
317
|
+
let plan;
|
|
318
|
+
try {
|
|
319
|
+
plan = (0, connectors_js_1.planConnectors)({
|
|
320
|
+
configPath: temporary,
|
|
321
|
+
onIgnored: () => { },
|
|
322
|
+
...(config.wiki?.enabled
|
|
323
|
+
? { wikiRoot: (0, node_path_1.resolve)(config.wiki.vaultPath, config.wiki.wikiDir) }
|
|
324
|
+
: {}),
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
catch (error) {
|
|
328
|
+
throw refused(error);
|
|
329
|
+
}
|
|
330
|
+
// Boot builds every enabled source, then starts it.
|
|
331
|
+
const enabled = [];
|
|
332
|
+
for (const source of await (0, init_questions_js_1.buildSources)(plan, config, configPath)) {
|
|
333
|
+
if (!('error' in source))
|
|
334
|
+
enabled.push(source);
|
|
335
|
+
else if (Object.hasOwn(connectors, source.name))
|
|
336
|
+
throw refused(source.error);
|
|
337
|
+
else
|
|
338
|
+
throw new prompt_js_1.CliInputError(`${source.name}, already on in ${connectorsPath}, cannot be built (${source.error.message}), so boot would stop. Nothing was saved. Turn it off with its block and "enabled": false in MAMA_INIT_CONNECTORS beside the new one, or correct it in ${connectorsPath}.`);
|
|
339
|
+
}
|
|
340
|
+
const added = enabled.filter(({ name }) => Object.hasOwn(connectors, name));
|
|
341
|
+
await checkSourceTools(added, enabled, { root, home, config, options, mama });
|
|
342
|
+
if (nonInteractive)
|
|
343
|
+
Object.assign(secrets, await sourceSecretsOnPage(added, options, write));
|
|
344
|
+
}
|
|
345
|
+
if (Object.keys(secrets).length > 0)
|
|
346
|
+
(0, secrets_js_1.updateSecrets)(home, secrets);
|
|
347
|
+
if (jevKey !== undefined)
|
|
348
|
+
(0, node_fs_1.writeFileSync)(jevKeyFile, `${jevKey}\n`, { flag: 'wx', mode: 0o600 });
|
|
349
|
+
for (const { temporary, path } of staged)
|
|
350
|
+
(0, node_fs_1.renameSync)(temporary, path);
|
|
351
|
+
if (reshaped)
|
|
352
|
+
write('config.yaml was written again in plain YAML; its comments and layout were not kept.');
|
|
353
|
+
}
|
|
354
|
+
finally {
|
|
355
|
+
for (const { temporary } of staged)
|
|
356
|
+
(0, node_fs_1.rmSync)(temporary, { force: true });
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
catch (error) {
|
|
360
|
+
// The section holds the install lock, so MAMA is stopped while it runs, and a refusal or an
|
|
361
|
+
// expired page leaves it stopped.
|
|
362
|
+
if (error instanceof prompt_js_1.CliInputError)
|
|
363
|
+
throw new prompt_js_1.CliInputError(`${error.message}\nMAMA is still stopped; start it with ${start}.`, {
|
|
364
|
+
cause: error,
|
|
365
|
+
});
|
|
366
|
+
throw error;
|
|
367
|
+
}
|
|
368
|
+
finally {
|
|
369
|
+
lock.release();
|
|
370
|
+
}
|
|
371
|
+
// doctor checks what this command cannot see: the service's PATH for a new backend or a
|
|
372
|
+
// source's tool, and the rest of the install as boot will read it.
|
|
373
|
+
write(`Saved ${section}. Check the install with ${mama} doctor, then start MAMA: ${start}`);
|
|
374
|
+
}
|
|
375
|
+
//# sourceMappingURL=init-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-section.js","sourceRoot":"","sources":["../../../src/cli/commands/init-section.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,68 @@
|
|
|
1
1
|
import { type W1Config } from '../../runtime/config.js';
|
|
2
2
|
import { type PromptAdapter } from '../prompt.js';
|
|
3
|
+
import type { ProbeRun } from '../runtime/backend-probe.js';
|
|
4
|
+
import { telegramCheck } from '../runtime/diagnostics.js';
|
|
5
|
+
import { type OpenRun } from '../runtime/setup-page.js';
|
|
6
|
+
import { type DaemonControlReply } from '../runtime/daemon-control.js';
|
|
7
|
+
import { type ServiceRun } from '../runtime/systemd-service.js';
|
|
8
|
+
import { type BackendSignIn } from './init-questions.js';
|
|
3
9
|
export interface InitOptions {
|
|
4
10
|
home?: string;
|
|
5
11
|
prompt?: PromptAdapter;
|
|
6
12
|
cliPath?: string;
|
|
7
13
|
nodePath?: string;
|
|
8
14
|
findExecutable?: (name: string) => string | undefined;
|
|
9
|
-
|
|
15
|
+
/** Which package-manager tool folders exist for start.sh's PATH; tests name them. */
|
|
16
|
+
toolDirectoryExists?: (path: string) => boolean;
|
|
10
17
|
platform?: NodeJS.Platform;
|
|
18
|
+
/** This account's name and uid, for the per-user folders; tests name them. */
|
|
19
|
+
user?: string;
|
|
20
|
+
uid?: number;
|
|
11
21
|
installToolkit?: (config: W1Config) => Promise<unknown>;
|
|
22
|
+
/** Where `--non-interactive` reads its answers; by default this process's environment. */
|
|
23
|
+
env?: NodeJS.ProcessEnv;
|
|
24
|
+
/** Calls the Telegram Bot API; tests replace it. */
|
|
25
|
+
telegramCall?: Parameters<typeof telegramCheck>[2];
|
|
26
|
+
/** Runs open or xdg-open on the setup page's redirect file; tests replace it. */
|
|
27
|
+
openRun?: OpenRun;
|
|
28
|
+
/** How long the setup page takes entries; 15 minutes by default. */
|
|
29
|
+
setupPageMs?: number;
|
|
30
|
+
/** Runs the backend CLI to read its version and login; tests replace it. */
|
|
31
|
+
probeRun?: ProbeRun;
|
|
32
|
+
/**
|
|
33
|
+
* Runs a signed-out backend's login on the terminal, for `mama init --section model`; tests
|
|
34
|
+
* replace it. The whole setup runs no login: it names it, for the person's agent to run.
|
|
35
|
+
*/
|
|
36
|
+
signIn?: BackendSignIn;
|
|
37
|
+
/** Runs launchctl or systemctl for the service step; tests replace it. */
|
|
38
|
+
serviceRun?: ServiceRun;
|
|
39
|
+
/** Installs and starts the service with the viewer's settings; tests replace it. */
|
|
40
|
+
startService?: (viewer: Record<string, string>) => Promise<void>;
|
|
41
|
+
/** Asks the install's daemon for its status while init waits for its boot; tests replace it. */
|
|
42
|
+
daemonStatus?: () => Promise<DaemonControlReply>;
|
|
43
|
+
/** Asks the started daemon for one real backend turn; tests replace it. */
|
|
44
|
+
daemonProbe?: () => Promise<DaemonControlReply>;
|
|
45
|
+
/** Whether the viewer answers /health; tests replace it. */
|
|
46
|
+
health?: () => Promise<boolean>;
|
|
47
|
+
/** Whether something listens on a port; tests replace it. */
|
|
48
|
+
portAnswers?: (port: number, host: string) => Promise<boolean>;
|
|
49
|
+
bootTimeoutMs?: number;
|
|
50
|
+
pollMs?: number;
|
|
12
51
|
}
|
|
13
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Wait until the started daemon reports its boot finished, then until the viewer answers. With a
|
|
54
|
+
* `version`, the daemon must be that version: `mama update` waits for the one it installed.
|
|
55
|
+
*/
|
|
56
|
+
export declare function waitForBoot(options: {
|
|
57
|
+
status: () => Promise<DaemonControlReply>;
|
|
58
|
+
health: () => Promise<boolean>;
|
|
59
|
+
timeoutMs: number;
|
|
60
|
+
pollMs: number;
|
|
61
|
+
write: (line: string) => void;
|
|
62
|
+
version?: string;
|
|
63
|
+
/** What to do after a failed wait; init's own next step by default. */
|
|
64
|
+
next?: string;
|
|
65
|
+
}): Promise<void>;
|
|
66
|
+
export declare function viewerHealth(port: number): Promise<boolean>;
|
|
67
|
+
export declare function runInit(args?: readonly string[], options?: InitOptions): Promise<void>;
|
|
14
68
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|