@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.
Files changed (201) hide show
  1. package/README.md +1 -1
  2. package/README.zh-TW.md +1 -1
  3. package/dist/authority/authority-state.d.ts +4 -0
  4. package/dist/authority/authority-state.js +16 -10
  5. package/dist/authority/authority-state.js.map +1 -1
  6. package/dist/authority/session-authorizations.d.ts +7 -1
  7. package/dist/authority/session-authorizations.js +6 -4
  8. package/dist/authority/session-authorizations.js.map +1 -1
  9. package/dist/authority/web-authority.d.ts +19 -6
  10. package/dist/authority/web-authority.js +22 -8
  11. package/dist/authority/web-authority.js.map +1 -1
  12. package/dist/backend/muse.d.ts +20 -2
  13. package/dist/backend/muse.js +154 -16
  14. package/dist/backend/muse.js.map +1 -1
  15. package/dist/channel/adapters/discord.d.ts +2 -0
  16. package/dist/channel/adapters/discord.js +33 -3
  17. package/dist/channel/adapters/discord.js.map +1 -1
  18. package/dist/channel/adapters/telegram.d.ts +1 -1
  19. package/dist/channel/adapters/telegram.js +3 -35
  20. package/dist/channel/adapters/telegram.js.map +1 -1
  21. package/dist/channel/mcp-tools.js +5 -5
  22. package/dist/channel/mcp-tools.js.map +1 -1
  23. package/dist/channel/types.d.ts +11 -0
  24. package/dist/cli.js +6 -3
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config-validator.js +42 -5
  27. package/dist/config-validator.js.map +1 -1
  28. package/dist/daemon.d.ts +47 -3
  29. package/dist/daemon.js +380 -60
  30. package/dist/daemon.js.map +1 -1
  31. package/dist/delivery-outbox.d.ts +23 -1
  32. package/dist/delivery-outbox.js +114 -17
  33. package/dist/delivery-outbox.js.map +1 -1
  34. package/dist/doctor.d.ts +3 -0
  35. package/dist/doctor.js +9 -0
  36. package/dist/doctor.js.map +1 -1
  37. package/dist/event-log.d.ts +5 -0
  38. package/dist/event-log.js +13 -0
  39. package/dist/event-log.js.map +1 -1
  40. package/dist/fleet-context.d.ts +1 -1
  41. package/dist/fleet-lock.d.ts +6 -0
  42. package/dist/fleet-lock.js +19 -0
  43. package/dist/fleet-lock.js.map +1 -1
  44. package/dist/fleet-manager.d.ts +174 -2
  45. package/dist/fleet-manager.js +678 -68
  46. package/dist/fleet-manager.js.map +1 -1
  47. package/dist/fleet-process-handlers.d.ts +1 -0
  48. package/dist/fleet-process-handlers.js +9 -1
  49. package/dist/fleet-process-handlers.js.map +1 -1
  50. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +11 -0
  51. package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +4 -4
  52. package/dist/general-knowledge/skills/web-appearance/SKILL.md +7 -7
  53. package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +109 -57
  54. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +110 -58
  55. package/dist/guest-seen-people.d.ts +38 -0
  56. package/dist/guest-seen-people.js +78 -0
  57. package/dist/guest-seen-people.js.map +1 -0
  58. package/dist/instance-config-impact.js +4 -1
  59. package/dist/instance-config-impact.js.map +1 -1
  60. package/dist/instance-lifecycle.d.ts +2 -0
  61. package/dist/instance-lifecycle.js +27 -1
  62. package/dist/instance-lifecycle.js.map +1 -1
  63. package/dist/locale.js +62 -12
  64. package/dist/locale.js.map +1 -1
  65. package/dist/log-service.js +1 -0
  66. package/dist/log-service.js.map +1 -1
  67. package/dist/mac-auto-restore.d.ts +117 -0
  68. package/dist/mac-auto-restore.js +294 -0
  69. package/dist/mac-auto-restore.js.map +1 -0
  70. package/dist/needs-you.js +1 -0
  71. package/dist/needs-you.js.map +1 -1
  72. package/dist/outbound-handlers.d.ts +2 -2
  73. package/dist/outbound-handlers.js +5 -5
  74. package/dist/outbound-handlers.js.map +1 -1
  75. package/dist/outbound-schemas.d.ts +2 -0
  76. package/dist/outbound-schemas.js +2 -0
  77. package/dist/outbound-schemas.js.map +1 -1
  78. package/dist/public-web-gateway.js +9 -1
  79. package/dist/public-web-gateway.js.map +1 -1
  80. package/dist/search/search-index.d.ts +10 -2
  81. package/dist/search/search-index.js +17 -4
  82. package/dist/search/search-index.js.map +1 -1
  83. package/dist/service-installer.d.ts +23 -1
  84. package/dist/service-installer.js +40 -11
  85. package/dist/service-installer.js.map +1 -1
  86. package/dist/session-oom-stop.d.ts +45 -0
  87. package/dist/session-oom-stop.js +259 -0
  88. package/dist/session-oom-stop.js.map +1 -0
  89. package/dist/session-oom.d.ts +13 -0
  90. package/dist/session-oom.js +119 -7
  91. package/dist/session-oom.js.map +1 -1
  92. package/dist/settings-api.d.ts +27 -1
  93. package/dist/settings-api.js +108 -2
  94. package/dist/settings-api.js.map +1 -1
  95. package/dist/settings-change.js +37 -3
  96. package/dist/settings-change.js.map +1 -1
  97. package/dist/settings-effect.js +5 -2
  98. package/dist/settings-effect.js.map +1 -1
  99. package/dist/spawn-gate.d.ts +2 -0
  100. package/dist/spawn-gate.js +17 -4
  101. package/dist/spawn-gate.js.map +1 -1
  102. package/dist/start-attempt.d.ts +15 -1
  103. package/dist/start-attempt.js +35 -5
  104. package/dist/start-attempt.js.map +1 -1
  105. package/dist/start-failure-chat.d.ts +41 -0
  106. package/dist/start-failure-chat.js +159 -0
  107. package/dist/start-failure-chat.js.map +1 -0
  108. package/dist/start-failure-notice.d.ts +4 -0
  109. package/dist/start-failure-notice.js +8 -0
  110. package/dist/start-failure-notice.js.map +1 -1
  111. package/dist/start-failure.d.ts +49 -0
  112. package/dist/start-failure.js +141 -1
  113. package/dist/start-failure.js.map +1 -1
  114. package/dist/telegram-api-root.d.ts +1 -0
  115. package/dist/telegram-api-root.js +40 -0
  116. package/dist/telegram-api-root.js.map +1 -0
  117. package/dist/turn-reply-guard.d.ts +25 -0
  118. package/dist/turn-reply-guard.js +111 -12
  119. package/dist/turn-reply-guard.js.map +1 -1
  120. package/dist/types.d.ts +21 -3
  121. package/dist/ui/backend-signin.js +5 -2
  122. package/dist/ui/chat-ambient.js +1 -1
  123. package/dist/ui/chat-effects.js +4 -4
  124. package/dist/ui/chat-render.js +5 -2
  125. package/dist/ui/chat-strings.js +2 -2
  126. package/dist/ui/chat-thread.js +2 -2
  127. package/dist/ui/first-run.js +2 -2
  128. package/dist/ui/fleet-canvas-view.js +114 -0
  129. package/dist/ui/fleet-canvas.js +15 -77
  130. package/dist/ui/fleet-office-editor.js +80 -5
  131. package/dist/ui/fleet-office-layout.js +197 -0
  132. package/dist/ui/fleet-office-model.js +6 -3
  133. package/dist/ui/fleet-office-pack.d.ts +39 -0
  134. package/dist/ui/fleet-office-pack.js +240 -29
  135. package/dist/ui/fleet-office-skin.js +130 -21
  136. package/dist/ui/fleet-office-store.js +75 -4
  137. package/dist/ui/fleet-office-view.js +154 -0
  138. package/dist/ui/fleet-office-zones.js +95 -33
  139. package/dist/ui/fleet-office.js +530 -94
  140. package/dist/ui/fleet-usage.js +7 -6
  141. package/dist/ui/panel-chat.js +20 -7
  142. package/dist/ui/panel-details.js +2 -2
  143. package/dist/ui/panel-fleet.js +11 -77
  144. package/dist/ui/panel-log.js +5 -5
  145. package/dist/ui/panel-settings.js +586 -164
  146. package/dist/ui/search-dialog.js +26 -7
  147. package/dist/ui/settings-appearance.js +82 -29
  148. package/dist/ui/settings-apply.js +42 -7
  149. package/dist/ui/settings-dialogs.js +68 -22
  150. package/dist/ui/settings-draft.js +51 -0
  151. package/dist/ui/settings-guests.js +244 -78
  152. package/dist/ui/settings-learn.js +2 -2
  153. package/dist/ui/settings-model.js +2 -0
  154. package/dist/ui/settings-registry.js +142 -0
  155. package/dist/ui/settings-strings.js +108 -44
  156. package/dist/ui/settings-web-authority.js +34 -23
  157. package/dist/ui/shared/app-i18n.js +14 -0
  158. package/dist/ui/shared/app-nav.js +10 -5
  159. package/dist/ui/shared/app-prefs.js +80 -2
  160. package/dist/ui/shared/app-route.js +39 -5
  161. package/dist/ui/shared/app-shell.js +80 -8
  162. package/dist/ui/shared/app-stream.js +2 -1
  163. package/dist/ui/shared/app.css +251 -20
  164. package/dist/ui/shared/app.js +3 -0
  165. package/dist/ui/shared/effect-stock-trust.js +1 -1
  166. package/dist/ui/shared/identity-color.js +4 -4
  167. package/dist/ui/shared/signin.js +2 -2
  168. package/dist/ui/shared/ui-dialog.js +6 -1
  169. package/dist/ui/shared/ui-icons.js +2 -0
  170. package/dist/ui/shared/usage-dialog.js +21 -11
  171. package/dist/ui/shared/view-strings.js +2 -0
  172. package/dist/ui/shared/web-authorize.js +13 -12
  173. package/dist/web-api.d.ts +9 -3
  174. package/dist/web-api.js +161 -6
  175. package/dist/web-api.js.map +1 -1
  176. package/dist/web-auth.js +7 -1
  177. package/dist/web-auth.js.map +1 -1
  178. package/dist/web-experimental.d.ts +1 -1
  179. package/dist/web-experimental.js +1 -1
  180. package/dist/web-experimental.js.map +1 -1
  181. package/dist/web-mod-agent.js +2 -2
  182. package/dist/web-mod-agent.js.map +1 -1
  183. package/dist/web-office-skins.d.ts +108 -0
  184. package/dist/web-office-skins.js +298 -0
  185. package/dist/web-office-skins.js.map +1 -0
  186. package/dist/web-office-store.d.ts +8 -2
  187. package/dist/web-office-store.js +37 -7
  188. package/dist/web-office-store.js.map +1 -1
  189. package/dist/web-settings-patch.d.ts +6 -0
  190. package/dist/web-settings-patch.js +61 -4
  191. package/dist/web-settings-patch.js.map +1 -1
  192. package/dist/web-shell-routes.d.ts +4 -2
  193. package/dist/web-shell-routes.js +17 -7
  194. package/dist/web-shell-routes.js.map +1 -1
  195. package/dist/working-recovery.d.ts +104 -0
  196. package/dist/working-recovery.js +263 -0
  197. package/dist/working-recovery.js.map +1 -0
  198. package/dist/working-state-journal.d.ts +70 -0
  199. package/dist/working-state-journal.js +106 -0
  200. package/dist/working-state-journal.js.map +1 -0
  201. package/package.json +1 -1
@@ -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
- const opensNamedLink = () => before.fleet?.web?.verified_authority?.named_link !== true && after.fleet?.web?.verified_authority?.named_link === true;
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), ...(opensNamedLink() ? { noSelfConfirm: true } : {}) } : null;
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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"}
@@ -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;
@@ -90,7 +90,8 @@ export class SpawnGate {
90
90
  this.pumping = true;
91
91
  try {
92
92
  while (!this.stopped) {
93
- const index = this.queue.findIndex(item => !this.activeDirectories.has(item.task.workingDirectory));
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 = this.nestedQueue.length > 0;
128
- const physical = (nested ? this.nestedQueue[0] : this.queue[index]).task.stage !== "lifecycle";
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(0, 1) : this.queue.splice(index, 1);
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;
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-gate.js","sourceRoot":"","sources":["../src/spawn-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-gate.js","sourceRoot":"","sources":["../src/spawn-gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1,15 @@
1
- export {};
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;
@@ -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
- const home = getAgendHome();
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;AAEhF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;AAC/C,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"}
@@ -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 {};