crewly 1.20.237 → 1.20.239

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 (93) hide show
  1. package/config/constants.ts +19 -0
  2. package/dist/backend/backend/src/constants.d.ts +13 -3
  3. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  4. package/dist/backend/backend/src/constants.js +6 -3
  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/agent/fresh-task-conversation.service.d.ts +8 -6
  20. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  21. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js +18 -17
  22. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  23. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
  24. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +4 -0
  25. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
  26. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  27. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +5 -0
  28. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  29. package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts +35 -0
  30. package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/restart/restart-drain.service.js +57 -0
  32. package/dist/backend/backend/src/services/restart/restart-drain.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/system/shutdown-marker.d.ts +41 -0
  34. package/dist/backend/backend/src/services/system/shutdown-marker.d.ts.map +1 -0
  35. package/dist/backend/backend/src/services/system/shutdown-marker.js +59 -0
  36. package/dist/backend/backend/src/services/system/shutdown-marker.js.map +1 -0
  37. package/dist/backend/backend/src/services/system/system-control.service.d.ts +53 -3
  38. package/dist/backend/backend/src/services/system/system-control.service.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/system/system-control.service.js +130 -9
  40. package/dist/backend/backend/src/services/system/system-control.service.js.map +1 -1
  41. package/dist/backend/backend/src/services/system/wind-down.service.d.ts +145 -0
  42. package/dist/backend/backend/src/services/system/wind-down.service.d.ts.map +1 -0
  43. package/dist/backend/backend/src/services/system/wind-down.service.js +231 -0
  44. package/dist/backend/backend/src/services/system/wind-down.service.js.map +1 -0
  45. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +6 -0
  47. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  48. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/v3/trigger-engine.service.js +4 -0
  50. package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
  51. package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
  52. package/dist/backend/backend/src/services/workflow/cron-task.service.js +4 -0
  53. package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
  54. package/dist/backend/build-info.json +2 -2
  55. package/dist/backend/config/constants.d.ts +19 -0
  56. package/dist/backend/config/constants.d.ts.map +1 -1
  57. package/dist/backend/config/constants.js +19 -0
  58. package/dist/backend/config/constants.js.map +1 -1
  59. package/dist/cli/backend/src/constants.d.ts +13 -3
  60. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  61. package/dist/cli/backend/src/constants.js +6 -3
  62. package/dist/cli/backend/src/constants.js.map +1 -1
  63. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  64. package/dist/cli/backend/src/services/agent/agent-registration.service.js +10 -0
  65. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  66. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts +8 -6
  67. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  68. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js +18 -17
  69. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  70. package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts +35 -0
  71. package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts.map +1 -1
  72. package/dist/cli/backend/src/services/restart/restart-drain.service.js +57 -0
  73. package/dist/cli/backend/src/services/restart/restart-drain.service.js.map +1 -1
  74. package/dist/cli/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
  75. package/dist/cli/backend/src/services/workflow/cron-task.service.js +4 -0
  76. package/dist/cli/backend/src/services/workflow/cron-task.service.js.map +1 -1
  77. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  78. package/dist/cli/cli/src/commands/service.js +13 -1
  79. package/dist/cli/cli/src/commands/service.js.map +1 -1
  80. package/dist/cli/cli/src/commands/start.d.ts.map +1 -1
  81. package/dist/cli/cli/src/commands/start.js +11 -0
  82. package/dist/cli/cli/src/commands/start.js.map +1 -1
  83. package/dist/cli/cli/src/utils/shutdown-marker.d.ts +44 -0
  84. package/dist/cli/cli/src/utils/shutdown-marker.d.ts.map +1 -0
  85. package/dist/cli/cli/src/utils/shutdown-marker.js +70 -0
  86. package/dist/cli/cli/src/utils/shutdown-marker.js.map +1 -0
  87. package/dist/cli/config/constants.d.ts +19 -0
  88. package/dist/cli/config/constants.d.ts.map +1 -1
  89. package/dist/cli/config/constants.js +19 -0
  90. package/dist/cli/config/constants.js.map +1 -1
  91. package/frontend/dist/assets/{index-a719c15a.js → index-c9630c55.js} +276 -276
  92. package/frontend/dist/index.html +1 -1
  93. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"system-control.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/system/system-control.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-control.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/system/system-control.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Wind-down — the step before an owner shutdown or restart.
3
+ *
4
+ * Tells every running agent (the orchestrator included) to reach a safe
5
+ * point — save work, write a short handover note, start nothing new, go
6
+ * idle — then waits until all of them are idle or the grace period ends.
7
+ * While it runs new work is held: the restart-drain delivery pause keeps
8
+ * every message (the owner's too) on the persistent queues, and the
9
+ * `isWindingDown` gates stop autopilot ticks, reconciler passes, cron fires
10
+ * and new agent starts.
11
+ *
12
+ * The note is delivered twice over, because an agent mid-turn may not read
13
+ * its terminal: written to the agent (queued with owner priority when it is
14
+ * busy) and handed over as PostToolUse `additionalContext` at its next tool
15
+ * boundary (see {@link WindDownService.noteForHook}).
16
+ *
17
+ * All I/O goes through {@link WindDownDeps}. Harness text is English.
18
+ *
19
+ * @module services/system/wind-down
20
+ */
21
+ /** What the wind-down is for. */
22
+ export type WindDownKind = 'restart' | 'shutdown';
23
+ /** How the wait ended. */
24
+ export type WindDownEnd = 'idle' | 'grace' | 'skipped' | 'no-agents';
25
+ /** Where the wind-down is. */
26
+ export type WindDownPhase = 'notifying' | 'waiting' | 'done';
27
+ /** Progress the dashboard shows. */
28
+ export interface WindDownProgress {
29
+ /** What it is for */
30
+ kind: WindDownKind;
31
+ /** Where it is */
32
+ phase: WindDownPhase;
33
+ /** ISO start time */
34
+ startedAt: string;
35
+ /** ISO time the grace period ends */
36
+ deadlineAt: string;
37
+ /** Grace period (seconds) */
38
+ graceSeconds: number;
39
+ /** Running agents when it started */
40
+ total: number;
41
+ /** Agents told so far */
42
+ notified: string[];
43
+ /** Agents still mid-turn */
44
+ busy: string[];
45
+ /** How the wait ended, once done */
46
+ endedBy?: WindDownEnd;
47
+ }
48
+ /** I/O of the wind-down. */
49
+ export interface WindDownDeps {
50
+ /** Sessions of every running agent (orchestrator included) */
51
+ listAgents: () => string[];
52
+ /** Sessions of agents mid-turn right now */
53
+ getBusyAgents: () => string[];
54
+ /** Write the note to one agent (queued with owner priority when busy) */
55
+ deliver: (session: string, text: string) => Promise<unknown>;
56
+ /** Clock */
57
+ now: () => number;
58
+ /** Sleep */
59
+ sleep: (ms: number) => Promise<void>;
60
+ /** Logger */
61
+ logger: {
62
+ info: (m: string, meta?: Record<string, unknown>) => void;
63
+ warn: (m: string, meta?: Record<string, unknown>) => void;
64
+ };
65
+ }
66
+ /** Request to {@link WindDownService.run}. */
67
+ export interface WindDownRequest {
68
+ /** Shutdown or restart */
69
+ kind: WindDownKind;
70
+ /** Grace period (seconds); clamped to 0..max, default per kind */
71
+ graceSeconds?: number;
72
+ /** Called on each progress change */
73
+ onProgress?: (progress: WindDownProgress) => void;
74
+ }
75
+ /**
76
+ * Clamp a requested grace period.
77
+ *
78
+ * @param kind - Shutdown or restart (picks the default)
79
+ * @param requested - Seconds the caller asked for
80
+ * @returns Whole seconds within 0..WIND_DOWN_MAX_GRACE_SECONDS
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * resolveGraceSeconds('restart', undefined); // 180
85
+ * resolveGraceSeconds('shutdown', 99999); // 900
86
+ * ```
87
+ */
88
+ export declare function resolveGraceSeconds(kind: WindDownKind, requested: unknown): number;
89
+ /**
90
+ * The note every agent receives (English harness text).
91
+ *
92
+ * @param kind - Shutdown or restart
93
+ * @param graceSeconds - Grace period
94
+ * @returns The note
95
+ */
96
+ export declare function buildWindDownNote(kind: WindDownKind, graceSeconds: number): string;
97
+ /**
98
+ * Process-wide wind-down. Singleton, wired once at boot.
99
+ */
100
+ export declare class WindDownService {
101
+ private readonly deps;
102
+ private static instance;
103
+ private progress;
104
+ private skipRequested;
105
+ private wake;
106
+ private running;
107
+ /** Sessions whose note is still to be handed over at their next tool boundary */
108
+ private readonly hookPending;
109
+ constructor(deps: WindDownDeps);
110
+ /** @param service - The instance (null clears it) */
111
+ static setInstance(service: WindDownService | null): void;
112
+ /** @returns The wired instance, if any */
113
+ static getInstance(): WindDownService | null;
114
+ /** @returns True while a wind-down runs */
115
+ isActive(): boolean;
116
+ /** @returns Current (or last) progress, or null */
117
+ getProgress(): WindDownProgress | null;
118
+ /**
119
+ * Stop waiting for the agents ("skip waiting"). No effect when idle.
120
+ *
121
+ * @returns True when a wind-down was running
122
+ */
123
+ skip(): boolean;
124
+ /**
125
+ * The note for an agent's PostToolUse hook: once per agent per wind-down.
126
+ *
127
+ * @param session - The agent
128
+ * @returns The note, or null
129
+ */
130
+ noteForHook(session: string): string | null;
131
+ /**
132
+ * Notify every running agent, hold new work, and wait for them to go idle.
133
+ * Never throws; a delivery that fails is logged and the wait goes on.
134
+ *
135
+ * @param request - Kind, grace period, progress callback
136
+ * @returns How the wait ended
137
+ */
138
+ run(request: WindDownRequest): Promise<WindDownEnd>;
139
+ /** Lift the hold after a failed action (the process keeps running). */
140
+ abort(): void;
141
+ private finish;
142
+ private safeBusy;
143
+ private sleepOrWake;
144
+ }
145
+ //# sourceMappingURL=wind-down.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wind-down.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/system/wind-down.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Wind-down — the step before an owner shutdown or restart.
3
+ *
4
+ * Tells every running agent (the orchestrator included) to reach a safe
5
+ * point — save work, write a short handover note, start nothing new, go
6
+ * idle — then waits until all of them are idle or the grace period ends.
7
+ * While it runs new work is held: the restart-drain delivery pause keeps
8
+ * every message (the owner's too) on the persistent queues, and the
9
+ * `isWindingDown` gates stop autopilot ticks, reconciler passes, cron fires
10
+ * and new agent starts.
11
+ *
12
+ * The note is delivered twice over, because an agent mid-turn may not read
13
+ * its terminal: written to the agent (queued with owner priority when it is
14
+ * busy) and handed over as PostToolUse `additionalContext` at its next tool
15
+ * boundary (see {@link WindDownService.noteForHook}).
16
+ *
17
+ * All I/O goes through {@link WindDownDeps}. Harness text is English.
18
+ *
19
+ * @module services/system/wind-down
20
+ */
21
+ import { SAFE_RESTART } from '../../constants.js';
22
+ import { RestartDrainService } from '../restart/restart-drain.service.js';
23
+ /**
24
+ * Clamp a requested grace period.
25
+ *
26
+ * @param kind - Shutdown or restart (picks the default)
27
+ * @param requested - Seconds the caller asked for
28
+ * @returns Whole seconds within 0..WIND_DOWN_MAX_GRACE_SECONDS
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * resolveGraceSeconds('restart', undefined); // 180
33
+ * resolveGraceSeconds('shutdown', 99999); // 900
34
+ * ```
35
+ */
36
+ export function resolveGraceSeconds(kind, requested) {
37
+ const fallback = kind === 'shutdown' ? SAFE_RESTART.WIND_DOWN_SHUTDOWN_GRACE_SECONDS : SAFE_RESTART.WIND_DOWN_RESTART_GRACE_SECONDS;
38
+ if (typeof requested !== 'number' || !Number.isFinite(requested) || requested < 0)
39
+ return fallback;
40
+ return Math.min(Math.floor(requested), SAFE_RESTART.WIND_DOWN_MAX_GRACE_SECONDS);
41
+ }
42
+ /**
43
+ * The note every agent receives (English harness text).
44
+ *
45
+ * @param kind - Shutdown or restart
46
+ * @param graceSeconds - Grace period
47
+ * @returns The note
48
+ */
49
+ export function buildWindDownNote(kind, graceSeconds) {
50
+ const minutes = Math.max(1, Math.round(graceSeconds / 60));
51
+ const what = kind === 'shutdown' ? 'shutting down' : 'restarting';
52
+ const after = kind === 'shutdown' ? 'when Crewly is started again' : 'right after the restart';
53
+ return (`${SAFE_RESTART.WIND_DOWN_TAG} The owner asked Crewly to stop: Crewly is ${what} in about ${minutes} minute${minutes === 1 ? '' : 's'}. ` +
54
+ 'Stop at a safe point: commit or save your work, write a short handover note of where you are ' +
55
+ '(save it to your memory so it lands in your wiki, the same handover you write when your conversation is cleared), ' +
56
+ 'do not start new long tasks, then go idle. ' +
57
+ `Nothing is lost: messages sent to you meanwhile are kept and delivered ${after}.`);
58
+ }
59
+ /**
60
+ * Process-wide wind-down. Singleton, wired once at boot.
61
+ */
62
+ export class WindDownService {
63
+ deps;
64
+ static instance = null;
65
+ progress = null;
66
+ skipRequested = false;
67
+ wake = null;
68
+ running = false;
69
+ /** Sessions whose note is still to be handed over at their next tool boundary */
70
+ hookPending = new Map();
71
+ constructor(deps) {
72
+ this.deps = deps;
73
+ }
74
+ /** @param service - The instance (null clears it) */
75
+ static setInstance(service) {
76
+ WindDownService.instance = service;
77
+ }
78
+ /** @returns The wired instance, if any */
79
+ static getInstance() {
80
+ return WindDownService.instance;
81
+ }
82
+ /** @returns True while a wind-down runs */
83
+ isActive() {
84
+ return this.running;
85
+ }
86
+ /** @returns Current (or last) progress, or null */
87
+ getProgress() {
88
+ return this.progress ? { ...this.progress, notified: [...this.progress.notified], busy: [...this.progress.busy] } : null;
89
+ }
90
+ /**
91
+ * Stop waiting for the agents ("skip waiting"). No effect when idle.
92
+ *
93
+ * @returns True when a wind-down was running
94
+ */
95
+ skip() {
96
+ if (!this.running)
97
+ return false;
98
+ this.skipRequested = true;
99
+ this.wake?.();
100
+ return true;
101
+ }
102
+ /**
103
+ * The note for an agent's PostToolUse hook: once per agent per wind-down.
104
+ *
105
+ * @param session - The agent
106
+ * @returns The note, or null
107
+ */
108
+ noteForHook(session) {
109
+ const note = this.hookPending.get(session);
110
+ if (!note)
111
+ return null;
112
+ this.hookPending.delete(session);
113
+ return note;
114
+ }
115
+ /**
116
+ * Notify every running agent, hold new work, and wait for them to go idle.
117
+ * Never throws; a delivery that fails is logged and the wait goes on.
118
+ *
119
+ * @param request - Kind, grace period, progress callback
120
+ * @returns How the wait ended
121
+ */
122
+ async run(request) {
123
+ if (this.running)
124
+ return this.progress?.endedBy ?? 'grace';
125
+ const { deps } = this;
126
+ this.running = true;
127
+ this.skipRequested = false;
128
+ const graceSeconds = resolveGraceSeconds(request.kind, request.graceSeconds);
129
+ const start = deps.now();
130
+ const deadline = start + graceSeconds * 1000;
131
+ const drain = RestartDrainService.getInstance();
132
+ drain.beginWindDown(`wind-down for ${request.kind}`);
133
+ const emit = (patch) => {
134
+ this.progress = { ...this.progress, ...patch };
135
+ request.onProgress?.(this.getProgress());
136
+ };
137
+ let agents = [];
138
+ try {
139
+ try {
140
+ agents = [...new Set(deps.listAgents())];
141
+ }
142
+ catch (error) {
143
+ deps.logger.warn('Wind-down: could not list the running agents', { error: errText(error) });
144
+ }
145
+ this.progress = {
146
+ kind: request.kind,
147
+ phase: 'notifying',
148
+ startedAt: new Date(start).toISOString(),
149
+ deadlineAt: new Date(deadline).toISOString(),
150
+ graceSeconds,
151
+ total: agents.length,
152
+ notified: [],
153
+ busy: [],
154
+ };
155
+ request.onProgress?.(this.getProgress());
156
+ deps.logger.info('Wind-down: notifying agents', { kind: request.kind, graceSeconds, agents });
157
+ const note = buildWindDownNote(request.kind, graceSeconds);
158
+ const busyNow = new Set(this.safeBusy());
159
+ for (const session of agents) {
160
+ // A busy agent may not read its terminal until the turn ends: the
161
+ // note also rides its next tool boundary.
162
+ if (busyNow.has(session))
163
+ this.hookPending.set(session, note);
164
+ try {
165
+ await drain.runAsWindDownNotice(() => deps.deliver(session, note));
166
+ }
167
+ catch (error) {
168
+ deps.logger.warn('Wind-down: could not deliver the note', { session, error: errText(error) });
169
+ }
170
+ emit({ notified: [...(this.progress?.notified ?? []), session] });
171
+ }
172
+ if (agents.length === 0) {
173
+ emit({ phase: 'done', endedBy: 'no-agents', busy: [] });
174
+ return 'no-agents';
175
+ }
176
+ emit({ phase: 'waiting', busy: this.safeBusy() });
177
+ let lastKey = '';
178
+ for (;;) {
179
+ const busy = this.safeBusy();
180
+ const key = busy.join(',');
181
+ if (key !== lastKey) {
182
+ lastKey = key;
183
+ emit({ busy });
184
+ deps.logger.info('Wind-down: waiting on agents', { busy });
185
+ }
186
+ if (this.skipRequested)
187
+ return this.finish('skipped');
188
+ if (busy.length === 0)
189
+ return this.finish('idle');
190
+ if (deps.now() >= deadline)
191
+ return this.finish('grace');
192
+ await this.sleepOrWake(Math.min(SAFE_RESTART.WIND_DOWN_POLL_MS, Math.max(0, deadline - deps.now())));
193
+ }
194
+ }
195
+ finally {
196
+ this.running = false;
197
+ this.wake = null;
198
+ this.hookPending.clear();
199
+ }
200
+ }
201
+ /** Lift the hold after a failed action (the process keeps running). */
202
+ abort() {
203
+ this.skipRequested = true;
204
+ this.wake?.();
205
+ this.hookPending.clear();
206
+ RestartDrainService.getInstance().abortWindDown();
207
+ }
208
+ finish(endedBy) {
209
+ const busy = this.safeBusy();
210
+ this.progress = { ...this.progress, phase: 'done', endedBy, busy };
211
+ this.deps.logger.info('Wind-down finished', { endedBy, stillBusy: busy });
212
+ return endedBy;
213
+ }
214
+ safeBusy() {
215
+ try {
216
+ return this.deps.getBusyAgents();
217
+ }
218
+ catch {
219
+ return [];
220
+ }
221
+ }
222
+ async sleepOrWake(ms) {
223
+ if (this.skipRequested)
224
+ return;
225
+ await Promise.race([this.deps.sleep(ms), new Promise((resolve) => { this.wake = resolve; })]);
226
+ }
227
+ }
228
+ function errText(error) {
229
+ return error instanceof Error ? error.message : String(error);
230
+ }
231
+ //# sourceMappingURL=wind-down.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wind-down.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/system/wind-down.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-auto-claim.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/agent-auto-claim.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AA2ClE,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsC;IAE7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,eAAe,CAAuF;IAC9G,OAAO,CAAC,mBAAmB,CAA0D;IACrF,OAAO,CAAC,gBAAgB,CAA6B;IAErD,OAAO;WAIO,WAAW,IAAI,qBAAqB;WAOpC,aAAa,IAAI,IAAI;IAQnC;;;;;OAKG;IACH,UAAU,CACR,eAAe,EAAE;QAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;KAAE,EACvF,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAC5D,IAAI;IAKP;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C5B;;;;;OAKG;YACW,6BAA6B;IAc3C;;OAEG;IACH,IAAI,IAAI,IAAI;IAYZ;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;;;;;;;;;;;OAeG;IACG,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA8FrF;;;;;;;;;;;;;;;;;;OAkBG;YACW,uBAAuB;IAiCrC;;;;;;;;;OASG;YACW,qBAAqB;IA+BnC;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;;;;;OAQG;IACG,WAAW,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAiD7E;;;OAGG;YACW,cAAc;IAqB5B;;;;;OAKG;YACW,cAAc;IAiB5B;;;;;OAKG;YACW,mBAAmB;CA2QlC"}
1
+ {"version":3,"file":"agent-auto-claim.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/agent-auto-claim.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AA4ClE,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsC;IAE7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,eAAe,CAAuF;IAC9G,OAAO,CAAC,mBAAmB,CAA0D;IACrF,OAAO,CAAC,gBAAgB,CAA6B;IAErD,OAAO;WAIO,WAAW,IAAI,qBAAqB;WAOpC,aAAa,IAAI,IAAI;IAQnC;;;;;OAKG;IACH,UAAU,CACR,eAAe,EAAE;QAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;KAAE,EACvF,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAC5D,IAAI;IAKP;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C5B;;;;;OAKG;YACW,6BAA6B;IAc3C;;OAEG;IACH,IAAI,IAAI,IAAI;IAYZ;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;;;;;;;;;;;;OAeG;IACG,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA8FrF;;;;;;;;;;;;;;;;;;OAkBG;YACW,uBAAuB;IAiCrC;;;;;;;;;OASG;YACW,qBAAqB;IA+BnC;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;;;;;OAQG;IACG,WAAW,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAiD7E;;;OAGG;YACW,cAAc;IAsB5B;;;;;OAKG;YACW,cAAc;IAiB5B;;;;;OAKG;YACW,mBAAmB;CA2QlC"}
@@ -26,6 +26,7 @@ import { resolveCurrentSession } from '../../utils/session-resolve.utils.js';
26
26
  import { pickTeamLead } from '../../utils/team.utils.js';
27
27
  import { getLocalApiBaseUrl } from '../../utils/local-api-url.utils.js';
28
28
  import { spendCapStopOf } from '../spend/spend-cap.gate.js';
29
+ import { RestartDrainService } from '../restart/restart-drain.service.js';
29
30
  /**
30
31
  * The orchestrator's own session name. Used to short-circuit the wake +
31
32
  * escalation paths — those paths are agent-to-agent recovery; firing
@@ -178,6 +179,9 @@ export class AgentAutoClaimService {
178
179
  * @param agentSessionName - The agent that went idle or completed a task
179
180
  */
180
181
  onAgentIdleOrTaskDone(agentSessionName) {
182
+ // Winding down for a shutdown / restart: an idle agent must stay idle.
183
+ if (RestartDrainService.getInstance().isWindingDown())
184
+ return;
181
185
  const now = Date.now();
182
186
  const lastAttempt = this.lastClaimAttempt.get(agentSessionName) ?? 0;
183
187
  if (now - lastAttempt < DEBOUNCE_MS)
@@ -470,6 +474,8 @@ export class AgentAutoClaimService {
470
474
  * Polling backup for when events are missed.
471
475
  */
472
476
  async pollIdleAgents() {
477
+ if (RestartDrainService.getInstance().isWindingDown())
478
+ return;
473
479
  if (!this.agentHealthProvider)
474
480
  return;
475
481
  const healthMap = await this.agentHealthProvider();