@senpi/runtime 1.1.0-dev.runtime-phase-2.20260612105612 → 1.1.0-dev.runtime-phase-2.20260617180011
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/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +55 -13
- package/dist/actions/close-position/close-position.action.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 +66 -15
- 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 +10 -1
- package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
- package/dist/actions/tracking-helpers.d.ts +16 -1
- package/dist/actions/tracking-helpers.d.ts.map +1 -1
- package/dist/actions/tracking-helpers.js +55 -9
- package/dist/actions/tracking-helpers.js.map +1 -1
- package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
- package/dist/dsl/monitor/create-monitor.js +30 -0
- package/dist/dsl/monitor/create-monitor.js.map +1 -1
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +114 -0
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/recording/emitter.d.ts +7 -1
- package/dist/recording/emitter.d.ts.map +1 -1
- package/dist/recording/index.d.ts +1 -1
- package/dist/recording/index.d.ts.map +1 -1
- package/dist/recording/index.js.map +1 -1
- package/dist/recording/noop-emitter.d.ts +6 -0
- package/dist/recording/noop-emitter.d.ts.map +1 -1
- package/dist/recording/noop-emitter.js +6 -0
- package/dist/recording/noop-emitter.js.map +1 -1
- package/dist/recording/otel/constants.d.ts +45 -3
- package/dist/recording/otel/constants.d.ts.map +1 -1
- package/dist/recording/otel/constants.js +79 -3
- package/dist/recording/otel/constants.js.map +1 -1
- package/dist/recording/otel/ids.d.ts +11 -0
- package/dist/recording/otel/ids.d.ts.map +1 -1
- package/dist/recording/otel/ids.js +26 -1
- package/dist/recording/otel/ids.js.map +1 -1
- package/dist/recording/otel/index.d.ts +1 -1
- package/dist/recording/otel/index.d.ts.map +1 -1
- package/dist/recording/otel/index.js +1 -1
- package/dist/recording/otel/index.js.map +1 -1
- package/dist/recording/otel/mappers.d.ts +60 -2
- package/dist/recording/otel/mappers.d.ts.map +1 -1
- package/dist/recording/otel/mappers.js +384 -43
- package/dist/recording/otel/mappers.js.map +1 -1
- package/dist/recording/otel/otel-emitter.d.ts +7 -1
- package/dist/recording/otel/otel-emitter.d.ts.map +1 -1
- package/dist/recording/otel/otel-emitter.js +26 -2
- package/dist/recording/otel/otel-emitter.js.map +1 -1
- package/dist/recording/otel/redaction.d.ts +22 -6
- package/dist/recording/otel/redaction.d.ts.map +1 -1
- package/dist/recording/otel/redaction.js +54 -6
- package/dist/recording/otel/redaction.js.map +1 -1
- package/dist/recording/records.d.ts +227 -3
- package/dist/recording/records.d.ts.map +1 -1
- package/dist/recording/wiring/record-builders.d.ts +59 -26
- package/dist/recording/wiring/record-builders.d.ts.map +1 -1
- package/dist/recording/wiring/record-builders.js +309 -61
- package/dist/recording/wiring/record-builders.js.map +1 -1
- package/dist/recording/wiring/subscriber.d.ts.map +1 -1
- package/dist/recording/wiring/subscriber.js +59 -57
- package/dist/recording/wiring/subscriber.js.map +1 -1
- package/dist/runtime/load-runtime-config.d.ts.map +1 -1
- package/dist/runtime/load-runtime-config.js +2 -3
- package/dist/runtime/load-runtime-config.js.map +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +7 -1
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/scanners/implementations/momentum.d.ts.map +1 -1
- package/dist/scanners/implementations/momentum.js +16 -0
- package/dist/scanners/implementations/momentum.js.map +1 -1
- package/dist/tracking/position-id-registry.d.ts +9 -0
- package/dist/tracking/position-id-registry.d.ts.map +1 -1
- package/dist/tracking/position-id-registry.js +10 -4
- package/dist/tracking/position-id-registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { AttrBuilder, durationNs, msToNs } from "./attributes.js";
|
|
10
10
|
import { EXCEPTION_EVENT_NAME, eventNameFor, ROUTING, severityFor, SPAN_NAME, TRACE_FLAGS_SAMPLED, } from "./constants.js";
|
|
11
|
-
import {
|
|
11
|
+
import { deterministicSpanId, deterministicTraceId } from "./ids.js";
|
|
12
|
+
import { redactBody, redactRuntimeError, redactRuntimeState, redactSignalEvaluated, } from "./redaction.js";
|
|
12
13
|
import { createLogger } from "../../utils/logger.js";
|
|
13
14
|
const logger = createLogger("[recording][otel][mapper]");
|
|
14
15
|
/**
|
|
@@ -62,14 +63,15 @@ function makeTraceRow(deps, f) {
|
|
|
62
63
|
};
|
|
63
64
|
}
|
|
64
65
|
/**
|
|
65
|
-
* Build the single log row for a record:
|
|
66
|
-
*
|
|
67
|
-
*
|
|
66
|
+
* Build the single log row for a record: severity/event-name are derived from the record and the
|
|
67
|
+
* caller supplies the timestamp (`occurredAt` for the point-in-time records, `endedAt` for the
|
|
68
|
+
* skipped scanner run), so each log mapper only adds its `Body` and flattened attrs. Each log gets
|
|
69
|
+
* fresh, self-rooted ids (minimal per-record correlation; cross-record threading is deferred).
|
|
68
70
|
*/
|
|
69
|
-
function logRowFor(deps, record, body, attrs) {
|
|
71
|
+
function logRowFor(deps, record, timestampMs, body, attrs) {
|
|
70
72
|
const severity = severityFor(record);
|
|
71
73
|
return {
|
|
72
|
-
Timestamp: msToNs(
|
|
74
|
+
Timestamp: msToNs(timestampMs),
|
|
73
75
|
TraceId: deps.ids.traceId(),
|
|
74
76
|
SpanId: deps.ids.spanId(),
|
|
75
77
|
TraceFlags: TRACE_FLAGS_SAMPLED,
|
|
@@ -85,6 +87,21 @@ function logRowFor(deps, record, body, attrs) {
|
|
|
85
87
|
address: deps.resource.address,
|
|
86
88
|
};
|
|
87
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Clamp a child window into its parent: never negative, never outside `[lo, hi]`; a window
|
|
92
|
+
* entirely before the parent pins to its start.
|
|
93
|
+
*/
|
|
94
|
+
function clampWindow(start, end, lo, hi) {
|
|
95
|
+
if (start < lo)
|
|
96
|
+
start = lo;
|
|
97
|
+
if (end > hi)
|
|
98
|
+
end = hi;
|
|
99
|
+
if (end < lo)
|
|
100
|
+
end = lo; // window entirely before the parent → pin to its start
|
|
101
|
+
if (end < start)
|
|
102
|
+
start = end;
|
|
103
|
+
return { start, end };
|
|
104
|
+
}
|
|
88
105
|
/** OTEL `exception` span event — the idiomatic home for the error-grouping key on a span. */
|
|
89
106
|
function exceptionEvent(timestampMs, errorName, message) {
|
|
90
107
|
const attrs = new AttrBuilder()
|
|
@@ -93,12 +110,14 @@ function exceptionEvent(timestampMs, errorName, message) {
|
|
|
93
110
|
.build();
|
|
94
111
|
return { Timestamp: msToNs(timestampMs), Name: EXCEPTION_EVENT_NAME, Attributes: attrs };
|
|
95
112
|
}
|
|
96
|
-
// ── scanner_run → one span
|
|
97
|
-
|
|
113
|
+
// ── scanner_run → one span (complete/error) or one skip log ───────────────────
|
|
114
|
+
/** Shared `scanner.*` attrs — identical keys whether the run routes to a span or to a skip log. */
|
|
115
|
+
function scannerRunAttrs(record) {
|
|
98
116
|
// Individual `signals[]` are omitted here — counts + summary capture the run's shape, and
|
|
99
117
|
// per-signal detail lives on `signal_evaluated` children (avoids re-flattening signal meta).
|
|
100
|
-
|
|
118
|
+
return new AttrBuilder()
|
|
101
119
|
.put("scanner.id", record.scannerId)
|
|
120
|
+
.put("scan.run_id", record.runId)
|
|
102
121
|
.put("scanner.outcome", record.outcome)
|
|
103
122
|
.put("scanner.status_detail", record.statusDetail)
|
|
104
123
|
.put("scanner.scanned_count", record.scannedCount)
|
|
@@ -109,12 +128,18 @@ export function mapScannerRun(record, deps) {
|
|
|
109
128
|
.put("scanner.error_name", record.errorName)
|
|
110
129
|
.putBag("scanner.summary", record.summary)
|
|
111
130
|
.build();
|
|
131
|
+
}
|
|
132
|
+
/** A run that actually ran (`complete`/`error`) → one span. Skips go to {@link mapScannerRunSkipped}. */
|
|
133
|
+
export function mapScannerRun(record, deps) {
|
|
134
|
+
const attrs = scannerRunAttrs(record);
|
|
112
135
|
const isError = record.outcome === "error";
|
|
136
|
+
// Deterministic ids from the run id thread scan → pass into one trace; absent (older payloads)
|
|
137
|
+
// → fresh self-rooted ids as before.
|
|
113
138
|
return [
|
|
114
139
|
makeTraceRow(deps, {
|
|
115
140
|
timestampMs: record.startedAt,
|
|
116
|
-
traceId: deps.ids.traceId(),
|
|
117
|
-
spanId: deps.ids.spanId(),
|
|
141
|
+
traceId: record.runId !== undefined ? deterministicTraceId(record.runId) : deps.ids.traceId(),
|
|
142
|
+
spanId: record.runId !== undefined ? deterministicSpanId(record.runId) : deps.ids.spanId(),
|
|
118
143
|
spanName: SPAN_NAME.scannerRun,
|
|
119
144
|
spanKind: spanKindFor("scanner_run"),
|
|
120
145
|
startedAt: record.startedAt,
|
|
@@ -126,48 +151,68 @@ export function mapScannerRun(record, deps) {
|
|
|
126
151
|
}),
|
|
127
152
|
];
|
|
128
153
|
}
|
|
129
|
-
|
|
154
|
+
/**
|
|
155
|
+
* The {@link ROUTING} exception: a skipped run (`outcome === "skipped"` — engine statuses
|
|
156
|
+
* skipped/disabled/halted) is a discrete "didn't run" fact, not work, so it becomes an INFO log
|
|
157
|
+
* (`scanner_run.skipped`) instead of a zero-duration span. Same `scanner.*` attrs as the span
|
|
158
|
+
* (counts are simply absent on skip payloads); `Timestamp` from `endedAt` (the builder synthesizes
|
|
159
|
+
* `startedAt = endedAt` for skips — only the end is observed).
|
|
160
|
+
*/
|
|
161
|
+
export function mapScannerRunSkipped(record, deps) {
|
|
162
|
+
const reason = record.reason ? `: ${record.reason}` : "";
|
|
163
|
+
const body = `scanner skipped ${record.scannerId}${reason}`;
|
|
164
|
+
return [logRowFor(deps, record, record.endedAt, body, scannerRunAttrs(record))];
|
|
165
|
+
}
|
|
166
|
+
// ── signal_evaluated → pass-span root + llm.decision child + one child span per evaluation ──
|
|
130
167
|
export function mapSignalEvaluated(record, deps) {
|
|
131
168
|
const red = redactSignalEvaluated(record);
|
|
132
|
-
|
|
169
|
+
// Deterministic ids from the scan run id thread the pass under its scanner.run span (same
|
|
170
|
+
// TraceId, ParentSpanId = the scanner.run SpanId); absent runId → fresh self-rooted ids as
|
|
171
|
+
// before. Intentional: the pass child starts after its parent ends (queue wait, visible as the
|
|
172
|
+
// gap) — never "fixed" by faking timestamps.
|
|
173
|
+
const traceId = red.runId !== undefined ? deterministicTraceId(red.runId) : deps.ids.traceId();
|
|
133
174
|
const rootSpanId = deps.ids.spanId();
|
|
175
|
+
const parentSpanId = red.runId !== undefined ? deterministicSpanId(red.runId) : undefined;
|
|
176
|
+
const errored = red.evaluations.filter((ev) => ev.outcome.result === "error");
|
|
134
177
|
const rootAttrs = new AttrBuilder()
|
|
135
178
|
.put("scanner.id", red.scannerId)
|
|
136
|
-
.put("
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
rootAttrs
|
|
140
|
-
.put("decision.execute", d.execute)
|
|
141
|
-
.put("decision.action_type", d.actionType)
|
|
142
|
-
.put("decision.action_name", d.actionName)
|
|
143
|
-
.put("decision.mode", d.mode)
|
|
144
|
-
.put("decision.confidence", d.confidence)
|
|
145
|
-
.put("decision.confidence_threshold", d.confidenceThreshold)
|
|
146
|
-
.put("decision.reasoning", d.reasoning) // kept (length-capped) — high-value agent rationale
|
|
147
|
-
.put("decision.model", d.model)
|
|
148
|
-
.put("decision.tokens_used", d.tokensUsed)
|
|
149
|
-
.put("decision.duration_ms", d.durationMs);
|
|
150
|
-
// decision.payload is NOT flattened: raw LLM JSON (free-text + arbitrary keys + nested scanner
|
|
151
|
-
// meta). Its bounded content is already on the per-signal child spans.
|
|
152
|
-
}
|
|
179
|
+
.put("scan.run_id", red.runId)
|
|
180
|
+
.put("signal.evaluation_count", red.evaluations.length)
|
|
181
|
+
.put("signal.error_count", errored.length);
|
|
153
182
|
const rows = [
|
|
154
183
|
makeTraceRow(deps, {
|
|
155
184
|
timestampMs: red.startedAt,
|
|
156
185
|
traceId,
|
|
157
186
|
spanId: rootSpanId,
|
|
187
|
+
parentSpanId,
|
|
158
188
|
spanName: SPAN_NAME.signalPass,
|
|
159
189
|
spanKind: spanKindFor("signal_evaluated"),
|
|
160
190
|
startedAt: red.startedAt,
|
|
161
191
|
endedAt: red.endedAt,
|
|
162
|
-
|
|
192
|
+
// Status propagates: any errored evaluation child fails the pass root (filterable even
|
|
193
|
+
// when the trace root is the always-Ok scanner.run span).
|
|
194
|
+
statusCode: errored.length > 0 ? "Error" : "Ok",
|
|
195
|
+
statusMessage: errored.length > 0 ? (errored[0].outcome.error ?? "") : "",
|
|
163
196
|
attrs: rootAttrs.build(),
|
|
164
197
|
}),
|
|
165
198
|
];
|
|
199
|
+
// The decision phase as its own child span (carries the decision.* attrs). Mapped defensively,
|
|
200
|
+
// like the evaluation children: a bad decision must not sink the pass span or its siblings.
|
|
201
|
+
if (red.decision) {
|
|
202
|
+
try {
|
|
203
|
+
rows.push(mapLlmDecisionChild(red.decision, deps, traceId, rootSpanId, red.startedAt, red.endedAt));
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
logger.warn("dropping llm.decision child (mapping error)", {
|
|
207
|
+
err: err instanceof Error ? err.message : String(err),
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
}
|
|
166
211
|
// One child span per evaluation, sharing the root's TraceId (intra-record parenting). Each child
|
|
167
212
|
// is mapped defensively: a single bad evaluation must not sink the pass span or its siblings.
|
|
168
213
|
for (const ev of red.evaluations) {
|
|
169
214
|
try {
|
|
170
|
-
rows.push(mapEvaluationChild(ev, deps, traceId, rootSpanId, red.startedAt));
|
|
215
|
+
rows.push(mapEvaluationChild(ev, deps, traceId, rootSpanId, red.startedAt, red.endedAt));
|
|
171
216
|
}
|
|
172
217
|
catch (err) {
|
|
173
218
|
logger.warn("dropping signal evaluation child (mapping error)", {
|
|
@@ -177,9 +222,50 @@ export function mapSignalEvaluated(record, deps) {
|
|
|
177
222
|
}
|
|
178
223
|
return rows;
|
|
179
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* The `llm.decision` child span: the pass's decision phase, window
|
|
227
|
+
* `[decision.endedAt − durationMs, decision.endedAt]` — the gap after the pass start is context
|
|
228
|
+
* building, deliberately visible. Defensive fallback when `endedAt` is absent (older payloads):
|
|
229
|
+
* start at the pass start. The window is then clamped into the pass (`start` up to the pass start,
|
|
230
|
+
* `end` down to the pass end, and `start = end` when that inverts) so it is never negative and
|
|
231
|
+
* never outside the pass.
|
|
232
|
+
*/
|
|
233
|
+
function mapLlmDecisionChild(d, deps, traceId, parentSpanId, passStartedAt, passEndedAt) {
|
|
234
|
+
const attrs = new AttrBuilder()
|
|
235
|
+
.put("decision.execute", d.execute)
|
|
236
|
+
.put("decision.action_type", d.actionType)
|
|
237
|
+
.put("decision.action_name", d.actionName)
|
|
238
|
+
.put("decision.mode", d.mode)
|
|
239
|
+
.put("decision.confidence", d.confidence)
|
|
240
|
+
.put("decision.confidence_threshold", d.confidenceThreshold)
|
|
241
|
+
.put("decision.reasoning", d.reasoning) // kept (length-capped) — high-value agent rationale
|
|
242
|
+
.put("decision.model", d.model)
|
|
243
|
+
.put("decision.tokens_used", d.tokensUsed)
|
|
244
|
+
.put("decision.duration_ms", d.durationMs)
|
|
245
|
+
// The record no longer carries the raw LLM payload (dropped when the pass was single-sourced
|
|
246
|
+
// from `_decisionMeta`); its bounded content lands on the per-signal child spans.
|
|
247
|
+
.build();
|
|
248
|
+
const durationMs = d.durationMs ?? 0;
|
|
249
|
+
const rawEnd = d.endedAt ?? passStartedAt + durationMs;
|
|
250
|
+
const { start, end } = clampWindow(rawEnd - durationMs, rawEnd, passStartedAt, passEndedAt);
|
|
251
|
+
return makeTraceRow(deps, {
|
|
252
|
+
timestampMs: start,
|
|
253
|
+
traceId,
|
|
254
|
+
spanId: deps.ids.spanId(),
|
|
255
|
+
parentSpanId,
|
|
256
|
+
spanName: SPAN_NAME.llmDecision,
|
|
257
|
+
spanKind: "Internal",
|
|
258
|
+
startedAt: start,
|
|
259
|
+
endedAt: end,
|
|
260
|
+
statusCode: "Ok",
|
|
261
|
+
attrs,
|
|
262
|
+
});
|
|
263
|
+
}
|
|
180
264
|
function mapEvaluationChild(ev, deps, traceId, parentSpanId,
|
|
181
|
-
//
|
|
182
|
-
|
|
265
|
+
// The action loop stamps a real per-signal window (`startedAt`/`endedAt`) on each result entry;
|
|
266
|
+
// when present it is the child's measured extent, clamped into the pass like the llm.decision
|
|
267
|
+
// child. Absent (older payloads) → point-in-time at the pass start, Duration 0, as before.
|
|
268
|
+
passStartedAt, passEndedAt) {
|
|
183
269
|
const { signal, outcome } = ev;
|
|
184
270
|
// position.id is the flat cross-record group-by key (V2 read layer); TraceId stays
|
|
185
271
|
// per-pass — never derived from positionId.
|
|
@@ -209,20 +295,22 @@ passStartedAt) {
|
|
|
209
295
|
.put("outcome.required_margin_amount", outcome.requiredMarginAmount)
|
|
210
296
|
.put("outcome.available_margin_amount", outcome.availableMarginAmount)
|
|
211
297
|
.build();
|
|
298
|
+
const hasWindow = ev.startedAt !== undefined && ev.endedAt !== undefined;
|
|
299
|
+
const { start, end } = clampWindow(hasWindow ? ev.startedAt : passStartedAt, hasWindow ? ev.endedAt : passStartedAt, passStartedAt, passEndedAt);
|
|
212
300
|
const isError = outcome.result === "error";
|
|
213
301
|
return makeTraceRow(deps, {
|
|
214
|
-
timestampMs:
|
|
302
|
+
timestampMs: start,
|
|
215
303
|
traceId,
|
|
216
304
|
spanId: deps.ids.spanId(),
|
|
217
305
|
parentSpanId,
|
|
218
306
|
spanName: SPAN_NAME.signalEvaluation,
|
|
219
307
|
spanKind: spanKindFor("signal_evaluated"),
|
|
220
|
-
startedAt:
|
|
221
|
-
endedAt:
|
|
308
|
+
startedAt: start,
|
|
309
|
+
endedAt: end,
|
|
222
310
|
statusCode: isError ? "Error" : "Ok",
|
|
223
311
|
statusMessage: isError ? (outcome.error ?? "") : "",
|
|
224
312
|
attrs,
|
|
225
|
-
events: isError ? [exceptionEvent(
|
|
313
|
+
events: isError ? [exceptionEvent(end, outcome.errorName, outcome.error)] : [],
|
|
226
314
|
});
|
|
227
315
|
}
|
|
228
316
|
// ── position_lifecycle → one log ─────────────────────────────────────────────────
|
|
@@ -256,9 +344,10 @@ export function mapPositionLifecycle(record, deps) {
|
|
|
256
344
|
.put("position.margin_amount", record.marginAmount)
|
|
257
345
|
.put("position.filled", record.filled)
|
|
258
346
|
.put("position.reasoning", record.reasoning) // kept (length-capped)
|
|
347
|
+
.put("position.reconciliation_source", record.reconciliationSource) // opened only; absent elsewhere
|
|
259
348
|
.build();
|
|
260
349
|
const dir = record.direction ? ` ${record.direction}` : "";
|
|
261
|
-
return [logRowFor(deps, record, `position ${record.event} ${record.asset}${dir}`, attrs)];
|
|
350
|
+
return [logRowFor(deps, record, record.occurredAt, `position ${record.event} ${record.asset}${dir}`, attrs)];
|
|
262
351
|
}
|
|
263
352
|
// ── dsl_transition → one log ─────────────────────────────────────────────────────
|
|
264
353
|
export function mapDslTransition(record, deps) {
|
|
@@ -296,7 +385,258 @@ export function mapDslTransition(record, deps) {
|
|
|
296
385
|
.putJson("dsl.updated", record.updated)
|
|
297
386
|
.put("dsl.backend_dsl_position_id", record.backendDslPositionId)
|
|
298
387
|
.build();
|
|
299
|
-
return [logRowFor(deps, record, `dsl ${record.transition} ${record.asset}`, attrs)];
|
|
388
|
+
return [logRowFor(deps, record, record.occurredAt, `dsl ${record.transition} ${record.asset}`, attrs)];
|
|
389
|
+
}
|
|
390
|
+
// ── dsl_tick → one span per work unit (deterministic-id threaded tick family) ─────
|
|
391
|
+
/**
|
|
392
|
+
* Maps one DSL-tick work unit to its span. No buffering or pairing: each record maps
|
|
393
|
+
* independently, and the deterministic ids derived from `bootId:tickId` (and
|
|
394
|
+
* `bootId:tickId:positionKey`) thread the units into one trace — root `dsl.tick`, `dsl.position`
|
|
395
|
+
* children, and `dsl.close_attempt`/`dsl.sl_update` under their position. `tick.id` rides every
|
|
396
|
+
* span (the cross-store join key); `position.id` rides the position-grain spans. A child unit
|
|
397
|
+
* missing its `positionKey` (defensive) parents to the tick root so the row still joins the trace.
|
|
398
|
+
*/
|
|
399
|
+
export function mapDslTick(record, deps) {
|
|
400
|
+
// The seeds are scoped by the emitter's bootId: tickId is a ms-resolution wall-clock string, so
|
|
401
|
+
// two runtimes ticking in the same millisecond (or a restart re-deriving the same ms) would
|
|
402
|
+
// otherwise collide and merge unrelated tick families into one trace with duplicate span ids.
|
|
403
|
+
// The `tick.id` ATTRIBUTE stays the raw tickId — it is the join key to the monitor's logs.
|
|
404
|
+
const tickSeed = `${deps.identity.bootId}:${record.tickId}`;
|
|
405
|
+
const traceId = deterministicTraceId(tickSeed);
|
|
406
|
+
const rootSpanId = deterministicSpanId(tickSeed);
|
|
407
|
+
if (record.unit === "tick") {
|
|
408
|
+
const attrs = new AttrBuilder()
|
|
409
|
+
.put("tick.id", record.tickId)
|
|
410
|
+
.put("dsl.strategy_count", record.strategyCount)
|
|
411
|
+
.put("dsl.active_position_count", record.activePositionCount)
|
|
412
|
+
.put("dsl.positions_processed", record.positionsProcessed)
|
|
413
|
+
.build();
|
|
414
|
+
const rows = [
|
|
415
|
+
makeTraceRow(deps, {
|
|
416
|
+
timestampMs: record.startedAt,
|
|
417
|
+
traceId,
|
|
418
|
+
spanId: rootSpanId,
|
|
419
|
+
spanName: SPAN_NAME.dslTick,
|
|
420
|
+
spanKind: spanKindFor("dsl_tick"),
|
|
421
|
+
startedAt: record.startedAt,
|
|
422
|
+
endedAt: record.endedAt,
|
|
423
|
+
statusCode: "Ok",
|
|
424
|
+
attrs,
|
|
425
|
+
}),
|
|
426
|
+
];
|
|
427
|
+
// The batched price fetch as an intra-record child of the tick root — only when both stamps
|
|
428
|
+
// were observed (a half window is fabricated extent), clamped into the tick window like the
|
|
429
|
+
// other intra-record children.
|
|
430
|
+
if (record.pricesStartedAt !== undefined && record.pricesEndedAt !== undefined) {
|
|
431
|
+
const { start, end } = clampWindow(record.pricesStartedAt, record.pricesEndedAt, record.startedAt, record.endedAt);
|
|
432
|
+
rows.push(makeTraceRow(deps, {
|
|
433
|
+
timestampMs: start,
|
|
434
|
+
traceId,
|
|
435
|
+
spanId: deps.ids.spanId(),
|
|
436
|
+
parentSpanId: rootSpanId,
|
|
437
|
+
spanName: SPAN_NAME.dslPrices,
|
|
438
|
+
spanKind: spanKindFor("dsl_tick"),
|
|
439
|
+
startedAt: start,
|
|
440
|
+
endedAt: end,
|
|
441
|
+
statusCode: "Ok",
|
|
442
|
+
attrs: new AttrBuilder().put("tick.id", record.tickId).build(),
|
|
443
|
+
}));
|
|
444
|
+
}
|
|
445
|
+
return rows;
|
|
446
|
+
}
|
|
447
|
+
// The per-position span id is seeded from `bootId:tickId:positionKey`, so the position span and
|
|
448
|
+
// its close/SL children agree on it without any pairing state.
|
|
449
|
+
const positionSpanId = record.positionKey !== undefined
|
|
450
|
+
? deterministicSpanId(`${tickSeed}:${record.positionKey}`)
|
|
451
|
+
: undefined;
|
|
452
|
+
if (record.unit === "position") {
|
|
453
|
+
const attrs = new AttrBuilder()
|
|
454
|
+
.put("tick.id", record.tickId)
|
|
455
|
+
.put("position.id", record.positionId)
|
|
456
|
+
.put("dsl.asset", record.asset)
|
|
457
|
+
.put("dsl.dex", record.dex)
|
|
458
|
+
.build();
|
|
459
|
+
return [
|
|
460
|
+
makeTraceRow(deps, {
|
|
461
|
+
timestampMs: record.startedAt,
|
|
462
|
+
traceId,
|
|
463
|
+
spanId: positionSpanId ?? deps.ids.spanId(),
|
|
464
|
+
parentSpanId: rootSpanId,
|
|
465
|
+
spanName: SPAN_NAME.dslPosition,
|
|
466
|
+
spanKind: spanKindFor("dsl_tick"),
|
|
467
|
+
startedAt: record.startedAt,
|
|
468
|
+
endedAt: record.endedAt,
|
|
469
|
+
statusCode: "Ok",
|
|
470
|
+
attrs,
|
|
471
|
+
}),
|
|
472
|
+
];
|
|
473
|
+
}
|
|
474
|
+
// close_attempt / sl_update — the venue calls, nested under their position span.
|
|
475
|
+
const isError = record.outcome === "error";
|
|
476
|
+
const attrs = new AttrBuilder()
|
|
477
|
+
.put("tick.id", record.tickId)
|
|
478
|
+
.put("position.id", record.positionId)
|
|
479
|
+
.put("dsl.asset", record.asset)
|
|
480
|
+
.put("dsl.dex", record.dex)
|
|
481
|
+
.put("dsl.error", record.error);
|
|
482
|
+
if (record.unit === "close_attempt") {
|
|
483
|
+
attrs.put("dsl.close_reason", record.closeReason).put("dsl.attempt", record.attempt);
|
|
484
|
+
}
|
|
485
|
+
else {
|
|
486
|
+
attrs
|
|
487
|
+
.put("dsl.new_sl_price", record.newSLPrice)
|
|
488
|
+
.put("dsl.sl_order_id", record.slOrderId)
|
|
489
|
+
.put("dsl.sync_reason", record.syncReason);
|
|
490
|
+
}
|
|
491
|
+
return [
|
|
492
|
+
makeTraceRow(deps, {
|
|
493
|
+
timestampMs: record.startedAt,
|
|
494
|
+
traceId,
|
|
495
|
+
spanId: deps.ids.spanId(),
|
|
496
|
+
// Defensive fallback: no positionKey → parent to the tick root so the row still joins.
|
|
497
|
+
parentSpanId: positionSpanId ?? rootSpanId,
|
|
498
|
+
spanName: record.unit === "close_attempt" ? SPAN_NAME.dslCloseAttempt : SPAN_NAME.dslSlUpdate,
|
|
499
|
+
spanKind: spanKindFor("dsl_tick"),
|
|
500
|
+
startedAt: record.startedAt,
|
|
501
|
+
endedAt: record.endedAt,
|
|
502
|
+
statusCode: isError ? "Error" : "Ok",
|
|
503
|
+
statusMessage: isError ? (record.error ?? "") : "",
|
|
504
|
+
attrs: attrs.build(),
|
|
505
|
+
// No error class name at the emit site — exception.type is omitted, message kept.
|
|
506
|
+
events: isError ? [exceptionEvent(record.endedAt, undefined, record.error)] : [],
|
|
507
|
+
}),
|
|
508
|
+
];
|
|
509
|
+
}
|
|
510
|
+
// ── decision.made → one log (Task 8) ──────────────────────────────────────────────
|
|
511
|
+
/**
|
|
512
|
+
* The pass's judgment as a discrete log. Attributes are the queryable scalars; the **Body is the
|
|
513
|
+
* LLM reasoning prose, uncapped** (the catalog calls for full reasoning — no per-value cap applied
|
|
514
|
+
* to it) and routed through {@link redactBody}, which passes a flat string through verbatim (a
|
|
515
|
+
* string has no keys to scrub) while still keeping the redaction seam over both Bodies. When
|
|
516
|
+
* reasoning is absent, a short templated Body stands in. Market-context keys are reserved and
|
|
517
|
+
* absent in 8a (see the brief's impl notes).
|
|
518
|
+
*/
|
|
519
|
+
export function mapDecisionMade(record, deps) {
|
|
520
|
+
const attrs = new AttrBuilder()
|
|
521
|
+
.put("decision.mode", record.mode)
|
|
522
|
+
.put("decision.by_llm", record.byLlm)
|
|
523
|
+
.put("decision.model", record.model)
|
|
524
|
+
.put("decision.tokens_used", record.tokensUsed)
|
|
525
|
+
.put("decision.confidence", record.confidence)
|
|
526
|
+
.put("decision.confidence_threshold", record.confidenceThreshold)
|
|
527
|
+
.put("decision.duration_ms", record.durationMs)
|
|
528
|
+
.put("decision.action_intent", record.actionIntent)
|
|
529
|
+
.put("decision.funding_regime", record.fundingRegime)
|
|
530
|
+
.put("decision.market_regime", record.marketRegime)
|
|
531
|
+
.put("decision.mark_price", record.markPrice)
|
|
532
|
+
.build();
|
|
533
|
+
// Body = the reasoning prose (uncapped), through the Body redaction seam. A string has no
|
|
534
|
+
// sensitive keys, so it survives verbatim; the short fallback keeps a non-empty, useful Body.
|
|
535
|
+
const reasoning = record.reasoning ? String(redactBody(record.reasoning)) : "";
|
|
536
|
+
const body = reasoning || `decision ${record.actionIntent} (${record.mode ?? "none"})`;
|
|
537
|
+
return [logRowFor(deps, record, record.occurredAt, body, attrs)];
|
|
538
|
+
}
|
|
539
|
+
// ── signal.outcome → one log (Task 8) ──────────────────────────────────────────────
|
|
540
|
+
/**
|
|
541
|
+
* One considered signal's disposition as a discrete log. Attributes are the queryable raw-signal
|
|
542
|
+
* scalars, factors, disposition, and sizing; the **Body is the raw scanner evidence**
|
|
543
|
+
* (`JSON.stringify(redactBody(rawSignal))`) — the variable-shaped payload whose arbitrary scanner
|
|
544
|
+
* `meta` Task 2 dropped from attributes and Task 8 keeps here, scrubbed by key name. Empty Body when
|
|
545
|
+
* there is no rawSignal.
|
|
546
|
+
*/
|
|
547
|
+
export function mapSignalOutcome(record, deps) {
|
|
548
|
+
const attrs = new AttrBuilder()
|
|
549
|
+
.put("scanner.id", record.scannerId)
|
|
550
|
+
.put("signal.type", record.signalType)
|
|
551
|
+
.put("signal.asset", record.asset)
|
|
552
|
+
.put("signal.direction", record.direction)
|
|
553
|
+
.put("signal.score", record.score)
|
|
554
|
+
.put("signal.timestamp", record.signalTs)
|
|
555
|
+
.putFactors("signal.factor", record.factors)
|
|
556
|
+
.put("outcome.result", record.result)
|
|
557
|
+
.put("outcome.reason_code", record.reasonCode)
|
|
558
|
+
.put("position.id", record.positionId)
|
|
559
|
+
.put("outcome.margin_amount", record.marginAmount)
|
|
560
|
+
.put("outcome.leverage", record.leverage)
|
|
561
|
+
.put("outcome.notional_value", record.notionalValue)
|
|
562
|
+
.put("outcome.size", record.size)
|
|
563
|
+
.put("outcome.margin_source", record.marginSource)
|
|
564
|
+
.put("outcome.order_id", record.orderId)
|
|
565
|
+
.put("outcome.error_name", record.errorName)
|
|
566
|
+
.build();
|
|
567
|
+
const body = record.rawSignal ? JSON.stringify(redactBody(record.rawSignal)) : "";
|
|
568
|
+
return [logRowFor(deps, record, record.occurredAt, body, attrs)];
|
|
569
|
+
}
|
|
570
|
+
// ── scanner.summary → one log (Task 8 anti-spam funnel) ─────────────────────────────
|
|
571
|
+
/**
|
|
572
|
+
* One scan's funnel roll-up as a discrete log — ONE row, never one per drop. Attributes are the
|
|
573
|
+
* queryable aggregate surface (counts, per-reason counts via `putBag`, the survivors' assets as a
|
|
574
|
+
* single JSON array). The **Body is the dropped-candidate array**
|
|
575
|
+
* (`JSON.stringify(redactBody(droppedCandidates))`) — variable-shaped scanner data, scrubbed by
|
|
576
|
+
* key name, read only after the row is selected. Empty Body when nothing was dropped.
|
|
577
|
+
*/
|
|
578
|
+
export function mapScannerSummary(record, deps) {
|
|
579
|
+
const attrs = new AttrBuilder()
|
|
580
|
+
.put("scanner.id", record.scannerId)
|
|
581
|
+
.put("scanner.scanned_count", record.scannedCount)
|
|
582
|
+
.put("scanner.passed_count", record.passedCount)
|
|
583
|
+
.put("scanner.dropped_count", record.droppedCount)
|
|
584
|
+
.putBag("scanner.dropped_by_reason", record.droppedByReason)
|
|
585
|
+
.putJson("scanner.passed_assets", record.passedAssets)
|
|
586
|
+
.build();
|
|
587
|
+
const dropped = record.droppedCandidates;
|
|
588
|
+
const body = dropped && dropped.length > 0 ? JSON.stringify(redactBody(dropped)) : "";
|
|
589
|
+
return [
|
|
590
|
+
logRowFor(deps, record, record.occurredAt, body, attrs),
|
|
591
|
+
];
|
|
592
|
+
}
|
|
593
|
+
// ── dsl.close_attempt → one log (Task 8) ────────────────────────────────────────────
|
|
594
|
+
/**
|
|
595
|
+
* One DSL exit attempt as a discrete log (the second consumer of `tracking.dsl_close_attempt`,
|
|
596
|
+
* alongside the tick trace). No Body — the attempt is fully described by its scalars. No
|
|
597
|
+
* `error_name`: only `String(e)` is available at the producer emit site.
|
|
598
|
+
*/
|
|
599
|
+
export function mapDslCloseAttempt(record, deps) {
|
|
600
|
+
const attrs = new AttrBuilder()
|
|
601
|
+
.put("position.id", record.positionId)
|
|
602
|
+
.put("dsl.asset", record.asset)
|
|
603
|
+
.put("dsl.dex", record.dex)
|
|
604
|
+
.put("dsl.reason", record.reason)
|
|
605
|
+
.put("dsl.attempt", record.attempt)
|
|
606
|
+
.put("dsl.result", record.result)
|
|
607
|
+
.build();
|
|
608
|
+
return [logRowFor(deps, record, record.occurredAt, `dsl close_attempt ${record.asset ?? ""} ${record.result}`, attrs)];
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* One order-execution event as a discrete log under the `order.*` namespace — the execution
|
|
612
|
+
* granularity `position_lifecycle` can't carry. Null/undefined attrs are omitted by the builder, so
|
|
613
|
+
* each event subtype naturally carries only its own fields (placed: order/size; filled: fill; failed:
|
|
614
|
+
* reason/error_name). `position.id` is the cross-flow join key (coexists with `outcome.order_id` /
|
|
615
|
+
* `position.order_id`; 8b coalesces). **Body** = the venue raw response on `failed`
|
|
616
|
+
* (`JSON.stringify(redactBody(error))`); `placed`/`filled` carry no Body (short templated message).
|
|
617
|
+
*/
|
|
618
|
+
export function mapOrderEvent(record, deps) {
|
|
619
|
+
const attrs = new AttrBuilder()
|
|
620
|
+
.put("order.id", record.orderId)
|
|
621
|
+
.put("order.type", record.orderType)
|
|
622
|
+
.put("order.asset", record.asset)
|
|
623
|
+
.put("order.direction", record.direction)
|
|
624
|
+
.put("order.size", record.size)
|
|
625
|
+
.put("order.limit_price", record.limitPrice)
|
|
626
|
+
.put("order.reduce_only", record.reduceOnly)
|
|
627
|
+
.put("order.fill_price", record.fillPrice)
|
|
628
|
+
.put("order.fill_size", record.fillSize)
|
|
629
|
+
.put("order.execution_as_maker", record.executionAsMaker)
|
|
630
|
+
.put("order.fees", record.fees)
|
|
631
|
+
.put("order.partial", record.partial)
|
|
632
|
+
.put("order.reason", record.reason)
|
|
633
|
+
.put("order.error_name", record.errorName)
|
|
634
|
+
.put("position.id", record.positionId)
|
|
635
|
+
.build();
|
|
636
|
+
const body = record.event === "failed" && record.error ? JSON.stringify(redactBody(record.error)) : "";
|
|
637
|
+
const dir = record.direction ? ` ${record.direction}` : "";
|
|
638
|
+
const fallback = `order ${record.event} ${record.asset}${dir}`;
|
|
639
|
+
return [logRowFor(deps, record, record.occurredAt, body || fallback, attrs)];
|
|
300
640
|
}
|
|
301
641
|
// ── runtime_error → one log ───────────────────────────────────────────────────────
|
|
302
642
|
export function mapRuntimeError(record, deps) {
|
|
@@ -307,9 +647,10 @@ export function mapRuntimeError(record, deps) {
|
|
|
307
647
|
.put("runtime.error_name", red.errorName)
|
|
308
648
|
.put("runtime.asset", red.asset)
|
|
309
649
|
.put("runtime.scanner_id", red.scannerId)
|
|
650
|
+
.put("scan.run_id", red.runId)
|
|
310
651
|
.put("runtime.stack", red.stack)
|
|
311
652
|
.build();
|
|
312
|
-
return [logRowFor(deps, red, `${red.phase}: ${red.message}`, attrs)];
|
|
653
|
+
return [logRowFor(deps, red, red.occurredAt, `${red.phase}: ${red.message}`, attrs)];
|
|
313
654
|
}
|
|
314
655
|
// ── runtime_lifecycle → one log ───────────────────────────────────────────────────
|
|
315
656
|
export function mapRuntimeLifecycle(record, deps) {
|
|
@@ -323,7 +664,7 @@ export function mapRuntimeLifecycle(record, deps) {
|
|
|
323
664
|
// Unresolved config blob: single JSON key, size-capped, never flattened (no secrets to scrub).
|
|
324
665
|
.putConfig("runtime.config", record.config)
|
|
325
666
|
.build();
|
|
326
|
-
return [logRowFor(deps, record, `runtime ${record.phase}`, attrs)];
|
|
667
|
+
return [logRowFor(deps, record, record.occurredAt, `runtime ${record.phase}`, attrs)];
|
|
327
668
|
}
|
|
328
669
|
// ── runtime_state → one log ───────────────────────────────────────────────────────
|
|
329
670
|
export function mapRuntimeState(record, deps) {
|
|
@@ -337,6 +678,6 @@ export function mapRuntimeState(record, deps) {
|
|
|
337
678
|
// runtime.metrics dropped by redaction upstream.
|
|
338
679
|
.build();
|
|
339
680
|
// `|| gateId` (not `??`): an empty-string gateName must still fall back to the stable id.
|
|
340
|
-
return [logRowFor(deps, red, `trading ${red.phase}: ${red.gateName || red.gateId}`, attrs)];
|
|
681
|
+
return [logRowFor(deps, red, red.occurredAt, `trading ${red.phase}: ${red.gateName || red.gateId}`, attrs)];
|
|
341
682
|
}
|
|
342
683
|
//# sourceMappingURL=mappers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../src/recording/otel/mappers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../src/recording/otel/mappers.ts"],"names":[],"mappings":"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"}
|