@senpi/runtime 3.0.124 → 3.0.125

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 (252) hide show
  1. package/dist/actions/action-events.d.ts +21 -7
  2. package/dist/actions/action-events.d.ts.map +1 -1
  3. package/dist/actions/action-events.js +54 -26
  4. package/dist/actions/action-events.js.map +1 -1
  5. package/dist/actions/action-runtime-module.d.ts.map +1 -1
  6. package/dist/actions/action-runtime-module.js +38 -7
  7. package/dist/actions/action-runtime-module.js.map +1 -1
  8. package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
  9. package/dist/actions/close-position/close-position.action.js +122 -15
  10. package/dist/actions/close-position/close-position.action.js.map +1 -1
  11. package/dist/actions/decision-engine.d.ts.map +1 -1
  12. package/dist/actions/decision-engine.js +15 -2
  13. package/dist/actions/decision-engine.js.map +1 -1
  14. package/dist/actions/event-derivation.d.ts +71 -2
  15. package/dist/actions/event-derivation.d.ts.map +1 -1
  16. package/dist/actions/event-derivation.js +251 -8
  17. package/dist/actions/event-derivation.js.map +1 -1
  18. package/dist/actions/open-position/open-position.action.d.ts +17 -2
  19. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  20. package/dist/actions/open-position/open-position.action.js +162 -47
  21. package/dist/actions/open-position/open-position.action.js.map +1 -1
  22. package/dist/actions/position-tracker/position-tracker.action.d.ts +2 -1
  23. package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
  24. package/dist/actions/position-tracker/position-tracker.action.js +62 -17
  25. package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
  26. package/dist/actions/skipped-signal-results.d.ts +25 -0
  27. package/dist/actions/skipped-signal-results.d.ts.map +1 -0
  28. package/dist/actions/skipped-signal-results.js +71 -0
  29. package/dist/actions/skipped-signal-results.js.map +1 -0
  30. package/dist/actions/store/types.d.ts +9 -2
  31. package/dist/actions/store/types.d.ts.map +1 -1
  32. package/dist/actions/store/types.js.map +1 -1
  33. package/dist/actions/types.d.ts +13 -0
  34. package/dist/actions/types.d.ts.map +1 -1
  35. package/dist/actions/types.js +13 -0
  36. package/dist/actions/types.js.map +1 -1
  37. package/dist/cli/guide-commands.d.ts.map +1 -1
  38. package/dist/cli/guide-commands.js +3 -0
  39. package/dist/cli/guide-commands.js.map +1 -1
  40. package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
  41. package/dist/dsl/engine-client/event-mapping.js +14 -0
  42. package/dist/dsl/engine-client/event-mapping.js.map +1 -1
  43. package/dist/dsl/events/build-closed-event.d.ts +16 -1
  44. package/dist/dsl/events/build-closed-event.d.ts.map +1 -1
  45. package/dist/dsl/events/build-closed-event.js +6 -0
  46. package/dist/dsl/events/build-closed-event.js.map +1 -1
  47. package/dist/dsl/events/handlers.d.ts +7 -0
  48. package/dist/dsl/events/handlers.d.ts.map +1 -1
  49. package/dist/dsl/events/handlers.js +37 -7
  50. package/dist/dsl/events/handlers.js.map +1 -1
  51. package/dist/dsl/monitor/create-monitor.d.ts +6 -2
  52. package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
  53. package/dist/dsl/monitor/create-monitor.js +15 -9
  54. package/dist/dsl/monitor/create-monitor.js.map +1 -1
  55. package/dist/dsl/monitor/dsl-failure-events.d.ts +2 -0
  56. package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -1
  57. package/dist/dsl/monitor/dsl-failure-events.js +2 -1
  58. package/dist/dsl/monitor/dsl-failure-events.js.map +1 -1
  59. package/dist/dsl/monitor/process-one-position.d.ts +1 -0
  60. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  61. package/dist/dsl/monitor/process-one-position.js +59 -25
  62. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  63. package/dist/dsl/plugin/index.d.ts +8 -2
  64. package/dist/dsl/plugin/index.d.ts.map +1 -1
  65. package/dist/dsl/plugin/index.js +8 -6
  66. package/dist/dsl/plugin/index.js.map +1 -1
  67. package/dist/health/types.d.ts +13 -0
  68. package/dist/health/types.d.ts.map +1 -1
  69. package/dist/health/types.js +12 -0
  70. package/dist/health/types.js.map +1 -1
  71. package/dist/index.d.ts +27 -4
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +254 -42
  74. package/dist/index.js.map +1 -1
  75. package/dist/runtime/action-registry.d.ts.map +1 -1
  76. package/dist/runtime/action-registry.js +4 -3
  77. package/dist/runtime/action-registry.js.map +1 -1
  78. package/dist/runtime/domain-events.d.ts.map +1 -1
  79. package/dist/runtime/domain-events.js +7 -0
  80. package/dist/runtime/domain-events.js.map +1 -1
  81. package/dist/runtime/lifecycle-events.d.ts +9 -1
  82. package/dist/runtime/lifecycle-events.d.ts.map +1 -1
  83. package/dist/runtime/lifecycle-events.js +11 -2
  84. package/dist/runtime/lifecycle-events.js.map +1 -1
  85. package/dist/runtime/reconcile-run.d.ts +13 -3
  86. package/dist/runtime/reconcile-run.d.ts.map +1 -1
  87. package/dist/runtime/reconcile-run.js +4 -3
  88. package/dist/runtime/reconcile-run.js.map +1 -1
  89. package/dist/runtime/reconcile-state.d.ts +8 -0
  90. package/dist/runtime/reconcile-state.d.ts.map +1 -1
  91. package/dist/runtime/reconcile-state.js +4 -1
  92. package/dist/runtime/reconcile-state.js.map +1 -1
  93. package/dist/runtime/run.d.ts +1 -0
  94. package/dist/runtime/run.d.ts.map +1 -1
  95. package/dist/runtime/run.js.map +1 -1
  96. package/dist/runtime/runtime-schema.js +3 -3
  97. package/dist/runtime/runtime-schema.js.map +1 -1
  98. package/dist/runtime/runtime.d.ts +1 -0
  99. package/dist/runtime/runtime.d.ts.map +1 -1
  100. package/dist/runtime/runtime.js +27 -3
  101. package/dist/runtime/runtime.js.map +1 -1
  102. package/dist/runtime/supervisor/long-running-supervisor.d.ts +13 -0
  103. package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
  104. package/dist/runtime/supervisor/long-running-supervisor.js +1 -0
  105. package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
  106. package/dist/runtime/validate-dsl-position-tracking.d.ts.map +1 -1
  107. package/dist/runtime/validate-dsl-position-tracking.js +2 -1
  108. package/dist/runtime/validate-dsl-position-tracking.js.map +1 -1
  109. package/dist/runtime-api/handlers/ingest-signals.d.ts.map +1 -1
  110. package/dist/runtime-api/handlers/ingest-signals.js +1 -0
  111. package/dist/runtime-api/handlers/ingest-signals.js.map +1 -1
  112. package/dist/runtime-api/handlers/types.d.ts +5 -0
  113. package/dist/runtime-api/handlers/types.d.ts.map +1 -1
  114. package/dist/runtime-api/intake/ingest-request.d.ts +17 -0
  115. package/dist/runtime-api/intake/ingest-request.d.ts.map +1 -0
  116. package/dist/runtime-api/intake/ingest-request.js +34 -0
  117. package/dist/runtime-api/intake/ingest-request.js.map +1 -0
  118. package/dist/runtime-api/intake/intake-events.d.ts +1 -1
  119. package/dist/runtime-api/intake/intake-events.d.ts.map +1 -1
  120. package/dist/runtime-api/intake/intake-events.js +9 -3
  121. package/dist/runtime-api/intake/intake-events.js.map +1 -1
  122. package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
  123. package/dist/runtime-api/intake/intake-mount.js +4 -19
  124. package/dist/runtime-api/intake/intake-mount.js.map +1 -1
  125. package/dist/runtime-api/intake/process-error-post.d.ts +6 -1
  126. package/dist/runtime-api/intake/process-error-post.d.ts.map +1 -1
  127. package/dist/runtime-api/intake/process-error-post.js +5 -1
  128. package/dist/runtime-api/intake/process-error-post.js.map +1 -1
  129. package/dist/runtime-api/intake/process-signal-post.d.ts +7 -1
  130. package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
  131. package/dist/runtime-api/intake/process-signal-post.js +5 -0
  132. package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
  133. package/dist/runtime-api/intake/scaffold-error-router.js.map +1 -1
  134. package/dist/runtime-api/intake/scaffold-tick-router.d.ts +39 -0
  135. package/dist/runtime-api/intake/scaffold-tick-router.d.ts.map +1 -0
  136. package/dist/runtime-api/intake/scaffold-tick-router.js +122 -0
  137. package/dist/runtime-api/intake/scaffold-tick-router.js.map +1 -0
  138. package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
  139. package/dist/runtime-api/intake/scanner-launcher.js +15 -0
  140. package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
  141. package/dist/runtime-api/intake/types.d.ts +55 -0
  142. package/dist/runtime-api/intake/types.d.ts.map +1 -1
  143. package/dist/runtime-api/routes/signals.d.ts +2 -0
  144. package/dist/runtime-api/routes/signals.d.ts.map +1 -1
  145. package/dist/runtime-api/routes/signals.js +5 -1
  146. package/dist/runtime-api/routes/signals.js.map +1 -1
  147. package/dist/runtime-api/routes/signals.schema.d.ts +43 -0
  148. package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
  149. package/dist/runtime-api/routes/signals.schema.js +43 -0
  150. package/dist/runtime-api/routes/signals.schema.js.map +1 -1
  151. package/dist/runtime-api/server.d.ts +7 -1
  152. package/dist/runtime-api/server.d.ts.map +1 -1
  153. package/dist/runtime-api/server.js +1 -0
  154. package/dist/runtime-api/server.js.map +1 -1
  155. package/dist/scanners/engine/engine.d.ts +22 -1
  156. package/dist/scanners/engine/engine.d.ts.map +1 -1
  157. package/dist/scanners/engine/engine.js +78 -11
  158. package/dist/scanners/engine/engine.js.map +1 -1
  159. package/dist/scanners/engine/lifecycle.d.ts +7 -1
  160. package/dist/scanners/engine/lifecycle.d.ts.map +1 -1
  161. package/dist/scanners/events.d.ts +4 -0
  162. package/dist/scanners/events.d.ts.map +1 -1
  163. package/dist/scanners/events.js +2 -0
  164. package/dist/scanners/events.js.map +1 -1
  165. package/dist/scanners/external/scaffold/delivery.py +194 -25
  166. package/dist/scanners/external/scaffold/scaffold.py +172 -31
  167. package/dist/scanners/external/scaffold/senpi_mcp.py +150 -8
  168. package/dist/scanners/external/scaffold/tick_facts.py +130 -0
  169. package/dist/scanners/external/scaffold/ulid.py +58 -0
  170. package/dist/scanners/external-scanner-receiver.d.ts +17 -0
  171. package/dist/scanners/external-scanner-receiver.d.ts.map +1 -1
  172. package/dist/scanners/external-scanner-receiver.js +8 -0
  173. package/dist/scanners/external-scanner-receiver.js.map +1 -1
  174. package/dist/scanners/runtime-module.d.ts +1 -0
  175. package/dist/scanners/runtime-module.d.ts.map +1 -1
  176. package/dist/scanners/runtime-module.js +66 -9
  177. package/dist/scanners/runtime-module.js.map +1 -1
  178. package/dist/telemetry/attributes.d.ts +20 -0
  179. package/dist/telemetry/attributes.d.ts.map +1 -1
  180. package/dist/telemetry/attributes.js +24 -0
  181. package/dist/telemetry/attributes.js.map +1 -1
  182. package/dist/telemetry/event-builders.d.ts +81 -6
  183. package/dist/telemetry/event-builders.d.ts.map +1 -1
  184. package/dist/telemetry/event-builders.js +141 -17
  185. package/dist/telemetry/event-builders.js.map +1 -1
  186. package/dist/telemetry/event-store.d.ts +6 -0
  187. package/dist/telemetry/event-store.d.ts.map +1 -1
  188. package/dist/telemetry/event-store.js +12 -8
  189. package/dist/telemetry/event-store.js.map +1 -1
  190. package/dist/telemetry/live-telemetry.d.ts +238 -0
  191. package/dist/telemetry/live-telemetry.d.ts.map +1 -0
  192. package/dist/telemetry/live-telemetry.js +853 -0
  193. package/dist/telemetry/live-telemetry.js.map +1 -0
  194. package/dist/telemetry/metrics.d.ts +14 -2
  195. package/dist/telemetry/metrics.d.ts.map +1 -1
  196. package/dist/telemetry/metrics.js +19 -4
  197. package/dist/telemetry/metrics.js.map +1 -1
  198. package/dist/telemetry/scanner-stats.d.ts +143 -0
  199. package/dist/telemetry/scanner-stats.d.ts.map +1 -0
  200. package/dist/telemetry/scanner-stats.js +426 -0
  201. package/dist/telemetry/scanner-stats.js.map +1 -0
  202. package/dist/telemetry/scanner-tick-feed.d.ts +87 -0
  203. package/dist/telemetry/scanner-tick-feed.d.ts.map +1 -0
  204. package/dist/telemetry/scanner-tick-feed.js +48 -0
  205. package/dist/telemetry/scanner-tick-feed.js.map +1 -0
  206. package/dist/telemetry/spans/redact-pii.d.ts.map +1 -1
  207. package/dist/telemetry/spans/redact-pii.js +18 -2
  208. package/dist/telemetry/spans/redact-pii.js.map +1 -1
  209. package/dist/telemetry/strategy-topology.d.ts +99 -0
  210. package/dist/telemetry/strategy-topology.d.ts.map +1 -0
  211. package/dist/telemetry/strategy-topology.js +93 -0
  212. package/dist/telemetry/strategy-topology.js.map +1 -0
  213. package/dist/telemetry/telemetry-publisher.d.ts +63 -0
  214. package/dist/telemetry/telemetry-publisher.d.ts.map +1 -0
  215. package/dist/telemetry/telemetry-publisher.js +229 -0
  216. package/dist/telemetry/telemetry-publisher.js.map +1 -0
  217. package/dist/telemetry/tick-frame.d.ts +212 -0
  218. package/dist/telemetry/tick-frame.d.ts.map +1 -0
  219. package/dist/telemetry/tick-frame.js +421 -0
  220. package/dist/telemetry/tick-frame.js.map +1 -0
  221. package/dist/telemetry/timeline-buffer.d.ts +95 -0
  222. package/dist/telemetry/timeline-buffer.d.ts.map +1 -0
  223. package/dist/telemetry/timeline-buffer.js +237 -0
  224. package/dist/telemetry/timeline-buffer.js.map +1 -0
  225. package/dist/telemetry/tracing.d.ts +9 -0
  226. package/dist/telemetry/tracing.d.ts.map +1 -1
  227. package/dist/telemetry/tracing.js +36 -0
  228. package/dist/telemetry/tracing.js.map +1 -1
  229. package/dist/types/dsl/index.d.ts +11 -0
  230. package/dist/types/dsl/index.d.ts.map +1 -1
  231. package/dist/types/scanner.d.ts +15 -0
  232. package/dist/types/scanner.d.ts.map +1 -1
  233. package/dist/utils/event-catalog.d.ts +166 -0
  234. package/dist/utils/event-catalog.d.ts.map +1 -1
  235. package/dist/utils/event-catalog.js +18 -0
  236. package/dist/utils/event-catalog.js.map +1 -1
  237. package/dist/utils/logger.d.ts +4 -1
  238. package/dist/utils/logger.d.ts.map +1 -1
  239. package/dist/utils/logger.js.map +1 -1
  240. package/dist/utils/telemetry-required-log.d.ts +60 -0
  241. package/dist/utils/telemetry-required-log.d.ts.map +1 -0
  242. package/dist/utils/telemetry-required-log.js +105 -0
  243. package/dist/utils/telemetry-required-log.js.map +1 -0
  244. package/dist/utils/ulid.d.ts +9 -0
  245. package/dist/utils/ulid.d.ts.map +1 -0
  246. package/dist/utils/ulid.js +43 -0
  247. package/dist/utils/ulid.js.map +1 -0
  248. package/dist/validate/recipe-checks.d.ts.map +1 -1
  249. package/dist/validate/recipe-checks.js +2 -2
  250. package/dist/validate/recipe-checks.js.map +1 -1
  251. package/openclaw.plugin.json +1 -1
  252. package/package.json +1 -1
@@ -15,6 +15,7 @@
15
15
  * strings (and, for a scan result, an epoch-ms number) from the bus are converted once here, so
16
16
  * consumers never parse dates.
17
17
  */
18
+ import type { RiskFailureKind, RiskGateStatus } from "../health/types.js";
18
19
  /** A plain object, or `undefined` for anything else (null, array, primitive). */
19
20
  export declare function asObject(value: unknown): Record<string, unknown> | undefined;
20
21
  /** A non-empty string, or `undefined`. */
@@ -35,8 +36,9 @@ export declare function toEpochMs(value: unknown, fallbackMs: number): number;
35
36
  export type TradeDirection = "LONG" | "SHORT";
36
37
  /**
37
38
  * Lightweight projection of a scanner signal as it appears on the bus, including the explainable
38
- * `factors`/`meta` bags so the audit trail keeps the "why". Redacting sensitive `meta` is the
39
- * adapter's job, not this contract's.
39
+ * `factors`/`meta` bags so the audit trail keeps the "why". `meta` is scanner-defined and is neither
40
+ * interpreted nor scrubbed on its way out: the event mapper emits it verbatim as the
41
+ * `senpi.signal.meta` attribute, so whatever a scanner puts in it is what reaches the wire.
40
42
  */
41
43
  export interface SignalSummary {
42
44
  readonly signalType: string;
@@ -91,7 +93,7 @@ export type DecisionMode = "llm" | "script" | "agent" | "rule" | "none";
91
93
  /** Decision produced by the decision layer for an evaluation pass. */
92
94
  export interface SignalDecision {
93
95
  readonly execute: boolean;
94
- /** Action type, e.g. `"open_position"`. */
96
+ /** Action type, e.g. `"OPEN_POSITION"`. */
95
97
  readonly actionType: string;
96
98
  /** Concrete action instance name. */
97
99
  readonly actionName?: string;
@@ -164,6 +166,38 @@ export interface SignalEvaluation {
164
166
  readonly startedAt?: number;
165
167
  readonly endedAt?: number;
166
168
  }
169
+ /**
170
+ * A risk gate's verdict. Aliased to the runtime's own enum rather than re-spelled: a re-spelling
171
+ * would drift silently, and a verdict this layer does not recognize is a verdict it drops.
172
+ */
173
+ export type RiskGateSnapshotStatus = RiskGateStatus;
174
+ /**
175
+ * Why a gate's evaluation failed. Aliased to the runtime's own enum for the same reason as
176
+ * {@link RiskGateSnapshotStatus}: the healthy sentinel is `"none"`, and the one consumer that tests
177
+ * for it ({@link "../actions/event-derivation.js"}) must break at compile time if the enum renames
178
+ * or drops that member rather than start reporting every healthy gate as a failure.
179
+ */
180
+ export type RiskGateSnapshotFailureKind = RiskFailureKind;
181
+ /**
182
+ * One risk gate's evaluation, as it rides the action-result payload under `_riskSnapshot`.
183
+ * Structurally the runtime's `RiskGateEvaluation`; re-declared here because the telemetry layer
184
+ * parses it defensively out of an unknown payload rather than importing the runtime type.
185
+ *
186
+ * `evaluationOk: false` / `fallbackApplied: true` mark a fail-closed fallback — the gate could not
187
+ * be evaluated, so it reads CLOSED. That is a different statement from a real breach, and the two
188
+ * are indistinguishable without these flags.
189
+ */
190
+ export interface RiskGateSnapshot {
191
+ readonly gateId: string;
192
+ readonly gateName?: string;
193
+ readonly status: RiskGateSnapshotStatus;
194
+ readonly reason?: string;
195
+ readonly evaluationOk?: boolean;
196
+ readonly fallbackApplied?: boolean;
197
+ /** Why the evaluation failed (`transport`, `empty_data`, …); `none` when it did not. */
198
+ readonly failureKind?: RiskGateSnapshotFailureKind;
199
+ readonly metrics?: Record<string, unknown>;
200
+ }
167
201
  /**
168
202
  * One signal-evaluation work unit: the runtime hands a scan pass's batch to the action, which
169
203
  * decides once, then acts on each signal serially. The whole pass is one record — a 3-signal batch
@@ -173,8 +207,18 @@ export interface SignalEvaluation {
173
207
  export interface SignalEvaluatedRecord {
174
208
  readonly type: "signal_evaluated";
175
209
  readonly scannerId?: string;
210
+ /**
211
+ * The `ActionType` the pass's action stamped on its `ActionResult`. Read at the pass level rather
212
+ * than off {@link SignalDecision}, which is absent on a decision-less pass — every per-signal
213
+ * outcome still needs to say which action produced it.
214
+ */
215
+ readonly actionType?: string;
176
216
  /** Telemetry-owned per-scan-run id; threads scan → pass into one trace. */
177
217
  readonly runId?: string;
218
+ /** Id of the scan that produced the signals this pass evaluated; absent when it carried none. */
219
+ readonly tickId?: string;
220
+ /** Id of the intake acceptance that admitted the signal; absent for an internally produced one. */
221
+ readonly correlationId?: string;
178
222
  /** Evaluation start, epoch ms. Required (see {@link ScannerRunRecord.startedAt}) so a `Duration` is always derivable. */
179
223
  readonly startedAt: number;
180
224
  /** Evaluation end, epoch ms. */
@@ -186,6 +230,12 @@ export interface SignalEvaluatedRecord {
186
230
  readonly decision?: SignalDecision;
187
231
  /** One entry per signal in the evaluated batch; outcomes are per-signal. */
188
232
  readonly evaluations: readonly SignalEvaluation[];
233
+ /**
234
+ * The pass-level risk-gate snapshot, one entry per configured gate. Empty when the strategy has
235
+ * no guard rails; absent when the pass carried no snapshot at all (a close pass, or an open pass
236
+ * that returned before the snapshot resolved).
237
+ */
238
+ readonly riskGates?: readonly RiskGateSnapshot[];
189
239
  }
190
240
  export type PositionLifecycleEvent = "opened" | "closed" | "flipped" | "increased" | "decreased" | "open_order_submitted";
191
241
  /**
@@ -238,6 +288,10 @@ export interface PositionLifecycleRecord {
238
288
  * other lifecycle event.
239
289
  */
240
290
  readonly reconciliationSource?: string;
291
+ /** Id of the tick that observed this change (`__tickId` on the bus payload); absent when it carried none. */
292
+ readonly tickId?: string;
293
+ /** Id of the intake acceptance behind that tick (`__correlationId`); absent for an internally produced one. */
294
+ readonly correlationId?: string;
241
295
  }
242
296
  export type DslTransitionKind = "created" | "phase_changed" | "tier_advanced" | "sl_updated" | "closed" | "close_pending" | "settings_updated" | "deleted";
243
297
  /** A tier in the exit ladder, as carried on `dsl.created`. */
@@ -300,6 +354,15 @@ export interface DslTransitionRecord {
300
354
  * identity, since DSL need not be active for a position to exist. `null` when not yet assigned.
301
355
  */
302
356
  readonly backendDslPositionId?: string | null;
357
+ /** Id of the tick that emitted this transition (`__tickId` on the bus payload); absent when it carried none. */
358
+ readonly tickId?: string;
359
+ /**
360
+ * Who acted (`__dslSource` on the bus payload): `runtime` for this runtime's own tick, `backend`
361
+ * for a relayed backend transition. Absent when the payload carried none — never defaulted.
362
+ */
363
+ readonly source?: string;
364
+ /** The backend's own stamp of when it acted (`__backendEventAt`); only on a backend-sourced transition. */
365
+ readonly backendEventAt?: string;
303
366
  }
304
367
  /**
305
368
  * Which work unit of a monitor tick a {@link DslTickRecord} carries: the tick itself, one
@@ -464,13 +527,20 @@ export type SignalOutcomeDisposition = "accepted" | "rejected" | "blocked" | "er
464
527
  * The four-value `result` collapses the granular per-signal
465
528
  * {@link SignalOutcomeResult}; the open `reasonCode` is kept verbatim for the fine-grained reason.
466
529
  *
467
- * `rawSignal` is the variable-shaped scanner evidence → the Body (redacted in the mapper). The
530
+ * `rawSignal` is the variable-shaped scanner evidence. The mapper reads its `meta` bag off it and
531
+ * emits that verbatim as one JSON string attribute — unredacted, and never lifted into the Body. The
468
532
  * scalars below are the queryable attribute surface.
469
533
  */
470
534
  export interface SignalOutcomeRecord {
471
535
  readonly type: "signal_outcome";
472
536
  readonly occurredAt: number;
473
537
  readonly scannerId?: string;
538
+ /**
539
+ * The pass's {@link SignalEvaluatedRecord.actionType} — which action produced this outcome. An
540
+ * open that placed an order and a close that placed one share the `accepted` disposition, so this
541
+ * is the only field on the record that separates them.
542
+ */
543
+ readonly actionType?: string;
474
544
  readonly signalType?: string;
475
545
  readonly asset: string;
476
546
  readonly direction?: TradeDirection | null;
@@ -492,8 +562,13 @@ export interface SignalOutcomeRecord {
492
562
  readonly marginPct?: number;
493
563
  readonly orderId?: string;
494
564
  readonly errorName?: string;
495
- /** The raw scanner signal payload (incl. its `meta`/`factors`) → the Body, redacted in the mapper. */
565
+ /** The raw scanner signal payload; the mapper reads its `meta` bag off here to emit verbatim. */
496
566
  readonly rawSignal?: Record<string, unknown>;
567
+ /**
568
+ * The pass-level risk-gate evaluations, copied onto every outcome in the pass — they are what the
569
+ * gates said when this pass ran, not a per-signal re-check. Serialized by the mapper.
570
+ */
571
+ readonly riskGates?: readonly RiskGateSnapshot[];
497
572
  }
498
573
  /**
499
574
  * One DSL exit attempt as a discrete log event (`dsl.close_attempt`) — exit attempts / venue
@@ -622,7 +697,7 @@ export declare function buildDecisionMade(record: SignalEvaluatedRecord): Decisi
622
697
  /**
623
698
  * One `signal.outcome` log record per evaluation in the pass, derived from the built pass record.
624
699
  * `rawSignal` is the evaluation's {@link SignalSummary} (incl. its `meta`/`factors`) — the variable
625
- * scanner evidence; redaction over it happens in the mapper, not here.
700
+ * scanner evidence.
626
701
  */
627
702
  export declare function buildSignalOutcomes(record: SignalEvaluatedRecord): SignalOutcomeRecord[];
628
703
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"event-builders.d.ts","sourceRoot":"","sources":["../../src/telemetry/event-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-builders.d.ts","sourceRoot":"","sources":["../../src/telemetry/event-builders.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,9 @@
15
15
  * strings (and, for a scan result, an epoch-ms number) from the bus are converted once here, so
16
16
  * consumers never parse dates.
17
17
  */
18
+ import { RISK_GATE_STATUSES } from "../health/types.js";
19
+ import { ACTION_TYPE } from "../actions/types.js";
20
+ import { PAYLOAD_KEY } from "../utils/event-catalog.js";
18
21
  // ─── Defensive payload readers ─────────────────────────────────────────────────
19
22
  //
20
23
  // The builders read loosely-typed event data and must never throw while doing so, so every accessor
@@ -199,8 +202,27 @@ export function buildScannerSummary(payload, nowMs) {
199
202
  };
200
203
  }
201
204
  // ─── Signal evaluation (single-sourced from the action-result payload) ────────────
205
+ /**
206
+ * Reason codes that ARE the failure, independent of any carried error text (see {@link classifyOutcome}).
207
+ * A thrown `Error("")` leaves no message to classify on, so these must be matched by name or a hard
208
+ * failure would fall through to the success-flag fallback and read as a benign skip.
209
+ */
210
+ const ERROR_REASONS = new Set(["exception", "decision_error", "context_error"]);
211
+ /**
212
+ * Reason codes that ARE the execution (see {@link classifyOutcome}): an order was submitted
213
+ * (`submitted`) or a lifecycle hook was fired (`fired`). Close-position reports its execution
214
+ * through the `closeReason` condition instead and is not listed here.
215
+ */
216
+ const EXECUTED_REASONS = new Set(["submitted", "fired"]);
202
217
  /** Reason codes where the system evaluated a trade and actively blocked it (see {@link classifyOutcome}). */
203
- const REJECTED_REASONS = new Set(["insufficient_margin", "invalid_direction", "no_margin_configured", "below_min_notional"]);
218
+ const REJECTED_REASONS = new Set([
219
+ "insufficient_margin",
220
+ "invalid_direction",
221
+ "no_margin_configured",
222
+ "below_min_notional",
223
+ // A batch-level decline: the decision engine evaluated the scan and declined to trade it.
224
+ "decision_no_execute",
225
+ ]);
204
226
  /** Reason codes where no trade was applicable / attempted. */
205
227
  const SKIPPED_REASONS = new Set(["no_slots", "position_already_exists", "no_open_position"]);
206
228
  /**
@@ -208,19 +230,29 @@ const SKIPPED_REASONS = new Set(["no_slots", "position_already_exists", "no_open
208
230
  * success-flag-driven: the coarse axis answers "actively blocked vs. not attempted", and the
209
231
  * producer's `success` flag encodes "handled without error" — flag-driven mapping would bury
210
232
  * risk-gate trips among benign skips like `position_already_exists`.
211
- * - `executed` — an order was placed (open: `reason:"submitted"`; close: success with a `closeReason`)
212
- * - `error` — `reason:"exception"` or a carried error message (e.g. `position_open_failed`)
233
+ * - `executed` — the action performed its terminal effect: an order was placed (open:
234
+ * `reason:"submitted"`; close: success with a `closeReason`) or a position-lifecycle hook was
235
+ * fired (position-tracker: `reason:"fired"`)
236
+ * - `error` — `reason:"exception"`, `"decision_error"` or `"context_error"` (matched by name, so a
237
+ * throw with an empty message still classifies), or a carried error message
238
+ * (e.g. `position_open_failed`)
213
239
  * - `rejected` — evaluated and actively blocked: `risk_gate_*`, `insufficient_margin`,
214
- * `invalid_direction`, `no_margin_configured`, `below_min_notional`
215
- * - `skipped` — not applicable / no capacity: `no_slots`, `position_already_exists`, `no_open_position`
240
+ * `invalid_direction`, `no_margin_configured`, `below_min_notional`, plus `decision_no_execute`
241
+ * (the decision engine judged the scan and said no — an active decline, not an absence of capacity)
242
+ * - `below_confidence` — the decision wanted to trade but scored under the bar. Its own variant
243
+ * because it is the one decline that reaches the wire as `rejected` rather than `blocked`.
244
+ * - `skipped` — not applicable / no capacity: `no_slots`, `position_already_exists`,
245
+ * `no_open_position`, `strategy_backend_paused` (via the success-flag fallback)
216
246
  * Unknown reason codes fall back to the success flag (`false` → rejected, else skipped).
217
247
  */
218
248
  function classifyOutcome(reason, success, error, closeReason) {
219
- if (reason === "submitted" || (success === true && closeReason !== undefined))
249
+ if ((reason !== undefined && EXECUTED_REASONS.has(reason)) || (success === true && closeReason !== undefined))
220
250
  return "executed";
221
- if (reason === "exception" || error !== undefined)
251
+ if ((reason !== undefined && ERROR_REASONS.has(reason)) || error !== undefined)
222
252
  return "error";
223
253
  if (reason !== undefined) {
254
+ if (reason === "below_confidence")
255
+ return "below_confidence";
224
256
  if (reason.startsWith("risk_gate_") || REJECTED_REASONS.has(reason))
225
257
  return "rejected";
226
258
  if (SKIPPED_REASONS.has(reason))
@@ -269,32 +301,57 @@ function actionResults(actionResultPayload) {
269
301
  * lookup is deliberately unconditional on the outcome classification. The result entry's own
270
302
  * `dex` is used (open/close actions stamp it per signal); absent dex = main book, matching
271
303
  * the registry key normalization.
304
+ *
305
+ * A row that stamped its own `__positionId` wins over the lookup: the registry is read after the
306
+ * action loop finished, so an id the loop resolved and then retired (a close clears the entry)
307
+ * is no longer resolvable, and only the row still holds it.
272
308
  */
273
309
  function resolveOutcomePositionId(resolve, address, r, asset) {
310
+ const stamped = str(r.__positionId);
311
+ if (stamped !== undefined)
312
+ return stamped;
274
313
  if (!resolve || address === undefined || asset === undefined || asset === "")
275
314
  return undefined;
276
315
  return resolve(address, str(r.dex) ?? "", asset);
277
316
  }
278
317
  /**
279
- * One {@link SignalEvaluation} per per-signal result entry, each enriched with the matching input
280
- * signal (via `findSignal`) or a synthesized summary from the result entry itself when none matches.
318
+ * One {@link SignalEvaluation} per per-signal result entry, each enriched with the input signal the
319
+ * row actually came from, or a synthesized summary from the result entry itself when there is none.
320
+ *
321
+ * The join is by row, not by asset: the action loop stamps `__signalIndex` on every row it produces,
322
+ * so a row is paired with ITS signal even when the same pass carries several signals on one asset
323
+ * (an account-level alert scanner emits exactly that, and an asset-keyed join would hand every such
324
+ * row the first signal's `meta`). `findSignal` is the fallback for rows carrying no index — the LLM
325
+ * path, where the model authors its own signals, and close-position's static-params path.
281
326
  *
282
327
  * The per-signal work window (`startedAt`/`endedAt`, stamped by the action loop) is threaded onto
283
328
  * the evaluation. A half window is fabricated extent, so both stamps must be present or neither is
284
329
  * kept; on clock skew (`endedAt < startedAt`) the start is pulled up to the end, matching the
285
330
  * pass-window convention.
286
331
  */
287
- function buildEvaluations(results, findSignal, fallbackTs, resolvePositionId, address) {
332
+ function buildEvaluations(results, signals, findSignal, fallbackTs, resolvePositionId, address) {
288
333
  return results.map((raw) => {
289
334
  const r = asObject(raw) ?? {};
290
335
  const asset = str(r.asset);
291
- const signal = (asset !== undefined ? findSignal(asset) : undefined) ?? {
336
+ const index = num(r.__signalIndex);
337
+ // The index is only honoured when it lands on a signal for the row's own asset: a stale or
338
+ // mis-stamped index must degrade to the asset join, never silently attach another asset's bag.
339
+ const indexed = index !== undefined ? signals[index] : undefined;
340
+ const byIndex = indexed !== undefined && (asset === undefined || indexed.asset === asset) ? indexed : undefined;
341
+ const base = byIndex ?? (asset !== undefined ? findSignal(asset) : undefined) ?? {
292
342
  signalType: "",
293
343
  asset: asset ?? "",
294
344
  direction: direction(r.direction),
295
345
  score: num(r.score) ?? 0,
296
346
  timestamp: fallbackTs,
297
347
  };
348
+ // `findSignal` is first-wins per asset, so a row that reached the summary through the asset
349
+ // join (no index — the tracker builds its rows inline) may still name a different signal.
350
+ // A row that stamped its own `signalType` states which signal it is, and overrides the summary's.
351
+ const rowSignalType = str(r.signalType);
352
+ const signal = rowSignalType !== undefined && rowSignalType !== base.signalType
353
+ ? { ...base, signalType: rowSignalType }
354
+ : base;
298
355
  let startedAt = num(r.startedAt);
299
356
  const endedAt = num(r.endedAt);
300
357
  if (startedAt !== undefined && endedAt !== undefined && endedAt < startedAt)
@@ -306,6 +363,54 @@ function buildEvaluations(results, findSignal, fallbackTs, resolvePositionId, ad
306
363
  };
307
364
  });
308
365
  }
366
+ /**
367
+ * The pass-level risk-gate snapshot off `result.data._riskSnapshot`, or `undefined` when the pass
368
+ * carried none. A snapshot whose `gates` is present but empty parses to `[]`: "the gates ran and
369
+ * none are configured" is a different fact from "there is no snapshot", and the drill-down needs
370
+ * both.
371
+ *
372
+ * A gate with no `gateId` or an unrecognized `status` is dropped rather than kept with a
373
+ * placeholder — a fabricated verdict is worse than a missing one on a trust surface. But a snapshot
374
+ * that had gates and yielded none is NOT reported as `[]`: that would state "none configured", a
375
+ * fabricated fact of the opposite kind. It falls back to `undefined` — "no snapshot" — instead.
376
+ */
377
+ function buildRiskGates(resultData) {
378
+ const snapshot = asObject(resultData?._riskSnapshot);
379
+ if (!snapshot || !Array.isArray(snapshot.gates))
380
+ return undefined;
381
+ const gates = [];
382
+ for (const raw of snapshot.gates) {
383
+ const g = asObject(raw);
384
+ if (!g)
385
+ continue;
386
+ const gateId = str(g.gateId);
387
+ const status = str(g.status);
388
+ if (gateId === undefined || status === undefined || !Object.hasOwn(RISK_GATE_STATUSES, status))
389
+ continue;
390
+ const gateName = str(g.gateName);
391
+ const reason = str(g.reason);
392
+ const evaluationOk = bool(g.evaluationOk);
393
+ const fallbackApplied = bool(g.fallbackApplied);
394
+ // Unlike `status`, an unrecognized `failureKind` does not drop the gate: it is descriptive
395
+ // metadata, not a verdict, and losing a real verdict over an unknown diagnostic string would
396
+ // trade a small inaccuracy for a large one. It rides through as-is.
397
+ const failureKind = str(g.failureKind);
398
+ const metrics = asObject(g.metrics);
399
+ gates.push({
400
+ gateId,
401
+ status: status,
402
+ ...(gateName !== undefined ? { gateName } : {}),
403
+ ...(reason !== undefined ? { reason } : {}),
404
+ ...(evaluationOk !== undefined ? { evaluationOk } : {}),
405
+ ...(fallbackApplied !== undefined ? { fallbackApplied } : {}),
406
+ ...(failureKind !== undefined ? { failureKind } : {}),
407
+ ...(metrics !== undefined ? { metrics } : {}),
408
+ });
409
+ }
410
+ if (gates.length === 0 && snapshot.gates.length > 0)
411
+ return undefined;
412
+ return gates;
413
+ }
309
414
  /**
310
415
  * Build the whole pass record from an action-result payload alone — the producers echo the scan
311
416
  * provenance onto the payload (`scannerId`, `scannerSignals`, `minConfidence`, `runId`), and the
@@ -330,12 +435,14 @@ export function buildSignalEvaluated(actionResultPayload, nowMs, resolvePosition
330
435
  ? data.scannerSignals.map((s) => buildSignalSummary(s, startedAt))
331
436
  : [];
332
437
  // Indexed once (first occurrence wins, matching find() semantics) — this runs in the producer's
333
- // synchronous emit path, so the per-evaluation lookup must not rescan the signal array.
438
+ // synchronous emit path, so the per-evaluation lookup must not rescan the signal array. This is
439
+ // the FALLBACK join only; a row that carries `__signalIndex` is paired by index (see
440
+ // {@link buildEvaluations}), which is what keeps same-asset signals apart.
334
441
  const byAsset = new Map();
335
442
  for (const s of signals)
336
443
  if (!byAsset.has(s.asset))
337
444
  byAsset.set(s.asset, s);
338
- const evaluations = buildEvaluations(results, (asset) => byAsset.get(asset), startedAt, resolvePositionId, str(p?.address));
445
+ const evaluations = buildEvaluations(results, signals, (asset) => byAsset.get(asset), startedAt, resolvePositionId, str(p?.address));
339
446
  const meta = asObject(resultData?._decisionMeta);
340
447
  const decision = meta
341
448
  ? {
@@ -351,25 +458,35 @@ export function buildSignalEvaluated(actionResultPayload, nowMs, resolvePosition
351
458
  durationMs: num(meta.durationMs),
352
459
  }
353
460
  : undefined;
461
+ const riskGates = buildRiskGates(resultData);
354
462
  return {
355
463
  type: "signal_evaluated",
356
464
  scannerId: str(data.scannerId),
465
+ actionType: str(result?.action_type),
357
466
  runId: str(data.runId),
467
+ tickId: str(data.tickId),
468
+ correlationId: str(data.correlationId),
358
469
  startedAt,
359
470
  endedAt,
360
471
  decision,
361
472
  evaluations,
473
+ ...(riskGates !== undefined ? { riskGates } : {}),
362
474
  };
363
475
  }
364
476
  // ─── Self-learning event log: decision.made + signal.outcome ─────────────
365
477
  //
366
478
  // Both are DERIVED from the SAME built SignalEvaluatedRecord (single-source, DRY) — no re-parse of
367
479
  // the payload, no new bus event. The mapper does the redaction; these builders populate faithfully.
368
- /** Decision action type → the coarse open/close/none intent. */
480
+ /**
481
+ * Decision action type → the coarse open/close/none intent. The input is the `ActionResult`'s
482
+ * `action_type`, which every action stamps from its own `actionType` — so the comparison reads the
483
+ * same {@link ACTION_TYPE} constants the actions emit, and cannot drift from them. Any other action
484
+ * type (position tracker, plugin actions) carries no open/close intent.
485
+ */
369
486
  function actionIntent(actionType) {
370
- if (actionType === "open_position")
487
+ if (actionType === ACTION_TYPE.openPosition)
371
488
  return "open";
372
- if (actionType === "close_position")
489
+ if (actionType === ACTION_TYPE.closePosition)
373
490
  return "close";
374
491
  return "none";
375
492
  }
@@ -414,7 +531,7 @@ export function buildDecisionMade(record) {
414
531
  /**
415
532
  * One `signal.outcome` log record per evaluation in the pass, derived from the built pass record.
416
533
  * `rawSignal` is the evaluation's {@link SignalSummary} (incl. its `meta`/`factors`) — the variable
417
- * scanner evidence; redaction over it happens in the mapper, not here.
534
+ * scanner evidence.
418
535
  */
419
536
  export function buildSignalOutcomes(record) {
420
537
  return record.evaluations.map((ev) => {
@@ -423,6 +540,7 @@ export function buildSignalOutcomes(record) {
423
540
  type: "signal_outcome",
424
541
  occurredAt: record.endedAt,
425
542
  scannerId: record.scannerId,
543
+ actionType: record.actionType,
426
544
  signalType: signal.signalType !== "" ? signal.signalType : undefined,
427
545
  asset: signal.asset,
428
546
  direction: signal.direction,
@@ -441,6 +559,7 @@ export function buildSignalOutcomes(record) {
441
559
  orderId: outcome.orderId,
442
560
  errorName: outcome.errorName,
443
561
  rawSignal: { ...signal },
562
+ ...(record.riskGates !== undefined ? { riskGates: record.riskGates } : {}),
444
563
  };
445
564
  });
446
565
  }
@@ -564,6 +683,8 @@ export function buildPositionLifecycle(event, payload, nowMs) {
564
683
  reasoning: str(data.reasoning),
565
684
  // Stamped by the position-tracker action on `on_position_opened` only (absent elsewhere).
566
685
  reconciliationSource: str(data.reconciliationSource),
686
+ tickId: str(data[PAYLOAD_KEY.tickId]),
687
+ correlationId: str(data[PAYLOAD_KEY.correlationId]),
567
688
  };
568
689
  }
569
690
  // ─── DSL transitions ─────────────────────────────────────────────────────────
@@ -616,6 +737,9 @@ export function buildDslTransition(transition, payload, nowMs) {
616
737
  attempt: num(p.attempt),
617
738
  updated: Array.isArray(p.updated) ? p.updated.filter((x) => typeof x === "string") : undefined,
618
739
  backendDslPositionId: typeof p.backendDslPositionId === "string" ? p.backendDslPositionId : p.backendDslPositionId === null ? null : undefined,
740
+ tickId: str(p[PAYLOAD_KEY.tickId]),
741
+ source: str(p.__dslSource),
742
+ backendEventAt: str(p.__backendEventAt),
619
743
  };
620
744
  }
621
745
  // ─── DSL monitor tick work units ─────────────────────────────────────────────