@senpi/runtime 3.0.6-dev.runtime-phase-2.20260630134451 → 3.0.6-dev.runtime-phase-2.20260630134511

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 (109) hide show
  1. package/dist/actions/action-events.d.ts.map +1 -1
  2. package/dist/actions/action-events.js +39 -5
  3. package/dist/actions/action-events.js.map +1 -1
  4. package/dist/actions/event-derivation.d.ts +2 -0
  5. package/dist/actions/event-derivation.d.ts.map +1 -1
  6. package/dist/actions/event-derivation.js +2 -0
  7. package/dist/actions/event-derivation.js.map +1 -1
  8. package/dist/dsl/events/initial-state.d.ts.map +1 -1
  9. package/dist/dsl/events/initial-state.js +1 -0
  10. package/dist/dsl/events/initial-state.js.map +1 -1
  11. package/dist/dsl/monitor/dsl-failure-events.d.ts +42 -0
  12. package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -0
  13. package/dist/dsl/monitor/dsl-failure-events.js +73 -0
  14. package/dist/dsl/monitor/dsl-failure-events.js.map +1 -0
  15. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  16. package/dist/dsl/monitor/process-one-position.js +46 -37
  17. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +37 -5
  20. package/dist/index.js.map +1 -1
  21. package/dist/runtime/lifecycle-events.d.ts +43 -0
  22. package/dist/runtime/lifecycle-events.d.ts.map +1 -1
  23. package/dist/runtime/lifecycle-events.js +61 -0
  24. package/dist/runtime/lifecycle-events.js.map +1 -1
  25. package/dist/runtime/runtime-schema.d.ts +63 -9
  26. package/dist/runtime/runtime-schema.d.ts.map +1 -1
  27. package/dist/runtime/runtime-schema.js +8 -1
  28. package/dist/runtime/runtime-schema.js.map +1 -1
  29. package/dist/runtime/runtime.d.ts +6 -0
  30. package/dist/runtime/runtime.d.ts.map +1 -1
  31. package/dist/runtime/runtime.js +87 -2
  32. package/dist/runtime/runtime.js.map +1 -1
  33. package/dist/runtime/supervisor/long-running-supervisor.d.ts +3 -0
  34. package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
  35. package/dist/runtime/supervisor/long-running-supervisor.js +27 -53
  36. package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
  37. package/dist/runtime-api/intake/intake-events.d.ts +44 -0
  38. package/dist/runtime-api/intake/intake-events.d.ts.map +1 -0
  39. package/dist/runtime-api/intake/intake-events.js +131 -0
  40. package/dist/runtime-api/intake/intake-events.js.map +1 -0
  41. package/dist/runtime-api/intake/scanner-launcher.d.ts +2 -0
  42. package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
  43. package/dist/runtime-api/intake/scanner-launcher.js +58 -15
  44. package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
  45. package/dist/runtime-api/intake/supervisor-events.d.ts +61 -0
  46. package/dist/runtime-api/intake/supervisor-events.d.ts.map +1 -0
  47. package/dist/runtime-api/intake/supervisor-events.js +173 -0
  48. package/dist/runtime-api/intake/supervisor-events.js.map +1 -0
  49. package/dist/runtime-api/routes/signals.d.ts.map +1 -1
  50. package/dist/runtime-api/routes/signals.js +119 -27
  51. package/dist/runtime-api/routes/signals.js.map +1 -1
  52. package/dist/runtime-api/server.d.ts.map +1 -1
  53. package/dist/runtime-api/server.js +10 -1
  54. package/dist/runtime-api/server.js.map +1 -1
  55. package/dist/scanners/engine/engine.d.ts.map +1 -1
  56. package/dist/scanners/engine/engine.js +3 -0
  57. package/dist/scanners/engine/engine.js.map +1 -1
  58. package/dist/senpi/client.d.ts.map +1 -1
  59. package/dist/senpi/client.js +50 -5
  60. package/dist/senpi/client.js.map +1 -1
  61. package/dist/state/state-events.d.ts +13 -0
  62. package/dist/state/state-events.d.ts.map +1 -0
  63. package/dist/state/state-events.js +22 -0
  64. package/dist/state/state-events.js.map +1 -0
  65. package/dist/state/state-manager.d.ts.map +1 -1
  66. package/dist/state/state-manager.js +14 -1
  67. package/dist/state/state-manager.js.map +1 -1
  68. package/dist/telemetry/event-builders.d.ts +0 -2
  69. package/dist/telemetry/event-builders.d.ts.map +1 -1
  70. package/dist/telemetry/event-builders.js.map +1 -1
  71. package/dist/telemetry/identity.d.ts +10 -0
  72. package/dist/telemetry/identity.d.ts.map +1 -1
  73. package/dist/telemetry/identity.js +1 -0
  74. package/dist/telemetry/identity.js.map +1 -1
  75. package/dist/telemetry/metrics.d.ts +137 -15
  76. package/dist/telemetry/metrics.d.ts.map +1 -1
  77. package/dist/telemetry/metrics.js +357 -74
  78. package/dist/telemetry/metrics.js.map +1 -1
  79. package/dist/telemetry/otel-sdk.d.ts +1 -1
  80. package/dist/telemetry/otel-sdk.js +1 -1
  81. package/dist/telemetry/spans/gen-ai.d.ts +4 -0
  82. package/dist/telemetry/spans/gen-ai.d.ts.map +1 -1
  83. package/dist/telemetry/spans/gen-ai.js +9 -0
  84. package/dist/telemetry/spans/gen-ai.js.map +1 -1
  85. package/dist/telemetry/spans/redact-pii.d.ts.map +1 -1
  86. package/dist/telemetry/spans/redact-pii.js +4 -1
  87. package/dist/telemetry/spans/redact-pii.js.map +1 -1
  88. package/dist/telemetry/spans/span-hooks.d.ts +7 -0
  89. package/dist/telemetry/spans/span-hooks.d.ts.map +1 -1
  90. package/dist/telemetry/spans/span-hooks.js +179 -24
  91. package/dist/telemetry/spans/span-hooks.js.map +1 -1
  92. package/dist/telemetry/tool-plane.d.ts +31 -0
  93. package/dist/telemetry/tool-plane.d.ts.map +1 -0
  94. package/dist/telemetry/tool-plane.js +70 -0
  95. package/dist/telemetry/tool-plane.js.map +1 -0
  96. package/dist/telemetry/trace-identity.d.ts.map +1 -1
  97. package/dist/telemetry/trace-identity.js +3 -0
  98. package/dist/telemetry/trace-identity.js.map +1 -1
  99. package/dist/types/dsl/index.d.ts +6 -0
  100. package/dist/types/dsl/index.d.ts.map +1 -1
  101. package/dist/utils/event-catalog.d.ts +237 -0
  102. package/dist/utils/event-catalog.d.ts.map +1 -1
  103. package/dist/utils/event-catalog.js +51 -0
  104. package/dist/utils/event-catalog.js.map +1 -1
  105. package/dist/utils/logger.d.ts +5 -0
  106. package/dist/utils/logger.d.ts.map +1 -1
  107. package/dist/utils/logger.js +18 -8
  108. package/dist/utils/logger.js.map +1 -1
  109. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"action-events.d.ts","sourceRoot":"","sources":["../../src/actions/action-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAsD,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAmD,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAIlG,iGAAiG;AACjG,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,cAAc,CAAC,OAAO,UAAU,CAAC,WAAW,GAAG,OAAO,UAAU,CAAC,WAAW,GAAG,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CA2CtH;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,8HAA8H;AAC9H,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sGAAsG;IACtG,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CAa5F;AAwBD,gGAAgG;AAChG,wBAAgB,eAAe,CAC7B,WAAW,EAAE,UAAU,EACvB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAEN;AAED,6CAA6C;AAC7C,wBAAgB,eAAe,CAC7B,WAAW,EAAE,UAAU,EACvB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAEN;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,WAAW,EAAE,UAAU,EACvB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAEN;AAED,uGAAuG;AACvG,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,IAAI,CAiBN"}
1
+ {"version":3,"file":"action-events.d.ts","sourceRoot":"","sources":["../../src/actions/action-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAsD,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAmD,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAKlG,iGAAiG;AACjG,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,cAAc,CAAC,OAAO,UAAU,CAAC,WAAW,GAAG,OAAO,UAAU,CAAC,WAAW,GAAG,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CA2CtH;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,8HAA8H;AAC9H,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sGAAsG;IACtG,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CAa5F;AA+BD,gGAAgG;AAChG,wBAAgB,eAAe,CAC7B,WAAW,EAAE,UAAU,EACvB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAEN;AAED,6CAA6C;AAC7C,wBAAgB,eAAe,CAC7B,WAAW,EAAE,UAAU,EACvB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAEN;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,WAAW,EAAE,UAAU,EACvB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAEN;AAED,uGAAuG;AACvG,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,IAAI,CAmBN"}
@@ -3,6 +3,7 @@ import { EVENT_NAME, JOIN_ATTR, eventAttrs, fmtThousands } from '../utils/event-
3
3
  import { deriveActionResultEvents, emitEvent, emitEvents } from './event-derivation.js';
4
4
  import { str, num, bool } from '../telemetry/event-builders.js';
5
5
  import { positionRegistryKey } from '../runtime/position-id-registry.js';
6
+ import { recordOrder, recordDecision, recordSignalOutcome } from '../telemetry/metrics.js';
6
7
  const eventLog = createLogger('[senpi-core][action-events]');
7
8
  /**
8
9
  * Pure: the deterministic narrative + safe scalar attributes for an order event, from its `data`
@@ -93,6 +94,13 @@ function projectScannerSignals(scanResult) {
93
94
  */
94
95
  function emitOrderEvent(type, data) {
95
96
  emitEvent(eventLog, () => buildOrderEventDescriptor(type, data));
97
+ const outcome = type === 'order.placed' ? 'placed' : type === 'order.filled' ? 'filled' : 'failed';
98
+ recordOrder({
99
+ asset: str(data.asset),
100
+ outcome,
101
+ reason: outcome === 'failed' ? str(data.reason) : undefined,
102
+ errorType: outcome === 'failed' ? str(data.errorName) : undefined,
103
+ });
96
104
  }
97
105
  /** `order.placed` — an order was submitted / is resting. Reads only values already in scope. */
98
106
  export function emitOrderPlaced(_hookSystem, _event, _address, data) {
@@ -121,10 +129,36 @@ export function emitActionResultEvents(ctx, event, address, result, extras) {
121
129
  minConfidence: extras?.minConfidence ?? ctx.minConfidence ?? 1,
122
130
  runId: event.data.__scanRunId ?? null,
123
131
  };
124
- emitEvents(eventLog, () => deriveActionResultEvents({
125
- payload: { address, data, timestamp: new Date().toISOString() },
126
- nowMs: Date.now(),
127
- resolvePositionId: ctx.resolvePositionId,
128
- }));
132
+ emitEvents(eventLog, () => {
133
+ const events = deriveActionResultEvents({
134
+ payload: { address, data, timestamp: new Date().toISOString() },
135
+ nowMs: Date.now(),
136
+ resolvePositionId: ctx.resolvePositionId,
137
+ });
138
+ recordActionResultMetrics(events);
139
+ return events;
140
+ });
141
+ }
142
+ /**
143
+ * Metric plane for one action-result pass: the `decision.made` counter/duration and one `signal.outcome`
144
+ * count per evaluated signal — read straight off the derived event attributes so the metric and the
145
+ * event-log share their dimensions. Runs inside `emitEvents`' guard; recorders are themselves guarded.
146
+ */
147
+ function recordActionResultMetrics(events) {
148
+ for (const ev of events) {
149
+ if (ev.name === EVENT_NAME.decisionMade) {
150
+ const a = ev.attributes;
151
+ recordDecision({
152
+ mode: a?.['senpi.decision.mode'],
153
+ intent: a?.['senpi.decision.intent'],
154
+ byLlm: a?.['senpi.decision.by_llm'],
155
+ });
156
+ }
157
+ else if (ev.name === EVENT_NAME.signalOutcome) {
158
+ const a = ev.attributes;
159
+ if (a)
160
+ recordSignalOutcome({ result: a['senpi.outcome.result'], reasonCode: a['senpi.outcome.reason_code'] });
161
+ }
162
+ }
129
163
  }
130
164
  //# sourceMappingURL=action-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-events.js","sourceRoot":"","sources":["../../src/actions/action-events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAiB,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAuB,MAAM,uBAAuB,CAAC;AAE7G,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAA2B,MAAM,oCAAoC,CAAC;AAElG,MAAM,QAAQ,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAK7D;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAoB,EACpB,IAA6B;IAE7B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,UAAU,GAAG,UAAU,CAA0C;QACrE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QACtC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QAC9C,aAAa,EAAE,KAAK;QACpB,uBAAuB,EAAE,SAAS;QAClC,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACvC,kBAAkB,EAAE,IAAI;QACxB,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAChD,wBAAwB,EAAE,SAAS;QACnC,uBAAuB,EAAE,QAAQ;QACjC,gCAAgC,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC7D,oBAAoB,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,wBAAwB,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,GAAG,MAAM,GAAG,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC;IAC7G,CAAC;IACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,MAAM,EAAE,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;IAClH,CAAC;IACD,oGAAoG;IACpG,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,WAAW;QAC5B,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,iBAAiB,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtE,UAAU;QACV,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AA6BD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAgC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAC3C,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,iBAAiB,EAAE,QAAQ;YACzB,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,UAAU;YAC7F,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,SAAS,qBAAqB,CAAC,UAAkC;IAC/D,OAAO,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;KACb,CAAC,CAAC,IAAI,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAoB,EAAE,IAA6B;IACzE,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,eAAe,CAC7B,WAAuB,EACvB,MAAiB,EACjB,QAAgB,EAChB,IAA6B;IAE7B,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,eAAe,CAC7B,WAAuB,EACvB,MAAiB,EACjB,QAAgB,EAChB,IAA6B;IAE7B,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAC7B,WAAuB,EACvB,MAAiB,EACjB,QAAgB,EAChB,IAA6B;IAE7B,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAuB,EACvB,KAAgB,EAChB,OAAe,EACf,MAAoB,EACpB,MAA2B;IAE3B,MAAM,IAAI,GAA4B;QACpC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,MAAM;QACN,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,IAAI,IAAI;QAChD,cAAc,EAAE,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC;QACzD,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC;QAC9D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI;KACtC,CAAC;IAEF,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,CACxB,wBAAwB,CAAC;QACvB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QAC/D,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;QACjB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;KACzC,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"action-events.js","sourceRoot":"","sources":["../../src/actions/action-events.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,8 @@ export type EmittableEvent<N extends EventName = EventName> = N extends EventNam
26
26
  readonly body: string;
27
27
  readonly attributes?: AttrsFor<N>;
28
28
  readonly redact?: Record<string, string>;
29
+ /** A thrown value when this event is also a fault — folded onto the record as `exception.*`. */
30
+ readonly error?: unknown;
29
31
  } : never;
30
32
  /**
31
33
  * Build then emit a single {@link EmittableEvent} through a logger, with build + emit guarded as one
@@ -1 +1 @@
1
- {"version":3,"file":"event-derivation.d.ts","sourceRoot":"","sources":["../../src/actions/event-derivation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAmD,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3H,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAO3D;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,SAAS,GAC7E;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C,GACD,KAAK,CAAC;AAEV;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAalF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,cAAc,EAAE,GAAG,IAAI,CAYvF;AAED,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACjD;AAsFD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,cAAc,EAAE,CAqCxF"}
1
+ {"version":3,"file":"event-derivation.d.ts","sourceRoot":"","sources":["../../src/actions/event-derivation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAmD,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3H,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAO3D;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,SAAS,GAC7E;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gGAAgG;IAChG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,GACD,KAAK,CAAC;AAEV;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAclF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,cAAc,EAAE,GAAG,IAAI,CAavF;AAED,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACjD;AAsFD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,cAAc,EAAE,CAqCxF"}
@@ -28,6 +28,7 @@ export function emitEvent(logger, build) {
28
28
  body: ev.body,
29
29
  ...(ev.attributes ? { attributes: ev.attributes } : {}),
30
30
  ...(ev.redact ? { redact: ev.redact } : {}),
31
+ ...(ev.error !== undefined ? { error: ev.error } : {}),
31
32
  });
32
33
  }
33
34
  }
@@ -48,6 +49,7 @@ export function emitEvents(logger, build) {
48
49
  body: ev.body,
49
50
  ...(ev.attributes ? { attributes: ev.attributes } : {}),
50
51
  ...(ev.redact ? { redact: ev.redact } : {}),
52
+ ...(ev.error !== undefined ? { error: ev.error } : {}),
51
53
  });
52
54
  }
53
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"event-derivation.js","sourceRoot":"","sources":["../../src/actions/event-derivation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-derivation.js","sourceRoot":"","sources":["../../src/actions/event-derivation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"initial-state.d.ts","sourceRoot":"","sources":["../../../src/dsl/events/initial-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAYlC,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAIR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,uBAAuB,GACrC,QAAQ,CAoFV"}
1
+ {"version":3,"file":"initial-state.d.ts","sourceRoot":"","sources":["../../../src/dsl/events/initial-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAYlC,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAIR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,uBAAuB,GACrC,QAAQ,CAqFV"}
@@ -77,6 +77,7 @@ export function buildInitialState(event, preset, phase1Floor, triggerReason) {
77
77
  lastCheck: ts,
78
78
  lastPrice: entryPrice,
79
79
  consecutiveFetchFailures: 0,
80
+ priceFetchStaleEmitted: false,
80
81
  consecutiveCloseFailures: 0,
81
82
  slSyncFailureCount: 0,
82
83
  handoffStatus: null,
@@ -1 +1 @@
1
- {"version":3,"file":"initial-state.js","sourceRoot":"","sources":["../../../src/dsl/events/initial-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initial-state.js","sourceRoot":"","sources":["../../../src/dsl/events/initial-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Pure builders for the DSL exit-engine's failure-state events — degradation the monitor tracks but
3
+ * that previously surfaced only as a tick-span error or a `warn` log: an exchange SL push that threw
4
+ * ({@link buildSlSyncFailedEvent}), a position with no price past the stale threshold
5
+ * ({@link buildPriceFetchStaleEvent}), and a Phase-2 backend handoff that degraded
6
+ * ({@link buildHandoffFailedEvent}).
7
+ *
8
+ * Pure `(input) => EmittableEvent`; the monitor emits the result through `emitEvent`'s guard, so a
9
+ * throwing build or a telemetry failure can never disturb a tick. A thrown venue/backend error rides
10
+ * the event's `error` slot (exception semconv + `recordException` on the active span); an opaque
11
+ * declined-registration backend payload rides the `redact` slot. Identity (`senpi.strategy.*`) is
12
+ * stamped at emit time from the tick's async-context bag, as for the sibling `dsl.*` transition
13
+ * events, so it is not passed here.
14
+ */
15
+ import { EVENT_NAME } from "../../utils/event-catalog.js";
16
+ import type { EmittableEvent } from "../../actions/event-derivation.js";
17
+ /** The position the failed tick was managing — the id/asset/dex every DSL failure event carries. */
18
+ export interface DslFailureContext {
19
+ asset: string;
20
+ /** Venue/dex; omitted → not stamped (a single-venue position). */
21
+ dex?: string;
22
+ /** The cross-flow position id (`positionId ?? correlationId`); absent on a pre-id position. */
23
+ positionId?: string;
24
+ }
25
+ /** Which handoff step degraded — the discriminator on a `dsl.handoff_failed` event. */
26
+ export type HandoffFailure = "register" | "rollback" | "poll";
27
+ /** An exchange SL create/update (`editPosition`) threw — the stop the venue never received. */
28
+ export declare function buildSlSyncFailedEvent(ctx: DslFailureContext, failureCount: number, error: unknown): EmittableEvent<typeof EVENT_NAME.dslSlSyncFailed>;
29
+ /** No market price for `failureCount` consecutive ticks — the position can't be evaluated. */
30
+ export declare function buildPriceFetchStaleEvent(ctx: DslFailureContext, failureCount: number): EmittableEvent<typeof EVENT_NAME.dslPriceFetchStale>;
31
+ /**
32
+ * A Phase-2 backend handoff degraded. `register` left the handoff stuck pending (the backend declined
33
+ * or threw — a throw rides `error`); `rollback` reverted to local Phase 2 management (the backend lost
34
+ * our stop); `poll` failed to reach the backend while it owns the stop (rides `error`).
35
+ */
36
+ export declare function buildHandoffFailedEvent(ctx: DslFailureContext, opts: {
37
+ failure: HandoffFailure;
38
+ backendPositionId?: string;
39
+ error?: unknown;
40
+ redact?: Record<string, string>;
41
+ }): EmittableEvent<typeof EVENT_NAME.dslHandoffFailed>;
42
+ //# sourceMappingURL=dsl-failure-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsl-failure-events.d.ts","sourceRoot":"","sources":["../../../src/dsl/monitor/dsl-failure-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAA6B,MAAM,8BAA8B,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,oGAAoG;AACpG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAe9D,+FAA+F;AAC/F,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,iBAAiB,EACtB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,GACb,cAAc,CAAC,OAAO,UAAU,CAAC,eAAe,CAAC,CAWnD;AAED,8FAA8F;AAC9F,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,iBAAiB,EACtB,YAAY,EAAE,MAAM,GACnB,cAAc,CAAC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAUtD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE;IACJ,OAAO,EAAE,cAAc,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,GACA,cAAc,CAAC,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAmBpD"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Pure builders for the DSL exit-engine's failure-state events — degradation the monitor tracks but
3
+ * that previously surfaced only as a tick-span error or a `warn` log: an exchange SL push that threw
4
+ * ({@link buildSlSyncFailedEvent}), a position with no price past the stale threshold
5
+ * ({@link buildPriceFetchStaleEvent}), and a Phase-2 backend handoff that degraded
6
+ * ({@link buildHandoffFailedEvent}).
7
+ *
8
+ * Pure `(input) => EmittableEvent`; the monitor emits the result through `emitEvent`'s guard, so a
9
+ * throwing build or a telemetry failure can never disturb a tick. A thrown venue/backend error rides
10
+ * the event's `error` slot (exception semconv + `recordException` on the active span); an opaque
11
+ * declined-registration backend payload rides the `redact` slot. Identity (`senpi.strategy.*`) is
12
+ * stamped at emit time from the tick's async-context bag, as for the sibling `dsl.*` transition
13
+ * events, so it is not passed here.
14
+ */
15
+ import { EVENT_NAME, eventAttrs } from "../../utils/event-catalog.js";
16
+ /** The id/asset/dex attributes every DSL failure event carries. */
17
+ function baseAttrs(ctx) {
18
+ return {
19
+ "senpi.asset": ctx.asset,
20
+ "senpi.dex": ctx.dex || undefined,
21
+ "senpi.position.id": ctx.positionId,
22
+ };
23
+ }
24
+ /** An exchange SL create/update (`editPosition`) threw — the stop the venue never received. */
25
+ export function buildSlSyncFailedEvent(ctx, failureCount, error) {
26
+ return {
27
+ name: EVENT_NAME.dslSlSyncFailed,
28
+ level: "warn",
29
+ body: `Exchange SL sync failed for ${ctx.asset} (${failureCount} consecutive)`,
30
+ attributes: eventAttrs({
31
+ ...baseAttrs(ctx),
32
+ "senpi.dsl.sl_sync_failure_count": failureCount,
33
+ }),
34
+ error,
35
+ };
36
+ }
37
+ /** No market price for `failureCount` consecutive ticks — the position can't be evaluated. */
38
+ export function buildPriceFetchStaleEvent(ctx, failureCount) {
39
+ return {
40
+ name: EVENT_NAME.dslPriceFetchStale,
41
+ level: "warn",
42
+ body: `Sustained price-fetch failures for ${ctx.asset} (${failureCount} consecutive)`,
43
+ attributes: eventAttrs({
44
+ ...baseAttrs(ctx),
45
+ "senpi.dsl.fetch_failure_count": failureCount,
46
+ }),
47
+ };
48
+ }
49
+ /**
50
+ * A Phase-2 backend handoff degraded. `register` left the handoff stuck pending (the backend declined
51
+ * or threw — a throw rides `error`); `rollback` reverted to local Phase 2 management (the backend lost
52
+ * our stop); `poll` failed to reach the backend while it owns the stop (rides `error`).
53
+ */
54
+ export function buildHandoffFailedEvent(ctx, opts) {
55
+ const body = opts.failure === "rollback"
56
+ ? `Backend handoff lost for ${ctx.asset}, reverting to local Phase 2`
57
+ : opts.failure === "poll"
58
+ ? `Backend handoff poll failed for ${ctx.asset}`
59
+ : `Backend handoff registration failed for ${ctx.asset} (staying pending)`;
60
+ return {
61
+ name: EVENT_NAME.dslHandoffFailed,
62
+ level: "warn",
63
+ body,
64
+ attributes: eventAttrs({
65
+ ...baseAttrs(ctx),
66
+ "senpi.dsl.handoff_failure": opts.failure,
67
+ "senpi.dsl.backend_position_id": opts.backendPositionId,
68
+ }),
69
+ ...(opts.redact ? { redact: opts.redact } : {}),
70
+ ...(opts.error !== undefined ? { error: opts.error } : {}),
71
+ };
72
+ }
73
+ //# sourceMappingURL=dsl-failure-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsl-failure-events.js","sourceRoot":"","sources":["../../../src/dsl/monitor/dsl-failure-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,8BAA8B,CAAC;AAerF,mEAAmE;AACnE,SAAS,SAAS,CAAC,GAAsB;IAKvC,OAAO;QACL,aAAa,EAAE,GAAG,CAAC,KAAK;QACxB,WAAW,EAAE,GAAG,CAAC,GAAG,IAAI,SAAS;QACjC,mBAAmB,EAAE,GAAG,CAAC,UAAU;KACpC,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,sBAAsB,CACpC,GAAsB,EACtB,YAAoB,EACpB,KAAc;IAEd,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,eAAe;QAChC,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,+BAA+B,GAAG,CAAC,KAAK,KAAK,YAAY,eAAe;QAC9E,UAAU,EAAE,UAAU,CAA8C;YAClE,GAAG,SAAS,CAAC,GAAG,CAAC;YACjB,iCAAiC,EAAE,YAAY;SAChD,CAAC;QACF,KAAK;KACN,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,yBAAyB,CACvC,GAAsB,EACtB,YAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,kBAAkB;QACnC,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,sCAAsC,GAAG,CAAC,KAAK,KAAK,YAAY,eAAe;QACrF,UAAU,EAAE,UAAU,CAAiD;YACrE,GAAG,SAAS,CAAC,GAAG,CAAC;YACjB,+BAA+B,EAAE,YAAY;SAC9C,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAsB,EACtB,IAKC;IAED,MAAM,IAAI,GACR,IAAI,CAAC,OAAO,KAAK,UAAU;QACzB,CAAC,CAAC,4BAA4B,GAAG,CAAC,KAAK,8BAA8B;QACrE,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM;YACvB,CAAC,CAAC,mCAAmC,GAAG,CAAC,KAAK,EAAE;YAChD,CAAC,CAAC,2CAA2C,GAAG,CAAC,KAAK,oBAAoB,CAAC;IACjF,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,gBAAgB;QACjC,KAAK,EAAE,MAAM;QACb,IAAI;QACJ,UAAU,EAAE,UAAU,CAA+C;YACnE,GAAG,SAAS,CAAC,GAAG,CAAC;YACjB,2BAA2B,EAAE,IAAI,CAAC,OAAO;YACzC,+BAA+B,EAAE,IAAI,CAAC,iBAAiB;SACxD,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"process-one-position.d.ts","sourceRoot":"","sources":["../../../src/dsl/monitor/process-one-position.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAiBzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA+E/C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,GAAG,EAAE,aAAa,CAAC;IACnB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,sBAAsB,EAAE,cAAc,CAAC;IAC/D,oDAAoD;IACpD,wBAAwB,CAAC,EAAE,OAAO,sBAAsB,EAAE,wBAAwB,CAAC;CACpF;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,qBAAqB,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,IAAI,CAAC,CA6uBf"}
1
+ {"version":3,"file":"process-one-position.d.ts","sourceRoot":"","sources":["../../../src/dsl/monitor/process-one-position.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAmBzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA+F/C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,GAAG,EAAE,aAAa,CAAC;IACnB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,sBAAsB,EAAE,cAAc,CAAC;IAC/D,oDAAoD;IACpD,wBAAwB,CAAC,EAAE,OAAO,sBAAsB,EAAE,wBAAwB,CAAC;CACpF;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,qBAAqB,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,IAAI,CAAC,CAkvBf"}
@@ -6,12 +6,16 @@ import { CLOSE_REASON, MAX_CONSECUTIVE_CLOSE_FAILURES, DSL_EXTERNAL_RETRIES, DSL
6
6
  import { logger } from "../../utils/logger/dsl.js";
7
7
  import { withRetry } from "../../utils/retry.js";
8
8
  import { withSpan } from "../../telemetry/tracing.js";
9
+ import { errorTypeOf } from "../../telemetry/spans/gen-ai.js";
10
+ import { recordDslDegradation } from "../../telemetry/metrics.js";
9
11
  import { effectiveDex } from "./effective-dex.js";
10
12
  import { shouldSyncExchangeSl } from "./exchange-sync.js";
11
13
  import { mapTiersToEngineConfig, mapEnginePositionToStateFields, parseSlOrderId } from "../engine-client/config-mapping.js";
12
14
  import { mapBackendEventToBusEvent } from "../engine-client/event-mapping.js";
13
15
  import { buildDslClosedEventFromState } from "../events/build-closed-event.js";
14
16
  import { parseCloseFillDetail } from "../../senpi/client.js";
17
+ import { emitEvent } from "../../actions/event-derivation.js";
18
+ import { buildSlSyncFailedEvent, buildPriceFetchStaleEvent, buildHandoffFailedEvent, } from "./dsl-failure-events.js";
15
19
  /**
16
20
  * Re-read the key under its per-key lock; if it is still active, archive it and return true.
17
21
  * If a competing locked writer already archived/inactivated it, skip and return false (WARN).
@@ -64,6 +68,14 @@ function closedEmitStamps(state, fill = {}) {
64
68
  ...fill,
65
69
  };
66
70
  }
71
+ /** The position identity a DSL failure event pins onto its record. */
72
+ function failureContext(state) {
73
+ return {
74
+ asset: state.asset,
75
+ dex: state.dex || undefined,
76
+ positionId: state.positionId ?? state.correlationId,
77
+ };
78
+ }
67
79
  export async function processOnePosition(ctx, key, state, price, span) {
68
80
  const { tickId, ts, now: isoNow, stateManager, strategyStates, bus, isSlPlacementInProgress = () => false } = ctx;
69
81
  const strategy = strategyStates.get(state.address);
@@ -225,18 +237,23 @@ export async function processOnePosition(ctx, key, state, price, span) {
225
237
  if (price == null) {
226
238
  const next = { ...state, consecutiveFetchFailures: (state.consecutiveFetchFailures ?? 0) + 1 };
227
239
  next.tickCount = (state.tickCount ?? 0) + 1;
240
+ // Edge-triggered: fire once when the streak first reaches the stale threshold (the alertable
241
+ // transition); the per-tick info line below covers ongoing visibility. A `>=` test (not `===`)
242
+ // latched on the state so a counter rehydrated at/above the threshold mid-stall (post-restart)
243
+ // still fires once; the priced-tick re-arm below clears the latch for the next stall.
244
+ const shouldEmitStale = next.consecutiveFetchFailures >= DSL_PRICE_FETCH_FAILURE_WARN_THRESHOLD &&
245
+ !state.priceFetchStaleEmitted;
246
+ if (shouldEmitStale)
247
+ next.priceFetchStaleEmitted = true;
228
248
  await setIfStillActive(stateManager, key, state.address, state.asset, (current) => ({
229
249
  ...current,
230
250
  consecutiveFetchFailures: (current.consecutiveFetchFailures ?? 0) + 1,
231
251
  tickCount: (current.tickCount ?? 0) + 1,
252
+ ...(shouldEmitStale ? { priceFetchStaleEmitted: true } : {}),
232
253
  }), { tickId, skipMessage: "[dsl] skip no-price counter write: state already cleared (concurrent close)" });
233
- if (next.consecutiveFetchFailures >= DSL_PRICE_FETCH_FAILURE_WARN_THRESHOLD) {
234
- logger.warn("[dsl] sustained price fetch failures for position", {
235
- tickId,
236
- key,
237
- asset: state.asset,
238
- consecutiveFetchFailures: next.consecutiveFetchFailures,
239
- });
254
+ if (shouldEmitStale) {
255
+ emitEvent(logger, () => buildPriceFetchStaleEvent(failureContext(state), next.consecutiveFetchFailures));
256
+ recordDslDegradation({ failure: "price_stale" });
240
257
  }
241
258
  logger.info("[dsl] monitor no price for position, skipping dslTick", {
242
259
  tickId,
@@ -268,6 +285,8 @@ export async function processOnePosition(ctx, key, state, price, span) {
268
285
  }
269
286
  const next = { ...result.state };
270
287
  next.consecutiveFetchFailures = 0;
288
+ // Re-arm the stale-event latch: the price is back, so the next stall fires a fresh event.
289
+ next.priceFetchStaleEmitted = false;
271
290
  next.tickCount = (state.tickCount ?? 0) + 1;
272
291
  next.lastError = null;
273
292
  next.lastErrorAt = null;
@@ -604,14 +623,8 @@ export async function processOnePosition(ctx, key, state, price, span) {
604
623
  }, { tickId, skipMessage: "[dsl] skip SL sync-failure write: state no longer active (concurrent close)" });
605
624
  if (syncFailureCount == null)
606
625
  return;
607
- logger.warn("[dsl] editPosition (SL update) failed", {
608
- tickId,
609
- asset: state.asset,
610
- exchangeTriggerPx,
611
- dslEffectiveFloor,
612
- slSyncFailureCount: syncFailureCount,
613
- err: e,
614
- });
626
+ emitEvent(logger, () => buildSlSyncFailedEvent(failureContext(state), syncFailureCount ?? 0, e));
627
+ recordDslDegradation({ failure: "sl_sync", errorType: errorTypeOf(e) });
615
628
  }
616
629
  }
617
630
  const hbState = await stateManager.getOrLoad(key);
@@ -775,19 +788,16 @@ async function attemptHandoffRegistration(ctx, key, next, _original, strategy) {
775
788
  });
776
789
  }
777
790
  else {
778
- logger.warn("[dsl] addDslPosition returned success=false, staying pending", {
779
- tickId,
780
- asset: next.asset,
781
- rawResult: JSON.stringify(result).slice(0, 800),
782
- });
791
+ emitEvent(logger, () => buildHandoffFailedEvent(failureContext(next), {
792
+ failure: "register",
793
+ redact: { result: JSON.stringify(result).slice(0, 800) },
794
+ }));
795
+ recordDslDegradation({ failure: "handoff", handoffFailure: "register" });
783
796
  }
784
797
  }
785
798
  catch (e) {
786
- logger.warn("[dsl] addDslPosition failed, staying pending (will retry next tick)", {
787
- tickId,
788
- asset: next.asset,
789
- err: e,
790
- });
799
+ emitEvent(logger, () => buildHandoffFailedEvent(failureContext(next), { failure: "register", error: e }));
800
+ recordDslDegradation({ failure: "handoff", handoffFailure: "register", errorType: errorTypeOf(e) });
791
801
  }
792
802
  }
793
803
  async function handleHandoffOk(ctx, key, next, original, strategy, span) {
@@ -809,13 +819,11 @@ async function handleHandoffOk(ctx, key, next, original, strategy, span) {
809
819
  ? positions.filter((p) => !BACKEND_TERMINAL_STATUSES.has(p.status))[0]
810
820
  : null;
811
821
  if (!backendPos) {
812
- logger.warn("[dsl] handoff ok but matching backend position not found, reverting to local Phase 2", {
813
- tickId,
814
- key,
815
- asset: original.asset,
816
- backendDslPositionId: next.backendDslPositionId,
817
- returnedIds: positions.map((p) => p.id),
818
- });
822
+ emitEvent(logger, () => buildHandoffFailedEvent(failureContext(original), {
823
+ failure: "rollback",
824
+ backendPositionId: next.backendDslPositionId ?? undefined,
825
+ }));
826
+ recordDslDegradation({ failure: "handoff", handoffFailure: "rollback" });
819
827
  const rolledBack = {
820
828
  ...updated,
821
829
  handoffStatus: null,
@@ -866,11 +874,12 @@ async function handleHandoffOk(ctx, key, next, original, strategy, span) {
866
874
  }
867
875
  }
868
876
  catch (e) {
869
- logger.warn("[dsl] queryPositions failed during handoff poll", {
870
- tickId,
871
- asset: original.asset,
872
- err: e,
873
- });
877
+ emitEvent(logger, () => buildHandoffFailedEvent(failureContext(original), {
878
+ failure: "poll",
879
+ backendPositionId: next.backendDslPositionId ?? undefined,
880
+ error: e,
881
+ }));
882
+ recordDslDegradation({ failure: "handoff", handoffFailure: "poll", errorType: errorTypeOf(e) });
874
883
  }
875
884
  try {
876
885
  // ASC ordering is required: the cursor advances to the LAST element of the array