@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.
@@ -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<void>;
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
- * Register a SIGHUP handler that re-reads daemon.json and updates the live
54
- * `config.base.products` array in place. Engines and the listener share that
55
- * array reference, so they pick up additions on their next poll cycle without
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
- * Hot-reload scope is limited to the products array. Identity fields
59
- * (teloraUrl, trackerId, organizationId) and engine sections (limits, polling
60
- * intervals, etc.) still require a restart -- changes to those are logged as
61
- * a warning so operators know to restart if they need them applied.
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;AAQtE;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,CAAC,CA+DrE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,GACpB,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BtC;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,eAAe,EAAE,EAC1B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,oBAAoB,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAwCf;AAMD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DxE;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,EAAE,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,IAAI,CAQN;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,oBAAoB,GACzB,IAAI,CAkBN;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,YAAY,EAAE,EACzB,MAAM,EAAE,aAAa,GACpB,IAAI,CAMN"}
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 updates the live
238
- * `config.base.products` array in place. Engines and the listener share that
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
- * Hot-reload scope is limited to the products array. Identity fields
243
- * (teloraUrl, trackerId, organizationId) and engine sections (limits, polling
244
- * intervals, etc.) still require a restart -- changes to those are logged as
245
- * a warning so operators know to restart if they need them applied.
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
- if (added.length === 0 && removed.length === 0 && repoChanged.length === 0) {
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
- // Claim newly-added products via the same flow used at startup. Products
312
- // already claimed by another host are dropped from `claimedAdditions` by
313
- // claimProducts() (it mutates its config.base.products to only the claimed
314
- // subset). If claimProducts throws because none could be claimed, we keep
315
- // the rest of the merge going.
316
- let claimedAdditions = [];
317
- if (added.length > 0) {
318
- const tempConfig = {
319
- ...config,
320
- base: { ...config.base, products: [...added] },
321
- };
322
- try {
323
- await claimProducts(tempConfig);
324
- claimedAdditions = (tempConfig.base.products ?? []);
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
- catch (err) {
327
- console.warn(`[hot-reload] Could not claim new products: ${err instanceof Error ? err.message : String(err)}`);
328
- claimedAdditions = (tempConfig.base.products ?? []);
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
- // Build the merged array: keep existing (with repoPath updates), drop
332
- // removed, append newly-claimed additions.
333
- const merged = [];
334
- for (const cp of currentProducts) {
335
- if (removed.some(r => r.id === cp.id))
336
- continue;
337
- const updated = repoChanged.find(r => r.id === cp.id);
338
- merged.push(updated ? { ...cp, repoPath: updated.repoPath } : cp);
339
- }
340
- merged.push(...claimedAdditions);
341
- // Splice in place so every reference (engines, listener, heartbeat) sees
342
- // the new contents. JS is single-threaded; an iterating poll loop with
343
- // async yields may see a transient mid-update view of the array, but the
344
- // worst case is that an addition is missed for one cycle and picked up on
345
- // the next.
346
- currentProducts.splice(0, currentProducts.length, ...merged);
347
- // Scaffold the newly-added products' directories (CLAUDE.md + git-init) via
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
- if (removed.length > 0) {
360
- for (const p of removed) {
361
- console.log(`[hot-reload] removed: ${p.id}`);
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
- console.log('[hot-reload] note: any in-flight teams for removed products keep running until done; no new work is queued for them');
364
- }
365
- if (repoChanged.length > 0) {
366
- for (const p of repoChanged) {
367
- console.log(`[hot-reload] repoPath changed: ${p.id} -> ${p.repoPath}`);
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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAKL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GAGxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG5F,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAqB,EACrB,WAAmB;IAEnB,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,4DAA4D;IAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO;QAC9C,CAAC,CAAE,MAAM,CAAC,aAAa,CAAC,OAAmC,CAAC,IAAI;QAChE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,GAAG,WAAW,KAAK,SAAS;QAC3C,CAAC,CAAE,WAAuC,CAAC,OAAO,KAAK,KAAK;QAC5D,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,cAAc,GAAI,OAAO,CAAC,GAA0C,CAAC,0BAA0B,CAAC;IACtG,MAAM,gBAAgB,GAAG,cAAc,KAAK,SAAS;QACnD,CAAC,CAAC,cAAc,KAAK,GAAG,IAAI,cAAc,KAAK,OAAO;QACtD,CAAC,CAAC,WAAW,CAAC;IAEhB,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,6FAA6F,CAAC,CAAC;QAC7G,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kEAAkE;IAClE,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,KAAK,QAAQ;YACvE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;IAChC,CAAC;IACD,6CAA6C;IAE7C,yDAAyD;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAyC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,iBAAiB,GAAG,GAAG,CAAC,0BAA0B;QACtD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,aAAa,CAAC,iBAAiB,KAAK,QAAQ;YAC3D,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;QACpC,iBAAiB;QACjB,YAAY;KACb,CAAC,CAAC;IAEH,iEAAiE;IACjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,GAAG,CACT,0BAA0B,iBAAiB,mBAAmB;QAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7E,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAAkB,EAClB,MAAqB;IAErB,MAAM,SAAS,GAAG,sBAAsB,CACtC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC7C,OAAO,CAAC,GAAyC,CAClD,CAAC;IACF,gFAAgF;IAChF,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,MAAM,GAAG,mBAAmB,CAChC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAC1C,OAAO,CAAC,GAAyC,CAClD,CAAC;IAEF,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,qEAAqE;QACrE,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,YAAkD,CAAC;IACvD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,gFAAgF;QAChF,MAAM,OAAO,GAAkB,wBAAwB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9E,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,yEAAyE;QACzE,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAA0B,EAC1B,MAAqB,EACrB,IAA0B,EAC1B,WAAmB;IAEnB,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAgD,CAAC;IAClF,IAAI,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;YAE5D,mEAAmE;YACnE,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAEjD,OAAO;YACP,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,eAAe,CAAC,CAAC;YAE5C,iBAAiB;YACjB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,kDAAkD,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,2BAA2B,CAAC,CAAC;YAC1D,CAAC;YAED,QAAQ;YACR,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,+BAA+B,EAC/B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACF,kDAAkD;QAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;QACH,CAAC;QACD,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAqB;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;QAAE,OAAO;IAErC,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,GAAG,SAAS,2BAA2B,CAAC;IACvD,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;gBACnC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,SAAS,EAAE;oBACpC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM,EAAE,sBAAsB;oBAC9B,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,MAAM,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE;iBACvC,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,mCAAmC,OAAO,CAAC,EAAE,UAAU,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvF,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA8C,CAAC;YACjF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,EAAE,eAAe,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,EAAE,kBAAkB,MAAM,CAAC,SAAS,cAAc,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mCAAmC,OAAO,CAAC,EAAE,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,qCAAqC,UAAU,KAAK;YACpD,wDAAwD;YACxD,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,MAAM,OAAO,QAAQ,CAAC,MAAM,sBAAsB,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA0B,EAC1B,QAA0B;IAE1B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,4BAA4B,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAmCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAA8B,EAC9B,UAA8B,EAC9B,SAAuB,EACvB,SAAuB,EACvB,IAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE3D,8EAA8E;IAC9E,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,UAAsC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,wEAAwE;QACxE,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,GAAG,CACD,wBAAwB,IAAI,CAAC,WAAW,CAAC,MAAM,0BAA0B;YACvE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7E,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,MAAM,UAAU,GAAG,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjE,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,0EAA0E,CAAC,CAAC;QAChF,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACjC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QACrF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;SAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/B,yEAAyE;QACxE,UAAsC,CAAC,MAAM,GAAG,SAAS,CAAC;IAC7D,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,GAAG,CACD,yBAAyB,IAAI,CAAC,eAAe,CAAC,MAAM,8CAA8C;YAChG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpD,UAAU,EAAE,IAAI,CAAC,mBAAmB;QACpC,gBAAgB,EAAE,UAAU;QAC5B,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAqB,EACrB,IAA0B,EAC1B,QAA4B,EAC5B,eAAsD;IAEtD,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QACD,gBAAgB,GAAG,IAAI,CAAC;QACxB,KAAK,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5E,OAAO,CAAC,KAAK,CACX,6BAA6B,EAC7B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,gBAAgB,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAyB,EACzB,MAAqB;IAErB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACnC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxE,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,wBAAwB,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAqB,EACrB,IAA0B,EAC1B,QAA4B,EAC5B,eAAsD;IAEtD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAEjE,IAAI,SAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,0CAA0C,EAC1C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAmB,CAAC;IACvE,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAmB,CAAC;IAEtE,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QAC1C,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,QAAQ,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,SAAS;QAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,SAAS;QAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,CAAC,cAAc;QAAE,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEzG,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3F,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACxB,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,+BAA+B;QAC/B,IAAI,gBAAgB,GAAmB,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,UAAU,GAAkB;gBAChC,GAAG,MAAM;gBACT,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE;aAC/C,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;gBAChC,gBAAgB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAmB,CAAC;YACxE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACV,8CAA8C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjG,CAAC;gBACF,gBAAgB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAmB,CAAC;YACxE,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,2CAA2C;QAC3C,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBAAE,SAAS;YAChD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAEjC,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,YAAY;QACZ,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;QAE7D,4EAA4E;QAC5E,8EAA8E;QAC9E,0EAA0E;QAC1E,8EAA8E;QAC9E,4EAA4E;QAC5E,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAEhD,OAAO,CAAC,GAAG,CACT,2CAA2C,gBAAgB,CAAC,MAAM,cAAc,OAAO,CAAC,MAAM,uBAAuB,WAAW,CAAC,MAAM,YAAY,eAAe,CAAC,MAAM,GAAG,CAC7K,CAAC;QACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,CAAC,GAAG,CACT,uHAAuH,CACxH,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,CAAC,GAAG,CACT,yGAAyG,CAC1G,CAAC;QACJ,CAAC;IACD,CAAC,CAAC,6BAA6B;IAE/B,8EAA8E;IAC9E,0EAA0E;IAC1E,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAI,eAAe,CAAC,MAAmC;mBACjE,mBAAmB,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACrE,MAAM,SAAS,GAAI,eAAe,CAAC,MAAmC;mBACjE,mBAAmB,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACxE,MAAM,oBAAoB,CAAC,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE;gBACjF,QAAQ;gBACR,MAAM,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,iBAAiB,EAAE;aACxE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,2CAA2C,EAC3C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,uEAAuE;QACvE,4EAA4E;QAC5E,OAAO,CAAC,IAAI,CACV,oGAAoG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjI,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -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,EAOnB,MAAM,qBAAqB,CAAC;AAsC7B,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,CAsXhF"}
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"}