@senpi/runtime 1.1.0-dev.runtime-phase-2.20260610125851 → 1.1.0-dev.runtime-phase-2.20260610130051

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 (117) hide show
  1. package/dist/dsl/events/handlers.d.ts.map +1 -1
  2. package/dist/dsl/events/handlers.js +4 -0
  3. package/dist/dsl/events/handlers.js.map +1 -1
  4. package/dist/recording/emitter.d.ts +21 -0
  5. package/dist/recording/emitter.d.ts.map +1 -0
  6. package/dist/recording/emitter.js +2 -0
  7. package/dist/recording/emitter.js.map +1 -0
  8. package/dist/recording/identity.d.ts +34 -0
  9. package/dist/recording/identity.d.ts.map +1 -0
  10. package/dist/recording/identity.js +2 -0
  11. package/dist/recording/identity.js.map +1 -0
  12. package/dist/recording/index.d.ts +11 -0
  13. package/dist/recording/index.d.ts.map +1 -0
  14. package/dist/recording/index.js +2 -0
  15. package/dist/recording/index.js.map +1 -0
  16. package/dist/recording/noop-emitter.d.ts +17 -0
  17. package/dist/recording/noop-emitter.d.ts.map +1 -0
  18. package/dist/recording/noop-emitter.js +16 -0
  19. package/dist/recording/noop-emitter.js.map +1 -0
  20. package/dist/recording/otel/attributes.d.ts +35 -0
  21. package/dist/recording/otel/attributes.d.ts.map +1 -0
  22. package/dist/recording/otel/attributes.js +131 -0
  23. package/dist/recording/otel/attributes.js.map +1 -0
  24. package/dist/recording/otel/constants.d.ts +81 -0
  25. package/dist/recording/otel/constants.d.ts.map +1 -0
  26. package/dist/recording/otel/constants.js +96 -0
  27. package/dist/recording/otel/constants.js.map +1 -0
  28. package/dist/recording/otel/ids.d.ts +14 -0
  29. package/dist/recording/otel/ids.d.ts.map +1 -0
  30. package/dist/recording/otel/ids.js +12 -0
  31. package/dist/recording/otel/ids.js.map +1 -0
  32. package/dist/recording/otel/index.d.ts +13 -0
  33. package/dist/recording/otel/index.d.ts.map +1 -0
  34. package/dist/recording/otel/index.js +9 -0
  35. package/dist/recording/otel/index.js.map +1 -0
  36. package/dist/recording/otel/mappers.d.ts +42 -0
  37. package/dist/recording/otel/mappers.d.ts.map +1 -0
  38. package/dist/recording/otel/mappers.js +337 -0
  39. package/dist/recording/otel/mappers.js.map +1 -0
  40. package/dist/recording/otel/otel-emitter.d.ts +37 -0
  41. package/dist/recording/otel/otel-emitter.d.ts.map +1 -0
  42. package/dist/recording/otel/otel-emitter.js +75 -0
  43. package/dist/recording/otel/otel-emitter.js.map +1 -0
  44. package/dist/recording/otel/redaction.d.ts +31 -0
  45. package/dist/recording/otel/redaction.d.ts.map +1 -0
  46. package/dist/recording/otel/redaction.js +40 -0
  47. package/dist/recording/otel/redaction.js.map +1 -0
  48. package/dist/recording/records.d.ts +327 -0
  49. package/dist/recording/records.d.ts.map +1 -0
  50. package/dist/recording/records.js +14 -0
  51. package/dist/recording/records.js.map +1 -0
  52. package/dist/recording/transport/batcher.d.ts +59 -0
  53. package/dist/recording/transport/batcher.d.ts.map +1 -0
  54. package/dist/recording/transport/batcher.js +234 -0
  55. package/dist/recording/transport/batcher.js.map +1 -0
  56. package/dist/recording/transport/client.d.ts +41 -0
  57. package/dist/recording/transport/client.d.ts.map +1 -0
  58. package/dist/recording/transport/client.js +69 -0
  59. package/dist/recording/transport/client.js.map +1 -0
  60. package/dist/recording/transport/config.d.ts +53 -0
  61. package/dist/recording/transport/config.d.ts.map +1 -0
  62. package/dist/recording/transport/config.js +41 -0
  63. package/dist/recording/transport/config.js.map +1 -0
  64. package/dist/recording/transport/index.d.ts +16 -0
  65. package/dist/recording/transport/index.d.ts.map +1 -0
  66. package/dist/recording/transport/index.js +12 -0
  67. package/dist/recording/transport/index.js.map +1 -0
  68. package/dist/recording/transport/rows.d.ts +88 -0
  69. package/dist/recording/transport/rows.d.ts.map +1 -0
  70. package/dist/recording/transport/rows.js +15 -0
  71. package/dist/recording/transport/rows.js.map +1 -0
  72. package/dist/recording/wiring/emitter-factory.d.ts +39 -0
  73. package/dist/recording/wiring/emitter-factory.d.ts.map +1 -0
  74. package/dist/recording/wiring/emitter-factory.js +62 -0
  75. package/dist/recording/wiring/emitter-factory.js.map +1 -0
  76. package/dist/recording/wiring/identity.d.ts +27 -0
  77. package/dist/recording/wiring/identity.d.ts.map +1 -0
  78. package/dist/recording/wiring/identity.js +51 -0
  79. package/dist/recording/wiring/identity.js.map +1 -0
  80. package/dist/recording/wiring/index.d.ts +12 -0
  81. package/dist/recording/wiring/index.d.ts.map +1 -0
  82. package/dist/recording/wiring/index.js +9 -0
  83. package/dist/recording/wiring/index.js.map +1 -0
  84. package/dist/recording/wiring/record-builders.d.ts +68 -0
  85. package/dist/recording/wiring/record-builders.d.ts.map +1 -0
  86. package/dist/recording/wiring/record-builders.js +441 -0
  87. package/dist/recording/wiring/record-builders.js.map +1 -0
  88. package/dist/recording/wiring/subscriber.d.ts +21 -0
  89. package/dist/recording/wiring/subscriber.d.ts.map +1 -0
  90. package/dist/recording/wiring/subscriber.js +171 -0
  91. package/dist/recording/wiring/subscriber.js.map +1 -0
  92. package/dist/recording/wiring/values.d.ts +19 -0
  93. package/dist/recording/wiring/values.d.ts.map +1 -0
  94. package/dist/recording/wiring/values.js +49 -0
  95. package/dist/recording/wiring/values.js.map +1 -0
  96. package/dist/runtime/load-runtime-config.d.ts +9 -0
  97. package/dist/runtime/load-runtime-config.d.ts.map +1 -1
  98. package/dist/runtime/load-runtime-config.js +41 -1
  99. package/dist/runtime/load-runtime-config.js.map +1 -1
  100. package/dist/runtime/run.d.ts.map +1 -1
  101. package/dist/runtime/run.js +3 -2
  102. package/dist/runtime/run.js.map +1 -1
  103. package/dist/runtime/runtime-schema.d.ts +182 -0
  104. package/dist/runtime/runtime-schema.d.ts.map +1 -1
  105. package/dist/runtime/runtime-schema.js +17 -0
  106. package/dist/runtime/runtime-schema.js.map +1 -1
  107. package/dist/runtime/runtime.d.ts +15 -0
  108. package/dist/runtime/runtime.d.ts.map +1 -1
  109. package/dist/runtime/runtime.js +246 -148
  110. package/dist/runtime/runtime.js.map +1 -1
  111. package/dist/scanners/events.d.ts +6 -0
  112. package/dist/scanners/events.d.ts.map +1 -1
  113. package/dist/scanners/events.js.map +1 -1
  114. package/dist/scanners/runtime-module.d.ts.map +1 -1
  115. package/dist/scanners/runtime-module.js +9 -1
  116. package/dist/scanners/runtime-module.js.map +1 -1
  117. package/package.json +1 -1
@@ -16,6 +16,12 @@ export interface RuntimeOptions {
16
16
  scannerProviders?: ScannerDataProviders;
17
17
  /** Stable UUID identifying this install (from the plugin registry). */
18
18
  runtimeId?: string;
19
+ /**
20
+ * Unresolved config (raw, pre-`${VAR}`). Stamped into telemetry's recipe fingerprint and lifecycle
21
+ * snapshot — never the resolved config, which would inline secrets. Absent → telemetry omits the
22
+ * config hash/blob (it never blocks boot).
23
+ */
24
+ unresolvedConfig?: Record<string, unknown>;
19
25
  }
20
26
  export declare class Runtime {
21
27
  private readonly config;
@@ -28,6 +34,8 @@ export declare class Runtime {
28
34
  private senpi;
29
35
  private healthStateModule;
30
36
  private trackingHandler;
37
+ private recordingSubscriber;
38
+ private recordingBatcher;
31
39
  private started;
32
40
  private startedAt;
33
41
  /** Serial signal processing: queue and consumer so only one signal is handled at a time. */
@@ -40,6 +48,8 @@ export declare class Runtime {
40
48
  private actionRuntimeModule;
41
49
  /** Stored so we can call off() in stop() and avoid retaining Runtime via scanner EventEmitter. */
42
50
  private onScannerRunComplete;
51
+ private onScannerRunSkip;
52
+ private onScannerRunError;
43
53
  /** Cached strategy id resolved from the runtime wallet on first {@link auditQuery} call. */
44
54
  private cachedStrategyId;
45
55
  /** In-flight resolution promise; ensures concurrent first-burst callers reuse one `listStrategies`. */
@@ -139,6 +149,11 @@ export declare class Runtime {
139
149
  * Single consumer: process one scanner:run:complete at a time so slot counts stay correct.
140
150
  */
141
151
  private runSignalConsumer;
152
+ /**
153
+ * Dispose the recording subscriber, then flush + stop the batcher (best-effort). Idempotent;
154
+ * shared by stop() and the failed-start cleanup path in start().
155
+ */
156
+ private disposeRecording;
142
157
  stop(): Promise<void>;
143
158
  }
144
159
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ import { createTrackingHandler, EventTracker, BatchingTransport, NoOpTransport,
35
35
  import { VERSION } from "../version.js";
36
36
  import { randomUUID } from "node:crypto";
37
37
  import { trackingContext } from "../tracking/context.js";
38
+ import { buildIdentity, createRecordingComponents, createRecordingSubscriber, resolveTelemetryEnabled, } from "../recording/wiring/index.js";
38
39
  const logger = createLogger("[senpi-core][runtime]");
39
40
  export class Runtime {
40
41
  config;
@@ -48,6 +49,8 @@ export class Runtime {
48
49
  senpi = null;
49
50
  healthStateModule = null;
50
51
  trackingHandler = null;
52
+ recordingSubscriber = null;
53
+ recordingBatcher = null;
51
54
  started = false;
52
55
  startedAt = null;
53
56
  /** Serial signal processing: queue and consumer so only one signal is handled at a time. */
@@ -60,6 +63,8 @@ export class Runtime {
60
63
  actionRuntimeModule;
61
64
  /** Stored so we can call off() in stop() and avoid retaining Runtime via scanner EventEmitter. */
62
65
  onScannerRunComplete = null;
66
+ onScannerRunSkip = null;
67
+ onScannerRunError = null;
63
68
  /** Cached strategy id resolved from the runtime wallet on first {@link auditQuery} call. */
64
69
  cachedStrategyId = null;
65
70
  /** In-flight resolution promise; ensures concurrent first-burst callers reuse one `listStrategies`. */
@@ -295,163 +300,231 @@ export class Runtime {
295
300
  }
296
301
  this.senpi = senpi;
297
302
  this.strategyConfig = resolveStrategyConfig(this.config);
298
- // try {
299
- // const { reconcileStateWithBackend } = await import("./reconcile-state.js");
300
- // await reconcileStateWithBackend(this.stateManager, senpi, [this.strategyConfig.address]);
301
- // } catch (err) {
302
- // logger.warn("reconcile after hydrate failed, continuing", { err });
303
- // }
304
- const llmDecision = createLlmDecision({});
305
- const contextBuilder = createContextBuilder();
306
- const notifications = createNotificationService({
307
- ...this.config.notifications,
308
- mcpTransport: this.options.mcpTransport,
309
- });
310
- const riskBlock = this.config.risk;
311
- const strategyAddress = this.strategyConfig.address;
312
- const auditLog = riskBlock ? createRiskAuditLog(stateDir) : undefined;
313
- // In-memory strategy-lifecycle tracker (§4 seed): owns the self-pause state that
314
- // RiskGuard used to hold and fires the hook + notification on a running→paused
315
- // transition. RiskGuard stays stateless and only reports gate evaluations.
316
- const lifecycle = createStrategyLifecycle({
317
- hookSystem: this.hookSystem,
318
- notifications,
319
- runtimeName: this.config.name,
303
+ // Telemetry recording: subscribe the emitter to the bus (on by default; degrades to a noop
304
+ // emitter when disabled or when no token is present — never a boot failure). Identity + config
305
+ // fingerprint are built lazily from the unresolved config — only on the live path, and never
306
+ // from the resolved config (which would inline secrets).
307
+ const telemetryConfig = this.config.telemetry;
308
+ const recording = createRecordingComponents({
309
+ enabled: resolveTelemetryEnabled(telemetryConfig?.enabled, process.env.SENPI_TELEMETRY_ENABLED),
310
+ token: trackingApiKey,
311
+ identity: () => buildIdentity({
312
+ name: this.config.name,
313
+ recipeVersion: this.config.version,
314
+ strategyAddress: this.strategyConfig.address,
315
+ bootId: this.runtimeBootId,
316
+ unresolvedConfig: this.options.unresolvedConfig,
317
+ }),
318
+ scopeVersion: VERSION,
319
+ baseUrl: telemetryConfig?.url,
320
+ flushIntervalMs: telemetryConfig?.flush_interval_ms,
320
321
  });
321
- const riskGuard = riskBlock && senpi
322
- ? createRiskGuard({
322
+ this.recordingBatcher = recording.batcher;
323
+ // Only attach the subscriber when telemetry is live (batcher present): with a noop emitter,
324
+ // per-event record assembly on the serial signal path would be pure dead work.
325
+ if (recording.batcher) {
326
+ this.recordingSubscriber = createRecordingSubscriber(this.bus, recording.emitter, {
327
+ unresolvedConfig: this.options.unresolvedConfig,
328
+ });
329
+ }
330
+ // Everything from here to `started = true` can throw; without the catch, stop() would
331
+ // early-return on `!this.started` and the recording batcher/subscriber would leak.
332
+ try {
333
+ // try {
334
+ // const { reconcileStateWithBackend } = await import("./reconcile-state.js");
335
+ // await reconcileStateWithBackend(this.stateManager, senpi, [this.strategyConfig.address]);
336
+ // } catch (err) {
337
+ // logger.warn("reconcile after hydrate failed, continuing", { err });
338
+ // }
339
+ const llmDecision = createLlmDecision({});
340
+ const contextBuilder = createContextBuilder();
341
+ const notifications = createNotificationService({
342
+ ...this.config.notifications,
343
+ mcpTransport: this.options.mcpTransport,
344
+ });
345
+ const riskBlock = this.config.risk;
346
+ const strategyAddress = this.strategyConfig.address;
347
+ const auditLog = riskBlock ? createRiskAuditLog(stateDir) : undefined;
348
+ // In-memory strategy-lifecycle tracker (§4 seed): owns the self-pause state that
349
+ // RiskGuard used to hold and fires the hook + notification on a running→paused
350
+ // transition. RiskGuard stays stateless and only reports gate evaluations.
351
+ const lifecycle = createStrategyLifecycle({
352
+ hookSystem: this.hookSystem,
353
+ notifications,
354
+ runtimeName: this.config.name,
355
+ });
356
+ const riskGuard = riskBlock && senpi
357
+ ? createRiskGuard({
358
+ senpi,
359
+ notifications,
360
+ strategies: new Map([[strategyAddress, this.strategyConfig]]),
361
+ // Human strategy label for alerts; risk-guard falls back to the
362
+ // truncated address when an address has no name here.
363
+ strategyNames: { [strategyAddress]: this.config.name },
364
+ auditLog,
365
+ lifecycleTracker: lifecycle,
366
+ })
367
+ : createRiskGuardStub();
368
+ logger.info("Runtime.start() creating scanner module");
369
+ const layout = buildStateLayout(stateDir);
370
+ // Augment caller-supplied providers with StateManager-backed DSL state access
371
+ const augmentedProviders = {
372
+ ...scannerProviders,
373
+ getDslStatesForStrategy: scannerProviders?.getDslStatesForStrategy
374
+ ?? (async (address) => this.stateManager.listDslStates(address)),
375
+ };
376
+ this.scannerModule = createScannerModuleFromRuntimeConfig(this.config, layout.scannerRoot, augmentedProviders);
377
+ logger.info("Runtime.start() scanner module created, calling start()");
378
+ // Pre-load max leverage cache (non-blocking — log warning on failure)
379
+ const maxLeverageCache = new MaxLeverageCache(senpi);
380
+ try {
381
+ await maxLeverageCache.load();
382
+ }
383
+ catch (err) {
384
+ logger.warn("failed to pre-load max leverage cache, will retry on first use", { err });
385
+ }
386
+ // Build RuntimeContext once per trading recipe and reuse for all actions.
387
+ const runtimeContext = createRuntimeContext(this.strategyConfig, {
323
388
  senpi,
389
+ hookSystem: this.hookSystem,
390
+ llmDecision,
391
+ contextBuilder,
392
+ riskGuard,
324
393
  notifications,
325
- strategies: new Map([[strategyAddress, this.strategyConfig]]),
326
- // Human strategy label for alerts; risk-guard falls back to the
327
- // truncated address when an address has no name here.
328
- strategyNames: { [strategyAddress]: this.config.name },
329
- auditLog,
330
- lifecycleTracker: lifecycle,
331
- })
332
- : createRiskGuardStub();
333
- logger.info("Runtime.start() creating scanner module");
334
- const layout = buildStateLayout(stateDir);
335
- // Augment caller-supplied providers with StateManager-backed DSL state access
336
- const augmentedProviders = {
337
- ...scannerProviders,
338
- getDslStatesForStrategy: scannerProviders?.getDslStatesForStrategy
339
- ?? (async (address) => this.stateManager.listDslStates(address)),
340
- };
341
- this.scannerModule = createScannerModuleFromRuntimeConfig(this.config, layout.scannerRoot, augmentedProviders);
342
- logger.info("Runtime.start() scanner module created, calling start()");
343
- // Pre-load max leverage cache (non-blocking — log warning on failure)
344
- const maxLeverageCache = new MaxLeverageCache(senpi);
345
- try {
346
- await maxLeverageCache.load();
347
- }
348
- catch (err) {
349
- logger.warn("failed to pre-load max leverage cache, will retry on first use", { err });
350
- }
351
- // Build RuntimeContext once per trading recipe and reuse for all actions.
352
- const runtimeContext = createRuntimeContext(this.strategyConfig, {
353
- senpi,
354
- hookSystem: this.hookSystem,
355
- llmDecision,
356
- contextBuilder,
357
- riskGuard,
358
- notifications,
359
- scannerModule: this.scannerModule,
360
- maxLeverageCache,
361
- });
362
- this.actionRuntimeModule = new ActionRuntimeModule({ stateDir: layout.actionRoot });
363
- const { runActionsForSignal } = await createActions(this.config, {
364
- bus: this.bus,
365
- senpi,
366
- stateManager: this.stateManager,
367
- hookSystem: this.hookSystem,
368
- llmDecision,
369
- contextBuilder,
370
- riskGuard,
371
- notifications,
372
- runtimeContext,
373
- actionModule: this.actionRuntimeModule,
374
- });
375
- this.runActionsForSignal = runActionsForSignal;
376
- const notificationsConfig = this.config.notifications;
377
- if (hasDsl) {
378
- const dslNotificationsDisabled = notificationsConfig?.dsl_lifecycle === false;
379
- const dslNotifySlUpdates = notificationsConfig?.dsl_notify_sl_updates === true;
380
- this.dslPlugin = await DslPluginClass.create({
381
- config: exitConfig,
394
+ scannerModule: this.scannerModule,
395
+ maxLeverageCache,
396
+ });
397
+ this.actionRuntimeModule = new ActionRuntimeModule({ stateDir: layout.actionRoot });
398
+ const { runActionsForSignal } = await createActions(this.config, {
382
399
  bus: this.bus,
383
- stateDir,
400
+ senpi,
384
401
  stateManager: this.stateManager,
385
- senpiClient: senpi,
386
- strategyStates: createStrategyStatesMap(this.strategyConfig, senpi),
387
- notifications: dslNotificationsDisabled ? undefined : notifications,
388
- notifySlUpdates: dslNotifySlUpdates,
389
- strategyName: this.config.name,
390
- });
391
- }
392
- else {
393
- this.dslPlugin = null;
394
- }
395
- if (isActionLifecycleNotificationsEnabled(notificationsConfig)) {
396
- this.actionNotificationSubscriber = createActionNotificationSubscriber(this.bus, notifications, {
397
- strategyName: this.config.name,
402
+ hookSystem: this.hookSystem,
403
+ llmDecision,
404
+ contextBuilder,
405
+ riskGuard,
406
+ notifications,
407
+ runtimeContext,
408
+ actionModule: this.actionRuntimeModule,
398
409
  });
399
- }
400
- else {
401
- this.actionNotificationSubscriber = null;
402
- }
403
- initRisk(this.bus);
404
- this.healthStateModule = createHealthStateModule({
405
- runtimeName: this.config.name,
406
- stateDir,
407
- startedAt: this.startedAt,
408
- providers: {
409
- scanners: this.scannerModule,
410
- dsl: this.dslPlugin ?? createDisabledDslProvider(),
411
- actions: this.actionRuntimeModule,
412
- risk: riskBlock
413
- ? createRiskHealthProvider(riskGuard, strategyAddress)
414
- : undefined,
415
- },
416
- });
417
- this.onScannerRunComplete = (event) => {
418
- console.info("[senpi-runtime] [ingest-trace] onScannerRunComplete → enqueue", JSON.stringify({
419
- address: event.result.address,
420
- scannerId: event.result.scannerId,
421
- signalCount: Array.isArray(event.result.signals) ? event.result.signals.length : 0,
422
- status: event.result.status,
423
- queueDepth: this.signalQueue.length + 1,
424
- }));
425
- const correlationId = randomUUID();
426
- this.signalQueue.push({ result: event.result, correlationId });
427
- if (this.signalQueueWait) {
428
- const w = this.signalQueueWait;
429
- this.signalQueueWait = null;
430
- w();
410
+ this.runActionsForSignal = runActionsForSignal;
411
+ const notificationsConfig = this.config.notifications;
412
+ if (hasDsl) {
413
+ const dslNotificationsDisabled = notificationsConfig?.dsl_lifecycle === false;
414
+ const dslNotifySlUpdates = notificationsConfig?.dsl_notify_sl_updates === true;
415
+ this.dslPlugin = await DslPluginClass.create({
416
+ config: exitConfig,
417
+ bus: this.bus,
418
+ stateDir,
419
+ stateManager: this.stateManager,
420
+ senpiClient: senpi,
421
+ strategyStates: createStrategyStatesMap(this.strategyConfig, senpi),
422
+ notifications: dslNotificationsDisabled ? undefined : notifications,
423
+ notifySlUpdates: dslNotifySlUpdates,
424
+ strategyName: this.config.name,
425
+ });
426
+ }
427
+ else {
428
+ this.dslPlugin = null;
431
429
  }
432
- // Emit scanner run for tracking
433
- this.bus.emit("tracking.scanner_run", {
434
- address: event.result.address,
435
- data: {
436
- ...event.result,
437
- __correlationId: correlationId,
430
+ if (isActionLifecycleNotificationsEnabled(notificationsConfig)) {
431
+ this.actionNotificationSubscriber = createActionNotificationSubscriber(this.bus, notifications, {
432
+ strategyName: this.config.name,
433
+ });
434
+ }
435
+ else {
436
+ this.actionNotificationSubscriber = null;
437
+ }
438
+ initRisk(this.bus);
439
+ this.healthStateModule = createHealthStateModule({
440
+ runtimeName: this.config.name,
441
+ stateDir,
442
+ startedAt: this.startedAt,
443
+ providers: {
444
+ scanners: this.scannerModule,
445
+ dsl: this.dslPlugin ?? createDisabledDslProvider(),
446
+ actions: this.actionRuntimeModule,
447
+ risk: riskBlock
448
+ ? createRiskHealthProvider(riskGuard, strategyAddress)
449
+ : undefined,
438
450
  },
439
- timestamp: new Date().toISOString(),
440
451
  });
441
- // Forward scanner summary alerts (e.g. watchdog) to notification service
442
- const alerts = event.result.summary?.alerts;
443
- if (Array.isArray(alerts) && alerts.length > 0) {
444
- const header = `[${event.result.scannerId}] ${alerts.length} alert(s):`;
445
- const lines = alerts.map((a) => ` ${a.level ?? "ALERT"}: ${a.message ?? ""}`);
446
- notifications.notify(`${header}\n${lines.join("\n")}`).catch(() => { });
447
- }
448
- };
449
- this.scannerModule.on("scanner:run:complete", this.onScannerRunComplete);
450
- this.signalConsumerDone = this.runSignalConsumer();
451
- logger.info("Runtime.start() invoking scannerModule.start()");
452
- await this.scannerModule.start();
453
- logger.info("Runtime.start() scannerModule.start() returned");
454
- this.started = true;
452
+ this.onScannerRunComplete = (event) => {
453
+ console.info("[senpi-runtime] [ingest-trace] onScannerRunComplete → enqueue", JSON.stringify({
454
+ address: event.result.address,
455
+ scannerId: event.result.scannerId,
456
+ signalCount: Array.isArray(event.result.signals) ? event.result.signals.length : 0,
457
+ status: event.result.status,
458
+ queueDepth: this.signalQueue.length + 1,
459
+ }));
460
+ const correlationId = randomUUID();
461
+ this.signalQueue.push({ result: event.result, correlationId });
462
+ if (this.signalQueueWait) {
463
+ const w = this.signalQueueWait;
464
+ this.signalQueueWait = null;
465
+ w();
466
+ }
467
+ // Emit scanner run for tracking (startedAt is data stamping for telemetry durations)
468
+ this.bus.emit("tracking.scanner_run", {
469
+ address: event.result.address,
470
+ data: {
471
+ ...event.result,
472
+ startedAt: event.startedAt,
473
+ __correlationId: correlationId,
474
+ },
475
+ timestamp: new Date().toISOString(),
476
+ });
477
+ // Forward scanner summary alerts (e.g. watchdog) to notification service
478
+ const alerts = event.result.summary?.alerts;
479
+ if (Array.isArray(alerts) && alerts.length > 0) {
480
+ const header = `[${event.result.scannerId}] ${alerts.length} alert(s):`;
481
+ const lines = alerts.map((a) => ` ${a.level ?? "ALERT"}: ${a.message ?? ""}`);
482
+ notifications.notify(`${header}\n${lines.join("\n")}`).catch(() => { });
483
+ }
484
+ };
485
+ this.scannerModule.on("scanner:run:complete", this.onScannerRunComplete);
486
+ // Surface skipped/errored scanner runs on the bus for telemetry (add-only observation events —
487
+ // distinct names so existing `tracking.scanner_run` consumers see an unchanged payload mix).
488
+ // Neither enqueues a signal: only completed runs feed the signal queue.
489
+ this.onScannerRunSkip = (event) => {
490
+ this.bus.emit("tracking.scanner_run_skipped", {
491
+ address: event.address,
492
+ data: {
493
+ scannerId: event.scannerId,
494
+ status: event.status,
495
+ reason: event.reason,
496
+ timestamp: event.timestamp,
497
+ startedAt: event.startedAt,
498
+ },
499
+ timestamp: new Date().toISOString(),
500
+ });
501
+ };
502
+ this.onScannerRunError = (event) => {
503
+ this.bus.emit("tracking.scanner_run_error", {
504
+ address: event.address,
505
+ data: {
506
+ scannerId: event.scannerId,
507
+ status: "error",
508
+ reason: typeof event.error === "string" ? event.error : String(event.error),
509
+ timestamp: event.timestamp,
510
+ startedAt: event.startedAt,
511
+ },
512
+ timestamp: new Date().toISOString(),
513
+ });
514
+ };
515
+ this.scannerModule.on("scanner:run:skip", this.onScannerRunSkip);
516
+ this.scannerModule.on("scanner:run:error", this.onScannerRunError);
517
+ this.signalConsumerDone = this.runSignalConsumer();
518
+ logger.info("Runtime.start() invoking scannerModule.start()");
519
+ await this.scannerModule.start();
520
+ logger.info("Runtime.start() scannerModule.start() returned");
521
+ this.started = true;
522
+ }
523
+ catch (err) {
524
+ // Recording-only cleanup (telemetry must not leak on a failed boot); the error rethrows.
525
+ await this.disposeRecording();
526
+ throw err;
527
+ }
455
528
  this.bus.emit("tracking.runtime_started", {
456
529
  address: this.strategyConfig.address,
457
530
  data: {
@@ -549,6 +622,20 @@ export class Runtime {
549
622
  });
550
623
  }
551
624
  }
625
+ /**
626
+ * Dispose the recording subscriber, then flush + stop the batcher (best-effort). Idempotent;
627
+ * shared by stop() and the failed-start cleanup path in start().
628
+ */
629
+ async disposeRecording() {
630
+ if (this.recordingSubscriber) {
631
+ this.recordingSubscriber.dispose();
632
+ this.recordingSubscriber = null;
633
+ }
634
+ if (this.recordingBatcher) {
635
+ await this.recordingBatcher.shutdown().catch(() => { });
636
+ this.recordingBatcher = null;
637
+ }
638
+ }
552
639
  async stop() {
553
640
  if (!this.started)
554
641
  return;
@@ -577,6 +664,14 @@ export class Runtime {
577
664
  this.scannerModule.off("scanner:run:complete", this.onScannerRunComplete);
578
665
  this.onScannerRunComplete = null;
579
666
  }
667
+ if (this.onScannerRunSkip != null) {
668
+ this.scannerModule.off("scanner:run:skip", this.onScannerRunSkip);
669
+ this.onScannerRunSkip = null;
670
+ }
671
+ if (this.onScannerRunError != null) {
672
+ this.scannerModule.off("scanner:run:error", this.onScannerRunError);
673
+ this.onScannerRunError = null;
674
+ }
580
675
  if (this.actionNotificationSubscriber != null) {
581
676
  this.actionNotificationSubscriber.dispose();
582
677
  this.actionNotificationSubscriber = null;
@@ -595,6 +690,9 @@ export class Runtime {
595
690
  await this.trackingHandler.dispose();
596
691
  this.trackingHandler = null;
597
692
  }
693
+ // Telemetry recording teardown: stop the subscriber, then flush + stop the batcher (best-effort)
694
+ // so the just-recorded runtime_stopped row ships before the process exits.
695
+ await this.disposeRecording();
598
696
  if (this.bus.removeAllListeners) {
599
697
  this.bus.removeAllListeners();
600
698
  }
@@ -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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"}