crewly 1.20.236 → 1.20.238

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 (107) hide show
  1. package/config/constants.ts +19 -0
  2. package/dist/backend/backend/src/constants.d.ts +19 -1
  3. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  4. package/dist/backend/backend/src/constants.js +12 -1
  5. package/dist/backend/backend/src/constants.js.map +1 -1
  6. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
  7. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +3 -1
  8. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
  9. package/dist/backend/backend/src/controllers/system/system-control.controller.d.ts +31 -1
  10. package/dist/backend/backend/src/controllers/system/system-control.controller.d.ts.map +1 -1
  11. package/dist/backend/backend/src/controllers/system/system-control.controller.js +83 -3
  12. package/dist/backend/backend/src/controllers/system/system-control.controller.js.map +1 -1
  13. package/dist/backend/backend/src/index.d.ts.map +1 -1
  14. package/dist/backend/backend/src/index.js +27 -3
  15. package/dist/backend/backend/src/index.js.map +1 -1
  16. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  17. package/dist/backend/backend/src/services/agent/agent-registration.service.js +10 -0
  18. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  19. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
  20. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +4 -0
  21. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
  22. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  23. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +5 -0
  24. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  25. package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts +35 -0
  26. package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts.map +1 -1
  27. package/dist/backend/backend/src/services/restart/restart-drain.service.js +57 -0
  28. package/dist/backend/backend/src/services/restart/restart-drain.service.js.map +1 -1
  29. package/dist/backend/backend/src/services/session/input-guard-known-screens.d.ts +2 -0
  30. package/dist/backend/backend/src/services/session/input-guard-known-screens.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/session/input-guard-known-screens.js +61 -0
  32. package/dist/backend/backend/src/services/session/input-guard-known-screens.js.map +1 -1
  33. package/dist/backend/backend/src/services/session/input-ledger.d.ts +14 -0
  34. package/dist/backend/backend/src/services/session/input-ledger.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/session/input-ledger.js +14 -0
  36. package/dist/backend/backend/src/services/session/input-ledger.js.map +1 -1
  37. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/session/session-command-helper.js +7 -2
  39. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  40. package/dist/backend/backend/src/services/system/shutdown-marker.d.ts +41 -0
  41. package/dist/backend/backend/src/services/system/shutdown-marker.d.ts.map +1 -0
  42. package/dist/backend/backend/src/services/system/shutdown-marker.js +59 -0
  43. package/dist/backend/backend/src/services/system/shutdown-marker.js.map +1 -0
  44. package/dist/backend/backend/src/services/system/system-control.service.d.ts +53 -3
  45. package/dist/backend/backend/src/services/system/system-control.service.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/system/system-control.service.js +130 -9
  47. package/dist/backend/backend/src/services/system/system-control.service.js.map +1 -1
  48. package/dist/backend/backend/src/services/system/wind-down.service.d.ts +145 -0
  49. package/dist/backend/backend/src/services/system/wind-down.service.d.ts.map +1 -0
  50. package/dist/backend/backend/src/services/system/wind-down.service.js +231 -0
  51. package/dist/backend/backend/src/services/system/wind-down.service.js.map +1 -0
  52. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +6 -0
  54. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  55. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
  56. package/dist/backend/backend/src/services/v3/trigger-engine.service.js +4 -0
  57. package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
  58. package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
  59. package/dist/backend/backend/src/services/workflow/cron-task.service.js +4 -0
  60. package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
  61. package/dist/backend/build-info.json +2 -2
  62. package/dist/backend/config/constants.d.ts +19 -0
  63. package/dist/backend/config/constants.d.ts.map +1 -1
  64. package/dist/backend/config/constants.js +19 -0
  65. package/dist/backend/config/constants.js.map +1 -1
  66. package/dist/cli/backend/src/constants.d.ts +19 -1
  67. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  68. package/dist/cli/backend/src/constants.js +12 -1
  69. package/dist/cli/backend/src/constants.js.map +1 -1
  70. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  71. package/dist/cli/backend/src/services/agent/agent-registration.service.js +10 -0
  72. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  73. package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts +35 -0
  74. package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts.map +1 -1
  75. package/dist/cli/backend/src/services/restart/restart-drain.service.js +57 -0
  76. package/dist/cli/backend/src/services/restart/restart-drain.service.js.map +1 -1
  77. package/dist/cli/backend/src/services/session/input-guard-known-screens.d.ts +2 -0
  78. package/dist/cli/backend/src/services/session/input-guard-known-screens.d.ts.map +1 -1
  79. package/dist/cli/backend/src/services/session/input-guard-known-screens.js +61 -0
  80. package/dist/cli/backend/src/services/session/input-guard-known-screens.js.map +1 -1
  81. package/dist/cli/backend/src/services/session/input-ledger.d.ts +14 -0
  82. package/dist/cli/backend/src/services/session/input-ledger.d.ts.map +1 -1
  83. package/dist/cli/backend/src/services/session/input-ledger.js +14 -0
  84. package/dist/cli/backend/src/services/session/input-ledger.js.map +1 -1
  85. package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  86. package/dist/cli/backend/src/services/session/session-command-helper.js +7 -2
  87. package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -1
  88. package/dist/cli/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
  89. package/dist/cli/backend/src/services/workflow/cron-task.service.js +4 -0
  90. package/dist/cli/backend/src/services/workflow/cron-task.service.js.map +1 -1
  91. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  92. package/dist/cli/cli/src/commands/service.js +13 -1
  93. package/dist/cli/cli/src/commands/service.js.map +1 -1
  94. package/dist/cli/cli/src/commands/start.d.ts.map +1 -1
  95. package/dist/cli/cli/src/commands/start.js +11 -0
  96. package/dist/cli/cli/src/commands/start.js.map +1 -1
  97. package/dist/cli/cli/src/utils/shutdown-marker.d.ts +44 -0
  98. package/dist/cli/cli/src/utils/shutdown-marker.d.ts.map +1 -0
  99. package/dist/cli/cli/src/utils/shutdown-marker.js +70 -0
  100. package/dist/cli/cli/src/utils/shutdown-marker.js.map +1 -0
  101. package/dist/cli/config/constants.d.ts +19 -0
  102. package/dist/cli/config/constants.d.ts.map +1 -1
  103. package/dist/cli/config/constants.js +19 -0
  104. package/dist/cli/config/constants.js.map +1 -1
  105. package/frontend/dist/assets/{index-a719c15a.js → index-c9630c55.js} +276 -276
  106. package/frontend/dist/index.html +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session-command-helper.js","sourceRoot":"","sources":["../../../../../../backend/src/services/session/session-command-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-command-helper.js","sourceRoot":"","sources":["../../../../../../backend/src/services/session/session-command-helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Shutdown marker: `<crewlyHome>/run/shutdown-requested`.
3
+ *
4
+ * Written when the owner shuts Crewly down (as opposed to restarting it). A
5
+ * supervisor that relaunches Crewly whenever it exits — the macOS
6
+ * `crewly-start.command` loop — checks the file first and stays down.
7
+ * `crewly start`, a fresh supervisor launch and the backend's own boot clear
8
+ * it, so the next manual launch always works.
9
+ *
10
+ * @module services/system/shutdown-marker
11
+ */
12
+ /**
13
+ * Path of the marker.
14
+ *
15
+ * @param crewlyHome - Crewly home directory
16
+ * @returns Absolute path
17
+ */
18
+ export declare function shutdownMarkerPath(crewlyHome: string): string;
19
+ /**
20
+ * Write the marker (who and when, for whoever finds it).
21
+ *
22
+ * @param crewlyHome - Crewly home directory
23
+ * @param pid - Backend pid that requested the shutdown
24
+ * @param now - Clock
25
+ * @throws When the file cannot be written
26
+ */
27
+ export declare function writeShutdownMarker(crewlyHome: string, pid?: number, now?: () => number): void;
28
+ /**
29
+ * Remove the marker; absent is fine.
30
+ *
31
+ * @param crewlyHome - Crewly home directory
32
+ */
33
+ export declare function clearShutdownMarker(crewlyHome: string): void;
34
+ /**
35
+ * Whether the marker exists.
36
+ *
37
+ * @param crewlyHome - Crewly home directory
38
+ * @returns True when a shutdown was requested and no start has cleared it
39
+ */
40
+ export declare function hasShutdownMarker(crewlyHome: string): boolean;
41
+ //# sourceMappingURL=shutdown-marker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown-marker.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/system/shutdown-marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,GAAE,MAAoB,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,IAAI,CAIrH;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAM5D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE7D"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Shutdown marker: `<crewlyHome>/run/shutdown-requested`.
3
+ *
4
+ * Written when the owner shuts Crewly down (as opposed to restarting it). A
5
+ * supervisor that relaunches Crewly whenever it exits — the macOS
6
+ * `crewly-start.command` loop — checks the file first and stays down.
7
+ * `crewly start`, a fresh supervisor launch and the backend's own boot clear
8
+ * it, so the next manual launch always works.
9
+ *
10
+ * @module services/system/shutdown-marker
11
+ */
12
+ import * as fs from 'fs';
13
+ import * as path from 'path';
14
+ import { SAFE_RESTART } from '../../constants.js';
15
+ /**
16
+ * Path of the marker.
17
+ *
18
+ * @param crewlyHome - Crewly home directory
19
+ * @returns Absolute path
20
+ */
21
+ export function shutdownMarkerPath(crewlyHome) {
22
+ return path.join(crewlyHome, SAFE_RESTART.SHUTDOWN_MARKER_DIR, SAFE_RESTART.SHUTDOWN_MARKER_FILE);
23
+ }
24
+ /**
25
+ * Write the marker (who and when, for whoever finds it).
26
+ *
27
+ * @param crewlyHome - Crewly home directory
28
+ * @param pid - Backend pid that requested the shutdown
29
+ * @param now - Clock
30
+ * @throws When the file cannot be written
31
+ */
32
+ export function writeShutdownMarker(crewlyHome, pid = process.pid, now = Date.now) {
33
+ const file = shutdownMarkerPath(crewlyHome);
34
+ fs.mkdirSync(path.dirname(file), { recursive: true });
35
+ fs.writeFileSync(file, `${JSON.stringify({ requestedAt: new Date(now()).toISOString(), pid })}\n`, 'utf-8');
36
+ }
37
+ /**
38
+ * Remove the marker; absent is fine.
39
+ *
40
+ * @param crewlyHome - Crewly home directory
41
+ */
42
+ export function clearShutdownMarker(crewlyHome) {
43
+ try {
44
+ fs.rmSync(shutdownMarkerPath(crewlyHome), { force: true });
45
+ }
46
+ catch {
47
+ // best-effort
48
+ }
49
+ }
50
+ /**
51
+ * Whether the marker exists.
52
+ *
53
+ * @param crewlyHome - Crewly home directory
54
+ * @returns True when a shutdown was requested and no start has cleared it
55
+ */
56
+ export function hasShutdownMarker(crewlyHome) {
57
+ return fs.existsSync(shutdownMarkerPath(crewlyHome));
58
+ }
59
+ //# sourceMappingURL=shutdown-marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown-marker.js","sourceRoot":"","sources":["../../../../../../backend/src/services/system/shutdown-marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACpD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,mBAAmB,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;AACnG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE,MAAoB,IAAI,CAAC,GAAG;IAC9G,MAAM,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC5C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7G,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACrD,IAAI,CAAC;QACJ,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACR,cAAc;IACf,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IACnD,OAAO,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;AACtD,CAAC"}
@@ -28,14 +28,15 @@
28
28
  import { SYSTEM_CONTROL_CONSTANTS } from '../../constants.js';
29
29
  import type { InstallAttempt } from './auto-update.service.js';
30
30
  import type { InstallInfo } from './auto-update.utils.js';
31
+ import type { WindDownEnd, WindDownProgress, WindDownRequest } from './wind-down.service.js';
31
32
  import type { SupervisorInfo } from './supervisor-detect.js';
32
33
  import { type InputGuardReport } from './input-guard-release-check.js';
33
34
  /** `when` choice of the buttons. */
34
35
  export type SystemActionWhen = (typeof SYSTEM_CONTROL_CONSTANTS.WHEN_VALUES)[number];
35
36
  /** Which button was pressed. */
36
- export type SystemActionKind = 'upgrade' | 'restart';
37
+ export type SystemActionKind = 'upgrade' | 'restart' | 'shutdown';
37
38
  /** Where an action is. */
38
- export type SystemActionStatus = 'waiting-idle' | 'installing' | 'restarting' | 'completed' | 'failed' | 'interrupted';
39
+ export type SystemActionStatus = 'waiting-idle' | 'winding-down' | 'stopping' | 'installing' | 'restarting' | 'completed' | 'failed' | 'interrupted';
39
40
  /** Install kind as the dashboard sees it. */
40
41
  export type PublicInstallKind = 'npm-global' | 'dev-checkout' | 'other';
41
42
  /** How the backend comes back after it exits. */
@@ -96,6 +97,8 @@ export interface UpdateStatus {
96
97
  busyAgents: BusyAgentInfo[];
97
98
  /** Some upgrade / restart / shutdown is under way */
98
99
  inProgress: boolean;
100
+ /** Agents being asked to wind down before a restart / shutdown (null when none is) */
101
+ windDown: WindDownProgress | null;
99
102
  /** Current or last action */
100
103
  action: SystemActionRecord | null;
101
104
  /** Changes on every boot; the dashboard uses it to see the backend came back */
@@ -151,7 +154,21 @@ export interface SystemControlDeps {
151
154
  /** The AutoUpdateService install path (null when it did not start) */
152
155
  getInstaller: () => UpgradeInstaller | null;
153
156
  /** Run the graceful drained shutdown with RESTART_REQUESTED; false when no handler */
154
- requestGracefulRestart: (reason: string) => boolean;
157
+ requestGracefulRestart: (reason: string, options?: {
158
+ exitCode?: number;
159
+ drain?: boolean;
160
+ }) => boolean;
161
+ /** Tell the agents to wind down and wait (restart now / shutdown); absent: the step is skipped */
162
+ windDown?: {
163
+ run: (request: WindDownRequest) => Promise<WindDownEnd>;
164
+ skip: () => boolean;
165
+ abort: () => void;
166
+ getProgress: () => WindDownProgress | null;
167
+ };
168
+ /** Write `<crewlyHome>/run/shutdown-requested` so a supervisor stays down */
169
+ writeShutdownMarker?: () => void;
170
+ /** Remove the shutdown marker */
171
+ clearShutdownMarker?: () => void;
155
172
  /** Last resort when no graceful handler exists */
156
173
  exit: (code: number) => void;
157
174
  /** Start the detached launcher that brings the backend back */
@@ -174,6 +191,8 @@ export interface SystemActionRequest {
174
191
  actor: string;
175
192
  /** Owner override: restart onto the new build even when the input-guard check fails */
176
193
  force?: boolean;
194
+ /** Wind-down grace period (seconds) for a restart now / shutdown */
195
+ graceSeconds?: number;
177
196
  }
178
197
  /**
179
198
  * Map the AutoUpdate install kind onto the public one.
@@ -297,6 +316,37 @@ export declare class SystemControlService {
297
316
  * @returns Accepted (work continues in the background) or a refusal
298
317
  */
299
318
  requestRestart(request: SystemActionRequest): Promise<SystemActionAccepted | SystemActionRefusal>;
319
+ /**
320
+ * Owner pressed "Shut down": tell the agents to wind down, wait for them
321
+ * (or the grace period), stop the agents and the backend, and leave a
322
+ * marker so no supervisor brings Crewly back.
323
+ *
324
+ * @param request - Who, and the grace period (`when` is ignored)
325
+ * @returns Accepted (work continues in the background) or a refusal
326
+ */
327
+ requestShutdown(request: Pick<SystemActionRequest, 'actor' | 'graceSeconds'>): Promise<SystemActionAccepted | SystemActionRefusal>;
328
+ /**
329
+ * Skip the wait of a running wind-down ("Skip waiting"): the agents are
330
+ * stopped now, the turns they had open are saved and resumed next start.
331
+ *
332
+ * @param actor - Who (logs)
333
+ * @returns True when a wind-down was running
334
+ */
335
+ skipWindDown(actor: string): boolean;
336
+ /**
337
+ * Wind the agents down; false when it could not run (it never throws).
338
+ *
339
+ * @param kind - Restart or shutdown
340
+ * @param graceSeconds - Requested grace period
341
+ */
342
+ private windDownAgents;
343
+ /**
344
+ * Shutdown body: wind down → marker → graceful exit (no drain: the
345
+ * wind-down was the wait).
346
+ *
347
+ * @param graceSeconds - Requested grace period
348
+ */
349
+ private runShutdown;
300
350
  /**
301
351
  * Create and persist a new action.
302
352
  *
@@ -1 +1 @@
1
- {"version":3,"file":"system-control.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/system/system-control.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-control.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/system/system-control.service.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ import { PROCESS_EXIT_CODES, SYSTEM_CONTROL_CONSTANTS } from '../../constants.js
32
32
  import { isNewerVersion } from './auto-update.utils.js';
33
33
  import { clearBlockedBuild, composeBlockNotice, describeBlock, onDiskWarning, readBlockedBuild, recordBlockNotified, wasBlockNotified, writeBlockedBuild, } from './input-guard-release-check.js';
34
34
  /** Statuses that mean "still running". */
35
- const ACTIVE_STATUSES = new Set(['waiting-idle', 'installing', 'restarting']);
35
+ const ACTIVE_STATUSES = new Set(['waiting-idle', 'winding-down', 'installing', 'restarting', 'stopping']);
36
36
  /**
37
37
  * Map the AutoUpdate install kind onto the public one.
38
38
  *
@@ -120,7 +120,10 @@ export class SystemControlService {
120
120
  const now = new Date(this.deps.now()).toISOString();
121
121
  const running = this.deps.currentVersion;
122
122
  let settled;
123
- if (record.status === 'restarting') {
123
+ if (record.status === 'stopping') {
124
+ settled = { ...record, status: 'completed', message: `Crewly was shut down and was started again at ${now}.` };
125
+ }
126
+ else if (record.status === 'restarting') {
124
127
  if (record.kind === 'upgrade' && record.toVersion && running !== record.toVersion) {
125
128
  settled = {
126
129
  ...record,
@@ -142,7 +145,9 @@ export class SystemControlService {
142
145
  status: 'interrupted',
143
146
  message: record.kind === 'upgrade'
144
147
  ? 'Crewly stopped before the upgrade finished. Nothing was installed or the install was not confirmed; try again.'
145
- : 'Crewly stopped before the restart started.',
148
+ : record.kind === 'shutdown'
149
+ ? 'Crewly stopped before the shutdown finished.'
150
+ : 'Crewly stopped before the restart started.',
146
151
  };
147
152
  }
148
153
  settled = { ...settled, completedAt: now, updatedAt: now, resultVersion: running };
@@ -229,6 +234,7 @@ export class SystemControlService {
229
234
  relaunch: this.relaunchMethod(supervisor),
230
235
  busyAgents: this.safeBusyAgents(),
231
236
  inProgress: busy !== null,
237
+ windDown: this.deps.windDown?.getProgress() ?? null,
232
238
  action: this.getAction(),
233
239
  bootId: this.deps.bootId,
234
240
  startedAt: this.deps.startedAt,
@@ -369,9 +375,98 @@ export class SystemControlService {
369
375
  if (busy)
370
376
  return busy;
371
377
  const action = this.begin('restart', request, null);
372
- void this.runRestart().catch((error) => this.fail(`Restart crashed: ${errorText(error)}`));
378
+ void this.runRestart(request.graceSeconds).catch((error) => this.fail(`Restart crashed: ${errorText(error)}`));
373
379
  return { ok: true, action };
374
380
  }
381
+ /**
382
+ * Owner pressed "Shut down": tell the agents to wind down, wait for them
383
+ * (or the grace period), stop the agents and the backend, and leave a
384
+ * marker so no supervisor brings Crewly back.
385
+ *
386
+ * @param request - Who, and the grace period (`when` is ignored)
387
+ * @returns Accepted (work continues in the background) or a refusal
388
+ */
389
+ async requestShutdown(request) {
390
+ const busy = this.busyRefusal();
391
+ if (busy)
392
+ return busy;
393
+ if (!this.deps.windDown || !this.deps.writeShutdownMarker) {
394
+ return { ok: false, httpStatus: 503, code: SYSTEM_CONTROL_CONSTANTS.CODES.UNAVAILABLE, error: SYSTEM_CONTROL_CONSTANTS.MESSAGES.UNAVAILABLE };
395
+ }
396
+ const action = this.begin('shutdown', { when: 'now', actor: request.actor }, null);
397
+ void this.runShutdown(request.graceSeconds).catch((error) => this.fail(`Shutdown crashed: ${errorText(error)}`));
398
+ return { ok: true, action };
399
+ }
400
+ /**
401
+ * Skip the wait of a running wind-down ("Skip waiting"): the agents are
402
+ * stopped now, the turns they had open are saved and resumed next start.
403
+ *
404
+ * @param actor - Who (logs)
405
+ * @returns True when a wind-down was running
406
+ */
407
+ skipWindDown(actor) {
408
+ const skipped = this.deps.windDown?.skip() === true;
409
+ if (skipped) {
410
+ this.deps.logger.info('Wind-down: owner chose to skip waiting', { requestedBy: actor });
411
+ this.update({ message: `${actor} chose to skip waiting for the agents.` });
412
+ }
413
+ return skipped;
414
+ }
415
+ /**
416
+ * Wind the agents down; false when it could not run (it never throws).
417
+ *
418
+ * @param kind - Restart or shutdown
419
+ * @param graceSeconds - Requested grace period
420
+ */
421
+ async windDownAgents(kind, graceSeconds) {
422
+ const windDown = this.deps.windDown;
423
+ if (!windDown)
424
+ return null;
425
+ this.update({
426
+ status: 'winding-down',
427
+ message: kind === 'shutdown' ? 'Asking the agents to stop at a safe point before shutting down…' : 'Asking the agents to stop at a safe point before restarting…',
428
+ });
429
+ try {
430
+ return await windDown.run({ kind, ...(graceSeconds !== undefined ? { graceSeconds } : {}) });
431
+ }
432
+ catch (error) {
433
+ this.deps.logger.warn('Wind-down failed; carrying on', { error: errorText(error) });
434
+ return null;
435
+ }
436
+ }
437
+ /**
438
+ * Shutdown body: wind down → marker → graceful exit (no drain: the
439
+ * wind-down was the wait).
440
+ *
441
+ * @param graceSeconds - Requested grace period
442
+ */
443
+ async runShutdown(graceSeconds) {
444
+ await this.deps.sleep(SYSTEM_CONTROL_CONSTANTS.RESPONSE_FLUSH_MS);
445
+ const ended = await this.windDownAgents('shutdown', graceSeconds);
446
+ try {
447
+ this.deps.writeShutdownMarker?.();
448
+ }
449
+ catch (error) {
450
+ this.fail(`Could not write the shutdown marker (${errorText(error)}); Crewly would come back by itself, so it was not shut down.`);
451
+ return;
452
+ }
453
+ this.update({
454
+ status: 'stopping',
455
+ relaunch: null,
456
+ idleWaitEndedBy: ended === 'skipped' ? 'now' : ended === 'grace' ? 'cap' : 'idle',
457
+ message: 'Stopping the agents and Crewly…',
458
+ });
459
+ this.deps.logger.info('Shutting Crewly down', { requestedBy: this.action?.requestedBy, windDownEnded: ended });
460
+ let started = false;
461
+ try {
462
+ started = this.deps.requestGracefulRestart('owner shutdown', { exitCode: PROCESS_EXIT_CODES.SUCCESS, drain: false });
463
+ }
464
+ catch (error) {
465
+ this.deps.logger.warn('Graceful shutdown unavailable; exiting directly', { error: errorText(error) });
466
+ }
467
+ if (!started)
468
+ this.deps.exit(PROCESS_EXIT_CODES.SUCCESS);
469
+ }
375
470
  /**
376
471
  * Create and persist a new action.
377
472
  *
@@ -383,12 +478,18 @@ export class SystemControlService {
383
478
  begin(kind, request, toVersion) {
384
479
  const now = new Date(this.deps.now()).toISOString();
385
480
  const supervisor = this.deps.getSupervisor();
386
- const label = kind === 'upgrade' ? `Upgrade to ${toVersion}` : 'Restart';
481
+ const label = kind === 'upgrade' ? `Upgrade to ${toVersion}` : kind === 'shutdown' ? 'Shutdown' : 'Restart';
387
482
  this.action = {
388
483
  id: randomUUID(),
389
484
  kind,
390
485
  when: request.when,
391
- status: request.when === 'idle' ? 'waiting-idle' : kind === 'upgrade' ? 'installing' : 'restarting',
486
+ status: request.when === 'idle'
487
+ ? 'waiting-idle'
488
+ : kind === 'upgrade'
489
+ ? 'installing'
490
+ : kind === 'shutdown' || this.deps.windDown
491
+ ? 'winding-down'
492
+ : 'restarting',
392
493
  requestedBy: request.actor,
393
494
  requestedAt: now,
394
495
  updatedAt: now,
@@ -529,9 +630,21 @@ export class SystemControlService {
529
630
  /**
530
631
  * Restart body: (wait for idle) → restart.
531
632
  */
532
- async runRestart() {
633
+ async runRestart(graceSeconds) {
533
634
  if (this.action?.when === 'idle')
534
635
  await this.waitForIdle();
636
+ // Nothing was mid-turn after a "when idle" wait: nobody to tell. Every
637
+ // other path (restart now, a "now" that cut the wait, the wait's cap)
638
+ // asks the agents to wind down first.
639
+ const windDownNeeded = this.action?.idleWaitEndedBy !== 'idle';
640
+ if (windDownNeeded) {
641
+ await this.deps.sleep(SYSTEM_CONTROL_CONSTANTS.RESPONSE_FLUSH_MS);
642
+ const ended = await this.windDownAgents('restart', graceSeconds);
643
+ if (ended !== null) {
644
+ this.restartNow('owner restart', 'Restarting…', { drain: false });
645
+ return;
646
+ }
647
+ }
535
648
  if (this.deps.isShutdownInProgress()) {
536
649
  this.fail('Crewly started shutting down for another reason before the restart began.');
537
650
  return;
@@ -547,7 +660,7 @@ export class SystemControlService {
547
660
  * @param message - Owner-readable progress
548
661
  * @returns False when the restart could not be started
549
662
  */
550
- restartNow(reason, message) {
663
+ restartNow(reason, message, options = {}) {
551
664
  const supervisor = this.deps.getSupervisor();
552
665
  const relaunch = this.relaunchMethod(supervisor);
553
666
  if (relaunch === 'replacement') {
@@ -566,7 +679,7 @@ export class SystemControlService {
566
679
  this.deps.logger.info('Restarting Crewly', { reason, relaunch, requestedBy: this.action?.requestedBy });
567
680
  let started = false;
568
681
  try {
569
- started = this.deps.requestGracefulRestart(reason);
682
+ started = options.drain === false ? this.deps.requestGracefulRestart(reason, { drain: false }) : this.deps.requestGracefulRestart(reason);
570
683
  }
571
684
  catch (error) {
572
685
  this.deps.logger.warn('Graceful restart unavailable; exiting directly', { error: errorText(error) });
@@ -630,6 +743,14 @@ export class SystemControlService {
630
743
  */
631
744
  fail(message) {
632
745
  this.forceGuard = false;
746
+ // The process keeps running: lift the wind-down hold and the marker.
747
+ try {
748
+ this.deps.windDown?.abort();
749
+ this.deps.clearShutdownMarker?.();
750
+ }
751
+ catch {
752
+ // best-effort
753
+ }
633
754
  if (!this.action)
634
755
  return;
635
756
  const now = new Date(this.deps.now()).toISOString();