@senpi/runtime 3.0.0-dev.runtime-phase-2.20260623210537 → 3.0.0-dev.runtime-phase-2.20260625112547

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 (214) hide show
  1. package/README.md +10 -9
  2. package/dist/actions/action-runtime-module.d.ts.map +1 -1
  3. package/dist/actions/action-runtime-module.js +1 -1
  4. package/dist/actions/action-runtime-module.js.map +1 -1
  5. package/dist/actions/decision-engine.d.ts.map +1 -1
  6. package/dist/actions/decision-engine.js +3 -0
  7. package/dist/actions/decision-engine.js.map +1 -1
  8. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  9. package/dist/actions/open-position/open-position.action.js +54 -14
  10. package/dist/actions/open-position/open-position.action.js.map +1 -1
  11. package/dist/actions/types.d.ts +10 -2
  12. package/dist/actions/types.d.ts.map +1 -1
  13. package/dist/actions/types.js +8 -0
  14. package/dist/actions/types.js.map +1 -1
  15. package/dist/cli/guide-commands.d.ts.map +1 -1
  16. package/dist/cli/guide-commands.js +80 -74
  17. package/dist/cli/guide-commands.js.map +1 -1
  18. package/dist/cli/senpi-commands.d.ts.map +1 -1
  19. package/dist/cli/senpi-commands.js +0 -108
  20. package/dist/cli/senpi-commands.js.map +1 -1
  21. package/dist/constants/dsl/index.d.ts +2 -0
  22. package/dist/constants/dsl/index.d.ts.map +1 -1
  23. package/dist/constants/dsl/index.js +2 -0
  24. package/dist/constants/dsl/index.js.map +1 -1
  25. package/dist/dsl/config/parse-tiers.d.ts.map +1 -1
  26. package/dist/dsl/config/parse-tiers.js +6 -2
  27. package/dist/dsl/config/parse-tiers.js.map +1 -1
  28. package/dist/dsl/engine-client/config-mapping.d.ts +7 -0
  29. package/dist/dsl/engine-client/config-mapping.d.ts.map +1 -1
  30. package/dist/dsl/engine-client/config-mapping.js +16 -2
  31. package/dist/dsl/engine-client/config-mapping.js.map +1 -1
  32. package/dist/dsl/events/handlers.d.ts +18 -2
  33. package/dist/dsl/events/handlers.d.ts.map +1 -1
  34. package/dist/dsl/events/handlers.js +302 -213
  35. package/dist/dsl/events/handlers.js.map +1 -1
  36. package/dist/dsl/monitor/create-monitor.d.ts +15 -0
  37. package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
  38. package/dist/dsl/monitor/create-monitor.js +46 -9
  39. package/dist/dsl/monitor/create-monitor.js.map +1 -1
  40. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  41. package/dist/dsl/monitor/process-one-position.js +138 -77
  42. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  43. package/dist/dsl/plugin/index.d.ts +16 -1
  44. package/dist/dsl/plugin/index.d.ts.map +1 -1
  45. package/dist/dsl/plugin/index.js +35 -4
  46. package/dist/dsl/plugin/index.js.map +1 -1
  47. package/dist/dsl/plugin/options.d.ts +18 -0
  48. package/dist/dsl/plugin/options.d.ts.map +1 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +4 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/runtime/create-scanner-module.d.ts +4 -3
  53. package/dist/runtime/create-scanner-module.d.ts.map +1 -1
  54. package/dist/runtime/create-scanner-module.js +14 -5
  55. package/dist/runtime/create-scanner-module.js.map +1 -1
  56. package/dist/runtime/create-scanner-providers-for-run.d.ts.map +1 -1
  57. package/dist/runtime/create-scanner-providers-for-run.js +12 -1
  58. package/dist/runtime/create-scanner-providers-for-run.js.map +1 -1
  59. package/dist/runtime/load-runtime-config.js +1 -1
  60. package/dist/runtime/load-runtime-config.js.map +1 -1
  61. package/dist/runtime/map-strategies-registration.js +7 -8
  62. package/dist/runtime/map-strategies-registration.js.map +1 -1
  63. package/dist/runtime/map-strategies.d.ts.map +1 -1
  64. package/dist/runtime/map-strategies.js +12 -3
  65. package/dist/runtime/map-strategies.js.map +1 -1
  66. package/dist/runtime/reconcile-decide.d.ts +73 -0
  67. package/dist/runtime/reconcile-decide.d.ts.map +1 -0
  68. package/dist/runtime/reconcile-decide.js +186 -0
  69. package/dist/runtime/reconcile-decide.js.map +1 -0
  70. package/dist/runtime/reconcile-run.d.ts +62 -0
  71. package/dist/runtime/reconcile-run.d.ts.map +1 -0
  72. package/dist/runtime/reconcile-run.js +173 -0
  73. package/dist/runtime/reconcile-run.js.map +1 -0
  74. package/dist/runtime/reconcile-state.d.ts +44 -0
  75. package/dist/runtime/reconcile-state.d.ts.map +1 -1
  76. package/dist/runtime/reconcile-state.js +80 -44
  77. package/dist/runtime/reconcile-state.js.map +1 -1
  78. package/dist/runtime/risk-guard.d.ts.map +1 -1
  79. package/dist/runtime/risk-guard.js +17 -12
  80. package/dist/runtime/risk-guard.js.map +1 -1
  81. package/dist/runtime/runtime-schema.d.ts +2912 -1052
  82. package/dist/runtime/runtime-schema.d.ts.map +1 -1
  83. package/dist/runtime/runtime-schema.js +136 -42
  84. package/dist/runtime/runtime-schema.js.map +1 -1
  85. package/dist/runtime/runtime.d.ts +26 -0
  86. package/dist/runtime/runtime.d.ts.map +1 -1
  87. package/dist/runtime/runtime.js +254 -8
  88. package/dist/runtime/runtime.js.map +1 -1
  89. package/dist/runtime/scanner-registry.d.ts +1 -1
  90. package/dist/runtime/scanner-registry.d.ts.map +1 -1
  91. package/dist/runtime/scanner-registry.js +3 -12
  92. package/dist/runtime/scanner-registry.js.map +1 -1
  93. package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
  94. package/dist/runtime/supervisor/long-running-supervisor.js +1 -1
  95. package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
  96. package/dist/runtime/supervisor/orphan-sweep.js +1 -1
  97. package/dist/runtime/supervisor/orphan-sweep.js.map +1 -1
  98. package/dist/runtime/supervisor/supervisor-utils.d.ts +1 -1
  99. package/dist/runtime/supervisor/supervisor-utils.d.ts.map +1 -1
  100. package/dist/runtime/supervisor/supervisor-utils.js +1 -1
  101. package/dist/runtime/supervisor/supervisor-utils.js.map +1 -1
  102. package/dist/runtime-api/intake/acceptance-record.d.ts +10 -0
  103. package/dist/runtime-api/intake/acceptance-record.d.ts.map +1 -1
  104. package/dist/runtime-api/intake/acceptance-record.js +28 -0
  105. package/dist/runtime-api/intake/acceptance-record.js.map +1 -1
  106. package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
  107. package/dist/runtime-api/intake/intake-mount.js +28 -36
  108. package/dist/runtime-api/intake/intake-mount.js.map +1 -1
  109. package/dist/runtime-api/intake/process-signal-post.d.ts +20 -1
  110. package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
  111. package/dist/runtime-api/intake/process-signal-post.js +57 -6
  112. package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
  113. package/dist/runtime-api/intake/scanner-launcher.d.ts +18 -4
  114. package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
  115. package/dist/runtime-api/intake/scanner-launcher.js +24 -3
  116. package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
  117. package/dist/runtime-api/intake/types.d.ts +16 -0
  118. package/dist/runtime-api/intake/types.d.ts.map +1 -1
  119. package/dist/runtime-api/routes/signals.schema.d.ts +4 -0
  120. package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
  121. package/dist/runtime-api/routes/signals.schema.js +12 -0
  122. package/dist/runtime-api/routes/signals.schema.js.map +1 -1
  123. package/dist/scanners/external/scaffold/__main__.py +65 -24
  124. package/dist/scanners/external/scaffold/ctx.py +78 -0
  125. package/dist/scanners/external/scaffold/delivery.py +56 -22
  126. package/dist/scanners/external/scaffold/entrypoint_loader.py +42 -48
  127. package/dist/scanners/external/scaffold/journal.py +13 -2
  128. package/dist/scanners/external/scaffold/requirements.txt +11 -0
  129. package/dist/scanners/external/scaffold/scaffold.py +159 -128
  130. package/dist/scanners/external/scaffold/senpi_mcp.py +250 -0
  131. package/dist/scanners/external/scaffold/signal_envelope.py +177 -34
  132. package/dist/scanners/external/scaffold/state_manager.py +175 -0
  133. package/dist/scanners/external-scanner-receiver.d.ts +6 -0
  134. package/dist/scanners/external-scanner-receiver.d.ts.map +1 -1
  135. package/dist/scanners/external-scanner-receiver.js +14 -1
  136. package/dist/scanners/external-scanner-receiver.js.map +1 -1
  137. package/dist/scripts/run-dsl-standalone-live.d.ts +1 -1
  138. package/dist/scripts/run-dsl-standalone-live.js +5 -3
  139. package/dist/scripts/run-dsl-standalone-live.js.map +1 -1
  140. package/dist/senpi/client.d.ts +37 -4
  141. package/dist/senpi/client.d.ts.map +1 -1
  142. package/dist/senpi/client.js +101 -24
  143. package/dist/senpi/client.js.map +1 -1
  144. package/dist/state/state-manager.d.ts +17 -0
  145. package/dist/state/state-manager.d.ts.map +1 -1
  146. package/dist/state/state-manager.js +50 -4
  147. package/dist/state/state-manager.js.map +1 -1
  148. package/dist/strategy/strategy-state.d.ts +9 -1
  149. package/dist/strategy/strategy-state.d.ts.map +1 -1
  150. package/dist/strategy/strategy-state.js +62 -9
  151. package/dist/strategy/strategy-state.js.map +1 -1
  152. package/dist/tracking/constants.d.ts.map +1 -1
  153. package/dist/tracking/constants.js +2 -0
  154. package/dist/tracking/constants.js.map +1 -1
  155. package/dist/types/dsl/index.d.ts +1 -1
  156. package/dist/types/dsl/index.d.ts.map +1 -1
  157. package/dist/types/scanner.d.ts +7 -0
  158. package/dist/types/scanner.d.ts.map +1 -1
  159. package/dist/types/strategy.d.ts +3 -1
  160. package/dist/types/strategy.d.ts.map +1 -1
  161. package/dist/utils/keyed-mutex.d.ts +37 -0
  162. package/dist/utils/keyed-mutex.d.ts.map +1 -0
  163. package/dist/utils/keyed-mutex.js +77 -0
  164. package/dist/utils/keyed-mutex.js.map +1 -0
  165. package/examples/strategies/README.md +17 -12
  166. package/examples/strategies/iguana/README.md +135 -0
  167. package/examples/strategies/iguana/recipe.yaml +137 -0
  168. package/examples/strategies/iguana/scanners/scan.py +243 -0
  169. package/examples/strategies/iguana/scanners/scoring.py +152 -0
  170. package/examples/strategies/raptor/README.md +156 -0
  171. package/examples/strategies/raptor/recipe.yaml +154 -0
  172. package/examples/strategies/raptor/scanners/scan.py +349 -0
  173. package/examples/strategies/raptor/scanners/scoring.py +452 -0
  174. package/examples/strategies/spider/README.md +89 -0
  175. package/examples/strategies/spider/scalp/recipe.yaml +129 -0
  176. package/examples/strategies/spider/scalp/scanners/scan.py +219 -0
  177. package/examples/strategies/spider/scalp/scanners/scoring.py +179 -0
  178. package/examples/strategies/spider/swing/recipe.yaml +137 -0
  179. package/examples/strategies/spider/swing/scanners/scan.py +334 -0
  180. package/examples/strategies/spider/swing/scanners/scoring.py +184 -0
  181. package/examples/strategies/turbine/README.md +166 -0
  182. package/examples/strategies/turbine/recipe-runners.yaml +123 -0
  183. package/examples/strategies/turbine/recipe-volume.yaml +129 -0
  184. package/examples/strategies/turbine/scanners/scan.py +283 -0
  185. package/examples/strategies/turbine/scanners/scoring.py +190 -0
  186. package/package.json +1 -1
  187. package/dist/scanners/external/liquidation-watchdog/README.md +0 -107
  188. package/dist/scanners/external/liquidation-watchdog/liquidation-watchdog.yaml +0 -48
  189. package/dist/scanners/external/liquidation-watchdog/producer.mjs +0 -336
  190. package/dist/scanners/external/momentum/README.md +0 -148
  191. package/dist/scanners/external/momentum/momentum.yaml +0 -116
  192. package/dist/scanners/external/momentum/producer.mjs +0 -251
  193. package/dist/scanners/external/shared/ingest.mjs +0 -112
  194. package/examples/README.md +0 -89
  195. package/examples/scanners-consumer-quickstart.mjs +0 -134
  196. package/examples/scanners-emerging-movers-v4.mjs +0 -287
  197. package/examples/scanners-liquidation-watchdog.mjs +0 -341
  198. package/examples/scanners-live-mcp.mjs +0 -208
  199. package/examples/scanners-multi-strategy.mjs +0 -165
  200. package/examples/scanners-position-tracker-e2e.mjs +0 -225
  201. package/examples/scanners-scheduled-events.mjs +0 -96
  202. package/examples/scanners-senpi-provider-client.mjs +0 -182
  203. package/examples/scanners-single-strategy.mjs +0 -198
  204. package/examples/strategies/dsl-showcase.yaml +0 -68
  205. package/examples/strategies/dsl.yaml +0 -51
  206. package/examples/strategies/fox-minimal-loosened.yaml +0 -240
  207. package/examples/strategies/fox-minimal.yaml +0 -242
  208. package/examples/strategies/minimal.yaml +0 -46
  209. package/examples/strategies/momentum/how-it-works.md +0 -48
  210. package/examples/strategies/momentum/momentum-guarded.yaml +0 -161
  211. package/examples/strategies/risk-showcase.yaml +0 -93
  212. package/examples/strategies/viper.yaml +0 -67
  213. package/examples/strategies/wolf.yaml +0 -72
  214. package/examples/yamls/sample-with-dsl-and-emerging-movers.yaml +0 -123
@@ -36,7 +36,11 @@ import { VERSION } from "../version.js";
36
36
  import { randomUUID } from "node:crypto";
37
37
  import { trackingContext } from "../tracking/context.js";
38
38
  import { buildIdentity, createRecordingComponents, createRecordingSubscriber, resolveTelemetryEnabled, } from "../recording/wiring/index.js";
39
+ import { runReconcile } from "./reconcile-run.js";
40
+ import { KeyedMutex } from "../utils/keyed-mutex.js";
39
41
  const logger = createLogger("[senpi-core][runtime]");
42
+ /** Fixed retry interval for the boot-reconcile loop. */
43
+ const RECONCILE_RETRY_INTERVAL_MS = 15_000;
40
44
  export class Runtime {
41
45
  config;
42
46
  options;
@@ -72,6 +76,19 @@ export class Runtime {
72
76
  strategyIdResolution = null;
73
77
  /** Action-layer Telegram subscriber (open submit / close); disposed in {@link Runtime.stop}. */
74
78
  actionNotificationSubscriber = null;
79
+ // ─── reconcile gate + mutex ──────────────────────────────────────────────────
80
+ /** Serializes reconcile vs the trade loop. One shared key "reconcile". */
81
+ reconcileMutex = new KeyedMutex();
82
+ /** Deferred gate: consumer awaits this before touching slot counts / running actions. */
83
+ reconcileGate = null;
84
+ /** Whether the runtime has been requested to stop (stops the boot-reconcile retry loop). */
85
+ reconcileStopped = false;
86
+ /** NodeJS timeout handle for a pending reconcile retry; cleared in stop(). */
87
+ reconcileRetryTimer = null;
88
+ /** Set when the reconcile gate is resolved by a successful/immediate boot reconcile; used to evict the pre-gate backlog. NOT set on stop(). */
89
+ gateResolvedAt = null;
90
+ /** Count of stale (pre-gate-open) signals evicted; surfaced in logs. */
91
+ staleSignalsEvicted = 0;
75
92
  /**
76
93
  * Per-process UUID. Used as the synthetic session_key for direct-path
77
94
  * spans (and lets us group "all LLM calls from this runtime boot" in
@@ -311,7 +328,18 @@ export class Runtime {
311
328
  ? new SenpiClient(mcpTransport)
312
329
  : new SenpiClient({ apiKey });
313
330
  if (!mcpTransport) {
314
- await senpi.connect();
331
+ // Best-effort eager connect: MCP unreachable at boot must NOT abort
332
+ // Runtime.start(). The client reconnects lazily on first use; the detached
333
+ // boot-reconcile loop holds the trading gate closed until a reconcile against
334
+ // the real exchange succeeds, so we never trade on an unreconciled view.
335
+ try {
336
+ await senpi.connect();
337
+ }
338
+ catch (err) {
339
+ logger.warn("[runtime] initial MCP connect failed; starting with gate closed, will connect lazily", {
340
+ err: err instanceof Error ? err.message : String(err),
341
+ });
342
+ }
315
343
  }
316
344
  this.senpi = senpi;
317
345
  this.strategyConfig = resolveStrategyConfig(this.config);
@@ -333,7 +361,10 @@ export class Runtime {
333
361
  }),
334
362
  scopeVersion: VERSION,
335
363
  baseUrl: telemetryConfig?.url,
336
- flushIntervalMs: telemetryConfig?.flush_interval_ms,
364
+ // v2.0.0: recipe carries flush_interval_seconds; the transport expects ms.
365
+ flushIntervalMs: typeof telemetryConfig?.flush_interval_seconds === "number"
366
+ ? telemetryConfig.flush_interval_seconds * 1000
367
+ : undefined,
337
368
  });
338
369
  this.recordingBatcher = recording.batcher;
339
370
  // Only attach the subscriber when telemetry is live (batcher present): with a noop emitter,
@@ -341,8 +372,8 @@ export class Runtime {
341
372
  if (recording.batcher) {
342
373
  this.recordingSubscriber = createRecordingSubscriber(this.bus, recording.emitter, {
343
374
  unresolvedConfig: this.options.unresolvedConfig,
344
- // Narrow read-only accessor over the registry (Rule 1: recording never sees the
345
- // registry or RuntimeContext); sync map read, safe on the bus handler path.
375
+ // Narrow read-only accessor over the registry — recording never sees the
376
+ // registry or RuntimeContext; sync map read, safe on the bus handler path.
346
377
  resolvePositionId: (address, dex, asset) => this.positionIdRegistry.get(positionRegistryKey(address, dex, asset))?.positionId,
347
378
  });
348
379
  }
@@ -364,7 +395,7 @@ export class Runtime {
364
395
  const riskBlock = this.config.risk;
365
396
  const strategyAddress = this.strategyConfig.address;
366
397
  const auditLog = riskBlock ? createRiskAuditLog(stateDir) : undefined;
367
- // In-memory strategy-lifecycle tracker (§4 seed): owns the self-pause state that
398
+ // In-memory strategy-lifecycle tracker: owns the self-pause state that
368
399
  // RiskGuard used to hold and fires the hook + notification on a running→paused
369
400
  // transition. RiskGuard stays stateless and only reports gate evaluations.
370
401
  const lifecycle = createStrategyLifecycle({
@@ -428,6 +459,22 @@ export class Runtime {
428
459
  actionModule: this.actionRuntimeModule,
429
460
  });
430
461
  this.runActionsForSignal = runActionsForSignal;
462
+ // Create the reconcile gate BEFORE DslPlugin.create() so the monitor's
463
+ // first synchronous tick (fired inside create()) sees a gate that already exists.
464
+ this.reconcileGate = (() => {
465
+ let resolveInner;
466
+ const promise = new Promise((r) => { resolveInner = r; });
467
+ const gate = { promise, resolved: false, resolve: () => { } };
468
+ gate.resolve = () => {
469
+ if (!gate.resolved) {
470
+ gate.resolved = true;
471
+ resolveInner();
472
+ }
473
+ };
474
+ return gate;
475
+ })();
476
+ // Build strategyStates map once — shared by DslPlugin and the reconcile loop.
477
+ const strategyStatesMap = createStrategyStatesMap(this.strategyConfig, senpi);
431
478
  const notificationsConfig = this.config.notifications;
432
479
  if (hasDsl) {
433
480
  const dslNotificationsDisabled = notificationsConfig?.dsl_lifecycle === false;
@@ -438,15 +485,27 @@ export class Runtime {
438
485
  stateDir,
439
486
  stateManager: this.stateManager,
440
487
  senpiClient: senpi,
441
- strategyStates: createStrategyStatesMap(this.strategyConfig, senpi),
488
+ strategyStates: strategyStatesMap,
442
489
  notifications: dslNotificationsDisabled ? undefined : notifications,
443
490
  notifySlUpdates: dslNotifySlUpdates,
444
491
  strategyName: this.config.name,
492
+ // Monitor runs the unified periodic reconcile (adopt/resize/gone), serialized
493
+ // against the trade loop on the same reconcileMutex key, and can resolve the boot gate.
494
+ reconcileSerialize: (fn) => this.reconcileMutex.withKeyLock("reconcile", fn),
495
+ reconcileGateResolve: () => this.resolveReconcileGate(),
445
496
  });
446
497
  }
447
498
  else {
448
499
  this.dslPlugin = null;
449
500
  }
501
+ // Launch detached boot-reconcile loop (does NOT block start()).
502
+ // Last-resort guard: an unexpected throw here would otherwise become an
503
+ // unhandled rejection and silently kill the loop. Do NOT resolve the gate
504
+ // on crash — that would fail-open trading on an unreconciled view; the
505
+ // monitor's unified reconcile self-heals the gate instead.
506
+ void this.runBootReconcileLoop(strategyStatesMap).catch((err) => {
507
+ logger.error("[runtime][reconcile] boot reconcile loop crashed", { err });
508
+ });
450
509
  if (isActionLifecycleNotificationsEnabled(notificationsConfig)) {
451
510
  this.actionNotificationSubscriber = createActionNotificationSubscriber(this.bus, notifications, {
452
511
  strategyName: this.config.name,
@@ -481,7 +540,7 @@ export class Runtime {
481
540
  // Telemetry-owned per-scan-run id (NOT the deprecated correlation id): stamped on the
482
541
  // scanner_run emit and echoed through the pass so scan + pass land in one trace.
483
542
  const runId = randomUUID();
484
- this.signalQueue.push({ result: event.result, correlationId, runId });
543
+ this.signalQueue.push({ result: event.result, correlationId, enqueuedAt: Date.now(), runId });
485
544
  if (this.signalQueueWait) {
486
545
  const w = this.signalQueueWait;
487
546
  this.signalQueueWait = null;
@@ -545,6 +604,66 @@ export class Runtime {
545
604
  this.started = true;
546
605
  }
547
606
  catch (err) {
607
+ // A throw here can land after the detached boot-reconcile loop was
608
+ // launched but before `started = true`. Since stop() early-
609
+ // returns on `!this.started`, the loop would otherwise retry forever and
610
+ // leak its 15s retry timer. Tear it down on the failed-start path.
611
+ this.reconcileStopped = true;
612
+ if (this.reconcileRetryTimer !== null) {
613
+ clearTimeout(this.reconcileRetryTimer);
614
+ this.reconcileRetryTimer = null;
615
+ }
616
+ // A failed start must NOT open the trade gate. The signal consumer was
617
+ // already launched (signalConsumerDone); without stopping it, resolving
618
+ // the gate would let it run runActionsForSignal on an unreconciled view, and
619
+ // stop() would no-op on `!this.started`. Stop the consumer FIRST so that when
620
+ // we resolve the gate (to unblock a consumer parked on gate.promise) it bails at
621
+ // the post-gate `signalConsumerStopped` check instead of trading. Then drain it
622
+ // so partial state is torn down here (stop() early-returns on !started).
623
+ this.signalConsumerStopped = true;
624
+ if (this.signalQueueWait) {
625
+ const w = this.signalQueueWait;
626
+ this.signalQueueWait = null;
627
+ w();
628
+ }
629
+ this.reconcileGate?.resolve();
630
+ if (this.signalConsumerDone) {
631
+ await this.signalConsumerDone;
632
+ this.signalConsumerDone = null;
633
+ }
634
+ // stop() early-returns on `!this.started`, so it cannot tear down resources
635
+ // built before the throw. Clean up the leak-prone partial state here: scanner event
636
+ // listeners, the DSL monitor interval, and the MCP connection. Best-effort — a
637
+ // teardown error must not mask the original boot error.
638
+ try {
639
+ if (this.onScannerRunComplete != null) {
640
+ this.scannerModule.off("scanner:run:complete", this.onScannerRunComplete);
641
+ this.onScannerRunComplete = null;
642
+ }
643
+ if (this.onScannerRunSkip != null) {
644
+ this.scannerModule.off("scanner:run:skip", this.onScannerRunSkip);
645
+ this.onScannerRunSkip = null;
646
+ }
647
+ if (this.onScannerRunError != null) {
648
+ this.scannerModule.off("scanner:run:error", this.onScannerRunError);
649
+ this.onScannerRunError = null;
650
+ }
651
+ if (this.actionNotificationSubscriber != null) {
652
+ this.actionNotificationSubscriber.dispose();
653
+ this.actionNotificationSubscriber = null;
654
+ }
655
+ if (this.dslPlugin) {
656
+ this.dslPlugin.stop();
657
+ this.dslPlugin = null;
658
+ }
659
+ if (this.senpi) {
660
+ await this.senpi.disconnect();
661
+ this.senpi = null;
662
+ }
663
+ }
664
+ catch (cleanupErr) {
665
+ logger.warn("[runtime] partial-state cleanup error on failed start (ignored)", { cleanupErr });
666
+ }
548
667
  // Recording-only cleanup (telemetry must not leak on a failed boot); the error rethrows.
549
668
  await this.disposeRecording();
550
669
  throw err;
@@ -607,6 +726,33 @@ export class Runtime {
607
726
  runtimeBootId: this.runtimeBootId,
608
727
  }, async () => {
609
728
  try {
729
+ // Block until the first boot reconcile succeeds (or runtime is stopped).
730
+ await this.reconcileGate?.promise;
731
+ // If stop() resolved the gate during shutdown, do NOT trade and do NOT
732
+ // contend for reconcileMutex — a boot reconcile that is still in-flight
733
+ // (or stuck) holds that key, and blocking here would hang stop()'s
734
+ // `await signalConsumerDone`. Bail before the mutex acquire.
735
+ if (this.signalConsumerStopped) {
736
+ return;
737
+ }
738
+ // Evict the blackout backlog. Items enqueued before the gate
739
+ // resolved were formed while the runtime could not confirm its own
740
+ // positions (unreconciled / exchange-flaky), so acting on them now is
741
+ // stale — the scanner re-emits fresh signals once reconciled. Strict
742
+ // `<`: items enqueued at/after gate-open are processed normally. This
743
+ // is gate-scoped, NOT a queue TTL — nothing is evicted once the
744
+ // backlog is cleared.
745
+ if (this.gateResolvedAt != null && queuedItem.enqueuedAt < this.gateResolvedAt) {
746
+ this.staleSignalsEvicted++;
747
+ logger.warn("[runtime] evicting stale pre-reconcile signal (enqueued before gate open)", {
748
+ address: queuedItem.result.address,
749
+ scannerId: queuedItem.result.scannerId,
750
+ enqueuedAt: queuedItem.enqueuedAt,
751
+ gateResolvedAt: this.gateResolvedAt,
752
+ totalEvicted: this.staleSignalsEvicted,
753
+ });
754
+ return;
755
+ }
610
756
  console.info("[senpi-runtime] [ingest-trace] consumer dequeue → runActionsForSignal", JSON.stringify({
611
757
  address: queuedItem.result.address,
612
758
  scannerId: queuedItem.result.scannerId,
@@ -630,7 +776,8 @@ export class Runtime {
630
776
  timestamp: new Date().toISOString(),
631
777
  };
632
778
  this.bus.emit(HOOK_EVENT.ON_SIGNAL_DETECTED, hookEvent);
633
- await this.runActionsForSignal(hookEvent);
779
+ // Serialize trade loop vs reconcile — reconcileMutex outer, key-lock inner.
780
+ await this.reconcileMutex.withKeyLock("reconcile", () => this.runActionsForSignal(hookEvent));
634
781
  console.info("[senpi-runtime] [ingest-trace] runActionsForSignal complete", JSON.stringify({ address: queuedItem.result.address, scannerId: queuedItem.result.scannerId }));
635
782
  }
636
783
  catch (err) {
@@ -648,6 +795,97 @@ export class Runtime {
648
795
  });
649
796
  }
650
797
  }
798
+ // ─── boot reconcile loop ──────────────────────────────────────────────────────
799
+ /**
800
+ * Resolve the reconcile gate on a SUCCESSFUL reconcile (boot loop OR a periodic monitor
801
+ * reconcile). Sets `gateResolvedAt` so stale-signal eviction works regardless of
802
+ * which path resolves first. Idempotent: a no-op once the gate is resolved. NOT used by
803
+ * stop() — stop() force-resolves via `gate.resolve()` WITHOUT setting `gateResolvedAt`, so a
804
+ * shutdown never enables eviction (the consumer bails on `signalConsumerStopped` instead).
805
+ */
806
+ resolveReconcileGate() {
807
+ const gate = this.reconcileGate;
808
+ if (!gate || gate.resolved)
809
+ return;
810
+ this.gateResolvedAt = Date.now();
811
+ gate.resolve();
812
+ }
813
+ /**
814
+ * Detached boot-reconcile loop: runs runReconcile repeatedly until success or until
815
+ * the runtime is stopped. Resolves the reconcileGate on first success.
816
+ * If dslPlugin is null, the gate resolves immediately (nothing to reconcile into).
817
+ */
818
+ async runBootReconcileLoop(strategyStatesMap) {
819
+ const address = this.strategyConfig.address;
820
+ const gate = this.reconcileGate;
821
+ const serialize = (fn) => this.reconcileMutex.withKeyLock("reconcile", fn);
822
+ if (this.dslPlugin == null) {
823
+ logger.info("[runtime][reconcile] no DSL plugin — resolving gate immediately", { address });
824
+ this.resolveReconcileGate();
825
+ return;
826
+ }
827
+ const strategyState = strategyStatesMap.get(address);
828
+ if (!strategyState) {
829
+ logger.warn("[runtime][reconcile] strategyState not found in map — resolving gate immediately", { address });
830
+ this.resolveReconcileGate();
831
+ return;
832
+ }
833
+ let attempt = 0;
834
+ while (!this.reconcileStopped) {
835
+ attempt++;
836
+ const t0 = Date.now();
837
+ let result;
838
+ try {
839
+ result = await runReconcile({
840
+ address,
841
+ strategyState,
842
+ senpi: this.senpi,
843
+ stateManager: this.stateManager,
844
+ adopter: this.dslPlugin,
845
+ bus: this.bus,
846
+ serialize,
847
+ });
848
+ }
849
+ catch (err) {
850
+ logger.warn("[runtime][reconcile] runReconcile threw unexpectedly", { address, attempt, err });
851
+ result = { success: false, counts: { adopted: 0, resized: 0, archived: 0 } };
852
+ }
853
+ const durationMs = Date.now() - t0;
854
+ const { adopted, resized, archived } = result.counts;
855
+ // Telemetry must never break reconcile control flow. bus.emit is a Node
856
+ // EventEmitter: a listener that throws synchronously makes emit re-throw,
857
+ // which would reject this loop and leave the gate forever closed. Contain it.
858
+ try {
859
+ this.bus.emit("tracking.runtime_reconciled", {
860
+ address,
861
+ data: { adopted, resized, archived, success: result.success, attempt, durationMs },
862
+ timestamp: new Date().toISOString(),
863
+ });
864
+ }
865
+ catch (err) {
866
+ logger.warn("[runtime][reconcile] tracking.runtime_reconciled listener threw; contained", {
867
+ address,
868
+ attempt,
869
+ err,
870
+ });
871
+ }
872
+ if (result.success) {
873
+ logger.info("[runtime][reconcile] boot reconcile succeeded", { address, attempt, adopted, resized, archived });
874
+ this.resolveReconcileGate();
875
+ return;
876
+ }
877
+ logger.warn("[runtime][reconcile] boot reconcile failed, retrying", { address, attempt, durationMs });
878
+ // Wait RECONCILE_RETRY_INTERVAL_MS, but bail early if stopped.
879
+ await new Promise((resolve) => {
880
+ this.reconcileRetryTimer = setTimeout(() => {
881
+ this.reconcileRetryTimer = null;
882
+ resolve();
883
+ }, RECONCILE_RETRY_INTERVAL_MS);
884
+ });
885
+ }
886
+ // Runtime stopped while retrying — resolve gate so consumer unblocks cleanly.
887
+ gate.resolve();
888
+ }
651
889
  /**
652
890
  * Dispose the recording subscriber, then flush + stop the batcher (best-effort). Idempotent;
653
891
  * shared by stop() and the failed-start cleanup path in start().
@@ -666,6 +904,14 @@ export class Runtime {
666
904
  if (!this.started)
667
905
  return;
668
906
  this.started = false;
907
+ // Stop the boot-reconcile retry loop and unblock any awaiting consumer.
908
+ this.reconcileStopped = true;
909
+ if (this.reconcileRetryTimer !== null) {
910
+ clearTimeout(this.reconcileRetryTimer);
911
+ this.reconcileRetryTimer = null;
912
+ }
913
+ // Resolve the gate so the consumer doesn't hang waiting for a reconcile that won't come.
914
+ this.reconcileGate?.resolve();
669
915
  this.bus.emit("tracking.runtime_stopped", {
670
916
  address: this.strategyConfig.address,
671
917
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ declare function formatUnknownScannerTypeError(type: string): string;
51
51
  declare function createScanner(type: string, yamlName: string, configOverrides?: unknown, dependsOn?: Array<{
52
52
  scanner: string;
53
53
  required?: boolean;
54
- max_age?: string;
54
+ max_age_seconds?: number;
55
55
  on_missing?: "fail" | "skip" | "degrade";
56
56
  on_stale?: "fail" | "skip" | "degrade";
57
57
  }>, options?: RuntimeScannerFactoryOptions): ScannerFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-registry.d.ts","sourceRoot":"","sources":["../../src/runtime/scanner-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EACL,eAAe,EAEf,KAAK,cAAc,EACpB,MAAM,mCAAmC,CAAC;AAc3C,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,eAAe,GAAG,GAAG,eAAe,EAAE,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,gEAAgE;AAChE,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE7D;AAED,oFAAoF;AACpF,iBAAS,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAErD;AAED;;;;;GAKG;AACH,iBAAS,SAAS,IAAI,MAAM,EAAE,CAE7B;AAED;;;;;GAKG;AACH,iBAAS,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;;;;;;GAUG;AACH,iBAAS,aAAa,CACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,OAAO,EACzB,SAAS,CAAC,EAAE,KAAK,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC,CAAC,EACF,OAAO,CAAC,EAAE,4BAA4B,GACrC,cAAc,CAgChB;AA8JD,eAAO,MAAM,eAAe;;;;;;CAM3B,CAAC"}
1
+ {"version":3,"file":"scanner-registry.d.ts","sourceRoot":"","sources":["../../src/runtime/scanner-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EACL,eAAe,EAEf,KAAK,cAAc,EACpB,MAAM,mCAAmC,CAAC;AAa3C,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,eAAe,GAAG,GAAG,eAAe,EAAE,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,gEAAgE;AAChE,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE7D;AAED,oFAAoF;AACpF,iBAAS,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAErD;AAED;;;;;GAKG;AACH,iBAAS,SAAS,IAAI,MAAM,EAAE,CAE7B;AAED;;;;;GAKG;AACH,iBAAS,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;;;;;;GAUG;AACH,iBAAS,aAAa,CACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,OAAO,EACzB,SAAS,CAAC,EAAE,KAAK,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC,CAAC,EACF,OAAO,CAAC,EAAE,4BAA4B,GACrC,cAAc,CAgChB;AAiJD,eAAO,MAAM,eAAe;;;;;;CAM3B,CAAC"}
@@ -12,7 +12,6 @@ import { marketRegimeScanner } from "../scanners/implementations/market-regime.j
12
12
  import { smFlipScanner } from "../scanners/implementations/sm-flip.js";
13
13
  import { opportunityScanner } from "../scanners/implementations/opportunity.js";
14
14
  import { positionTrackerScanner } from "../scanners/implementations/position-tracker.js";
15
- import { parseInterval } from "./parse-interval.js";
16
15
  const registry = new Map();
17
16
  /** Registers one scanner factory under a runtime type alias. */
18
17
  function register(type, factory) {
@@ -85,8 +84,9 @@ function mapScannerDependencies(scannerId, dependsOn) {
85
84
  return undefined;
86
85
  }
87
86
  return dependsOn.map((dependency) => {
88
- const maxAgeMs = dependency.max_age
89
- ? parseDependencyDuration(scannerId, dependency.scanner, dependency.max_age)
87
+ // max_age_seconds (integer seconds, v2.0.0) → internal maxAgeMs (milliseconds).
88
+ const maxAgeMs = typeof dependency.max_age_seconds === "number"
89
+ ? dependency.max_age_seconds * 1000
90
90
  : undefined;
91
91
  return {
92
92
  scanner: dependency.scanner,
@@ -97,15 +97,6 @@ function mapScannerDependencies(scannerId, dependsOn) {
97
97
  };
98
98
  });
99
99
  }
100
- function parseDependencyDuration(targetScannerId, dependencyScannerId, raw) {
101
- try {
102
- return parseInterval(raw) * 1000;
103
- }
104
- catch (error) {
105
- const detail = error instanceof Error ? error.message : String(error);
106
- throw new Error(`Invalid depends_on.max_age '${raw}' for scanner '${targetScannerId}' dependency '${dependencyScannerId}': ${detail}`);
107
- }
108
- }
109
100
  /**
110
101
  * Applies runtime config overrides coming from trading strategy YAML registration.
111
102
  * Object-shaped overrides are shallow-merged so omitted fields still inherit
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-registry.js","sourceRoot":"","sources":["../../src/runtime/scanner-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACL,eAAe,GAGhB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoBpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEnD,gEAAgE;AAChE,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAuB;IACrD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,oFAAoF;AACpF,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAAS,6BAA6B,CAAC,IAAY;IACjD,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,0BAA0B,IAAI,uBAAuB,SAAS,GAAG,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CACpB,IAAY,EACZ,QAAgB,EAChB,eAAyB,EACzB,SAME,EACF,OAAsC;IAEtC,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,OAAO,GAAG,EAAE,CACV,eAAe,CAAC;YACd,EAAE,EAAE,QAAqB;YACzB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;YAC9D,SAAS,EAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC;YACpD,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;YAC3C,MAAM,EAAE,8BAA8B,CAAC,eAAe,CAAC;SACxD,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG;YACjB,GAAG,OAAO,CAAC,UAAU;YACrB,EAAE,EAAE,QAAqB;YACzB,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC;YACtD,aAAa,EAAE,oBAAoB,CACjC,OAAO,CAAC,UAAU,CAAC,aAAa,EAChC,eAAe,CAChB;SACF,CAAC;QACF,OAAO;YACL,GAAG,OAAO;YACV,UAAU;SACA,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,SAME;IAEF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO;YACjC,CAAC,CAAC,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;YAC5E,CAAC,CAAC,SAAS,CAAC;QACd,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,OAAoB;YACxC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,QAAQ;YACR,SAAS,EAAE,UAAU,CAAC,UAAU;YAChC,OAAO,EAAE,UAAU,CAAC,QAAQ;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAC9B,eAAuB,EACvB,mBAA2B,EAC3B,GAAW;IAEX,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,+BAA+B,GAAG,kBAAkB,eAAe,iBAAiB,mBAAmB,MAAM,MAAM,EAAE,CACtH,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAM,aAAkB,EAAE,SAAkB;IACvE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,GAAG,aAAa;YAChB,GAAG,eAAe,CAAC,SAAS,CAAC;SACvB,CAAC;IACX,CAAC;IACD,OAAO,eAAe,CAAC,SAAS,CAAQ,CAAC;AAC3C,CAAC;AAED,wFAAwF;AACxF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,8BAA8B,CACrC,eAAwB;IAExB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,eAAe,CAAC,eAAe,CAAqC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,qBAAqB,CAC5B,KAA8C;IAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC,SAAS,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,KAAK,eAAe,CAAC,cAAc,EAAE,CAAC;QAC7C,OAAO,eAAe,CAAC,cAAc,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AACnD,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AACnD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACtC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AACzC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AACzC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAC5C,QAAQ,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;AAC7D,QAAQ,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;AAC7D,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC/C,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC/C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACnC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACnC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAC5C,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AACrD,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AACrD;;;;;;;;;;;;;;;GAeG;AACH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAChC,eAAe,CAAC;IACd,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1C,MAAM,EAAE;QACN,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;KACF;CACF,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,GAAG;IACH,SAAS;IACT,6BAA6B;IAC7B,aAAa;CACd,CAAC"}
1
+ {"version":3,"file":"scanner-registry.js","sourceRoot":"","sources":["../../src/runtime/scanner-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACL,eAAe,GAGhB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAoBzF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEnD,gEAAgE;AAChE,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAuB;IACrD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,oFAAoF;AACpF,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAAS,6BAA6B,CAAC,IAAY;IACjD,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,0BAA0B,IAAI,uBAAuB,SAAS,GAAG,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CACpB,IAAY,EACZ,QAAgB,EAChB,eAAyB,EACzB,SAME,EACF,OAAsC;IAEtC,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,OAAO,GAAG,EAAE,CACV,eAAe,CAAC;YACd,EAAE,EAAE,QAAqB;YACzB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;YAC9D,SAAS,EAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC;YACpD,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;YAC3C,MAAM,EAAE,8BAA8B,CAAC,eAAe,CAAC;SACxD,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG;YACjB,GAAG,OAAO,CAAC,UAAU;YACrB,EAAE,EAAE,QAAqB;YACzB,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC;YACtD,aAAa,EAAE,oBAAoB,CACjC,OAAO,CAAC,UAAU,CAAC,aAAa,EAChC,eAAe,CAChB;SACF,CAAC;QACF,OAAO;YACL,GAAG,OAAO;YACV,UAAU;SACA,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,SAME;IAEF,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAClC,gFAAgF;QAChF,MAAM,QAAQ,GACZ,OAAO,UAAU,CAAC,eAAe,KAAK,QAAQ;YAC5C,CAAC,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI;YACnC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,OAAoB;YACxC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,QAAQ;YACR,SAAS,EAAE,UAAU,CAAC,UAAU;YAChC,OAAO,EAAE,UAAU,CAAC,QAAQ;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAM,aAAkB,EAAE,SAAkB;IACvE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,GAAG,aAAa;YAChB,GAAG,eAAe,CAAC,SAAS,CAAC;SACvB,CAAC;IACX,CAAC;IACD,OAAO,eAAe,CAAC,SAAS,CAAQ,CAAC;AAC3C,CAAC;AAED,wFAAwF;AACxF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,8BAA8B,CACrC,eAAwB;IAExB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,eAAe,CAAC,eAAe,CAAqC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,qBAAqB,CAC5B,KAA8C;IAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC,SAAS,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,KAAK,eAAe,CAAC,cAAc,EAAE,CAAC;QAC7C,OAAO,eAAe,CAAC,cAAc,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AACnD,QAAQ,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AACnD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACtC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AACzC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AACzC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAC5C,QAAQ,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;AAC7D,QAAQ,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;AAC7D,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC/C,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAC/C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACnC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACnC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAC5C,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AACrD,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AACrD;;;;;;;;;;;;;;;GAeG;AACH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAChC,eAAe,CAAC;IACd,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;IAC1C,MAAM,EAAE;QACN,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B;KACF;CACF,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,GAAG;IACH,SAAS;IACT,6BAA6B;IAC7B,aAAa;CACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"long-running-supervisor.d.ts","sourceRoot":"","sources":["../../../src/runtime/supervisor/long-running-supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"long-running-supervisor.d.ts","sourceRoot":"","sources":["../../../src/runtime/supervisor/long-running-supervisor.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@
23
23
  * threshold. Default OFF. The heartbeat protocol is out of scope.
24
24
  * 7. Observable: typed events for every lifecycle transition.
25
25
  */
26
- import { spawn } from "node:child_process";
26
+ import { spawn } from "../../utils/safe-spawn.js";
27
27
  import { EventEmitter } from "node:events";
28
28
  import { killChild, errorMessage, makeId, } from "./supervisor-utils.js";
29
29
  import { SENPI_SUPERVISED_ENV } from "./orphan-sweep.js";