@songsid/agend 2.3.0 → 2.3.2-beta.1
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/README.md +1 -1
- package/README.zh-TW.md +1 -1
- package/dist/authority/authority-state.d.ts +4 -0
- package/dist/authority/authority-state.js +16 -10
- package/dist/authority/authority-state.js.map +1 -1
- package/dist/authority/session-authorizations.d.ts +7 -1
- package/dist/authority/session-authorizations.js +6 -4
- package/dist/authority/session-authorizations.js.map +1 -1
- package/dist/authority/web-authority.d.ts +19 -6
- package/dist/authority/web-authority.js +22 -8
- package/dist/authority/web-authority.js.map +1 -1
- package/dist/backend/muse.d.ts +20 -2
- package/dist/backend/muse.js +154 -16
- package/dist/backend/muse.js.map +1 -1
- package/dist/channel/adapters/discord.d.ts +2 -0
- package/dist/channel/adapters/discord.js +33 -3
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/adapters/telegram.d.ts +1 -1
- package/dist/channel/adapters/telegram.js +3 -35
- package/dist/channel/adapters/telegram.js.map +1 -1
- package/dist/channel/mcp-tools.js +5 -5
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/channel/types.d.ts +11 -0
- package/dist/cli.js +6 -3
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +42 -5
- package/dist/config-validator.js.map +1 -1
- package/dist/daemon.d.ts +47 -3
- package/dist/daemon.js +380 -60
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-outbox.d.ts +23 -1
- package/dist/delivery-outbox.js +114 -17
- package/dist/delivery-outbox.js.map +1 -1
- package/dist/doctor.d.ts +3 -0
- package/dist/doctor.js +9 -0
- package/dist/doctor.js.map +1 -1
- package/dist/event-log.d.ts +5 -0
- package/dist/event-log.js +13 -0
- package/dist/event-log.js.map +1 -1
- package/dist/fleet-context.d.ts +1 -1
- package/dist/fleet-lock.d.ts +6 -0
- package/dist/fleet-lock.js +19 -0
- package/dist/fleet-lock.js.map +1 -1
- package/dist/fleet-manager.d.ts +174 -2
- package/dist/fleet-manager.js +678 -68
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-process-handlers.d.ts +1 -0
- package/dist/fleet-process-handlers.js +9 -1
- package/dist/fleet-process-handlers.js.map +1 -1
- package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +11 -0
- package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +4 -4
- package/dist/general-knowledge/skills/web-appearance/SKILL.md +7 -7
- package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +109 -57
- package/dist/general-knowledge/skills/web-dashboard/SKILL.md +110 -58
- package/dist/guest-seen-people.d.ts +38 -0
- package/dist/guest-seen-people.js +78 -0
- package/dist/guest-seen-people.js.map +1 -0
- package/dist/instance-config-impact.js +4 -1
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +2 -0
- package/dist/instance-lifecycle.js +27 -1
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/locale.js +62 -12
- package/dist/locale.js.map +1 -1
- package/dist/log-service.js +1 -0
- package/dist/log-service.js.map +1 -1
- package/dist/mac-auto-restore.d.ts +117 -0
- package/dist/mac-auto-restore.js +294 -0
- package/dist/mac-auto-restore.js.map +1 -0
- package/dist/needs-you.js +1 -0
- package/dist/needs-you.js.map +1 -1
- package/dist/outbound-handlers.d.ts +2 -2
- package/dist/outbound-handlers.js +5 -5
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +2 -0
- package/dist/outbound-schemas.js +2 -0
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/public-web-gateway.js +9 -1
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/search/search-index.d.ts +10 -2
- package/dist/search/search-index.js +17 -4
- package/dist/search/search-index.js.map +1 -1
- package/dist/service-installer.d.ts +23 -1
- package/dist/service-installer.js +40 -11
- package/dist/service-installer.js.map +1 -1
- package/dist/session-oom-stop.d.ts +45 -0
- package/dist/session-oom-stop.js +259 -0
- package/dist/session-oom-stop.js.map +1 -0
- package/dist/session-oom.d.ts +13 -0
- package/dist/session-oom.js +119 -7
- package/dist/session-oom.js.map +1 -1
- package/dist/settings-api.d.ts +27 -1
- package/dist/settings-api.js +108 -2
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-change.js +37 -3
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-effect.js +5 -2
- package/dist/settings-effect.js.map +1 -1
- package/dist/spawn-gate.d.ts +2 -0
- package/dist/spawn-gate.js +17 -4
- package/dist/spawn-gate.js.map +1 -1
- package/dist/start-attempt.d.ts +15 -1
- package/dist/start-attempt.js +35 -5
- package/dist/start-attempt.js.map +1 -1
- package/dist/start-failure-chat.d.ts +41 -0
- package/dist/start-failure-chat.js +159 -0
- package/dist/start-failure-chat.js.map +1 -0
- package/dist/start-failure-notice.d.ts +4 -0
- package/dist/start-failure-notice.js +8 -0
- package/dist/start-failure-notice.js.map +1 -1
- package/dist/start-failure.d.ts +49 -0
- package/dist/start-failure.js +141 -1
- package/dist/start-failure.js.map +1 -1
- package/dist/telegram-api-root.d.ts +1 -0
- package/dist/telegram-api-root.js +40 -0
- package/dist/telegram-api-root.js.map +1 -0
- package/dist/turn-reply-guard.d.ts +25 -0
- package/dist/turn-reply-guard.js +111 -12
- package/dist/turn-reply-guard.js.map +1 -1
- package/dist/types.d.ts +21 -3
- package/dist/ui/backend-signin.js +5 -2
- package/dist/ui/chat-ambient.js +1 -1
- package/dist/ui/chat-effects.js +4 -4
- package/dist/ui/chat-render.js +5 -2
- package/dist/ui/chat-strings.js +2 -2
- package/dist/ui/chat-thread.js +2 -2
- package/dist/ui/first-run.js +2 -2
- package/dist/ui/fleet-canvas-view.js +114 -0
- package/dist/ui/fleet-canvas.js +15 -77
- package/dist/ui/fleet-office-editor.js +80 -5
- package/dist/ui/fleet-office-layout.js +197 -0
- package/dist/ui/fleet-office-model.js +6 -3
- package/dist/ui/fleet-office-pack.d.ts +39 -0
- package/dist/ui/fleet-office-pack.js +240 -29
- package/dist/ui/fleet-office-skin.js +130 -21
- package/dist/ui/fleet-office-store.js +75 -4
- package/dist/ui/fleet-office-view.js +154 -0
- package/dist/ui/fleet-office-zones.js +95 -33
- package/dist/ui/fleet-office.js +530 -94
- package/dist/ui/fleet-usage.js +7 -6
- package/dist/ui/panel-chat.js +20 -7
- package/dist/ui/panel-details.js +2 -2
- package/dist/ui/panel-fleet.js +11 -77
- package/dist/ui/panel-log.js +5 -5
- package/dist/ui/panel-settings.js +586 -164
- package/dist/ui/search-dialog.js +26 -7
- package/dist/ui/settings-appearance.js +82 -29
- package/dist/ui/settings-apply.js +42 -7
- package/dist/ui/settings-dialogs.js +68 -22
- package/dist/ui/settings-draft.js +51 -0
- package/dist/ui/settings-guests.js +244 -78
- package/dist/ui/settings-learn.js +2 -2
- package/dist/ui/settings-model.js +2 -0
- package/dist/ui/settings-registry.js +142 -0
- package/dist/ui/settings-strings.js +108 -44
- package/dist/ui/settings-web-authority.js +34 -23
- package/dist/ui/shared/app-i18n.js +14 -0
- package/dist/ui/shared/app-nav.js +10 -5
- package/dist/ui/shared/app-prefs.js +80 -2
- package/dist/ui/shared/app-route.js +39 -5
- package/dist/ui/shared/app-shell.js +80 -8
- package/dist/ui/shared/app-stream.js +2 -1
- package/dist/ui/shared/app.css +251 -20
- package/dist/ui/shared/app.js +3 -0
- package/dist/ui/shared/effect-stock-trust.js +1 -1
- package/dist/ui/shared/identity-color.js +4 -4
- package/dist/ui/shared/signin.js +2 -2
- package/dist/ui/shared/ui-dialog.js +6 -1
- package/dist/ui/shared/ui-icons.js +2 -0
- package/dist/ui/shared/usage-dialog.js +21 -11
- package/dist/ui/shared/view-strings.js +2 -0
- package/dist/ui/shared/web-authorize.js +13 -12
- package/dist/web-api.d.ts +9 -3
- package/dist/web-api.js +161 -6
- package/dist/web-api.js.map +1 -1
- package/dist/web-auth.js +7 -1
- package/dist/web-auth.js.map +1 -1
- package/dist/web-experimental.d.ts +1 -1
- package/dist/web-experimental.js +1 -1
- package/dist/web-experimental.js.map +1 -1
- package/dist/web-mod-agent.js +2 -2
- package/dist/web-mod-agent.js.map +1 -1
- package/dist/web-office-skins.d.ts +108 -0
- package/dist/web-office-skins.js +298 -0
- package/dist/web-office-skins.js.map +1 -0
- package/dist/web-office-store.d.ts +8 -2
- package/dist/web-office-store.js +37 -7
- package/dist/web-office-store.js.map +1 -1
- package/dist/web-settings-patch.d.ts +6 -0
- package/dist/web-settings-patch.js +61 -4
- package/dist/web-settings-patch.js.map +1 -1
- package/dist/web-shell-routes.d.ts +4 -2
- package/dist/web-shell-routes.js +17 -7
- package/dist/web-shell-routes.js.map +1 -1
- package/dist/working-recovery.d.ts +104 -0
- package/dist/working-recovery.js +263 -0
- package/dist/working-recovery.js.map +1 -0
- package/dist/working-state-journal.d.ts +70 -0
- package/dist/working-state-journal.js +106 -0
- package/dist/working-state-journal.js.map +1 -0
- package/package.json +1 -1
package/dist/settings-effect.js
CHANGED
|
@@ -8,6 +8,7 @@ import { applyAppearanceChanges, applyGuestsPatch, applyVerifiedAuthorityPatch,
|
|
|
8
8
|
import { SettingsConfirmationError } from "./settings-confirmation.js";
|
|
9
9
|
import { validateFleetConfig, validateClassicBotConfig } from "./config-validator.js";
|
|
10
10
|
import { settingsEffectAuthority, settingsSecretAuthority } from "./settings-authority.js";
|
|
11
|
+
import { quickLinkEffective } from "./authority/web-authority.js";
|
|
11
12
|
export function isSettingsMutation(method, path) {
|
|
12
13
|
if (method === "POST" && path === "/api/settings/public-tunnel-token/apply")
|
|
13
14
|
return true;
|
|
@@ -27,9 +28,11 @@ export function prepareSettingsEffect(method, path, body, context, binding, key)
|
|
|
27
28
|
const operation = `${method} ${path}`;
|
|
28
29
|
// #2453 (§0.2): the trusted effect — the named-link option off before, on after — makes the change one its asker can't
|
|
29
30
|
// confirm (#2170 self-confirmation).
|
|
30
|
-
|
|
31
|
+
// §0.3: likewise the quick-link option, on its value as in force (explicit, else the release default) before and after.
|
|
32
|
+
const opensPublicLink = () => (before.fleet?.web?.verified_authority?.named_link !== true && after.fleet?.web?.verified_authority?.named_link === true)
|
|
33
|
+
|| (!quickLinkEffective(before.fleet?.web?.verified_authority) && quickLinkEffective(after.fleet?.web?.verified_authority));
|
|
31
34
|
const scoped = (diff, authority) => diff
|
|
32
|
-
? { ...diff, authority: authority ?? settingsEffectAuthority(before.fleet, after.fleet, before.classic, after.classic), ...(
|
|
35
|
+
? { ...diff, authority: authority ?? settingsEffectAuthority(before.fleet, after.fleet, before.classic, after.classic), ...(opensPublicLink() ? { noSelfConfirm: true } : {}) } : null;
|
|
33
36
|
const secret = (path === "/api/settings/public-tunnel-token/apply" ? `/api/settings/secrets/${PUBLIC_TUNNEL_SECRET_ID}/apply` : path).match(/^\/api\/settings\/(?:provider-secrets|secrets)\/([^/]+)\/apply$/);
|
|
34
37
|
const connection = path.match(/^\/api\/settings\/connections\/([^/]+)\/(secret|binding)\/apply$/);
|
|
35
38
|
if (secret || connection) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-effect.js","sourceRoot":"","sources":["../src/settings-effect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings-effect.js","sourceRoot":"","sources":["../src/settings-effect.ts"],"names":[],"mappings":"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"}
|
package/dist/spawn-gate.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export interface SpawnTask {
|
|
|
6
6
|
reason: "startup" | "wake" | "recovery" | "restart";
|
|
7
7
|
/** Outer fleet operations reserve a slot before their Daemon.trySpawn call. */
|
|
8
8
|
stage?: "lifecycle";
|
|
9
|
+
/** Confirmed OOM without self proof: do not replace it into ongoing host pressure. */
|
|
10
|
+
requireNormalMemory?: boolean;
|
|
9
11
|
}
|
|
10
12
|
export interface SpawnGateOptions {
|
|
11
13
|
storm: StormWindow;
|
package/dist/spawn-gate.js
CHANGED
|
@@ -90,7 +90,8 @@ export class SpawnGate {
|
|
|
90
90
|
this.pumping = true;
|
|
91
91
|
try {
|
|
92
92
|
while (!this.stopped) {
|
|
93
|
-
|
|
93
|
+
let index = this.queue.findIndex(item => !this.activeDirectories.has(item.task.workingDirectory));
|
|
94
|
+
let nestedIndex = this.nestedQueue.length ? 0 : -1;
|
|
94
95
|
if (this.nestedQueue.length === 0 && index < 0)
|
|
95
96
|
return;
|
|
96
97
|
// Explicit zero preserves the existing deterministic test/embedding opt-out.
|
|
@@ -108,6 +109,18 @@ export class SpawnGate {
|
|
|
108
109
|
let pressure = sample === null || this.memoryPressure.advisoryOnly() ? "normal" : sample.level;
|
|
109
110
|
if (this.stopped)
|
|
110
111
|
return;
|
|
112
|
+
if (sample !== null && sample.level !== "normal") {
|
|
113
|
+
// A collateral OOM needs normal memory, but cannot hold unrelated
|
|
114
|
+
// eligible work behind itself at elevated/unknown pressure.
|
|
115
|
+
index = this.queue.findIndex(item => !item.task.requireNormalMemory && !this.activeDirectories.has(item.task.workingDirectory));
|
|
116
|
+
nestedIndex = this.nestedQueue.findIndex(item => !item.task.requireNormalMemory);
|
|
117
|
+
if (index < 0 && nestedIndex < 0) {
|
|
118
|
+
// This is recovery-only waiting, not proof that startup is memory
|
|
119
|
+
// blocked. Never extend its service deadline for an unrelated wait.
|
|
120
|
+
this.wait(5_000);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
111
124
|
if (pressure === "critical") {
|
|
112
125
|
this.pressureHeld = true;
|
|
113
126
|
for (const item of [...this.queue, ...this.nestedQueue])
|
|
@@ -124,8 +137,8 @@ export class SpawnGate {
|
|
|
124
137
|
const configured = Math.max(1, Math.min(20, this.options.concurrency()));
|
|
125
138
|
const normalLimit = Math.min(configured, this.options.storm.isActive() ? 4 : configured);
|
|
126
139
|
const limit = pressure === "normal" ? normalLimit : 1;
|
|
127
|
-
const nested =
|
|
128
|
-
const physical = (nested ? this.nestedQueue[
|
|
140
|
+
const nested = nestedIndex >= 0;
|
|
141
|
+
const physical = (nested ? this.nestedQueue[nestedIndex] : this.queue[index]).task.stage !== "lifecycle";
|
|
129
142
|
if (pressure !== "normal" && physical && this.physicalActive > 0) {
|
|
130
143
|
this.wait(5_000, true, nested || this.active < normalLimit);
|
|
131
144
|
return;
|
|
@@ -151,7 +164,7 @@ export class SpawnGate {
|
|
|
151
164
|
this.wait(delay, false, pressure !== "normal" && delay > normalDelay);
|
|
152
165
|
return;
|
|
153
166
|
}
|
|
154
|
-
const [item] = nested ? this.nestedQueue.splice(
|
|
167
|
+
const [item] = nested ? this.nestedQueue.splice(nestedIndex, 1) : this.queue.splice(index, 1);
|
|
155
168
|
if (this.pressureHeld) {
|
|
156
169
|
this.memoryPressure.startRecoveryWindow();
|
|
157
170
|
this.pressureHeld = false;
|
package/dist/spawn-gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-gate.js","sourceRoot":"","sources":["../src/spawn-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA+B,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-gate.js","sourceRoot":"","sources":["../src/spawn-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/start-attempt.d.ts
CHANGED
|
@@ -1 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
import { type RestoreOutcome } from "./mac-auto-restore.js";
|
|
2
|
+
import { notifyChatOnce, notifyOnce, notifyRestoreFailed } from "./start-failure.js";
|
|
3
|
+
/**
|
|
4
|
+
* Record this `fleet start` as an attempt of `version`, then what is due. #2490: not one that will be refused because
|
|
5
|
+
* another live fleet holds the lock — it is no failed start, and counted it would make the next genuine start look like
|
|
6
|
+
* a crash loop. #2481: on a Mac whose 2.3.x has crash-looped since an upgrade from 2.2.x, the restore of the kept 2.2.x
|
|
7
|
+
* (mac-auto-restore.ts), with its own notices in place of the plain ones. Null when nothing was recorded.
|
|
8
|
+
*/
|
|
9
|
+
export declare function recordFleetStartAttempt(home: string, version: string, now: number, deps?: {
|
|
10
|
+
lockHeld?: (home: string) => boolean;
|
|
11
|
+
notify?: typeof notifyOnce;
|
|
12
|
+
notifyChat?: typeof notifyChatOnce;
|
|
13
|
+
restore?: (home: string, version: string, attempts: number, history: string[] | "unreadable") => RestoreOutcome;
|
|
14
|
+
restoreFailed?: typeof notifyRestoreFailed;
|
|
15
|
+
}): RestoreOutcome | null;
|
package/dist/start-attempt.js
CHANGED
|
@@ -3,16 +3,46 @@
|
|
|
3
3
|
* first import), so a fleet that dies anywhere later in its start still counts the attempt. See start-failure.ts.
|
|
4
4
|
* Every other command, and any failure here, does nothing: recording an attempt must never stop a start.
|
|
5
5
|
*/
|
|
6
|
+
import { fleetLockHeldByAnother } from "./fleet-lock.js";
|
|
7
|
+
import { maybeAutoRestore } from "./mac-auto-restore.js";
|
|
6
8
|
import { getAgendHome } from "./paths.js";
|
|
7
|
-
import { notifyOnce, ownPackage, recordStartAttempt } from "./start-failure.js";
|
|
9
|
+
import { notifyChatOnce, notifyOnce, notifyRestore, notifyRestoreFailed, ownPackage, readStartedHistory, recentAttemptCount, recordStartAttempt } from "./start-failure.js";
|
|
10
|
+
/**
|
|
11
|
+
* Record this `fleet start` as an attempt of `version`, then what is due. #2490: not one that will be refused because
|
|
12
|
+
* another live fleet holds the lock — it is no failed start, and counted it would make the next genuine start look like
|
|
13
|
+
* a crash loop. #2481: on a Mac whose 2.3.x has crash-looped since an upgrade from 2.2.x, the restore of the kept 2.2.x
|
|
14
|
+
* (mac-auto-restore.ts), with its own notices in place of the plain ones. Null when nothing was recorded.
|
|
15
|
+
*/
|
|
16
|
+
export function recordFleetStartAttempt(home, version, now, deps = {}) {
|
|
17
|
+
if ((deps.lockHeld ?? fleetLockHeldByAnother)(home))
|
|
18
|
+
return null;
|
|
19
|
+
const record = recordStartAttempt(home, version, now);
|
|
20
|
+
const restore = deps.restore ?? ((h, v, attempts, history) => {
|
|
21
|
+
const own = ownPackage();
|
|
22
|
+
if (!own.prefix)
|
|
23
|
+
return { kind: "not-due" };
|
|
24
|
+
return maybeAutoRestore(h, own.root, own.prefix, v, history, attempts, { notify: (from, to, preimage) => notifyRestore(h, from, to, preimage) });
|
|
25
|
+
});
|
|
26
|
+
const outcome = restore(home, version, recentAttemptCount(record, now), readStartedHistory(home));
|
|
27
|
+
// Tried and failed: its notices said a restore was happening — correct them (once), with the way back by hand.
|
|
28
|
+
if (outcome.kind === "failed")
|
|
29
|
+
(deps.restoreFailed ?? notifyRestoreFailed)(home, outcome.from, outcome.to, outcome.reason, outcome.packageAt);
|
|
30
|
+
if (outcome.kind !== "not-due")
|
|
31
|
+
return outcome; // restored (or tried): its notices went out; no plain ones
|
|
32
|
+
(deps.notify ?? notifyOnce)(home, record);
|
|
33
|
+
(deps.notifyChat ?? notifyChatOnce)(home, version, now); // #2490: the same failure in General or the admin's DM, once per version
|
|
34
|
+
return outcome;
|
|
35
|
+
}
|
|
8
36
|
if (process.argv[2] === "fleet" && process.argv[3] === "start") {
|
|
37
|
+
let restored = false;
|
|
9
38
|
try {
|
|
10
39
|
const version = ownPackage().version;
|
|
11
|
-
if (version)
|
|
12
|
-
|
|
13
|
-
notifyOnce(home, recordStartAttempt(home, version, Date.now()));
|
|
14
|
-
}
|
|
40
|
+
if (version)
|
|
41
|
+
restored = recordFleetStartAttempt(getAgendHome(), version, Date.now())?.kind === "restored";
|
|
15
42
|
}
|
|
16
43
|
catch { /* never in the way of a start */ }
|
|
44
|
+
// #2481: this package is no longer in place — exit before loading any more of it; launchd starts the restored one.
|
|
45
|
+
if (restored)
|
|
46
|
+
process.exit(1);
|
|
17
47
|
}
|
|
18
48
|
//# sourceMappingURL=start-attempt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-attempt.js","sourceRoot":"","sources":["../src/start-attempt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"start-attempt.js","sourceRoot":"","sources":["../src/start-attempt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAuB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE5K;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,OAAe,EAAE,GAAW,EAAE,IAAI,GAIpF,EAAE;IACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,sBAAsB,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,QAAgB,EAAE,OAAgC,EAAE,EAAE;QAC5G,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAW,CAAC;QACrD,OAAO,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnJ,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,+GAA+G;IAC/G,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,CAAC,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9I,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,CAAK,2DAA2D;IAC/G,CAAC,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,yEAAyE;IAClI,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAC/D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC;QACrC,IAAI,OAAO;YAAE,QAAQ,GAAG,uBAAuB,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC;IAC5G,CAAC;IAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;IAC7C,mHAAmH;IACnH,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type AttemptsRecord, type StartedRecord } from "./start-failure.js";
|
|
2
|
+
export type ChatTarget = {
|
|
3
|
+
platform: "telegram";
|
|
4
|
+
token: string;
|
|
5
|
+
apiRoot: string;
|
|
6
|
+
chatId: string;
|
|
7
|
+
threadId?: number;
|
|
8
|
+
} | {
|
|
9
|
+
platform: "discord";
|
|
10
|
+
token: string;
|
|
11
|
+
channelId: string;
|
|
12
|
+
} | {
|
|
13
|
+
platform: "discord-dm";
|
|
14
|
+
token: string;
|
|
15
|
+
userId: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Where the notice goes, from fleet.yaml as parsed (not loaded: loading has side effects) and the bot tokens: General's
|
|
19
|
+
* topic — the General on the primary channel, else the first — else a DM to the primary channel's first admin. Null
|
|
20
|
+
* when there is nowhere, or no token.
|
|
21
|
+
*/
|
|
22
|
+
export declare function chatNoticeTarget(raw: unknown, env: (key: string) => string | undefined): ChatTarget | null;
|
|
23
|
+
type Fetch = (url: string, init: {
|
|
24
|
+
method: string;
|
|
25
|
+
headers: Record<string, string>;
|
|
26
|
+
body: string;
|
|
27
|
+
signal?: AbortSignal;
|
|
28
|
+
}) => Promise<{
|
|
29
|
+
ok: boolean;
|
|
30
|
+
status: number;
|
|
31
|
+
json(): Promise<unknown>;
|
|
32
|
+
}>;
|
|
33
|
+
/** Post the notice. The outcome names the platform and an HTTP status, never the URL (a Telegram URL holds the token). */
|
|
34
|
+
export declare function postChatNotice(target: ChatTarget, text: string, doFetch?: Fetch, timeoutMs?: number): Promise<string>;
|
|
35
|
+
/** The notice's text: #2481's words, in the fleet's language. */
|
|
36
|
+
export declare function chatNoticeText(home: string, record: AttemptsRecord, started: StartedRecord | null, now: number, prefix: string | null): string;
|
|
37
|
+
/** #2481 auto-restore: the chat notice for a version the fleet is rolling back from by itself. */
|
|
38
|
+
export declare function restoreNoticeText(home: string, record: AttemptsRecord, now: number, to: string, preimage: string): string;
|
|
39
|
+
/** #2481: the correction when the automatic restore did not work. */
|
|
40
|
+
export declare function restoreFailedNoticeText(home: string, record: AttemptsRecord, now: number, to: string, reason: string): string;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #2490: #2481's "installed, but the fleet fails to start" notice, in chat — for someone who uses AgEnD only from
|
|
3
|
+
* Discord or Telegram and sees no banner, doctor row or macOS notification.
|
|
4
|
+
*
|
|
5
|
+
* A fleet that fails to start has no adapter to post with, and a child left behind dies with it (systemd's KillMode=mixed
|
|
6
|
+
* kills the unit's leftovers). So `fleet start` itself sends it, from start-attempt.ts — before the rest of AgEnD loads —
|
|
7
|
+
* on the third attempt of a version within ATTEMPT_WINDOW_MS with no start completed (systemd gives up after 4 quick
|
|
8
|
+
* starts, launchd retries every 10 s): it claims the notice for that version with an O_EXCL file
|
|
9
|
+
* (`fleet-start-chat-notified-<version>`: once per version, whatever came of it, and no writer of the attempts record
|
|
10
|
+
* can undo it), then runs this module as a child and waits for it, at most CHAT_NOTICE_TIMEOUT_MS (notifyChatOnce in
|
|
11
|
+
* start-failure.ts). A `fleet start` the lock will refuse (another live fleet) is not an attempt at all (start-attempt.ts).
|
|
12
|
+
* The child posts one message with the platform's REST API — General's topic, else a DM to the channel's first admin —
|
|
13
|
+
* and the attempt carries on starting.
|
|
14
|
+
*
|
|
15
|
+
* Best effort: a fleet.yaml, .env or package too broken to read, or no network, means no message. Never a token in a
|
|
16
|
+
* log or on stderr: only the platform and an HTTP status.
|
|
17
|
+
*
|
|
18
|
+
* The decision and the claim are start-failure.ts's (notifyChatOnce, node built-ins only: start-attempt.ts loads nothing
|
|
19
|
+
* more before it records the attempt). This child uses only node built-ins, js-yaml and dependency-free modules: the
|
|
20
|
+
* rest of the package may be what is broken.
|
|
21
|
+
*/
|
|
22
|
+
import { readFileSync } from "node:fs";
|
|
23
|
+
import { join } from "node:path";
|
|
24
|
+
import { pathToFileURL } from "node:url";
|
|
25
|
+
import yaml from "js-yaml";
|
|
26
|
+
import { parseEnvText } from "./env-file.js";
|
|
27
|
+
import { detectLocale, setLocale } from "./locale.js";
|
|
28
|
+
import { restoreFailedLines, restoredLines, startFailureLines } from "./start-failure-notice.js";
|
|
29
|
+
import { ATTEMPT_WINDOW_MS, CHAT_NOTICE_TIMEOUT_MS, keptCopies, recentAttemptCount, ownPackage, previousVersion, readAttempts, readStarted, } from "./start-failure.js";
|
|
30
|
+
import { validateTelegramApiRoot } from "./telegram-api-root.js";
|
|
31
|
+
const DISCORD_API = "https://discord.com/api/v10";
|
|
32
|
+
const TELEGRAM_API = "https://api.telegram.org";
|
|
33
|
+
const str = (v) => (typeof v === "string" && v.trim() ? v.trim() : typeof v === "number" && Number.isFinite(v) ? String(v) : null);
|
|
34
|
+
/**
|
|
35
|
+
* Where the notice goes, from fleet.yaml as parsed (not loaded: loading has side effects) and the bot tokens: General's
|
|
36
|
+
* topic — the General on the primary channel, else the first — else a DM to the primary channel's first admin. Null
|
|
37
|
+
* when there is nowhere, or no token.
|
|
38
|
+
*/
|
|
39
|
+
export function chatNoticeTarget(raw, env) {
|
|
40
|
+
const config = raw && typeof raw === "object" ? raw : {};
|
|
41
|
+
const channels = (Array.isArray(config.channels) ? config.channels : config.channel ? [config.channel] : [])
|
|
42
|
+
.filter((c) => !!c && typeof c === "object");
|
|
43
|
+
if (!channels.length)
|
|
44
|
+
return null;
|
|
45
|
+
const idOf = (c) => str(c.id) ?? str(c.type);
|
|
46
|
+
const primary = channels[0];
|
|
47
|
+
const instances = config.instances && typeof config.instances === "object" ? Object.values(config.instances) : [];
|
|
48
|
+
const generals = instances.filter((i) => !!i && typeof i === "object" && i.general_topic === true && str(i.topic_id) !== null);
|
|
49
|
+
const general = generals.find(g => (str(g.channel_id) ?? idOf(primary)) === idOf(primary)) ?? generals[0];
|
|
50
|
+
const channel = general ? channels.find(c => idOf(c) === (str(general.channel_id) ?? idOf(primary))) : primary;
|
|
51
|
+
if (!channel)
|
|
52
|
+
return null;
|
|
53
|
+
const tokenKey = str(channel.bot_token_env);
|
|
54
|
+
const token = tokenKey ? env(tokenKey)?.trim() : undefined;
|
|
55
|
+
if (!token)
|
|
56
|
+
return null;
|
|
57
|
+
const type = str(channel.type);
|
|
58
|
+
const admin = Array.isArray(channel.access?.allowed_users) ? str(channel.access.allowed_users[0]) : null;
|
|
59
|
+
if (type === "telegram") {
|
|
60
|
+
const apiRoot = (str(channel.telegram_api_root) ?? TELEGRAM_API).replace(/\/+$/, "");
|
|
61
|
+
validateTelegramApiRoot(apiRoot);
|
|
62
|
+
if (general && str(channel.group_id)) {
|
|
63
|
+
const thread = str(general.topic_id);
|
|
64
|
+
// General's own forum topic (id 1) takes no message_thread_id (as the adapter's toThreadId).
|
|
65
|
+
return { platform: "telegram", token, apiRoot, chatId: str(channel.group_id), ...(thread !== "1" ? { threadId: Number(thread) } : {}) };
|
|
66
|
+
}
|
|
67
|
+
return admin ? { platform: "telegram", token, apiRoot, chatId: admin } : null;
|
|
68
|
+
}
|
|
69
|
+
if (type === "discord") {
|
|
70
|
+
if (general)
|
|
71
|
+
return { platform: "discord", token, channelId: str(general.topic_id) };
|
|
72
|
+
return admin ? { platform: "discord-dm", token, userId: admin } : null;
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
/** Post the notice. The outcome names the platform and an HTTP status, never the URL (a Telegram URL holds the token). */
|
|
77
|
+
export async function postChatNotice(target, text, doFetch = fetch, timeoutMs = CHAT_NOTICE_TIMEOUT_MS - 1_000) {
|
|
78
|
+
const signal = AbortSignal.timeout(timeoutMs);
|
|
79
|
+
const post = (url, headers, body) => doFetch(url, { method: "POST", headers: { "content-type": "application/json", ...headers }, body: JSON.stringify(body), signal });
|
|
80
|
+
try {
|
|
81
|
+
if (target.platform === "telegram") {
|
|
82
|
+
const res = await post(`${target.apiRoot}/bot${target.token}/sendMessage`, {}, { chat_id: target.chatId, text, ...(target.threadId !== undefined ? { message_thread_id: target.threadId } : {}) });
|
|
83
|
+
return res.ok ? "sent (telegram)" : `not sent (telegram: HTTP ${res.status})`;
|
|
84
|
+
}
|
|
85
|
+
const auth = { Authorization: `Bot ${target.token}` };
|
|
86
|
+
let channelId = target.platform === "discord" ? target.channelId : null;
|
|
87
|
+
if (target.platform === "discord-dm") {
|
|
88
|
+
const dm = await post(`${DISCORD_API}/users/@me/channels`, auth, { recipient_id: target.userId });
|
|
89
|
+
if (!dm.ok)
|
|
90
|
+
return `not sent (discord DM: HTTP ${dm.status})`;
|
|
91
|
+
channelId = str((await dm.json())?.id);
|
|
92
|
+
if (!channelId)
|
|
93
|
+
return "not sent (discord DM: no channel)";
|
|
94
|
+
}
|
|
95
|
+
const res = await post(`${DISCORD_API}/channels/${channelId}/messages`, auth, { content: text.slice(0, 2000), allowed_mentions: { parse: [] } });
|
|
96
|
+
return res.ok ? `sent (${target.platform})` : `not sent (${target.platform}: HTTP ${res.status})`;
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
return `not sent (${target.platform}: ${err instanceof Error && err.name === "TimeoutError" ? "timed out" : "network error"})`;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/** The notice's text: #2481's words, in the fleet's language. */
|
|
103
|
+
export function chatNoticeText(home, record, started, now, prefix) {
|
|
104
|
+
const recent = record.attempts.filter(a => { const at = Date.parse(a); return Number.isFinite(at) && at <= now && now - at <= ATTEMPT_WINDOW_MS; }).length;
|
|
105
|
+
return startFailureLines({
|
|
106
|
+
failing: true, version: record.version,
|
|
107
|
+
previous: previousVersion(record.version, started, prefix ? keptCopies(prefix) : []),
|
|
108
|
+
detail: `${recent} start attempts in the last ${ATTEMPT_WINDOW_MS / 60000} minutes, none completed`,
|
|
109
|
+
}, home).map(line => line.trim()).join("\n");
|
|
110
|
+
}
|
|
111
|
+
/** #2481 auto-restore: the chat notice for a version the fleet is rolling back from by itself. */
|
|
112
|
+
export function restoreNoticeText(home, record, now, to, preimage) {
|
|
113
|
+
const detail = `${recentAttemptCount(record, now)} start attempts in the last ${ATTEMPT_WINDOW_MS / 60000} minutes, none completed`;
|
|
114
|
+
return restoredLines(record.version, to, detail, preimage, home).map(line => line.trim()).join("\n");
|
|
115
|
+
}
|
|
116
|
+
/** #2481: the correction when the automatic restore did not work. */
|
|
117
|
+
export function restoreFailedNoticeText(home, record, now, to, reason) {
|
|
118
|
+
const detail = `${recentAttemptCount(record, now)} start attempts in the last ${ATTEMPT_WINDOW_MS / 60000} minutes, none completed`;
|
|
119
|
+
return restoreFailedLines(record.version, to, detail, reason, home).map(line => line.trim()).join("\n");
|
|
120
|
+
}
|
|
121
|
+
/** The child: read what it needs, post, say one line on stderr. `restore`: from start-attempt's auto-restore. */
|
|
122
|
+
async function main(home, restore) {
|
|
123
|
+
const record = readAttempts(home);
|
|
124
|
+
if (!record)
|
|
125
|
+
return;
|
|
126
|
+
let raw = null;
|
|
127
|
+
try {
|
|
128
|
+
raw = yaml.load(readFileSync(join(home, "fleet.yaml"), "utf8"));
|
|
129
|
+
}
|
|
130
|
+
catch { /* no config: nowhere to post */ }
|
|
131
|
+
let fileEnv = new Map();
|
|
132
|
+
try {
|
|
133
|
+
fileEnv = parseEnvText(readFileSync(join(home, ".env"), "utf8"));
|
|
134
|
+
}
|
|
135
|
+
catch { /* the service's own environment only */ }
|
|
136
|
+
setLocale(detectLocale(raw));
|
|
137
|
+
let target = null;
|
|
138
|
+
try {
|
|
139
|
+
target = chatNoticeTarget(raw, key => fileEnv.get(key) ?? process.env[key]);
|
|
140
|
+
}
|
|
141
|
+
catch { /* e.g. a refused API root */ }
|
|
142
|
+
if (!target) {
|
|
143
|
+
process.stderr.write("AgEnD start-failure chat notice: no General topic, admin or bot token to post with\n");
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const text = restore?.failed !== undefined
|
|
147
|
+
? restoreFailedNoticeText(home, record, Date.now(), restore.to, restore.failed)
|
|
148
|
+
: restore?.preimage !== undefined
|
|
149
|
+
? restoreNoticeText(home, record, Date.now(), restore.to, restore.preimage)
|
|
150
|
+
: chatNoticeText(home, record, readStarted(home), Date.now(), ownPackage().prefix);
|
|
151
|
+
const outcome = await postChatNotice(target, text);
|
|
152
|
+
process.stderr.write(`AgEnD start-failure chat notice: ${outcome}\n`);
|
|
153
|
+
}
|
|
154
|
+
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href && process.argv[2]) {
|
|
155
|
+
const [, , , mode, , to, extra] = process.argv;
|
|
156
|
+
const restore = to && extra ? (mode === "--restore" ? { to, preimage: extra } : mode === "--restore-failed" ? { to, failed: extra } : undefined) : undefined;
|
|
157
|
+
void main(process.argv[2], restore).catch(() => { });
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=start-failure-chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-failure-chat.js","sourceRoot":"","sources":["../src/start-failure-chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,3 +2,7 @@ import type { StartFailure } from "./start-failure.js";
|
|
|
2
2
|
export declare function startFailureLines(failure: Extract<StartFailure, {
|
|
3
3
|
failing: true;
|
|
4
4
|
}>, home: string): string[];
|
|
5
|
+
/** #2481 auto-restore: the words for a version the fleet is rolling back from by itself (chat notice). */
|
|
6
|
+
export declare function restoredLines(from: string, to: string, detail: string, preimage: string, home: string): string[];
|
|
7
|
+
/** #2481 auto-restore that failed: the correction, with the way back by hand. */
|
|
8
|
+
export declare function restoreFailedLines(from: string, to: string, detail: string, reason: string, home: string): string[];
|
|
@@ -17,4 +17,12 @@ export function startFailureLines(failure, home) {
|
|
|
17
17
|
lines.push(t("startfail.report", join(home, "fleet.log")));
|
|
18
18
|
return lines;
|
|
19
19
|
}
|
|
20
|
+
/** #2481 auto-restore: the words for a version the fleet is rolling back from by itself (chat notice). */
|
|
21
|
+
export function restoredLines(from, to, detail, preimage, home) {
|
|
22
|
+
return [t("startfail.restored_banner", from, detail, to, preimage), t("startfail.restored_data", from, to), t("startfail.report", join(home, "fleet.log"))];
|
|
23
|
+
}
|
|
24
|
+
/** #2481 auto-restore that failed: the correction, with the way back by hand. */
|
|
25
|
+
export function restoreFailedLines(from, to, detail, reason, home) {
|
|
26
|
+
return [t("startfail.restore_failed_banner", from, detail, to, reason), t("startfail.back", to), t("startfail.report", join(home, "fleet.log"))];
|
|
27
|
+
}
|
|
20
28
|
//# sourceMappingURL=start-failure-notice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-failure-notice.js","sourceRoot":"","sources":["../src/start-failure-notice.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAGhC,MAAM,UAAU,iBAAiB,CAAC,OAAiD,EAAE,IAAY;IAC/F,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9G,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"start-failure-notice.js","sourceRoot":"","sources":["../src/start-failure-notice.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAGhC,MAAM,UAAU,iBAAiB,CAAC,OAAiD,EAAE,IAAY;IAC/F,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9G,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,EAAU,EAAE,MAAc,EAAE,QAAgB,EAAE,IAAY;IACpG,OAAO,CAAC,CAAC,CAAC,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,yBAAyB,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AAC9J,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,EAAU,EAAE,MAAc,EAAE,MAAc,EAAE,IAAY;IACvG,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AACnJ,CAAC"}
|
package/dist/start-failure.d.ts
CHANGED
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
* read. It never fires for a slow start (one attempt, the job running), a deliberate stop (the job not loaded, or
|
|
17
17
|
* systemd inactive with Result=success), or a package installed less than 90 s ago.
|
|
18
18
|
*
|
|
19
|
+
* #2490: the same notice in chat (General, else the admin's DM): notifyChatOnce, from start-attempt.ts, runs
|
|
20
|
+
* start-failure-chat.js once per version, on its third failed start.
|
|
21
|
+
*
|
|
19
22
|
* Only node built-ins (and child-process.ts, itself only built-ins): start-attempt.ts imports this before the rest of the CLI.
|
|
20
23
|
*/
|
|
21
24
|
import { type SpawnOptions } from "node:child_process";
|
|
@@ -32,12 +35,16 @@ export interface StartedRecord {
|
|
|
32
35
|
pid: number;
|
|
33
36
|
history: string[];
|
|
34
37
|
}
|
|
38
|
+
/** `notified`: the macOS notification went (once per version). The chat notice's claim is a file of its own (#2490). */
|
|
35
39
|
export interface AttemptsRecord {
|
|
36
40
|
version: string;
|
|
37
41
|
attempts: string[];
|
|
38
42
|
notified?: boolean;
|
|
39
43
|
}
|
|
44
|
+
export declare function writeJson(file: string, value: unknown): void;
|
|
40
45
|
export declare function readStarted(home: string): StartedRecord | null;
|
|
46
|
+
/** #2481: the versions that completed a start here; "unreadable" when the record is there but cannot be read. */
|
|
47
|
+
export declare function readStartedHistory(home: string): string[] | "unreadable";
|
|
41
48
|
export declare function readAttempts(home: string): AttemptsRecord | null;
|
|
42
49
|
/** `fleet start` is running this version now. Returns the record as written. */
|
|
43
50
|
export declare function recordStartAttempt(home: string, version: string, now: number): AttemptsRecord;
|
|
@@ -144,4 +151,46 @@ export type Launch = (cmd: string, args: string[], opts: SpawnOptions) => {
|
|
|
144
151
|
unref?: () => void;
|
|
145
152
|
};
|
|
146
153
|
export declare function notifyOnce(home: string, record: AttemptsRecord, platform?: NodeJS.Platform, launch?: Launch): boolean;
|
|
154
|
+
/** How long a failing `fleet start` waits, once per version, for the notice to go out. */
|
|
155
|
+
export declare const CHAT_NOTICE_TIMEOUT_MS = 10000;
|
|
156
|
+
/** This version's attempts within the window (the loop #2488/#2490/#2481's auto-restore judge). */
|
|
157
|
+
export declare function recentAttemptCount(record: AttemptsRecord, now: number): number;
|
|
158
|
+
/** Is this attempt the one that sends the chat notice? This version's third start in the window, none completed. */
|
|
159
|
+
export declare function chatNoticeDue(record: AttemptsRecord, started: StartedRecord | null, now: number): boolean;
|
|
160
|
+
/** The chat notice's claim for a version: created once, O_EXCL — no rewrite of the attempts record can undo it. */
|
|
161
|
+
export declare function chatClaimFile(home: string, version: string): string | null;
|
|
162
|
+
/**
|
|
163
|
+
* Claim the chat notice for this version, atomically across processes (an O_EXCL create): true for exactly one caller,
|
|
164
|
+
* ever. The other versions' claims go (best effort): a later version gets its own notice, and a reinstalled one again.
|
|
165
|
+
*/
|
|
166
|
+
export declare function claimChatNotice(home: string, version: string): boolean;
|
|
167
|
+
export type RunChild = (cmd: string, args: string[], opts: {
|
|
168
|
+
timeout: number;
|
|
169
|
+
}) => void;
|
|
170
|
+
/**
|
|
171
|
+
* #2490, from start-attempt.ts: when this attempt is the one (chatNoticeDue), claim the chat notice and run
|
|
172
|
+
* start-failure-chat.js, which posts it; wait for it at most CHAT_NOTICE_TIMEOUT_MS. Never throws. True when it ran.
|
|
173
|
+
*/
|
|
174
|
+
export declare function notifyChatOnce(home: string, version: string, now: number, run?: RunChild): boolean;
|
|
175
|
+
/**
|
|
176
|
+
* #2481 auto-restore: the notices, with the restore wording, before the swap moves this package (and the chat script)
|
|
177
|
+
* away. The chat notice takes #2490's per-version claim, so it replaces the plain one; the macOS notification its mark.
|
|
178
|
+
* Never throws.
|
|
179
|
+
*/
|
|
180
|
+
export declare function notifyRestore(home: string, from: string, to: string, preimage: string, opts?: {
|
|
181
|
+
run?: RunChild;
|
|
182
|
+
launch?: Launch;
|
|
183
|
+
platform?: NodeJS.Platform;
|
|
184
|
+
}): void;
|
|
185
|
+
/**
|
|
186
|
+
* #2481, Fable r1 on #2526: the restore did not happen, but its notices said it was happening (and took #2490's chat
|
|
187
|
+
* claim). The correction, once per version (its own O_EXCL claim): the failure and the way back by hand. `packageAt`:
|
|
188
|
+
* where the installed package — and the chat script — is now (the failed tree when even the rename back failed).
|
|
189
|
+
*/
|
|
190
|
+
export declare function notifyRestoreFailed(home: string, from: string, to: string, reason: string, packageAt: string, opts?: {
|
|
191
|
+
run?: RunChild;
|
|
192
|
+
launch?: Launch;
|
|
193
|
+
platform?: NodeJS.Platform;
|
|
194
|
+
arch?: string;
|
|
195
|
+
}): boolean;
|
|
147
196
|
export {};
|