@jungjaehoon/mama-os 0.77.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 +446 -0
- package/README.md +59 -30
- 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 +10 -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 +8 -0
- package/dist/api/viewer-server.d.ts.map +1 -1
- package/dist/api/viewer-server.js +66 -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 +42 -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 +14 -0
- package/dist/cli/commands/backup.d.ts.map +1 -0
- package/dist/cli/commands/backup.js +174 -0
- package/dist/cli/commands/backup.js.map +1 -0
- package/dist/cli/commands/control.d.ts +44 -0
- package/dist/cli/commands/control.d.ts.map +1 -0
- package/dist/cli/commands/control.js +354 -0
- package/dist/cli/commands/control.js.map +1 -0
- package/dist/cli/commands/daemon.d.ts +60 -3
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +454 -78
- 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-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 -350
- 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/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 +14 -0
- package/dist/cli/commands/register-owner.js.map +1 -1
- package/dist/cli/commands/restore.d.ts +16 -0
- package/dist/cli/commands/restore.d.ts.map +1 -0
- package/dist/cli/commands/restore.js +137 -0
- package/dist/cli/commands/restore.js.map +1 -0
- package/dist/cli/commands/service.d.ts +44 -0
- package/dist/cli/commands/service.d.ts.map +1 -0
- package/dist/cli/commands/service.js +306 -0
- package/dist/cli/commands/service.js.map +1 -0
- 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 +7 -0
- package/dist/cli/commands/uninstall.d.ts.map +1 -0
- package/dist/cli/commands/uninstall.js +335 -0
- package/dist/cli/commands/uninstall.js.map +1 -0
- 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 +74 -23
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/launch-files.d.ts +119 -0
- package/dist/cli/launch-files.d.ts.map +1 -1
- package/dist/cli/launch-files.js +324 -15
- 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/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 +130 -0
- package/dist/cli/runtime/backup.d.ts.map +1 -0
- package/dist/cli/runtime/backup.js +592 -0
- package/dist/cli/runtime/backup.js.map +1 -0
- package/dist/cli/runtime/daemon-control.d.ts +169 -0
- package/dist/cli/runtime/daemon-control.d.ts.map +1 -0
- package/dist/cli/runtime/daemon-control.js +441 -0
- package/dist/cli/runtime/daemon-control.js.map +1 -0
- 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 +68 -0
- package/dist/cli/runtime/diagnostics.d.ts.map +1 -0
- package/dist/cli/runtime/diagnostics.js +1139 -0
- package/dist/cli/runtime/diagnostics.js.map +1 -0
- 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/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/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/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/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 +7 -1
- package/dist/connectors/config-loader.d.ts.map +1 -1
- package/dist/connectors/config-loader.js +11 -2
- 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/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/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/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/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 +26 -2
- package/dist/runtime/backend-security.d.ts.map +1 -1
- package/dist/runtime/backend-security.js +63 -10
- 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/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 +6 -5
- 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/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/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/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/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 +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/cli/runtime/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** The steps `mama init` takes after its questions, in order; each runs once. */
|
|
2
|
+
export declare const INIT_STEPS: readonly ["config", "owner", "toolkit", "service"];
|
|
3
|
+
export type InitStep = (typeof INIT_STEPS)[number];
|
|
4
|
+
export interface InitState {
|
|
5
|
+
version: 1;
|
|
6
|
+
done: InitStep[];
|
|
7
|
+
/**
|
|
8
|
+
* The viewer's tunnel settings, kept until the service step writes them into start.sh, so an
|
|
9
|
+
* init that resumes after a failure still has them. Not credentials.
|
|
10
|
+
*/
|
|
11
|
+
viewer?: Record<string, string>;
|
|
12
|
+
/** The first owner's Telegram user ID, kept until the owner step registers it. */
|
|
13
|
+
pendingOwner?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function initStatePath(mamaRoot: string): string;
|
|
16
|
+
/** The steps an earlier `mama init` finished, or null when none has run here. */
|
|
17
|
+
export declare function readInitState(mamaRoot: string): InitState | null;
|
|
18
|
+
export declare function writeInitState(mamaRoot: string, state: InitState): void;
|
|
19
|
+
export declare function initComplete(state: InitState | null): boolean;
|
|
20
|
+
//# sourceMappingURL=init-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-state.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/init-state.ts"],"names":[],"mappings":"AAIA,iFAAiF;AACjF,eAAO,MAAM,UAAU,oDAAqD,CAAC;AAC7E,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAuBhE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAMvE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAE7D"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INIT_STEPS = void 0;
|
|
4
|
+
exports.initStatePath = initStatePath;
|
|
5
|
+
exports.readInitState = readInitState;
|
|
6
|
+
exports.writeInitState = writeInitState;
|
|
7
|
+
exports.initComplete = initComplete;
|
|
8
|
+
const node_fs_1 = require("node:fs");
|
|
9
|
+
const node_path_1 = require("node:path");
|
|
10
|
+
const prompt_js_1 = require("../prompt.js");
|
|
11
|
+
/** The steps `mama init` takes after its questions, in order; each runs once. */
|
|
12
|
+
exports.INIT_STEPS = ['config', 'owner', 'toolkit', 'service'];
|
|
13
|
+
function initStatePath(mamaRoot) {
|
|
14
|
+
return (0, node_path_1.join)(mamaRoot, 'runtime', 'init-state.json');
|
|
15
|
+
}
|
|
16
|
+
/** The steps an earlier `mama init` finished, or null when none has run here. */
|
|
17
|
+
function readInitState(mamaRoot) {
|
|
18
|
+
const path = initStatePath(mamaRoot);
|
|
19
|
+
if (!(0, node_fs_1.existsSync)(path))
|
|
20
|
+
return null;
|
|
21
|
+
let parsed;
|
|
22
|
+
try {
|
|
23
|
+
parsed = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
throw new prompt_js_1.CliInputError(`${path} cannot be read; remove it and the MAMA home to start over`);
|
|
27
|
+
}
|
|
28
|
+
const state = parsed;
|
|
29
|
+
if (state.version !== 1 ||
|
|
30
|
+
!Array.isArray(state.done) ||
|
|
31
|
+
state.done.some((step) => !exports.INIT_STEPS.includes(step))) {
|
|
32
|
+
throw new prompt_js_1.CliInputError(`${path} is not one this version wrote; remove it to start over`);
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
version: 1,
|
|
36
|
+
done: state.done,
|
|
37
|
+
...(state.viewer === undefined ? {} : { viewer: state.viewer }),
|
|
38
|
+
...(state.pendingOwner === undefined ? {} : { pendingOwner: state.pendingOwner }),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function writeInitState(mamaRoot, state) {
|
|
42
|
+
const path = initStatePath(mamaRoot);
|
|
43
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.join)(mamaRoot, 'runtime'), { recursive: true, mode: 0o700 });
|
|
44
|
+
const temporary = `${path}.${process.pid}.tmp`;
|
|
45
|
+
(0, node_fs_1.writeFileSync)(temporary, `${JSON.stringify(state, null, 2)}\n`, { mode: 0o600 });
|
|
46
|
+
(0, node_fs_1.renameSync)(temporary, path);
|
|
47
|
+
}
|
|
48
|
+
function initComplete(state) {
|
|
49
|
+
return state !== null && exports.INIT_STEPS.every((step) => state.done.includes(step));
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=init-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-state.js","sourceRoot":"","sources":["../../../src/cli/runtime/init-state.ts"],"names":[],"mappings":";;;AAoBA,sCAEC;AAGD,sCAuBC;AAED,wCAMC;AAED,oCAEC;AA5DD,qCAAyF;AACzF,yCAAiC;AACjC,4CAA6C;AAE7C,iFAAiF;AACpE,QAAA,UAAU,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAe7E,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO,IAAA,gBAAI,EAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACtD,CAAC;AAED,iFAAiF;AACjF,SAAgB,aAAa,CAAC,QAAgB;IAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,yBAAa,CAAC,GAAG,IAAI,4DAA4D,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,KAAK,GAAG,MAA4B,CAAC;IAC3C,IACE,KAAK,CAAC,OAAO,KAAK,CAAC;QACnB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAE,kBAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAC5E,CAAC;QACD,MAAM,IAAI,yBAAa,CAAC,GAAG,IAAI,yDAAyD,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;KAClF,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,QAAgB,EAAE,KAAgB;IAC/D,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAA,mBAAS,EAAC,IAAA,gBAAI,EAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAC/C,IAAA,uBAAa,EAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,IAAA,oBAAU,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,YAAY,CAAC,KAAuB;IAClD,OAAO,KAAK,KAAK,IAAI,IAAI,kBAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACjF,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export declare const PACKAGE_NAME = "@jungjaehoon/mama-os";
|
|
2
|
+
/**
|
|
3
|
+
* How the package the service runs was installed (docs/development/work/update.md, "Install
|
|
4
|
+
* kinds"). npm: a global install, `<prefix>/lib/node_modules/@jungjaehoon/mama-os`; checkout: a
|
|
5
|
+
* workspace build, whose package.json names core `workspace:*` (a published package carries a
|
|
6
|
+
* version); other: anything else, with the reason.
|
|
7
|
+
*/
|
|
8
|
+
export type PackageKind = {
|
|
9
|
+
readonly kind: 'npm';
|
|
10
|
+
readonly packageRoot: string;
|
|
11
|
+
readonly prefix: string;
|
|
12
|
+
} | {
|
|
13
|
+
readonly kind: 'checkout';
|
|
14
|
+
readonly packageRoot: string;
|
|
15
|
+
readonly workspaceRoot: string;
|
|
16
|
+
} | {
|
|
17
|
+
readonly kind: 'other';
|
|
18
|
+
readonly packageRoot: string | null;
|
|
19
|
+
readonly reason: string;
|
|
20
|
+
};
|
|
21
|
+
/** The service's package, with the Node and the MAMA command start.sh's exec line names. */
|
|
22
|
+
export type InstallKind = (Exclude<PackageKind, {
|
|
23
|
+
kind: 'other';
|
|
24
|
+
}> & {
|
|
25
|
+
readonly nodePath: string;
|
|
26
|
+
readonly cliPath: string;
|
|
27
|
+
}) | (Extract<PackageKind, {
|
|
28
|
+
kind: 'other';
|
|
29
|
+
}> & {
|
|
30
|
+
readonly nodePath: string | null;
|
|
31
|
+
readonly cliPath: string | null;
|
|
32
|
+
});
|
|
33
|
+
/** The nearest folder at or above `from` whose package.json is MAMA OS's, after realpath. */
|
|
34
|
+
export declare function packageRootOf(from: string): string | null;
|
|
35
|
+
/** The package that holds the running code (this CLI or this daemon). */
|
|
36
|
+
export declare function runningPackageRoot(): string;
|
|
37
|
+
/** What kind of install a MAMA OS package folder is. */
|
|
38
|
+
export declare function packageKind(packageRoot: string): PackageKind;
|
|
39
|
+
/**
|
|
40
|
+
* The kind of the package the service runs: start.sh's exec line names it, so this reads that,
|
|
41
|
+
* not the CLI that asks. Without a readable start.sh the kind is `other`, with the reason.
|
|
42
|
+
*/
|
|
43
|
+
export declare function installKind(mamaRoot: string, home: string): InstallKind;
|
|
44
|
+
/**
|
|
45
|
+
* Refuse unless the running CLI is the package the service runs. On a machine where `mama` on
|
|
46
|
+
* PATH is an older global install while the service runs a checkout, the PATH one would update
|
|
47
|
+
* the wrong package.
|
|
48
|
+
*/
|
|
49
|
+
export declare function requireServicePackage(install: InstallKind, running?: string): asserts install is Exclude<InstallKind, {
|
|
50
|
+
kind: 'other';
|
|
51
|
+
}>;
|
|
52
|
+
/** How this kind updates: `mama update` for npm, the git steps for a checkout. */
|
|
53
|
+
export declare function updateSteps(install: InstallKind): string[];
|
|
54
|
+
//# sourceMappingURL=install-kind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-kind.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/install-kind.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAGnD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC3F;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7F,4FAA4F;AAC5F,MAAM,MAAM,WAAW,GACnB,CAAC,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC,GACF,CAAC,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC,CAAC;AAEP,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYzD;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAyB5D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAuDvE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,MAA6B,GACrC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAc5D;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAe1D"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PACKAGE_NAME = void 0;
|
|
4
|
+
exports.packageRootOf = packageRootOf;
|
|
5
|
+
exports.runningPackageRoot = runningPackageRoot;
|
|
6
|
+
exports.packageKind = packageKind;
|
|
7
|
+
exports.installKind = installKind;
|
|
8
|
+
exports.requireServicePackage = requireServicePackage;
|
|
9
|
+
exports.updateSteps = updateSteps;
|
|
10
|
+
const node_fs_1 = require("node:fs");
|
|
11
|
+
const node_path_1 = require("node:path");
|
|
12
|
+
const prompt_js_1 = require("../prompt.js");
|
|
13
|
+
const launch_files_js_1 = require("../launch-files.js");
|
|
14
|
+
const secrets_js_1 = require("../secrets.js");
|
|
15
|
+
exports.PACKAGE_NAME = '@jungjaehoon/mama-os';
|
|
16
|
+
const CORE_NAME = '@jungjaehoon/mama-core';
|
|
17
|
+
/** The nearest folder at or above `from` whose package.json is MAMA OS's, after realpath. */
|
|
18
|
+
function packageRootOf(from) {
|
|
19
|
+
let directory = (0, node_fs_1.realpathSync)(from);
|
|
20
|
+
for (;;) {
|
|
21
|
+
const manifest = (0, node_path_1.join)(directory, 'package.json');
|
|
22
|
+
if ((0, node_fs_1.existsSync)(manifest)) {
|
|
23
|
+
const name = JSON.parse((0, node_fs_1.readFileSync)(manifest, 'utf8')).name;
|
|
24
|
+
if (name === exports.PACKAGE_NAME)
|
|
25
|
+
return directory;
|
|
26
|
+
}
|
|
27
|
+
const parent = (0, node_path_1.dirname)(directory);
|
|
28
|
+
if (parent === directory)
|
|
29
|
+
return null;
|
|
30
|
+
directory = parent;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** The package that holds the running code (this CLI or this daemon). */
|
|
34
|
+
function runningPackageRoot() {
|
|
35
|
+
const root = packageRootOf(__dirname);
|
|
36
|
+
if (root === null)
|
|
37
|
+
throw new Error(`${__dirname} is not inside a ${exports.PACKAGE_NAME} package`);
|
|
38
|
+
return root;
|
|
39
|
+
}
|
|
40
|
+
/** What kind of install a MAMA OS package folder is. */
|
|
41
|
+
function packageKind(packageRoot) {
|
|
42
|
+
const npm = /^(.*)\/lib\/node_modules\/@jungjaehoon\/mama-os$/.exec(packageRoot);
|
|
43
|
+
if (npm)
|
|
44
|
+
return { kind: 'npm', packageRoot, prefix: npm[1] };
|
|
45
|
+
const manifest = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(packageRoot, 'package.json'), 'utf8'));
|
|
46
|
+
if (manifest.dependencies?.[CORE_NAME] === 'workspace:*') {
|
|
47
|
+
// `pnpm install` and `pnpm build` run from the workspace root, which builds core first.
|
|
48
|
+
for (let directory = (0, node_path_1.dirname)(packageRoot);; directory = (0, node_path_1.dirname)(directory)) {
|
|
49
|
+
if ((0, node_fs_1.existsSync)((0, node_path_1.join)(directory, 'pnpm-workspace.yaml'))) {
|
|
50
|
+
return { kind: 'checkout', packageRoot, workspaceRoot: directory };
|
|
51
|
+
}
|
|
52
|
+
if ((0, node_path_1.dirname)(directory) === directory)
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
kind: 'other',
|
|
57
|
+
packageRoot,
|
|
58
|
+
reason: `${packageRoot} names core workspace:* but no pnpm workspace holds it`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
kind: 'other',
|
|
63
|
+
packageRoot,
|
|
64
|
+
reason: `${packageRoot} is neither an npm global install nor a checkout`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The kind of the package the service runs: start.sh's exec line names it, so this reads that,
|
|
69
|
+
* not the CLI that asks. Without a readable start.sh the kind is `other`, with the reason.
|
|
70
|
+
*/
|
|
71
|
+
function installKind(mamaRoot, home) {
|
|
72
|
+
const startPath = (0, node_path_1.join)(mamaRoot, 'start.sh');
|
|
73
|
+
if (!(0, node_fs_1.existsSync)(startPath)) {
|
|
74
|
+
return {
|
|
75
|
+
kind: 'other',
|
|
76
|
+
packageRoot: null,
|
|
77
|
+
nodePath: null,
|
|
78
|
+
cliPath: null,
|
|
79
|
+
reason: `no ${startPath}; mama service install writes it`,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
let words = [];
|
|
83
|
+
try {
|
|
84
|
+
const exec = (0, launch_files_js_1.readStartScript)((0, node_fs_1.readFileSync)(startPath, 'utf8'), home).exec;
|
|
85
|
+
if (exec !== null)
|
|
86
|
+
words = (0, launch_files_js_1.shellWords)(exec);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
// Doctor's start.sh check names this too; status and doctor still print the rest.
|
|
90
|
+
return {
|
|
91
|
+
kind: 'other',
|
|
92
|
+
packageRoot: null,
|
|
93
|
+
nodePath: null,
|
|
94
|
+
cliPath: null,
|
|
95
|
+
reason: `${startPath} does not parse: ${error instanceof Error ? error.message : String(error)}`,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
const [, nodePath, cliPath] = words;
|
|
99
|
+
if (nodePath === undefined || cliPath === undefined) {
|
|
100
|
+
return {
|
|
101
|
+
kind: 'other',
|
|
102
|
+
packageRoot: null,
|
|
103
|
+
nodePath: null,
|
|
104
|
+
cliPath: null,
|
|
105
|
+
reason: `${startPath} has no exec line naming Node and the MAMA command`,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
if (!(0, node_fs_1.existsSync)(cliPath)) {
|
|
109
|
+
return {
|
|
110
|
+
kind: 'other',
|
|
111
|
+
packageRoot: null,
|
|
112
|
+
nodePath,
|
|
113
|
+
cliPath,
|
|
114
|
+
reason: `${cliPath}, which start.sh runs, is gone`,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
const packageRoot = packageRootOf(cliPath);
|
|
118
|
+
if (packageRoot === null) {
|
|
119
|
+
return {
|
|
120
|
+
kind: 'other',
|
|
121
|
+
packageRoot: null,
|
|
122
|
+
nodePath,
|
|
123
|
+
cliPath,
|
|
124
|
+
reason: `${cliPath}, which start.sh runs, is not inside a ${exports.PACKAGE_NAME} package`,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return { ...packageKind(packageRoot), nodePath, cliPath };
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Refuse unless the running CLI is the package the service runs. On a machine where `mama` on
|
|
131
|
+
* PATH is an older global install while the service runs a checkout, the PATH one would update
|
|
132
|
+
* the wrong package.
|
|
133
|
+
*/
|
|
134
|
+
function requireServicePackage(install, running = runningPackageRoot()) {
|
|
135
|
+
// `other` has no update path whether or not its folder is known (the kinds table).
|
|
136
|
+
if (install.kind === 'other') {
|
|
137
|
+
throw new prompt_js_1.CliInputError(install.packageRoot === null
|
|
138
|
+
? `Cannot tell which package the service runs: ${install.reason}`
|
|
139
|
+
: `The service runs a package mama cannot update: ${install.reason}`);
|
|
140
|
+
}
|
|
141
|
+
if ((0, node_fs_1.realpathSync)(running) !== install.packageRoot) {
|
|
142
|
+
throw new prompt_js_1.CliInputError(`This mama is ${(0, node_fs_1.realpathSync)(running)}, but the service runs ${install.packageRoot}${install.nodePath === null || install.cliPath === null ? '' : `; use ${(0, secrets_js_1.shellQuote)(install.nodePath)} ${(0, secrets_js_1.shellQuote)(install.cliPath)}`}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/** How this kind updates: `mama update` for npm, the git steps for a checkout. */
|
|
146
|
+
function updateSteps(install) {
|
|
147
|
+
if (install.kind === 'npm')
|
|
148
|
+
return ['mama update'];
|
|
149
|
+
if (install.kind === 'other')
|
|
150
|
+
return [`no update path: ${install.reason}`];
|
|
151
|
+
// `service install` writes the running CLI as exec, so the steps name this checkout's by path.
|
|
152
|
+
// The stop comes first: sessions start the action MCP server from dist, which the build rewrites.
|
|
153
|
+
const cli = `${(0, secrets_js_1.shellQuote)(install.nodePath)} ${(0, secrets_js_1.shellQuote)(install.cliPath)}`;
|
|
154
|
+
const cd = `cd ${(0, secrets_js_1.shellQuote)(install.workspaceRoot)}`;
|
|
155
|
+
return [
|
|
156
|
+
`${cli} stop`,
|
|
157
|
+
`${cd} && git pull --ff-only`,
|
|
158
|
+
`${cd} && pnpm install`,
|
|
159
|
+
`${cd} && pnpm build`,
|
|
160
|
+
`${cli} service install`,
|
|
161
|
+
`${cli} service start`,
|
|
162
|
+
];
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=install-kind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-kind.js","sourceRoot":"","sources":["../../../src/cli/runtime/install-kind.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { removeUpdateJournal } from './update-journal.js';
|
|
2
|
+
/**
|
|
3
|
+
* The journal of `mama update --node` (docs/development/work/install.md, "Moving the managed
|
|
4
|
+
* Node"): its own file, since the update journal's fields describe a package. Under runtime/,
|
|
5
|
+
* beside update.json, which the agents' native reads deny and a backup does not archive.
|
|
6
|
+
*
|
|
7
|
+
* install/install.sh reads it in plain sh before anything else, since ~/.mama/npm may be missing
|
|
8
|
+
* then: it greps `"phase": "committed"`, so the file is written by JSON.stringify with two-space
|
|
9
|
+
* indents (writeJournalFile), one field per line.
|
|
10
|
+
*/
|
|
11
|
+
/** prepare: steps 1-4, undone on a failure; committed: the new Node runs, only cleanup is left. */
|
|
12
|
+
export type NodeMovePhase = 'prepare' | 'committed';
|
|
13
|
+
export interface NodeMoveJournal {
|
|
14
|
+
readonly format: 'mama-node-move';
|
|
15
|
+
phase: NodeMovePhase;
|
|
16
|
+
/** The step last begun: 1 lock and journal, 2 copy and rebuild, 3 stop and renames, 4 boot. */
|
|
17
|
+
step: number;
|
|
18
|
+
/** The managed Node's versions, without the `v`. */
|
|
19
|
+
readonly from: string;
|
|
20
|
+
readonly to: string;
|
|
21
|
+
/** A major change, which moves a rebuilt copy of the npm prefix as well. */
|
|
22
|
+
readonly major: boolean;
|
|
23
|
+
readonly startedAt: string;
|
|
24
|
+
}
|
|
25
|
+
export interface NodeMovePlaces {
|
|
26
|
+
readonly journal: string;
|
|
27
|
+
/** `~/.mama/node`, the folder start.sh's Node lives in, and the two beside it. */
|
|
28
|
+
readonly node: string;
|
|
29
|
+
readonly staged: string;
|
|
30
|
+
readonly aside: string;
|
|
31
|
+
/** `~/.mama/npm`, the managed prefix, and its rebuilt copy and the previous one. */
|
|
32
|
+
readonly prefix: string;
|
|
33
|
+
readonly prefixCopy: string;
|
|
34
|
+
readonly prefixAside: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function nodeMovePlaces(mamaRoot: string): NodeMovePlaces;
|
|
37
|
+
/** start.sh's Node on an install the install command made. */
|
|
38
|
+
export declare function managedNodePath(mamaRoot: string): string;
|
|
39
|
+
/** The documented install command; running it again moves the managed Node to its pin. */
|
|
40
|
+
export declare const INSTALL_COMMAND = "curl -fsSL https://github.com/jungjaehoon-lifegamez/MAMA/releases/latest/download/install.sh | sh";
|
|
41
|
+
export declare function readNodeMoveJournal(path: string): NodeMoveJournal | null;
|
|
42
|
+
export declare function writeNodeMoveJournal(path: string, journal: NodeMoveJournal): void;
|
|
43
|
+
export declare const removeNodeMoveJournal: typeof removeUpdateJournal;
|
|
44
|
+
//# sourceMappingURL=node-move-journal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-move-journal.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/node-move-journal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE5E;;;;;;;;GAQG;AAEH,mGAAmG;AACnG,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,KAAK,EAAE,aAAa,CAAC;IACrB,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAU/D;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,0FAA0F;AAC1F,eAAO,MAAM,eAAe,sGACyE,CAAC;AAEtG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAgBxE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAEjF;AAED,eAAO,MAAM,qBAAqB,4BAAsB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeNodeMoveJournal = exports.INSTALL_COMMAND = void 0;
|
|
4
|
+
exports.nodeMovePlaces = nodeMovePlaces;
|
|
5
|
+
exports.managedNodePath = managedNodePath;
|
|
6
|
+
exports.readNodeMoveJournal = readNodeMoveJournal;
|
|
7
|
+
exports.writeNodeMoveJournal = writeNodeMoveJournal;
|
|
8
|
+
const node_fs_1 = require("node:fs");
|
|
9
|
+
const node_path_1 = require("node:path");
|
|
10
|
+
const update_journal_js_1 = require("./update-journal.js");
|
|
11
|
+
function nodeMovePlaces(mamaRoot) {
|
|
12
|
+
return {
|
|
13
|
+
journal: (0, node_path_1.join)(mamaRoot, 'runtime', 'node-move.json'),
|
|
14
|
+
node: (0, node_path_1.join)(mamaRoot, 'node'),
|
|
15
|
+
staged: (0, node_path_1.join)(mamaRoot, 'node.new'),
|
|
16
|
+
aside: (0, node_path_1.join)(mamaRoot, 'node.old'),
|
|
17
|
+
prefix: (0, node_path_1.join)(mamaRoot, 'npm'),
|
|
18
|
+
prefixCopy: (0, node_path_1.join)(mamaRoot, 'npm.new'),
|
|
19
|
+
prefixAside: (0, node_path_1.join)(mamaRoot, 'npm.old'),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** start.sh's Node on an install the install command made. */
|
|
23
|
+
function managedNodePath(mamaRoot) {
|
|
24
|
+
return (0, node_path_1.join)(nodeMovePlaces(mamaRoot).node, 'bin', 'node');
|
|
25
|
+
}
|
|
26
|
+
/** The documented install command; running it again moves the managed Node to its pin. */
|
|
27
|
+
exports.INSTALL_COMMAND = 'curl -fsSL https://github.com/jungjaehoon-lifegamez/MAMA/releases/latest/download/install.sh | sh';
|
|
28
|
+
function readNodeMoveJournal(path) {
|
|
29
|
+
if (!(0, node_fs_1.existsSync)(path))
|
|
30
|
+
return null;
|
|
31
|
+
const value = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
|
|
32
|
+
if (value === null ||
|
|
33
|
+
typeof value !== 'object' ||
|
|
34
|
+
value.format !== 'mama-node-move' ||
|
|
35
|
+
(value.phase !== 'prepare' && value.phase !== 'committed') ||
|
|
36
|
+
typeof value.step !== 'number' ||
|
|
37
|
+
typeof value.from !== 'string' ||
|
|
38
|
+
typeof value.to !== 'string' ||
|
|
39
|
+
typeof value.major !== 'boolean') {
|
|
40
|
+
throw new Error(`${path} is not a journal mama update --node wrote`);
|
|
41
|
+
}
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
function writeNodeMoveJournal(path, journal) {
|
|
45
|
+
(0, update_journal_js_1.writeJournalFile)(path, journal);
|
|
46
|
+
}
|
|
47
|
+
exports.removeNodeMoveJournal = update_journal_js_1.removeUpdateJournal;
|
|
48
|
+
//# sourceMappingURL=node-move-journal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-move-journal.js","sourceRoot":"","sources":["../../../src/cli/runtime/node-move-journal.ts"],"names":[],"mappings":";;;AA0CA,wCAUC;AAGD,0CAEC;AAMD,kDAgBC;AAED,oDAEC;AAnFD,qCAAmD;AACnD,yCAAiC;AACjC,2DAA4E;AAwC5E,SAAgB,cAAc,CAAC,QAAgB;IAC7C,OAAO;QACL,OAAO,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC;QACpD,IAAI,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,MAAM,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,UAAU,CAAC;QAClC,KAAK,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,UAAU,CAAC;QACjC,MAAM,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,KAAK,CAAC;QAC7B,UAAU,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,SAAS,CAAC;QACrC,WAAW,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,SAAS,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,SAAgB,eAAe,CAAC,QAAgB;IAC9C,OAAO,IAAA,gBAAI,EAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,0FAA0F;AAC7E,QAAA,eAAe,GAC1B,mGAAmG,CAAC;AAEtG,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAoC,CAAC;IACxF,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,KAAK,gBAAgB;QACjC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC;QAC1D,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,EAChC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4CAA4C,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAwB,CAAC;AAClC,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAY,EAAE,OAAwB;IACzE,IAAA,oCAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAEY,QAAA,qBAAqB,GAAG,uCAAmB,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { TimeZoneSetting } from '../../runtime/timezone.js';
|
|
2
|
+
import { type PackageKind } from './install-kind.js';
|
|
3
|
+
/**
|
|
4
|
+
* What the daemon's daily release check found (docs/development/work/update.md, PR 2). `mama
|
|
5
|
+
* status` and `mama doctor` read only this file, so neither makes a network call.
|
|
6
|
+
*/
|
|
7
|
+
export interface ReleaseCheckState {
|
|
8
|
+
/** When the check ran (ISO time); a later boot the same day makes no call. */
|
|
9
|
+
readonly checkedAt: string;
|
|
10
|
+
/** The version of the daemon that checked. */
|
|
11
|
+
readonly current: string;
|
|
12
|
+
/** The registry's `latest` tag; null when the check failed. */
|
|
13
|
+
readonly latest: string | null;
|
|
14
|
+
/** npm's error code (or the process's) when the check failed. */
|
|
15
|
+
readonly error: string | null;
|
|
16
|
+
}
|
|
17
|
+
/** Under runtime/, which the agents' native reads deny with the rest of the credential paths. */
|
|
18
|
+
export declare function releaseCheckPath(mamaRoot: string): string;
|
|
19
|
+
/** The file as the daemon wrote it, or null when no check has run yet. */
|
|
20
|
+
export declare function readReleaseCheck(path: string): ReleaseCheckState | null;
|
|
21
|
+
/** One npm call: its stdout, or a rejection carrying npm's or the process's error. */
|
|
22
|
+
export type NpmRun = (command: string, args: string[], env: NodeJS.ProcessEnv, signal: AbortSignal) => Promise<string>;
|
|
23
|
+
export declare const defaultNpmRun: NpmRun;
|
|
24
|
+
/**
|
|
25
|
+
* A failed npm call reduced to a code. npm's own (`npm error code E404`) comes first; then a
|
|
26
|
+
* spawn error's (ENOENT), a timeout, the exit status. Only a code's characters pass: PR 4 sends
|
|
27
|
+
* it to a chat a group reads, and stderr is npm's text.
|
|
28
|
+
*/
|
|
29
|
+
export declare function npmErrorCode(error: unknown): string;
|
|
30
|
+
/**
|
|
31
|
+
* Two releases in semver precedence (semver.org, rule 11): major, minor, patch, then a version
|
|
32
|
+
* without a prerelease above one with it, then the prerelease's identifiers one by one (numbers
|
|
33
|
+
* numerically and below words, words in ASCII order, a longer list above its prefix). Build
|
|
34
|
+
* metadata does not count. A version that is not semver throws: there is no order to guess.
|
|
35
|
+
*/
|
|
36
|
+
export declare function compareReleases(left: string, right: string): number;
|
|
37
|
+
/**
|
|
38
|
+
* Whether a Node version (no `v`) is inside a package's `engines.node` range: comparators
|
|
39
|
+
* (`>=`, `>`, `<=`, `<`, `=`, bare), `^` and `~` on full or partial versions, `*` and `x`, joined
|
|
40
|
+
* by spaces (all hold) and `||` (any holds). Any other form throws with the range, so a target
|
|
41
|
+
* whose range cannot be read is refused rather than passed.
|
|
42
|
+
*/
|
|
43
|
+
export declare function nodeSatisfies(range: string, version: string): boolean;
|
|
44
|
+
export interface ReleaseCheckOptions {
|
|
45
|
+
statePath: string;
|
|
46
|
+
/** The running daemon's version. */
|
|
47
|
+
current: string;
|
|
48
|
+
/** The daemon's own package: an npm install's calls name its prefix. */
|
|
49
|
+
packageKind: PackageKind;
|
|
50
|
+
/** The npm beside the Node that runs the daemon. */
|
|
51
|
+
npmPath: string;
|
|
52
|
+
timeZone: TimeZoneSetting;
|
|
53
|
+
log: (line: string) => void;
|
|
54
|
+
onError: (error: unknown) => void;
|
|
55
|
+
run?: NpmRun;
|
|
56
|
+
/** The daemon's environment; npm gets it without credential-shaped names (start.sh exports auth.env). */
|
|
57
|
+
env?: NodeJS.ProcessEnv;
|
|
58
|
+
now?: () => Date;
|
|
59
|
+
/** Boot's own work goes first; the daemon's other schedules also start a minute in. */
|
|
60
|
+
firstTickDelayMs?: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Once a day, ask the registry for MAMA OS's `latest` tag and write what it said. The day is the
|
|
64
|
+
* configured time zone's, read from the file, so a restart the same day makes no call; a daemon
|
|
65
|
+
* on a version other than the file's checks again, since the file then describes an older one.
|
|
66
|
+
* A failed check counts as the day's check: its code is shown until the next day's.
|
|
67
|
+
*/
|
|
68
|
+
export declare function createReleaseCheck(options: ReleaseCheckOptions): {
|
|
69
|
+
tick: () => Promise<void>;
|
|
70
|
+
start: () => void;
|
|
71
|
+
stop: () => void;
|
|
72
|
+
};
|
|
73
|
+
export type ReleaseCheck = ReturnType<typeof createReleaseCheck>;
|
|
74
|
+
/**
|
|
75
|
+
* The npm beside the Node start.sh pins (stableNodePath): Homebrew's running Node is its Cellar
|
|
76
|
+
* folder, which `brew upgrade node` removes while the daemon runs; the opt link stays.
|
|
77
|
+
*/
|
|
78
|
+
export declare function npmBesideNode(execPath?: string, exists?: (path: string) => boolean): string;
|
|
79
|
+
export interface ReleaseReport {
|
|
80
|
+
readonly status: 'ok' | 'warn';
|
|
81
|
+
readonly detail: string;
|
|
82
|
+
/** What could not be read (a path, an error message); never in a shared report. */
|
|
83
|
+
readonly context?: string;
|
|
84
|
+
readonly fix?: string;
|
|
85
|
+
/** The service package's update path when a newer release is out. */
|
|
86
|
+
readonly steps?: string[];
|
|
87
|
+
readonly state: ReleaseCheckState | null;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* What `mama status` and the doctor check `release` say, from the file alone; null when no check
|
|
91
|
+
* has run. A newer release names the update path of the kind the service runs.
|
|
92
|
+
*/
|
|
93
|
+
export declare function releaseReport(mamaRoot: string, home: string): ReleaseReport | null;
|
|
94
|
+
//# sourceMappingURL=release-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-check.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/release-check.ts"],"names":[],"mappings":"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"}
|