@senpi/runtime 3.0.6-dev.runtime-phase-2.20260630134410 → 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.
- package/dist/actions/{tracking-helpers.d.ts → action-events.d.ts} +24 -23
- package/dist/actions/action-events.d.ts.map +1 -0
- package/dist/actions/{tracking-helpers.js → action-events.js} +64 -82
- package/dist/actions/action-events.js.map +1 -0
- package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +8 -17
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/event-derivation.d.ts +7 -6
- package/dist/actions/event-derivation.d.ts.map +1 -1
- package/dist/actions/event-derivation.js +6 -5
- package/dist/actions/event-derivation.js.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.js +5 -5
- package/dist/actions/llm-decision/openclaw-llm-decision.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +9 -17
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.js +1 -2
- package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
- package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
- package/dist/dsl/engine-client/event-mapping.js +0 -3
- package/dist/dsl/engine-client/event-mapping.js.map +1 -1
- package/dist/dsl/events/build-closed-event.d.ts.map +1 -1
- package/dist/dsl/events/build-closed-event.js +0 -1
- package/dist/dsl/events/build-closed-event.js.map +1 -1
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +2 -4
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/dsl/events/initial-state.d.ts.map +1 -1
- package/dist/dsl/events/initial-state.js +1 -0
- package/dist/dsl/events/initial-state.js.map +1 -1
- package/dist/dsl/monitor/create-monitor.d.ts +1 -1
- package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
- package/dist/dsl/monitor/create-monitor.js +0 -30
- package/dist/dsl/monitor/create-monitor.js.map +1 -1
- package/dist/dsl/monitor/dsl-failure-events.d.ts +42 -0
- package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -0
- package/dist/dsl/monitor/dsl-failure-events.js +73 -0
- package/dist/dsl/monitor/dsl-failure-events.js.map +1 -0
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +46 -158
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/dsl/plugin/index.js +3 -3
- package/dist/dsl/plugin/index.js.map +1 -1
- package/dist/dsl/plugin/options.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -58
- package/dist/index.js.map +1 -1
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts +2 -0
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts.map +1 -1
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js +24 -3
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js.map +1 -1
- package/dist/runtime/create-runtime-context.d.ts +1 -1
- package/dist/runtime/create-runtime-context.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.d.ts +1 -1
- package/dist/runtime/domain-events.d.ts +4 -4
- package/dist/runtime/domain-events.d.ts.map +1 -1
- package/dist/runtime/domain-events.js +4 -4
- package/dist/runtime/domain-events.js.map +1 -1
- package/dist/runtime/lifecycle-events.d.ts +46 -3
- package/dist/runtime/lifecycle-events.d.ts.map +1 -1
- package/dist/runtime/lifecycle-events.js +66 -5
- package/dist/runtime/lifecycle-events.js.map +1 -1
- package/dist/{tracking → runtime}/position-id-registry.d.ts +14 -1
- package/dist/runtime/position-id-registry.d.ts.map +1 -0
- package/dist/{tracking → runtime}/position-id-registry.js +20 -3
- package/dist/runtime/position-id-registry.js.map +1 -0
- package/dist/runtime/run.d.ts +2 -4
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runtime-schema.d.ts +156 -419
- package/dist/runtime/runtime-schema.d.ts.map +1 -1
- package/dist/runtime/runtime-schema.js +8 -28
- package/dist/runtime/runtime-schema.js.map +1 -1
- package/dist/runtime/runtime.d.ts +10 -9
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +116 -182
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.d.ts +3 -0
- package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js +27 -53
- package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
- package/dist/runtime-api/intake/intake-events.d.ts +44 -0
- package/dist/runtime-api/intake/intake-events.d.ts.map +1 -0
- package/dist/runtime-api/intake/intake-events.js +131 -0
- package/dist/runtime-api/intake/intake-events.js.map +1 -0
- package/dist/runtime-api/intake/scanner-launcher.d.ts +2 -0
- package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.js +58 -15
- package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
- package/dist/runtime-api/intake/supervisor-events.d.ts +61 -0
- package/dist/runtime-api/intake/supervisor-events.d.ts.map +1 -0
- package/dist/runtime-api/intake/supervisor-events.js +173 -0
- package/dist/runtime-api/intake/supervisor-events.js.map +1 -0
- package/dist/runtime-api/routes/signals.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.js +119 -27
- package/dist/runtime-api/routes/signals.js.map +1 -1
- package/dist/runtime-api/server.d.ts.map +1 -1
- package/dist/runtime-api/server.js +10 -1
- package/dist/runtime-api/server.js.map +1 -1
- package/dist/scanners/engine/data-providers.d.ts +1 -1
- package/dist/scanners/engine/engine.d.ts.map +1 -1
- package/dist/scanners/engine/engine.js +3 -0
- package/dist/scanners/engine/engine.js.map +1 -1
- package/dist/scanners/runtime-module.d.ts +1 -1
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +51 -6
- package/dist/senpi/client.js.map +1 -1
- package/dist/state/state-events.d.ts +13 -0
- package/dist/state/state-events.d.ts.map +1 -0
- package/dist/state/state-events.js +22 -0
- package/dist/state/state-events.js.map +1 -0
- package/dist/state/state-manager.d.ts.map +1 -1
- package/dist/state/state-manager.js +14 -1
- package/dist/state/state-manager.js.map +1 -1
- package/dist/telemetry/attributes.d.ts +13 -0
- package/dist/telemetry/attributes.d.ts.map +1 -0
- package/dist/telemetry/attributes.js +22 -0
- package/dist/telemetry/attributes.js.map +1 -0
- package/dist/{tracking → telemetry}/context.d.ts +6 -5
- package/dist/telemetry/context.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/context.js +4 -4
- package/dist/telemetry/context.js.map +1 -0
- package/dist/{recording/records.d.ts → telemetry/event-builders.d.ts} +138 -32
- package/dist/telemetry/event-builders.d.ts.map +1 -0
- package/dist/{recording/wiring/record-builders.js → telemetry/event-builders.js} +90 -39
- package/dist/telemetry/event-builders.js.map +1 -0
- package/dist/telemetry/identity.d.ts +72 -0
- package/dist/telemetry/identity.d.ts.map +1 -0
- package/dist/{recording/wiring → telemetry}/identity.js +6 -2
- package/dist/telemetry/identity.js.map +1 -0
- package/dist/telemetry/metrics.d.ts +137 -15
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +357 -74
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry/otel-sdk.d.ts +1 -1
- package/dist/telemetry/otel-sdk.js +1 -1
- package/dist/telemetry/spans/constants.d.ts.map +1 -0
- package/dist/telemetry/spans/constants.js.map +1 -0
- package/dist/{tracking → telemetry}/spans/gen-ai.d.ts +4 -0
- package/dist/telemetry/spans/gen-ai.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/spans/gen-ai.js +9 -0
- package/dist/telemetry/spans/gen-ai.js.map +1 -0
- package/dist/telemetry/spans/index.d.ts.map +1 -0
- package/dist/telemetry/spans/index.js.map +1 -0
- package/dist/telemetry/spans/redact-pii.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/spans/redact-pii.js +4 -1
- package/dist/telemetry/spans/redact-pii.js.map +1 -0
- package/dist/telemetry/spans/sanitize-payload.d.ts.map +1 -0
- package/dist/telemetry/spans/sanitize-payload.js.map +1 -0
- package/dist/telemetry/spans/span-hooks.d.ts +18 -0
- package/dist/telemetry/spans/span-hooks.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/spans/span-hooks.js +183 -28
- package/dist/telemetry/spans/span-hooks.js.map +1 -0
- package/dist/telemetry/tool-plane.d.ts +31 -0
- package/dist/telemetry/tool-plane.d.ts.map +1 -0
- package/dist/telemetry/tool-plane.js +70 -0
- package/dist/telemetry/tool-plane.js.map +1 -0
- package/dist/telemetry/trace-identity.d.ts +1 -1
- package/dist/telemetry/trace-identity.d.ts.map +1 -1
- package/dist/telemetry/trace-identity.js +3 -0
- package/dist/telemetry/trace-identity.js.map +1 -1
- package/dist/types/dsl/index.d.ts +8 -9
- package/dist/types/dsl/index.d.ts.map +1 -1
- package/dist/types/runtime.d.ts +1 -1
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/utils/event-catalog.d.ts +239 -2
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +53 -2
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/utils/logger.d.ts +5 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +21 -12
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
- package/dist/actions/tracking-helpers.d.ts.map +0 -1
- package/dist/actions/tracking-helpers.js.map +0 -1
- package/dist/recording/emitter.d.ts +0 -27
- package/dist/recording/emitter.d.ts.map +0 -1
- package/dist/recording/emitter.js +0 -2
- package/dist/recording/emitter.js.map +0 -1
- package/dist/recording/identity.d.ts +0 -34
- package/dist/recording/identity.d.ts.map +0 -1
- package/dist/recording/identity.js +0 -2
- package/dist/recording/identity.js.map +0 -1
- package/dist/recording/index.d.ts +0 -11
- package/dist/recording/index.d.ts.map +0 -1
- package/dist/recording/index.js +0 -2
- package/dist/recording/index.js.map +0 -1
- package/dist/recording/noop-emitter.d.ts +0 -23
- package/dist/recording/noop-emitter.d.ts.map +0 -1
- package/dist/recording/noop-emitter.js +0 -22
- package/dist/recording/noop-emitter.js.map +0 -1
- package/dist/recording/otel/attributes.d.ts +0 -37
- package/dist/recording/otel/attributes.d.ts.map +0 -1
- package/dist/recording/otel/attributes.js +0 -131
- package/dist/recording/otel/attributes.js.map +0 -1
- package/dist/recording/otel/constants.d.ts +0 -123
- package/dist/recording/otel/constants.d.ts.map +0 -1
- package/dist/recording/otel/constants.js +0 -172
- package/dist/recording/otel/constants.js.map +0 -1
- package/dist/recording/otel/ids.d.ts +0 -25
- package/dist/recording/otel/ids.d.ts.map +0 -1
- package/dist/recording/otel/ids.js +0 -37
- package/dist/recording/otel/ids.js.map +0 -1
- package/dist/recording/otel/index.d.ts +0 -13
- package/dist/recording/otel/index.d.ts.map +0 -1
- package/dist/recording/otel/index.js +0 -9
- package/dist/recording/otel/index.js.map +0 -1
- package/dist/recording/otel/mappers.d.ts +0 -100
- package/dist/recording/otel/mappers.d.ts.map +0 -1
- package/dist/recording/otel/mappers.js +0 -684
- package/dist/recording/otel/mappers.js.map +0 -1
- package/dist/recording/otel/otel-emitter.d.ts +0 -43
- package/dist/recording/otel/otel-emitter.d.ts.map +0 -1
- package/dist/recording/otel/otel-emitter.js +0 -99
- package/dist/recording/otel/otel-emitter.js.map +0 -1
- package/dist/recording/otel/redaction.d.ts +0 -47
- package/dist/recording/otel/redaction.d.ts.map +0 -1
- package/dist/recording/otel/redaction.js +0 -88
- package/dist/recording/otel/redaction.js.map +0 -1
- package/dist/recording/records.d.ts.map +0 -1
- package/dist/recording/records.js +0 -14
- package/dist/recording/records.js.map +0 -1
- package/dist/recording/transport/batcher.d.ts +0 -59
- package/dist/recording/transport/batcher.d.ts.map +0 -1
- package/dist/recording/transport/batcher.js +0 -234
- package/dist/recording/transport/batcher.js.map +0 -1
- package/dist/recording/transport/client.d.ts +0 -41
- package/dist/recording/transport/client.d.ts.map +0 -1
- package/dist/recording/transport/client.js +0 -69
- package/dist/recording/transport/client.js.map +0 -1
- package/dist/recording/transport/config.d.ts +0 -53
- package/dist/recording/transport/config.d.ts.map +0 -1
- package/dist/recording/transport/config.js +0 -41
- package/dist/recording/transport/config.js.map +0 -1
- package/dist/recording/transport/index.d.ts +0 -16
- package/dist/recording/transport/index.d.ts.map +0 -1
- package/dist/recording/transport/index.js +0 -12
- package/dist/recording/transport/index.js.map +0 -1
- package/dist/recording/transport/rows.d.ts +0 -88
- package/dist/recording/transport/rows.d.ts.map +0 -1
- package/dist/recording/transport/rows.js +0 -15
- package/dist/recording/transport/rows.js.map +0 -1
- package/dist/recording/wiring/emitter-factory.d.ts +0 -34
- package/dist/recording/wiring/emitter-factory.d.ts.map +0 -1
- package/dist/recording/wiring/emitter-factory.js +0 -44
- package/dist/recording/wiring/emitter-factory.js.map +0 -1
- package/dist/recording/wiring/identity.d.ts +0 -27
- package/dist/recording/wiring/identity.d.ts.map +0 -1
- package/dist/recording/wiring/identity.js.map +0 -1
- package/dist/recording/wiring/index.d.ts +0 -12
- package/dist/recording/wiring/index.d.ts.map +0 -1
- package/dist/recording/wiring/index.js +0 -9
- package/dist/recording/wiring/index.js.map +0 -1
- package/dist/recording/wiring/record-builders.d.ts +0 -107
- package/dist/recording/wiring/record-builders.d.ts.map +0 -1
- package/dist/recording/wiring/record-builders.js.map +0 -1
- package/dist/recording/wiring/subscriber.d.ts +0 -28
- package/dist/recording/wiring/subscriber.d.ts.map +0 -1
- package/dist/recording/wiring/subscriber.js +0 -173
- package/dist/recording/wiring/subscriber.js.map +0 -1
- package/dist/recording/wiring/values.d.ts +0 -19
- package/dist/recording/wiring/values.d.ts.map +0 -1
- package/dist/recording/wiring/values.js +0 -49
- package/dist/recording/wiring/values.js.map +0 -1
- package/dist/tracking/build-rehydrate-items.d.ts +0 -15
- package/dist/tracking/build-rehydrate-items.d.ts.map +0 -1
- package/dist/tracking/build-rehydrate-items.js +0 -19
- package/dist/tracking/build-rehydrate-items.js.map +0 -1
- package/dist/tracking/constants.d.ts +0 -24
- package/dist/tracking/constants.d.ts.map +0 -1
- package/dist/tracking/constants.js +0 -52
- package/dist/tracking/constants.js.map +0 -1
- package/dist/tracking/context.d.ts.map +0 -1
- package/dist/tracking/context.js.map +0 -1
- package/dist/tracking/index.d.ts +0 -16
- package/dist/tracking/index.d.ts.map +0 -1
- package/dist/tracking/index.js +0 -11
- package/dist/tracking/index.js.map +0 -1
- package/dist/tracking/plugin-event-tracker.d.ts +0 -13
- package/dist/tracking/plugin-event-tracker.d.ts.map +0 -1
- package/dist/tracking/plugin-event-tracker.js +0 -27
- package/dist/tracking/plugin-event-tracker.js.map +0 -1
- package/dist/tracking/position-id-registry.d.ts.map +0 -1
- package/dist/tracking/position-id-registry.js.map +0 -1
- package/dist/tracking/spans/constants.d.ts.map +0 -1
- package/dist/tracking/spans/constants.js.map +0 -1
- package/dist/tracking/spans/gen-ai.d.ts.map +0 -1
- package/dist/tracking/spans/gen-ai.js.map +0 -1
- package/dist/tracking/spans/index.d.ts.map +0 -1
- package/dist/tracking/spans/index.js.map +0 -1
- package/dist/tracking/spans/redact-pii.d.ts.map +0 -1
- package/dist/tracking/spans/redact-pii.js.map +0 -1
- package/dist/tracking/spans/sanitize-payload.d.ts.map +0 -1
- package/dist/tracking/spans/sanitize-payload.js.map +0 -1
- package/dist/tracking/spans/span-hooks.d.ts +0 -11
- package/dist/tracking/spans/span-hooks.d.ts.map +0 -1
- package/dist/tracking/spans/span-hooks.js.map +0 -1
- package/dist/tracking/tracker.d.ts +0 -30
- package/dist/tracking/tracker.d.ts.map +0 -1
- package/dist/tracking/tracker.js +0 -66
- package/dist/tracking/tracker.js.map +0 -1
- package/dist/tracking/tracking-handler.d.ts +0 -12
- package/dist/tracking/tracking-handler.d.ts.map +0 -1
- package/dist/tracking/tracking-handler.js +0 -148
- package/dist/tracking/tracking-handler.js.map +0 -1
- package/dist/tracking/transport.d.ts +0 -35
- package/dist/tracking/transport.d.ts.map +0 -1
- package/dist/tracking/transport.js +0 -133
- package/dist/tracking/transport.js.map +0 -1
- package/dist/tracking/types.d.ts +0 -21
- package/dist/tracking/types.d.ts.map +0 -1
- package/dist/tracking/types.js +0 -6
- package/dist/tracking/types.js.map +0 -1
- /package/dist/{tracking → telemetry}/spans/constants.d.ts +0 -0
- /package/dist/{tracking → telemetry}/spans/constants.js +0 -0
- /package/dist/{tracking → telemetry}/spans/index.d.ts +0 -0
- /package/dist/{tracking → telemetry}/spans/index.js +0 -0
- /package/dist/{tracking → telemetry}/spans/redact-pii.d.ts +0 -0
- /package/dist/{tracking → telemetry}/spans/sanitize-payload.d.ts +0 -0
- /package/dist/{tracking → telemetry}/spans/sanitize-payload.js +0 -0
|
@@ -5,7 +5,7 @@ import type { SenpiClient } from "../../senpi/client.js";
|
|
|
5
5
|
import type { SenpiEventBus } from "../events/index.js";
|
|
6
6
|
import type { StrategyState } from "../../types/strategy.js";
|
|
7
7
|
import type { StateManager } from "../../state/index.js";
|
|
8
|
-
import type { IdentityEnvelope } from "../../
|
|
8
|
+
import type { IdentityEnvelope } from "../../telemetry/identity.js";
|
|
9
9
|
import type { PositionOpenedEvent } from "../../types/dsl/index.js";
|
|
10
10
|
export interface PriceMonitorOptions {
|
|
11
11
|
stateManager: StateManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-monitor.d.ts","sourceRoot":"","sources":["../../../src/dsl/monitor/create-monitor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAWpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAMpE,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,6FAA6F;IAC7F,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,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;IACnF;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE;QACjB,aAAa,CAAC,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,cAAc,CAAC,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACvD,CAAC;IACF,iGAAiG;IACjG,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,gGAAgG;IAChG,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,gBAAgB,CAAC;CACnC;AAMD,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,GAChD,MAAM,EAAE,CAIV;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG;IAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"create-monitor.d.ts","sourceRoot":"","sources":["../../../src/dsl/monitor/create-monitor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAWpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAMpE,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,6FAA6F;IAC7F,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,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;IACnF;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE;QACjB,aAAa,CAAC,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,cAAc,CAAC,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACvD,CAAC;IACF,iGAAiG;IACjG,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,gGAAgG;IAChG,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,gBAAgB,CAAC;CACnC;AAMD,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,GAChD,MAAM,EAAE,CAIV;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG;IAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAsP9F"}
|
|
@@ -166,7 +166,6 @@ export function createPriceMonitor(options) {
|
|
|
166
166
|
byDex: Object.fromEntries([...byDex].map(([d, arr]) => [d || "main", arr.map((p) => `${p.address}:${p.asset}`)])),
|
|
167
167
|
});
|
|
168
168
|
// Two fixed calls: main dex ("") and xyz ("xyz"). Omit assets to fetch all asset prices for each dex.
|
|
169
|
-
const pricesStartedAt = Date.now();
|
|
170
169
|
const pricesByDex = new Map();
|
|
171
170
|
const dexesToFetch = ["", "xyz"];
|
|
172
171
|
// Start the fetches inside the span so their HTTP client spans nest under dsl.prices.
|
|
@@ -190,7 +189,6 @@ export function createPriceMonitor(options) {
|
|
|
190
189
|
});
|
|
191
190
|
await Promise.all(dexFetchPromises);
|
|
192
191
|
});
|
|
193
|
-
const pricesEndedAt = Date.now();
|
|
194
192
|
const positionsToProcess = [...byDex.values()].flat();
|
|
195
193
|
const priceSampleForPositions = positionsToProcess.length > 0
|
|
196
194
|
? Object.fromEntries(positionsToProcess
|
|
@@ -228,26 +226,12 @@ export function createPriceMonitor(options) {
|
|
|
228
226
|
if (!state?.active)
|
|
229
227
|
return;
|
|
230
228
|
const price = marketPriceForAsset(pricesByDex.get(effectiveDex(state)), state.asset);
|
|
231
|
-
const positionStartedAt = Date.now();
|
|
232
229
|
await withSpan("dsl.position", {
|
|
233
230
|
"senpi.tick.id": tickId,
|
|
234
231
|
"senpi.position.id": String(state.positionId ?? state.correlationId),
|
|
235
232
|
"senpi.signal.asset": state.asset,
|
|
236
233
|
"senpi.signal.direction": state.direction,
|
|
237
234
|
}, (span) => processOnePosition(ctx, key, state, price, span));
|
|
238
|
-
// Telemetry-only fire-and-forget: this position's processing window for the dsl.position
|
|
239
|
-
// span. Positions run in parallel, so windows may overlap — that is the honest shape.
|
|
240
|
-
bus.emit("tracking.dsl_position", {
|
|
241
|
-
tickId,
|
|
242
|
-
key,
|
|
243
|
-
address,
|
|
244
|
-
asset: state.asset,
|
|
245
|
-
dex: effectiveDex(state),
|
|
246
|
-
positionId: state.positionId ?? state.correlationId,
|
|
247
|
-
startedAt: positionStartedAt,
|
|
248
|
-
endedAt: Date.now(),
|
|
249
|
-
timestamp: isoNow(),
|
|
250
|
-
});
|
|
251
235
|
});
|
|
252
236
|
await Promise.all(positionPromises);
|
|
253
237
|
});
|
|
@@ -260,20 +244,6 @@ export function createPriceMonitor(options) {
|
|
|
260
244
|
durationMs: tickDurationMs,
|
|
261
245
|
positionsProcessed: positionsToProcess.length,
|
|
262
246
|
});
|
|
263
|
-
// Telemetry-only fire-and-forget: the tick's work window for the dsl.tick root span. The
|
|
264
|
-
// early-return paths above (clearinghouse unavailable/failed) deliberately emit nothing —
|
|
265
|
-
// no work happened, and "didn't run" facts live in the logs.
|
|
266
|
-
bus.emit("tracking.dsl_tick", {
|
|
267
|
-
tickId,
|
|
268
|
-
startedAt: tickStartMs,
|
|
269
|
-
endedAt: Date.now(),
|
|
270
|
-
pricesStartedAt,
|
|
271
|
-
pricesEndedAt,
|
|
272
|
-
strategyCount: addresses.length,
|
|
273
|
-
activePositionCount: activePositions.length,
|
|
274
|
-
positionsProcessed: positionsToProcess.length,
|
|
275
|
-
timestamp: isoNow(),
|
|
276
|
-
});
|
|
277
247
|
}
|
|
278
248
|
return { tick };
|
|
279
249
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-monitor.js","sourceRoot":"","sources":["../../../src/dsl/monitor/create-monitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-monitor.js","sourceRoot":"","sources":["../../../src/dsl/monitor/create-monitor.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;
|
|
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).
|
|
@@ -61,10 +65,17 @@ async function setIfStillActive(stateManager, key, address, asset, buildNext, ct
|
|
|
61
65
|
function closedEmitStamps(state, fill = {}) {
|
|
62
66
|
return {
|
|
63
67
|
__positionId: state.positionId ?? state.correlationId,
|
|
64
|
-
__correlationId: state.correlationId,
|
|
65
68
|
...fill,
|
|
66
69
|
};
|
|
67
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
|
+
}
|
|
68
79
|
export async function processOnePosition(ctx, key, state, price, span) {
|
|
69
80
|
const { tickId, ts, now: isoNow, stateManager, strategyStates, bus, isSlPlacementInProgress = () => false } = ctx;
|
|
70
81
|
const strategy = strategyStates.get(state.address);
|
|
@@ -148,8 +159,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
148
159
|
reason: closeReasonToUse,
|
|
149
160
|
attempt: next.consecutiveCloseFailures,
|
|
150
161
|
});
|
|
151
|
-
const closeStartedAt = Date.now();
|
|
152
|
-
let closeAttemptEmitted = false;
|
|
153
162
|
try {
|
|
154
163
|
const closeResult = await withSpan("dsl.close_attempt", { "senpi.dsl.attempt": next.consecutiveCloseFailures }, () => withRetry(() => strategy.closePosition(state.asset, closeReasonToUse, state.dex || undefined, {
|
|
155
164
|
orderType: ctx.closeOrderType,
|
|
@@ -160,21 +169,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
160
169
|
label: "closePosition (pendingClose)",
|
|
161
170
|
onRetry: (attempt, remaining, err) => logger.warn("[dsl] closePosition retry", { asset: state.asset, attempt, remaining, err }),
|
|
162
171
|
}));
|
|
163
|
-
// Telemetry-only fire-and-forget: the venue-call window for the dsl.close_attempt span.
|
|
164
|
-
bus.emit("tracking.dsl_close_attempt", {
|
|
165
|
-
tickId,
|
|
166
|
-
key,
|
|
167
|
-
asset: state.asset,
|
|
168
|
-
dex,
|
|
169
|
-
positionId: state.positionId ?? state.correlationId,
|
|
170
|
-
startedAt: closeStartedAt,
|
|
171
|
-
endedAt: Date.now(),
|
|
172
|
-
outcome: "ok",
|
|
173
|
-
closeReason: closeReasonToUse,
|
|
174
|
-
attempt: next.consecutiveCloseFailures,
|
|
175
|
-
timestamp: isoNow(),
|
|
176
|
-
});
|
|
177
|
-
closeAttemptEmitted = true;
|
|
178
172
|
span.setAttribute("senpi.dsl.close_reason", closeReasonToUse);
|
|
179
173
|
const closeFill = parseCloseFillDetail(closeResult);
|
|
180
174
|
logger.info("[dsl] closePosition succeeded, archiving (pendingClose)", {
|
|
@@ -203,25 +197,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
203
197
|
}
|
|
204
198
|
catch (e) {
|
|
205
199
|
logger.warn("closePosition retry failed", { asset: state.asset, err: e });
|
|
206
|
-
// Telemetry-only fire-and-forget: the failed venue-call window (dsl.close_attempt, error).
|
|
207
|
-
// Guarded: when the ok emit already fired, the venue call itself succeeded — a later
|
|
208
|
-
// state-write throw must not be misattributed to the venue.
|
|
209
|
-
if (!closeAttemptEmitted) {
|
|
210
|
-
bus.emit("tracking.dsl_close_attempt", {
|
|
211
|
-
tickId,
|
|
212
|
-
key,
|
|
213
|
-
asset: state.asset,
|
|
214
|
-
dex,
|
|
215
|
-
positionId: state.positionId ?? state.correlationId,
|
|
216
|
-
startedAt: closeStartedAt,
|
|
217
|
-
endedAt: Date.now(),
|
|
218
|
-
outcome: "error",
|
|
219
|
-
closeReason: closeReasonToUse,
|
|
220
|
-
attempt: next.consecutiveCloseFailures,
|
|
221
|
-
error: String(e),
|
|
222
|
-
timestamp: isoNow(),
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
200
|
next.lastError = String(e);
|
|
226
201
|
next.lastErrorAt = ts;
|
|
227
202
|
const crossedThreshold = (next.consecutiveCloseFailures ?? 0) >= MAX_CONSECUTIVE_CLOSE_FAILURES;
|
|
@@ -253,7 +228,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
253
228
|
attempt: next.consecutiveCloseFailures,
|
|
254
229
|
triggerReason: state.triggerReason,
|
|
255
230
|
__positionId: state.positionId ?? state.correlationId,
|
|
256
|
-
__correlationId: state.correlationId,
|
|
257
231
|
timestamp: isoNow(),
|
|
258
232
|
});
|
|
259
233
|
}
|
|
@@ -263,18 +237,23 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
263
237
|
if (price == null) {
|
|
264
238
|
const next = { ...state, consecutiveFetchFailures: (state.consecutiveFetchFailures ?? 0) + 1 };
|
|
265
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;
|
|
266
248
|
await setIfStillActive(stateManager, key, state.address, state.asset, (current) => ({
|
|
267
249
|
...current,
|
|
268
250
|
consecutiveFetchFailures: (current.consecutiveFetchFailures ?? 0) + 1,
|
|
269
251
|
tickCount: (current.tickCount ?? 0) + 1,
|
|
252
|
+
...(shouldEmitStale ? { priceFetchStaleEmitted: true } : {}),
|
|
270
253
|
}), { tickId, skipMessage: "[dsl] skip no-price counter write: state already cleared (concurrent close)" });
|
|
271
|
-
if (
|
|
272
|
-
logger
|
|
273
|
-
|
|
274
|
-
key,
|
|
275
|
-
asset: state.asset,
|
|
276
|
-
consecutiveFetchFailures: next.consecutiveFetchFailures,
|
|
277
|
-
});
|
|
254
|
+
if (shouldEmitStale) {
|
|
255
|
+
emitEvent(logger, () => buildPriceFetchStaleEvent(failureContext(state), next.consecutiveFetchFailures));
|
|
256
|
+
recordDslDegradation({ failure: "price_stale" });
|
|
278
257
|
}
|
|
279
258
|
logger.info("[dsl] monitor no price for position, skipping dslTick", {
|
|
280
259
|
tickId,
|
|
@@ -306,6 +285,8 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
306
285
|
}
|
|
307
286
|
const next = { ...result.state };
|
|
308
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;
|
|
309
290
|
next.tickCount = (state.tickCount ?? 0) + 1;
|
|
310
291
|
next.lastError = null;
|
|
311
292
|
next.lastErrorAt = null;
|
|
@@ -381,8 +362,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
381
362
|
}
|
|
382
363
|
}
|
|
383
364
|
let closeFill = {};
|
|
384
|
-
const closeStartedAt = Date.now();
|
|
385
|
-
let closeAttemptEmitted = false;
|
|
386
365
|
try {
|
|
387
366
|
const closeResult = await withSpan("dsl.close_attempt", { "senpi.dsl.attempt": (next.consecutiveCloseFailures ?? 0) + 1 }, () => withRetry(() => strategy.closePosition(state.asset, closeReasonToUse, state.dex || undefined, {
|
|
388
367
|
orderType: ctx.closeOrderType,
|
|
@@ -393,22 +372,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
393
372
|
label: "closePosition (dsl breach/timeout)",
|
|
394
373
|
onRetry: (attempt, remaining, err) => logger.warn("[dsl] closePosition retry", { asset: state.asset, attempt, remaining, err }),
|
|
395
374
|
}));
|
|
396
|
-
// Telemetry-only fire-and-forget: the venue-call window for the dsl.close_attempt span.
|
|
397
|
-
// Emitted before any post-venue work (fill parsing) so its outcome reflects the venue call alone.
|
|
398
|
-
bus.emit("tracking.dsl_close_attempt", {
|
|
399
|
-
tickId,
|
|
400
|
-
key,
|
|
401
|
-
asset: state.asset,
|
|
402
|
-
dex,
|
|
403
|
-
positionId: state.positionId ?? state.correlationId,
|
|
404
|
-
startedAt: closeStartedAt,
|
|
405
|
-
endedAt: Date.now(),
|
|
406
|
-
outcome: "ok",
|
|
407
|
-
closeReason: closeReasonToUse,
|
|
408
|
-
attempt: (next.consecutiveCloseFailures ?? 0) + 1,
|
|
409
|
-
timestamp: isoNow(),
|
|
410
|
-
});
|
|
411
|
-
closeAttemptEmitted = true;
|
|
412
375
|
closeFill = parseCloseFillDetail(closeResult);
|
|
413
376
|
}
|
|
414
377
|
catch (e) {
|
|
@@ -422,25 +385,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
422
385
|
lastErrorAt: ts,
|
|
423
386
|
};
|
|
424
387
|
span.addEvent("pendingClose_set", { attempt: pending.consecutiveCloseFailures });
|
|
425
|
-
// Telemetry-only fire-and-forget: the failed venue-call window (dsl.close_attempt, error).
|
|
426
|
-
// Guarded: when the ok emit already fired, the venue call itself succeeded — a later
|
|
427
|
-
// post-venue throw must not be misattributed to the venue.
|
|
428
|
-
if (!closeAttemptEmitted) {
|
|
429
|
-
bus.emit("tracking.dsl_close_attempt", {
|
|
430
|
-
tickId,
|
|
431
|
-
key,
|
|
432
|
-
asset: state.asset,
|
|
433
|
-
dex,
|
|
434
|
-
positionId: state.positionId ?? state.correlationId,
|
|
435
|
-
startedAt: closeStartedAt,
|
|
436
|
-
endedAt: Date.now(),
|
|
437
|
-
outcome: "error",
|
|
438
|
-
closeReason: closeReasonToUse,
|
|
439
|
-
attempt: pending.consecutiveCloseFailures,
|
|
440
|
-
error: String(e),
|
|
441
|
-
timestamp: isoNow(),
|
|
442
|
-
});
|
|
443
|
-
}
|
|
444
388
|
if ((pending.consecutiveCloseFailures ?? 0) >= MAX_CONSECUTIVE_CLOSE_FAILURES) {
|
|
445
389
|
span.setAttribute("senpi.dsl.close_reason", CLOSE_REASON.CLOSE_POSITION_FAILED);
|
|
446
390
|
const failedCloseState = { ...pending, active: false, closedAt: isoNow(), closeReason: CLOSE_REASON.CLOSE_POSITION_FAILED };
|
|
@@ -470,7 +414,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
470
414
|
attempt: pending.consecutiveCloseFailures,
|
|
471
415
|
triggerReason: state.triggerReason,
|
|
472
416
|
__positionId: state.positionId ?? state.correlationId,
|
|
473
|
-
__correlationId: state.correlationId,
|
|
474
417
|
timestamp: isoNow(),
|
|
475
418
|
});
|
|
476
419
|
}
|
|
@@ -519,7 +462,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
519
462
|
newFloorPrice: dslEffectiveFloor,
|
|
520
463
|
triggerReason: next.triggerReason,
|
|
521
464
|
__positionId: next.positionId ?? next.correlationId,
|
|
522
|
-
__correlationId: next.correlationId,
|
|
523
465
|
timestamp: ts,
|
|
524
466
|
direction: next.direction,
|
|
525
467
|
entryPrice: next.entryPrice,
|
|
@@ -550,7 +492,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
550
492
|
tierIndex: result.newTierIndex ?? 0,
|
|
551
493
|
triggerReason: next.triggerReason,
|
|
552
494
|
__positionId: next.positionId ?? next.correlationId,
|
|
553
|
-
__correlationId: next.correlationId,
|
|
554
495
|
timestamp: ts,
|
|
555
496
|
});
|
|
556
497
|
}
|
|
@@ -616,8 +557,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
616
557
|
phaseChanged: result.phaseChanged,
|
|
617
558
|
prevSlOrderId: next.slOrderId,
|
|
618
559
|
});
|
|
619
|
-
const slSyncStartedAt = Date.now();
|
|
620
|
-
let slUpdateEmitted = false;
|
|
621
560
|
try {
|
|
622
561
|
const res = await withSpan("dsl.sl_update", {}, async (slSpan) => {
|
|
623
562
|
const r = await withRetry(() => strategy.editPosition({
|
|
@@ -634,26 +573,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
634
573
|
slSpan.setAttribute("senpi.order.id", String(r.slOrderId));
|
|
635
574
|
return r;
|
|
636
575
|
});
|
|
637
|
-
const slSyncEndedAt = Date.now();
|
|
638
|
-
// Telemetry-only fire-and-forget: the venue-call window for the dsl.sl_update span. Emitted
|
|
639
|
-
// immediately after the venue call resolves — before any state read/write — so it fires even
|
|
640
|
-
// when a concurrent close returns early below, and reports the venue's own answer
|
|
641
|
-
// (`res.slOrderId`), the honest venue-call fact.
|
|
642
|
-
bus.emit("tracking.dsl_sl_update", {
|
|
643
|
-
tickId,
|
|
644
|
-
key,
|
|
645
|
-
asset: state.asset,
|
|
646
|
-
dex,
|
|
647
|
-
positionId: state.positionId ?? state.correlationId,
|
|
648
|
-
startedAt: slSyncStartedAt,
|
|
649
|
-
endedAt: slSyncEndedAt,
|
|
650
|
-
outcome: "ok",
|
|
651
|
-
newSLPrice: exchangeTriggerPx,
|
|
652
|
-
slOrderId: res.slOrderId,
|
|
653
|
-
syncReason,
|
|
654
|
-
timestamp: isoNow(),
|
|
655
|
-
});
|
|
656
|
-
slUpdateEmitted = true;
|
|
657
576
|
let syncedForEmit = null;
|
|
658
577
|
await setIfStillActive(stateManager, key, state.address, state.asset, (current) => {
|
|
659
578
|
const synced = {
|
|
@@ -687,30 +606,10 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
687
606
|
slOrderId: synced.slOrderId ?? 0,
|
|
688
607
|
triggerReason: synced.triggerReason,
|
|
689
608
|
__positionId: synced.positionId ?? synced.correlationId,
|
|
690
|
-
__correlationId: synced.correlationId,
|
|
691
609
|
timestamp: ts,
|
|
692
610
|
});
|
|
693
611
|
}
|
|
694
612
|
catch (e) {
|
|
695
|
-
// Telemetry-only fire-and-forget: the failed venue-call window (dsl.sl_update, error).
|
|
696
|
-
// Guarded: when the ok emit already fired, the venue call itself succeeded — a later
|
|
697
|
-
// state-write throw must not be misattributed to the venue.
|
|
698
|
-
if (!slUpdateEmitted) {
|
|
699
|
-
bus.emit("tracking.dsl_sl_update", {
|
|
700
|
-
tickId,
|
|
701
|
-
key,
|
|
702
|
-
asset: state.asset,
|
|
703
|
-
dex,
|
|
704
|
-
positionId: state.positionId ?? state.correlationId,
|
|
705
|
-
startedAt: slSyncStartedAt,
|
|
706
|
-
endedAt: Date.now(),
|
|
707
|
-
outcome: "error",
|
|
708
|
-
newSLPrice: exchangeTriggerPx,
|
|
709
|
-
syncReason,
|
|
710
|
-
error: String(e),
|
|
711
|
-
timestamp: isoNow(),
|
|
712
|
-
});
|
|
713
|
-
}
|
|
714
613
|
let syncFailureCount = null;
|
|
715
614
|
await setIfStillActive(stateManager, key, state.address, state.asset, (current) => {
|
|
716
615
|
syncFailureCount = (current.slSyncFailureCount ?? 0) + 1;
|
|
@@ -724,14 +623,8 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
724
623
|
}, { tickId, skipMessage: "[dsl] skip SL sync-failure write: state no longer active (concurrent close)" });
|
|
725
624
|
if (syncFailureCount == null)
|
|
726
625
|
return;
|
|
727
|
-
logger
|
|
728
|
-
|
|
729
|
-
asset: state.asset,
|
|
730
|
-
exchangeTriggerPx,
|
|
731
|
-
dslEffectiveFloor,
|
|
732
|
-
slSyncFailureCount: syncFailureCount,
|
|
733
|
-
err: e,
|
|
734
|
-
});
|
|
626
|
+
emitEvent(logger, () => buildSlSyncFailedEvent(failureContext(state), syncFailureCount ?? 0, e));
|
|
627
|
+
recordDslDegradation({ failure: "sl_sync", errorType: errorTypeOf(e) });
|
|
735
628
|
}
|
|
736
629
|
}
|
|
737
630
|
const hbState = await stateManager.getOrLoad(key);
|
|
@@ -764,7 +657,6 @@ export async function processOnePosition(ctx, key, state, price, span) {
|
|
|
764
657
|
elapsedMinutes: hbState.elapsedMinutes,
|
|
765
658
|
triggerReason: hbState.triggerReason,
|
|
766
659
|
__positionId: hbState.positionId ?? hbState.correlationId,
|
|
767
|
-
__correlationId: hbState.correlationId,
|
|
768
660
|
margin: hbState.leverage > 0
|
|
769
661
|
? (hbState.size * hbState.entryPrice) / hbState.leverage
|
|
770
662
|
: 0,
|
|
@@ -896,19 +788,16 @@ async function attemptHandoffRegistration(ctx, key, next, _original, strategy) {
|
|
|
896
788
|
});
|
|
897
789
|
}
|
|
898
790
|
else {
|
|
899
|
-
logger
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
});
|
|
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" });
|
|
904
796
|
}
|
|
905
797
|
}
|
|
906
798
|
catch (e) {
|
|
907
|
-
logger
|
|
908
|
-
|
|
909
|
-
asset: next.asset,
|
|
910
|
-
err: e,
|
|
911
|
-
});
|
|
799
|
+
emitEvent(logger, () => buildHandoffFailedEvent(failureContext(next), { failure: "register", error: e }));
|
|
800
|
+
recordDslDegradation({ failure: "handoff", handoffFailure: "register", errorType: errorTypeOf(e) });
|
|
912
801
|
}
|
|
913
802
|
}
|
|
914
803
|
async function handleHandoffOk(ctx, key, next, original, strategy, span) {
|
|
@@ -930,13 +819,11 @@ async function handleHandoffOk(ctx, key, next, original, strategy, span) {
|
|
|
930
819
|
? positions.filter((p) => !BACKEND_TERMINAL_STATUSES.has(p.status))[0]
|
|
931
820
|
: null;
|
|
932
821
|
if (!backendPos) {
|
|
933
|
-
logger
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
returnedIds: positions.map((p) => p.id),
|
|
939
|
-
});
|
|
822
|
+
emitEvent(logger, () => buildHandoffFailedEvent(failureContext(original), {
|
|
823
|
+
failure: "rollback",
|
|
824
|
+
backendPositionId: next.backendDslPositionId ?? undefined,
|
|
825
|
+
}));
|
|
826
|
+
recordDslDegradation({ failure: "handoff", handoffFailure: "rollback" });
|
|
940
827
|
const rolledBack = {
|
|
941
828
|
...updated,
|
|
942
829
|
handoffStatus: null,
|
|
@@ -987,11 +874,12 @@ async function handleHandoffOk(ctx, key, next, original, strategy, span) {
|
|
|
987
874
|
}
|
|
988
875
|
}
|
|
989
876
|
catch (e) {
|
|
990
|
-
logger
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
});
|
|
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) });
|
|
995
883
|
}
|
|
996
884
|
try {
|
|
997
885
|
// ASC ordering is required: the cursor advances to the LAST element of the array
|