@telora/daemon 0.19.28 → 0.19.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/dist/config-hot-reload.d.ts +91 -0
- package/dist/config-hot-reload.d.ts.map +1 -0
- package/dist/config-hot-reload.js +121 -0
- package/dist/config-hot-reload.js.map +1 -0
- package/dist/drain-teardown.d.ts +66 -0
- package/dist/drain-teardown.d.ts.map +1 -0
- package/dist/drain-teardown.js +56 -0
- package/dist/drain-teardown.js.map +1 -0
- package/dist/focus-executor.d.ts.map +1 -1
- package/dist/focus-executor.js +20 -0
- package/dist/focus-executor.js.map +1 -1
- package/dist/index.js +66 -4
- package/dist/index.js.map +1 -1
- package/dist/stop-request.d.ts +54 -0
- package/dist/stop-request.d.ts.map +1 -0
- package/dist/stop-request.js +89 -0
- package/dist/stop-request.js.map +1 -0
- package/dist/unified-engine-lifecycle.d.ts +68 -10
- package/dist/unified-engine-lifecycle.d.ts.map +1 -1
- package/dist/unified-engine-lifecycle.js +177 -71
- package/dist/unified-engine-lifecycle.js.map +1 -1
- package/dist/unified-shell.d.ts.map +1 -1
- package/dist/unified-shell.js +73 -8
- package/dist/unified-shell.js.map +1 -1
- package/dist/worker-pidfile.d.ts +77 -0
- package/dist/worker-pidfile.d.ts.map +1 -0
- package/dist/worker-pidfile.js +161 -0
- package/dist/worker-pidfile.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop-request.js","sourceRoot":"","sources":["../src/stop-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAY5D,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB;IACpC,OAAO,OAAO,CAAC,qBAAqB,EAAE,EAAE,0BAA0B,CAAC,CAAC;AACtE,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAC9B,IAAc,EACd,WAAoB,EACpB,OAAe,sBAAsB,EAAE;IAEvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAgB,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5E,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;IAC9E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,sBAAsB,EAAE;IACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAY,CAAC;QAC/D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACzD,MAAM,IAAI,GAAI,GAAmB,CAAC,IAAI,CAAC;QACvC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACpD,MAAM,WAAW,GAAI,GAAmB,CAAC,WAAW,CAAC;QACrD,OAAO,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,gBAAgB,CAAC,OAAe,sBAAsB,EAAE;IACtE,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAKD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,OAA2B,EAC3B,UAAmB;IAEnB,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,UAAU;QAAE,OAAO,WAAW,CAAC;IACnC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC;IAC3D,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
import { type ExecutionEngine, type UnifiedConfig, type ProductEntry, ResourceGovernor } from '@telora/daemon-core';
|
|
9
9
|
import type { BaseConfig } from '@telora/daemon-core';
|
|
10
10
|
import type { UnifiedDaemonOptions } from './unified-shell-config.js';
|
|
11
|
+
import { type ResolvedConfigLike, type LacunaTransition } from './config-hot-reload.js';
|
|
12
|
+
import type { LacunaConfig } from './types.js';
|
|
11
13
|
/**
|
|
12
14
|
* Create engine instances from config, set up the resource governor, and
|
|
13
15
|
* inject it into each engine. Exits the process if no engines are available.
|
|
@@ -35,7 +37,7 @@ export declare function buildEngineRuntimeConfig(engineName: string, config: Uni
|
|
|
35
37
|
* Initialize, run crash recovery, and start each engine. On failure, stops
|
|
36
38
|
* any engines that already started, releases the PID lock, and exits.
|
|
37
39
|
*/
|
|
38
|
-
export declare function initializeAndStartEngines(engines: ExecutionEngine[], config: UnifiedConfig, opts: UnifiedDaemonOptions, pidFilePath: string): Promise<
|
|
40
|
+
export declare function initializeAndStartEngines(engines: ExecutionEngine[], config: UnifiedConfig, opts: UnifiedDaemonOptions, pidFilePath: string): Promise<Map<string, BaseConfig & Record<string, unknown>>>;
|
|
39
41
|
/**
|
|
40
42
|
* Claim products for this daemon's hostname. Unclaimed products are
|
|
41
43
|
* auto-claimed; products already claimed by another host are skipped.
|
|
@@ -49,18 +51,74 @@ export declare function claimProducts(config: UnifiedConfig): Promise<void>;
|
|
|
49
51
|
* Register SIGUSR1 (status dump) and SIGUSR2 (circuit breaker reset) handlers.
|
|
50
52
|
*/
|
|
51
53
|
export declare function registerDiagnosticSignals(engines: ExecutionEngine[], governor: ResourceGovernor): void;
|
|
54
|
+
/** Governor surface the hot-reload apply needs (live session-cap setters). */
|
|
55
|
+
export interface HotReloadGovernor {
|
|
56
|
+
setEngineLimit(engine: string, limit: number): void;
|
|
57
|
+
setMaxGlobalSessions(max: number): void;
|
|
58
|
+
getUtilization(): {
|
|
59
|
+
max: number;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/** Lacuna sidecar lifecycle seam (injected so the apply is unit-testable). */
|
|
63
|
+
export interface HotReloadLacunaOps {
|
|
64
|
+
start: (cfg: LacunaConfig) => Promise<unknown>;
|
|
65
|
+
stop: () => Promise<void>;
|
|
66
|
+
}
|
|
67
|
+
/** Injected side-effect seams for {@link applyConfigHotReload}. */
|
|
68
|
+
export interface ApplyConfigHotReloadDeps {
|
|
69
|
+
governor: HotReloadGovernor;
|
|
70
|
+
lacuna: HotReloadLacunaOps;
|
|
71
|
+
/** Logger seam (defaults to console.log). */
|
|
72
|
+
log?: (msg: string) => void;
|
|
73
|
+
}
|
|
74
|
+
/** What a hot-reload apply did -- returned for logging + tests. */
|
|
75
|
+
export interface ConfigHotReloadSummary {
|
|
76
|
+
appliedScalars: string[];
|
|
77
|
+
sessionCap: number | null;
|
|
78
|
+
lacunaTransition: LacunaTransition;
|
|
79
|
+
restartRequired: string[];
|
|
80
|
+
}
|
|
52
81
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* a process restart and without disturbing in-flight teams.
|
|
82
|
+
* Apply a classified config diff to the LIVE engine config object + governor +
|
|
83
|
+
* Lacuna sidecar -- the in-place apply path that generalizes the reconcile-live
|
|
84
|
+
* seam beyond the products array. No running team is ever killed:
|
|
57
85
|
*
|
|
58
|
-
*
|
|
59
|
-
* (
|
|
60
|
-
*
|
|
61
|
-
*
|
|
86
|
+
* - Live-applicable scalars are written onto `liveConfig` in place, so the
|
|
87
|
+
* next poll/spawn (which reads the same object via configForProduct) sees
|
|
88
|
+
* the new value.
|
|
89
|
+
* - maxTotalSessions additionally drives the ResourceGovernor per-engine cap
|
|
90
|
+
* (the authoritative concurrency limit the listener gates spawns on), and
|
|
91
|
+
* raises the global cap if it would otherwise throttle the new limit.
|
|
92
|
+
* - The Lacuna sidecar is started/stopped/restarted per the transition; the
|
|
93
|
+
* new lacuna block is written onto `liveConfig` so per-spawn routing reads
|
|
94
|
+
* it. Fail-open is preserved by the lifecycle helpers.
|
|
95
|
+
* - Identity / bound-resource changes are surfaced as a restart-required
|
|
96
|
+
* warning and NEVER applied.
|
|
97
|
+
*
|
|
98
|
+
* Pure except for the injected governor/lacuna side effects and the in-place
|
|
99
|
+
* mutation of `liveConfig`, so it unit-tests without a live daemon or SIGHUP.
|
|
100
|
+
*/
|
|
101
|
+
export declare function applyConfigHotReload(liveConfig: ResolvedConfigLike, nextConfig: ResolvedConfigLike, oldLacuna: LacunaConfig, newLacuna: LacunaConfig, deps: ApplyConfigHotReloadDeps): Promise<ConfigHotReloadSummary>;
|
|
102
|
+
/**
|
|
103
|
+
* Register a SIGHUP handler that re-reads daemon.json and applies live changes
|
|
104
|
+
* without a restart:
|
|
105
|
+
*
|
|
106
|
+
* - the `config.base.products` array (added/removed/repoPath-changed) is
|
|
107
|
+
* spliced in place so engines/listener pick it up on the next poll;
|
|
108
|
+
* - the safe scalar config class (loop/merge thresholds, token/cost limits,
|
|
109
|
+
* log retention, policyFailureMode, maxTotalSessions) is applied to the
|
|
110
|
+
* live focus engine config + ResourceGovernor in place;
|
|
111
|
+
* - the Lacuna compression sidecar is started/stopped/restarted per the
|
|
112
|
+
* edited `engines.focus.lacuna` block.
|
|
113
|
+
*
|
|
114
|
+
* None of these disturb in-flight teams. Identity fields (teloraUrl, trackerId,
|
|
115
|
+
* organizationId) and bound-resource fields (paths, ports, worktree/integration)
|
|
116
|
+
* still require a restart and are logged as a warning.
|
|
117
|
+
*
|
|
118
|
+
* `governor` and `liveFocusConfig` are the live focus-engine handles; when the
|
|
119
|
+
* focus engine is disabled they are undefined and only products reconcile.
|
|
62
120
|
*/
|
|
63
|
-
export declare function registerHotReloadSignal(config: UnifiedConfig, opts: UnifiedDaemonOptions): void;
|
|
121
|
+
export declare function registerHotReloadSignal(config: UnifiedConfig, opts: UnifiedDaemonOptions, governor?: HotReloadGovernor, liveFocusConfig?: BaseConfig & Record<string, unknown>): void;
|
|
64
122
|
/**
|
|
65
123
|
* Scaffold each newly-added product's directory through the single idempotent
|
|
66
124
|
* `scaffoldProductDirectory` (CLAUDE.md self-heal + git-init when the directory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-engine-lifecycle.d.ts","sourceRoot":"","sources":["../src/unified-engine-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,aAAa,EAElB,KAAK,YAAY,EAKjB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAYtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"unified-engine-lifecycle.d.ts","sourceRoot":"","sources":["../src/unified-engine-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ import { LoopEngine } from './loop-engine.js';
|
|
|
12
12
|
import { buildFocusConfig, loopSectionFromRawConfig, resolveTelemetryConfig, telemetryFieldsFromFocus, resolveLacunaConfig, lacunaFieldsFromFocus, resolveIntegrationBranch, } from './unified-shell-config.js';
|
|
13
13
|
import { printAggregatedStatus } from './unified-shell-status.js';
|
|
14
14
|
import { scaffoldProductDirectory } from './product-scaffold.js';
|
|
15
|
+
import { classifyConfigChanges, computeLacunaTransition, } from './config-hot-reload.js';
|
|
16
|
+
import { startLacunaSidecarIfEnabled, stopLacunaSidecar } from './backends/lacuna/index.js';
|
|
15
17
|
// ---------------------------------------------------------------------------
|
|
16
18
|
// Engine creation + resource governor
|
|
17
19
|
// ---------------------------------------------------------------------------
|
|
@@ -116,11 +118,16 @@ export function buildEngineRuntimeConfig(engineName, config) {
|
|
|
116
118
|
* any engines that already started, releases the PID lock, and exits.
|
|
117
119
|
*/
|
|
118
120
|
export async function initializeAndStartEngines(engines, config, opts, pidFilePath) {
|
|
121
|
+
// Capture each engine's live runtime config OBJECT (the exact reference the
|
|
122
|
+
// engine + listener hold and read per poll/spawn) so the SIGHUP hot-reload
|
|
123
|
+
// handler can apply safe scalar/lacuna changes to it in place -- no restart.
|
|
124
|
+
const liveEngineConfigs = new Map();
|
|
119
125
|
try {
|
|
120
126
|
for (const engine of engines) {
|
|
121
127
|
console.log(`\n--- Initializing ${engine.name} engine ---`);
|
|
122
128
|
// Build the full config for this engine with all defaults applied.
|
|
123
129
|
const engineConfig = buildEngineRuntimeConfig(engine.name, config);
|
|
130
|
+
liveEngineConfigs.set(engine.name, engineConfig);
|
|
124
131
|
// Init
|
|
125
132
|
await engine.init(engineConfig);
|
|
126
133
|
console.log(`[${engine.name}] Initialized`);
|
|
@@ -151,6 +158,7 @@ export async function initializeAndStartEngines(engines, config, opts, pidFilePa
|
|
|
151
158
|
releasePidLock(pidFilePath);
|
|
152
159
|
process.exit(1);
|
|
153
160
|
}
|
|
161
|
+
return liveEngineConfigs;
|
|
154
162
|
}
|
|
155
163
|
// ---------------------------------------------------------------------------
|
|
156
164
|
// Product claiming
|
|
@@ -230,21 +238,98 @@ export function registerDiagnosticSignals(engines, governor) {
|
|
|
230
238
|
forceCloseAllCircuitBreakers();
|
|
231
239
|
});
|
|
232
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* Apply a classified config diff to the LIVE engine config object + governor +
|
|
243
|
+
* Lacuna sidecar -- the in-place apply path that generalizes the reconcile-live
|
|
244
|
+
* seam beyond the products array. No running team is ever killed:
|
|
245
|
+
*
|
|
246
|
+
* - Live-applicable scalars are written onto `liveConfig` in place, so the
|
|
247
|
+
* next poll/spawn (which reads the same object via configForProduct) sees
|
|
248
|
+
* the new value.
|
|
249
|
+
* - maxTotalSessions additionally drives the ResourceGovernor per-engine cap
|
|
250
|
+
* (the authoritative concurrency limit the listener gates spawns on), and
|
|
251
|
+
* raises the global cap if it would otherwise throttle the new limit.
|
|
252
|
+
* - The Lacuna sidecar is started/stopped/restarted per the transition; the
|
|
253
|
+
* new lacuna block is written onto `liveConfig` so per-spawn routing reads
|
|
254
|
+
* it. Fail-open is preserved by the lifecycle helpers.
|
|
255
|
+
* - Identity / bound-resource changes are surfaced as a restart-required
|
|
256
|
+
* warning and NEVER applied.
|
|
257
|
+
*
|
|
258
|
+
* Pure except for the injected governor/lacuna side effects and the in-place
|
|
259
|
+
* mutation of `liveConfig`, so it unit-tests without a live daemon or SIGHUP.
|
|
260
|
+
*/
|
|
261
|
+
export async function applyConfigHotReload(liveConfig, nextConfig, oldLacuna, newLacuna, deps) {
|
|
262
|
+
const log = deps.log ?? ((m) => console.log(m));
|
|
263
|
+
const plan = classifyConfigChanges(liveConfig, nextConfig);
|
|
264
|
+
// -- Live-applicable scalars: mutate the shared config object in place. -----
|
|
265
|
+
for (const change of plan.liveScalars) {
|
|
266
|
+
liveConfig[change.field] = change.newValue;
|
|
267
|
+
}
|
|
268
|
+
if (plan.sessionCapChanged && plan.newMaxTotalSessions !== null) {
|
|
269
|
+
deps.governor.setEngineLimit('focus', plan.newMaxTotalSessions);
|
|
270
|
+
// A raised focus limit is useless if the global cap still throttles it.
|
|
271
|
+
if (plan.newMaxTotalSessions > deps.governor.getUtilization().max) {
|
|
272
|
+
deps.governor.setMaxGlobalSessions(plan.newMaxTotalSessions);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
if (plan.liveScalars.length > 0) {
|
|
276
|
+
log(`[hot-reload] applied ${plan.liveScalars.length} live scalar change(s): ` +
|
|
277
|
+
plan.liveScalars.map((c) => `${c.field}=${String(c.newValue)}`).join(', '));
|
|
278
|
+
}
|
|
279
|
+
// -- Lacuna sidecar transition (never touches a running team). --------------
|
|
280
|
+
const transition = computeLacunaTransition(oldLacuna, newLacuna);
|
|
281
|
+
if (transition === 'start') {
|
|
282
|
+
log('[hot-reload] lacuna enabled -> starting sidecar (no running team killed)');
|
|
283
|
+
await deps.lacuna.start(newLacuna);
|
|
284
|
+
}
|
|
285
|
+
else if (transition === 'stop') {
|
|
286
|
+
log('[hot-reload] lacuna disabled -> stopping sidecar (running teams route direct)');
|
|
287
|
+
await deps.lacuna.stop();
|
|
288
|
+
}
|
|
289
|
+
else if (transition === 'restart') {
|
|
290
|
+
log('[hot-reload] lacuna bound field changed -> restarting sidecar');
|
|
291
|
+
await deps.lacuna.stop();
|
|
292
|
+
await deps.lacuna.start(newLacuna);
|
|
293
|
+
}
|
|
294
|
+
if (transition !== 'unchanged') {
|
|
295
|
+
// Reflect the new lacuna block so per-spawn routing reads the new state.
|
|
296
|
+
liveConfig.lacuna = newLacuna;
|
|
297
|
+
}
|
|
298
|
+
// -- Restart-required fields: warn, never apply. ----------------------------
|
|
299
|
+
if (plan.restartRequired.length > 0) {
|
|
300
|
+
log(`[hot-reload] WARNING: ${plan.restartRequired.length} field(s) require a restart to take effect: ` +
|
|
301
|
+
plan.restartRequired.map((c) => c.field).join(', '));
|
|
302
|
+
}
|
|
303
|
+
return {
|
|
304
|
+
appliedScalars: plan.liveScalars.map((c) => c.field),
|
|
305
|
+
sessionCap: plan.newMaxTotalSessions,
|
|
306
|
+
lacunaTransition: transition,
|
|
307
|
+
restartRequired: plan.restartRequired.map((c) => c.field),
|
|
308
|
+
};
|
|
309
|
+
}
|
|
233
310
|
// ---------------------------------------------------------------------------
|
|
234
311
|
// Hot-reload signal (SIGHUP)
|
|
235
312
|
// ---------------------------------------------------------------------------
|
|
236
313
|
/**
|
|
237
|
-
* Register a SIGHUP handler that re-reads daemon.json and
|
|
238
|
-
*
|
|
239
|
-
* array reference, so they pick up additions on their next poll cycle without
|
|
240
|
-
* a process restart and without disturbing in-flight teams.
|
|
314
|
+
* Register a SIGHUP handler that re-reads daemon.json and applies live changes
|
|
315
|
+
* without a restart:
|
|
241
316
|
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
317
|
+
* - the `config.base.products` array (added/removed/repoPath-changed) is
|
|
318
|
+
* spliced in place so engines/listener pick it up on the next poll;
|
|
319
|
+
* - the safe scalar config class (loop/merge thresholds, token/cost limits,
|
|
320
|
+
* log retention, policyFailureMode, maxTotalSessions) is applied to the
|
|
321
|
+
* live focus engine config + ResourceGovernor in place;
|
|
322
|
+
* - the Lacuna compression sidecar is started/stopped/restarted per the
|
|
323
|
+
* edited `engines.focus.lacuna` block.
|
|
324
|
+
*
|
|
325
|
+
* None of these disturb in-flight teams. Identity fields (teloraUrl, trackerId,
|
|
326
|
+
* organizationId) and bound-resource fields (paths, ports, worktree/integration)
|
|
327
|
+
* still require a restart and are logged as a warning.
|
|
328
|
+
*
|
|
329
|
+
* `governor` and `liveFocusConfig` are the live focus-engine handles; when the
|
|
330
|
+
* focus engine is disabled they are undefined and only products reconcile.
|
|
246
331
|
*/
|
|
247
|
-
export function registerHotReloadSignal(config, opts) {
|
|
332
|
+
export function registerHotReloadSignal(config, opts, governor, liveFocusConfig) {
|
|
248
333
|
let reloadInProgress = false;
|
|
249
334
|
process.on('SIGHUP', () => {
|
|
250
335
|
if (reloadInProgress) {
|
|
@@ -252,7 +337,7 @@ export function registerHotReloadSignal(config, opts) {
|
|
|
252
337
|
return;
|
|
253
338
|
}
|
|
254
339
|
reloadInProgress = true;
|
|
255
|
-
void hotReloadProducts(config, opts).catch((err) => {
|
|
340
|
+
void hotReloadProducts(config, opts, governor, liveFocusConfig).catch((err) => {
|
|
256
341
|
console.error('[hot-reload] Reload failed:', err instanceof Error ? err.message : String(err));
|
|
257
342
|
}).finally(() => {
|
|
258
343
|
reloadInProgress = false;
|
|
@@ -276,7 +361,7 @@ export function scaffoldAddedProducts(additions, config) {
|
|
|
276
361
|
scaffoldProductDirectory(product, { integrationBranch });
|
|
277
362
|
}
|
|
278
363
|
}
|
|
279
|
-
async function hotReloadProducts(config, opts) {
|
|
364
|
+
async function hotReloadProducts(config, opts, governor, liveFocusConfig) {
|
|
280
365
|
console.log('[hot-reload] SIGHUP received, reloading config...');
|
|
281
366
|
let newConfig;
|
|
282
367
|
try {
|
|
@@ -301,74 +386,95 @@ async function hotReloadProducts(config, opts) {
|
|
|
301
386
|
identityChanges.push('trackerId');
|
|
302
387
|
if (config.base.organizationId !== newConfig.base.organizationId)
|
|
303
388
|
identityChanges.push('organizationId');
|
|
304
|
-
|
|
389
|
+
const hasProductChanges = added.length > 0 || removed.length > 0 || repoChanged.length > 0;
|
|
390
|
+
if (!hasProductChanges) {
|
|
305
391
|
console.log('[hot-reload] no product changes detected');
|
|
306
|
-
if (identityChanges.length > 0) {
|
|
307
|
-
console.warn(`[hot-reload] WARNING: identity fields changed but require restart to take effect: ${identityChanges.join(', ')}`);
|
|
308
|
-
}
|
|
309
|
-
return;
|
|
310
392
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
393
|
+
if (hasProductChanges) {
|
|
394
|
+
// Claim newly-added products via the same flow used at startup. Products
|
|
395
|
+
// already claimed by another host are dropped from `claimedAdditions` by
|
|
396
|
+
// claimProducts() (it mutates its config.base.products to only the claimed
|
|
397
|
+
// subset). If claimProducts throws because none could be claimed, we keep
|
|
398
|
+
// the rest of the merge going.
|
|
399
|
+
let claimedAdditions = [];
|
|
400
|
+
if (added.length > 0) {
|
|
401
|
+
const tempConfig = {
|
|
402
|
+
...config,
|
|
403
|
+
base: { ...config.base, products: [...added] },
|
|
404
|
+
};
|
|
405
|
+
try {
|
|
406
|
+
await claimProducts(tempConfig);
|
|
407
|
+
claimedAdditions = (tempConfig.base.products ?? []);
|
|
408
|
+
}
|
|
409
|
+
catch (err) {
|
|
410
|
+
console.warn(`[hot-reload] Could not claim new products: ${err instanceof Error ? err.message : String(err)}`);
|
|
411
|
+
claimedAdditions = (tempConfig.base.products ?? []);
|
|
412
|
+
}
|
|
325
413
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
414
|
+
// Build the merged array: keep existing (with repoPath updates), drop
|
|
415
|
+
// removed, append newly-claimed additions.
|
|
416
|
+
const merged = [];
|
|
417
|
+
for (const cp of currentProducts) {
|
|
418
|
+
if (removed.some(r => r.id === cp.id))
|
|
419
|
+
continue;
|
|
420
|
+
const updated = repoChanged.find(r => r.id === cp.id);
|
|
421
|
+
merged.push(updated ? { ...cp, repoPath: updated.repoPath } : cp);
|
|
329
422
|
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
// the SAME idempotent scaffolder the boot path uses. Scoped to additions ONLY
|
|
349
|
-
// -- pre-existing products are never re-scaffolded, so a hot-reload never
|
|
350
|
-
// churns a running product's directory. Runs after the splice so a scaffolded
|
|
351
|
-
// product is already visible to the engines by the time git-init completes.
|
|
352
|
-
scaffoldAddedProducts(claimedAdditions, config);
|
|
353
|
-
console.log(`[hot-reload] products updated -- added: ${claimedAdditions.length}, removed: ${removed.length}, repoPath changed: ${repoChanged.length} (total: ${currentProducts.length})`);
|
|
354
|
-
if (claimedAdditions.length > 0) {
|
|
355
|
-
for (const p of claimedAdditions) {
|
|
356
|
-
console.log(`[hot-reload] added: ${p.id} (${p.repoPath})`);
|
|
423
|
+
merged.push(...claimedAdditions);
|
|
424
|
+
// Splice in place so every reference (engines, listener, heartbeat) sees
|
|
425
|
+
// the new contents. JS is single-threaded; an iterating poll loop with
|
|
426
|
+
// async yields may see a transient mid-update view of the array, but the
|
|
427
|
+
// worst case is that an addition is missed for one cycle and picked up on
|
|
428
|
+
// the next.
|
|
429
|
+
currentProducts.splice(0, currentProducts.length, ...merged);
|
|
430
|
+
// Scaffold the newly-added products' directories (CLAUDE.md + git-init) via
|
|
431
|
+
// the SAME idempotent scaffolder the boot path uses. Scoped to additions ONLY
|
|
432
|
+
// -- pre-existing products are never re-scaffolded, so a hot-reload never
|
|
433
|
+
// churns a running product's directory. Runs after the splice so a scaffolded
|
|
434
|
+
// product is already visible to the engines by the time git-init completes.
|
|
435
|
+
scaffoldAddedProducts(claimedAdditions, config);
|
|
436
|
+
console.log(`[hot-reload] products updated -- added: ${claimedAdditions.length}, removed: ${removed.length}, repoPath changed: ${repoChanged.length} (total: ${currentProducts.length})`);
|
|
437
|
+
if (claimedAdditions.length > 0) {
|
|
438
|
+
for (const p of claimedAdditions) {
|
|
439
|
+
console.log(`[hot-reload] added: ${p.id} (${p.repoPath})`);
|
|
440
|
+
}
|
|
357
441
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
442
|
+
if (removed.length > 0) {
|
|
443
|
+
for (const p of removed) {
|
|
444
|
+
console.log(`[hot-reload] removed: ${p.id}`);
|
|
445
|
+
}
|
|
446
|
+
console.log('[hot-reload] note: any in-flight teams for removed products keep running until done; no new work is queued for them');
|
|
362
447
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
console.log(
|
|
448
|
+
if (repoChanged.length > 0) {
|
|
449
|
+
for (const p of repoChanged) {
|
|
450
|
+
console.log(`[hot-reload] repoPath changed: ${p.id} -> ${p.repoPath}`);
|
|
451
|
+
}
|
|
452
|
+
console.log('[hot-reload] note: in-flight teams keep using their original repoPath; new work uses the updated path');
|
|
453
|
+
}
|
|
454
|
+
} // end if (hasProductChanges)
|
|
455
|
+
// -- Scalar + Lacuna live reconcile (runs regardless of product changes). ---
|
|
456
|
+
// Generalizes the reconcile-live seam beyond products[]: applies the safe
|
|
457
|
+
// scalar config class + the Lacuna sidecar transition to the LIVE focus
|
|
458
|
+
// engine config + governor in place, with no restart and no team killed.
|
|
459
|
+
if (liveFocusConfig && governor) {
|
|
460
|
+
try {
|
|
461
|
+
const nextFocusConfig = buildFocusConfig(newConfig.base, newConfig.focus);
|
|
462
|
+
const oldLacuna = liveFocusConfig.lacuna
|
|
463
|
+
?? resolveLacunaConfig(lacunaFieldsFromFocus(config.focus.fields));
|
|
464
|
+
const newLacuna = nextFocusConfig.lacuna
|
|
465
|
+
?? resolveLacunaConfig(lacunaFieldsFromFocus(newConfig.focus.fields));
|
|
466
|
+
await applyConfigHotReload(liveFocusConfig, nextFocusConfig, oldLacuna, newLacuna, {
|
|
467
|
+
governor,
|
|
468
|
+
lacuna: { start: startLacunaSidecarIfEnabled, stop: stopLacunaSidecar },
|
|
469
|
+
});
|
|
470
|
+
}
|
|
471
|
+
catch (err) {
|
|
472
|
+
console.error('[hot-reload] scalar/lacuna reload failed:', err instanceof Error ? err.message : String(err));
|
|
368
473
|
}
|
|
369
|
-
console.log('[hot-reload] note: in-flight teams keep using their original repoPath; new work uses the updated path');
|
|
370
474
|
}
|
|
371
|
-
if (identityChanges.length > 0) {
|
|
475
|
+
else if (identityChanges.length > 0) {
|
|
476
|
+
// Focus engine disabled -- no live config object to apply to; keep the
|
|
477
|
+
// legacy identity restart-required warning so operators still get a signal.
|
|
372
478
|
console.warn(`[hot-reload] WARNING: identity fields changed but are NOT applied at runtime (restart required): ${identityChanges.join(', ')}`);
|
|
373
479
|
}
|
|
374
480
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-engine-lifecycle.js","sourceRoot":"","sources":["../src/unified-engine-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unified-engine-lifecycle.js","sourceRoot":"","sources":["../src/unified-engine-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-shell.d.ts","sourceRoot":"","sources":["../src/unified-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,EACL,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"unified-shell.d.ts","sourceRoot":"","sources":["../src/unified-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,EACL,KAAK,aAAa,EAMnB,MAAM,qBAAqB,CAAC;AAyC7B,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAsFtE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAkBlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CA8BtE;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CA2BlB;AAMD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAybhF"}
|