@senpi/runtime 1.1.0-dev.runtime-phase-2.20260612060625 → 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
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { RecordingEmitter } from "../emitter.js";
|
|
11
11
|
import type { IdentityEnvelope } from "../identity.js";
|
|
12
|
-
import type { DslTransitionRecord, PositionLifecycleRecord, RuntimeErrorRecord, RuntimeLifecycleRecord, RuntimeStateRecord, ScannerRunRecord, SignalEvaluatedRecord } from "../records.js";
|
|
12
|
+
import type { DecisionMadeRecord, DslCloseAttemptRecord, DslTickRecord, DslTransitionRecord, OrderEventRecord, PositionLifecycleRecord, RuntimeErrorRecord, RuntimeLifecycleRecord, RuntimeStateRecord, ScannerRunRecord, ScannerSummaryRecord, SignalEvaluatedRecord, SignalOutcomeRecord } from "../records.js";
|
|
13
13
|
import type { TelemetryBatcher } from "../transport/index.js";
|
|
14
14
|
import { type IdGenerator } from "./ids.js";
|
|
15
15
|
export interface OtelEmitterOptions {
|
|
@@ -27,9 +27,15 @@ export declare class OtelEmitter implements RecordingEmitter {
|
|
|
27
27
|
recordSignalEvaluated(record: SignalEvaluatedRecord): void;
|
|
28
28
|
recordPositionLifecycle(record: PositionLifecycleRecord): void;
|
|
29
29
|
recordDslTransition(record: DslTransitionRecord): void;
|
|
30
|
+
recordDslTick(record: DslTickRecord): void;
|
|
30
31
|
recordError(record: RuntimeErrorRecord): void;
|
|
31
32
|
recordRuntimeLifecycle(record: RuntimeLifecycleRecord): void;
|
|
32
33
|
recordRuntimeState(record: RuntimeStateRecord): void;
|
|
34
|
+
recordDecisionMade(record: DecisionMadeRecord): void;
|
|
35
|
+
recordSignalOutcome(record: SignalOutcomeRecord): void;
|
|
36
|
+
recordScannerSummary(record: ScannerSummaryRecord): void;
|
|
37
|
+
recordDslCloseAttempt(record: DslCloseAttemptRecord): void;
|
|
38
|
+
recordOrderEvent(record: OrderEventRecord): void;
|
|
33
39
|
private emitTraces;
|
|
34
40
|
private emitLogs;
|
|
35
41
|
private swallow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel-emitter.d.ts","sourceRoot":"","sources":["../../../src/recording/otel/otel-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"otel-emitter.d.ts","sourceRoot":"","sources":["../../../src/recording/otel/otel-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAU,gBAAgB,EAAY,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAuB/D,MAAM,WAAW,kBAAkB;IACjC,oGAAoG;IACpG,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,qBAAa,WAAY,YAAW,gBAAgB;IAKhD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAGhC,QAAQ,EAAE,gBAAgB,EACT,OAAO,EAAE,gBAAgB,EAC1C,OAAO,GAAE,kBAAuB;IAYlC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAUhD,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAI1D,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAI9D,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAItD,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAI1C,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAI7C,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAI5D,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIpD,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIpD,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAItD,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAIxD,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAI1D,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAIhD,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,OAAO;CAMhB"}
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* block, or throw into trading behavior. For the multi-row `signal_evaluated` record, child mapping
|
|
8
8
|
* is already defensive (one bad child cannot sink the pass span or its siblings — see the mapper).
|
|
9
9
|
*/
|
|
10
|
-
import { SCOPE_NAME, SCOPE_VERSION } from "./constants.js";
|
|
10
|
+
import { isSkippedScannerRun, SCOPE_NAME, SCOPE_VERSION } from "./constants.js";
|
|
11
11
|
import { cryptoIdGenerator } from "./ids.js";
|
|
12
|
-
import { buildResource, mapDslTransition, mapPositionLifecycle, mapRuntimeError, mapRuntimeLifecycle, mapRuntimeState, mapScannerRun, mapSignalEvaluated, } from "./mappers.js";
|
|
12
|
+
import { buildResource, mapDecisionMade, mapDslCloseAttempt, mapDslTick, mapDslTransition, mapOrderEvent, mapPositionLifecycle, mapRuntimeError, mapRuntimeLifecycle, mapRuntimeState, mapScannerRun, mapScannerRunSkipped, mapScannerSummary, mapSignalEvaluated, mapSignalOutcome, } from "./mappers.js";
|
|
13
13
|
import { createLogger } from "../../utils/logger.js";
|
|
14
14
|
const logger = createLogger("[recording][otel][emitter]");
|
|
15
15
|
export class OtelEmitter {
|
|
@@ -27,6 +27,12 @@ export class OtelEmitter {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
recordScannerRun(record) {
|
|
30
|
+
// The ROUTING exception: a skipped run is a discrete "didn't run" fact → log
|
|
31
|
+
// (`scanner_run.skipped`), not a zero-duration span. `complete`/`error` runs stay spans.
|
|
32
|
+
if (isSkippedScannerRun(record)) {
|
|
33
|
+
this.emitLogs("recordScannerRun", () => mapScannerRunSkipped(record, this.deps));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
30
36
|
this.emitTraces("recordScannerRun", () => mapScannerRun(record, this.deps));
|
|
31
37
|
}
|
|
32
38
|
recordSignalEvaluated(record) {
|
|
@@ -38,6 +44,9 @@ export class OtelEmitter {
|
|
|
38
44
|
recordDslTransition(record) {
|
|
39
45
|
this.emitLogs("recordDslTransition", () => mapDslTransition(record, this.deps));
|
|
40
46
|
}
|
|
47
|
+
recordDslTick(record) {
|
|
48
|
+
this.emitTraces("recordDslTick", () => mapDslTick(record, this.deps));
|
|
49
|
+
}
|
|
41
50
|
recordError(record) {
|
|
42
51
|
this.emitLogs("recordError", () => mapRuntimeError(record, this.deps));
|
|
43
52
|
}
|
|
@@ -47,6 +56,21 @@ export class OtelEmitter {
|
|
|
47
56
|
recordRuntimeState(record) {
|
|
48
57
|
this.emitLogs("recordRuntimeState", () => mapRuntimeState(record, this.deps));
|
|
49
58
|
}
|
|
59
|
+
recordDecisionMade(record) {
|
|
60
|
+
this.emitLogs("recordDecisionMade", () => mapDecisionMade(record, this.deps));
|
|
61
|
+
}
|
|
62
|
+
recordSignalOutcome(record) {
|
|
63
|
+
this.emitLogs("recordSignalOutcome", () => mapSignalOutcome(record, this.deps));
|
|
64
|
+
}
|
|
65
|
+
recordScannerSummary(record) {
|
|
66
|
+
this.emitLogs("recordScannerSummary", () => mapScannerSummary(record, this.deps));
|
|
67
|
+
}
|
|
68
|
+
recordDslCloseAttempt(record) {
|
|
69
|
+
this.emitLogs("recordDslCloseAttempt", () => mapDslCloseAttempt(record, this.deps));
|
|
70
|
+
}
|
|
71
|
+
recordOrderEvent(record) {
|
|
72
|
+
this.emitLogs("recordOrderEvent", () => mapOrderEvent(record, this.deps));
|
|
73
|
+
}
|
|
50
74
|
emitTraces(label, map) {
|
|
51
75
|
try {
|
|
52
76
|
for (const row of map())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel-emitter.js","sourceRoot":"","sources":["../../../src/recording/otel/otel-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"otel-emitter.js","sourceRoot":"","sources":["../../../src/recording/otel/otel-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* testable, more robust than scrubbing flattened keys after the fact.
|
|
5
5
|
*
|
|
6
6
|
* Policy (value-vs-risk, confirmed against the real producers):
|
|
7
|
-
* - **Drop the
|
|
7
|
+
* - **Drop the genuinely-open bag wholesale.** `SignalSummary.meta` is bounded only for the
|
|
8
8
|
* scanners we ship, but the runtime exists to host arbitrary scanner implementations, so its
|
|
9
|
-
* contents can't be vouched for.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* contents can't be vouched for. It never ships; the high-value bounded data it'd carry is
|
|
10
|
+
* already on typed scalars / the per-signal child spans. (The raw LLM decision payload is no
|
|
11
|
+
* longer on the record at all — since the pass was single-sourced from `_decisionMeta`, only
|
|
12
|
+
* its bounded content reaches the per-signal children.)
|
|
12
13
|
* - **Mask `RuntimeErrorRecord.stack`** (it can embed file paths / secrets) with {@link REDACT_MARKER}.
|
|
13
14
|
* - **Kept (NOT redacted), only length-capped at flatten time:** `SignalDecision.reasoning` and
|
|
14
15
|
* `PositionLifecycleRecord.reasoning` (high-value agent rationale — paired with the child spans
|
|
@@ -18,8 +19,8 @@
|
|
|
18
19
|
* - `RuntimeLifecycleRecord.config` is the *unresolved* config (placeholders intact, no inlined
|
|
19
20
|
* secrets), so it is only size-capped, never redacted.
|
|
20
21
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
22
|
+
* This module clears the fields that must not survive even if a future mapper change tries to
|
|
23
|
+
* read them.
|
|
23
24
|
*/
|
|
24
25
|
import type { RuntimeErrorRecord, RuntimeStateRecord, SignalEvaluatedRecord } from "../records.js";
|
|
25
26
|
/** Drop `signal.meta` (open bag, arbitrary scanner contents). `reasoning` is kept (length-capped). */
|
|
@@ -28,4 +29,19 @@ export declare function redactSignalEvaluated(record: SignalEvaluatedRecord): Si
|
|
|
28
29
|
export declare function redactRuntimeError(record: RuntimeErrorRecord): RuntimeErrorRecord;
|
|
29
30
|
/** Drop the `metrics` bag (not surfaced for now). `reason` is kept (code-templated, length-capped). */
|
|
30
31
|
export declare function redactRuntimeState(record: RuntimeStateRecord): RuntimeStateRecord;
|
|
32
|
+
/**
|
|
33
|
+
* Task 8 inverts the locus of redaction. The above scrubs *typed attribute fields* — a known,
|
|
34
|
+
* trusted set. The new event-log Bodies (raw scanner payloads + LLM reasoning) are the
|
|
35
|
+
* variable/untrusted data, so they get a key-name scrubber here: attributes stay un-redacted; the
|
|
36
|
+
* Body is where arbitrary scanner `meta` (the exact data Task 2 refused to vouch for) now lives, so
|
|
37
|
+
* the seam moves over it.
|
|
38
|
+
*/
|
|
39
|
+
export declare const SENSITIVE_KEY_PATTERN: RegExp;
|
|
40
|
+
/**
|
|
41
|
+
* Deep-walk a Body value: any object key whose NAME matches {@link SENSITIVE_KEY_PATTERN} has its
|
|
42
|
+
* value replaced with {@link REDACT_MARKER}; nested objects/arrays recurse; scalars pass through
|
|
43
|
+
* unchanged. A flat string (LLM reasoning) has no keys, so it returns verbatim. Never throws — a
|
|
44
|
+
* depth cap and a seen-set guard against cycles; on any anomaly the subtree is returned as-is.
|
|
45
|
+
*/
|
|
46
|
+
export declare function redactBody(value: unknown): unknown;
|
|
31
47
|
//# sourceMappingURL=redaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../../src/recording/otel/redaction.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../../src/recording/otel/redaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAEvB,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,CAK1F;AAED,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAGjF;AAED,uGAAuG;AACvG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAEjF;AAGD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QACgF,CAAC;AAKnH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD"}
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* testable, more robust than scrubbing flattened keys after the fact.
|
|
5
5
|
*
|
|
6
6
|
* Policy (value-vs-risk, confirmed against the real producers):
|
|
7
|
-
* - **Drop the
|
|
7
|
+
* - **Drop the genuinely-open bag wholesale.** `SignalSummary.meta` is bounded only for the
|
|
8
8
|
* scanners we ship, but the runtime exists to host arbitrary scanner implementations, so its
|
|
9
|
-
* contents can't be vouched for.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* contents can't be vouched for. It never ships; the high-value bounded data it'd carry is
|
|
10
|
+
* already on typed scalars / the per-signal child spans. (The raw LLM decision payload is no
|
|
11
|
+
* longer on the record at all — since the pass was single-sourced from `_decisionMeta`, only
|
|
12
|
+
* its bounded content reaches the per-signal children.)
|
|
12
13
|
* - **Mask `RuntimeErrorRecord.stack`** (it can embed file paths / secrets) with {@link REDACT_MARKER}.
|
|
13
14
|
* - **Kept (NOT redacted), only length-capped at flatten time:** `SignalDecision.reasoning` and
|
|
14
15
|
* `PositionLifecycleRecord.reasoning` (high-value agent rationale — paired with the child spans
|
|
@@ -18,8 +19,8 @@
|
|
|
18
19
|
* - `RuntimeLifecycleRecord.config` is the *unresolved* config (placeholders intact, no inlined
|
|
19
20
|
* secrets), so it is only size-capped, never redacted.
|
|
20
21
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
22
|
+
* This module clears the fields that must not survive even if a future mapper change tries to
|
|
23
|
+
* read them.
|
|
23
24
|
*/
|
|
24
25
|
import { REDACT_MARKER } from "./constants.js";
|
|
25
26
|
/** Drop `signal.meta` (open bag, arbitrary scanner contents). `reasoning` is kept (length-capped). */
|
|
@@ -37,4 +38,51 @@ export function redactRuntimeError(record) {
|
|
|
37
38
|
export function redactRuntimeState(record) {
|
|
38
39
|
return { ...record, metrics: null };
|
|
39
40
|
}
|
|
41
|
+
// ── Body redaction (Task 8) ────────────────────────────────────────────────────
|
|
42
|
+
/**
|
|
43
|
+
* Task 8 inverts the locus of redaction. The above scrubs *typed attribute fields* — a known,
|
|
44
|
+
* trusted set. The new event-log Bodies (raw scanner payloads + LLM reasoning) are the
|
|
45
|
+
* variable/untrusted data, so they get a key-name scrubber here: attributes stay un-redacted; the
|
|
46
|
+
* Body is where arbitrary scanner `meta` (the exact data Task 2 refused to vouch for) now lives, so
|
|
47
|
+
* the seam moves over it.
|
|
48
|
+
*/
|
|
49
|
+
export const SENSITIVE_KEY_PATTERN = /(api[_-]?key|secret|token|password|passwd|authorization|auth|bearer|private[_-]?key|mnemonic|seed|credential)/i;
|
|
50
|
+
/** Depth cap as a defensive cycle/over-recursion guard — Bodies are shallow in practice. */
|
|
51
|
+
const MAX_REDACT_DEPTH = 12;
|
|
52
|
+
/**
|
|
53
|
+
* Deep-walk a Body value: any object key whose NAME matches {@link SENSITIVE_KEY_PATTERN} has its
|
|
54
|
+
* value replaced with {@link REDACT_MARKER}; nested objects/arrays recurse; scalars pass through
|
|
55
|
+
* unchanged. A flat string (LLM reasoning) has no keys, so it returns verbatim. Never throws — a
|
|
56
|
+
* depth cap and a seen-set guard against cycles; on any anomaly the subtree is returned as-is.
|
|
57
|
+
*/
|
|
58
|
+
export function redactBody(value) {
|
|
59
|
+
return walk(value, 0, new WeakSet());
|
|
60
|
+
}
|
|
61
|
+
function walk(value, depth, seen) {
|
|
62
|
+
if (value === null || typeof value !== "object")
|
|
63
|
+
return value;
|
|
64
|
+
if (depth >= MAX_REDACT_DEPTH)
|
|
65
|
+
return value;
|
|
66
|
+
if (seen.has(value))
|
|
67
|
+
return value; // cycle on the CURRENT path — leave the back-reference as-is
|
|
68
|
+
// Path stack, not a cumulative visited-set: add before recursing, delete after. A genuine cycle
|
|
69
|
+
// (an ancestor reappears) is still caught, but legitimately shared references — the same object
|
|
70
|
+
// reachable via two sibling paths — are each walked and redacted independently. A cumulative set
|
|
71
|
+
// would return the shared subtree UNREDACTED on its second visit, leaking any sensitive key it
|
|
72
|
+
// carries.
|
|
73
|
+
seen.add(value);
|
|
74
|
+
let result;
|
|
75
|
+
if (Array.isArray(value)) {
|
|
76
|
+
result = value.map((v) => walk(v, depth + 1, seen));
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const out = {};
|
|
80
|
+
for (const [k, v] of Object.entries(value)) {
|
|
81
|
+
out[k] = SENSITIVE_KEY_PATTERN.test(k) ? REDACT_MARKER : walk(v, depth + 1, seen);
|
|
82
|
+
}
|
|
83
|
+
result = out;
|
|
84
|
+
}
|
|
85
|
+
seen.delete(value);
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
40
88
|
//# sourceMappingURL=redaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../../../src/recording/otel/redaction.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../../../src/recording/otel/redaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQ/C,sGAAsG;AACtG,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,WAAW,GAAuB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACpE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CACzF,CAAC;IACF,OAAO,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IACjC,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AAC7C,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,kFAAkF;AAClF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAChC,gHAAgH,CAAC;AAEnH,4FAA4F;AAC5F,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,IAAI,CAAC,KAAc,EAAE,KAAa,EAAE,IAAqB;IAChE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,KAAK,IAAI,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,6DAA6D;IAChG,gGAAgG;IAChG,gGAAgG;IAChG,iGAAiG;IACjG,+FAA+F;IAC/F,WAAW;IACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,IAAI,MAAe,CAAC;IACpB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,GAAG,GAAG,CAAC;IACf,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -43,6 +43,8 @@ export type ScannerRunOutcome = "complete" | "skipped" | "error";
|
|
|
43
43
|
export interface ScannerRunRecord {
|
|
44
44
|
readonly type: "scanner_run";
|
|
45
45
|
readonly scannerId: string;
|
|
46
|
+
/** Telemetry-owned per-scan-run id; threads scan → pass into one trace. */
|
|
47
|
+
readonly runId?: string;
|
|
46
48
|
readonly outcome: ScannerRunOutcome;
|
|
47
49
|
/** Raw engine status: `ok`|`heartbeat`|`skipped`|`halted`|`disabled`|`error`. */
|
|
48
50
|
readonly statusDetail?: string;
|
|
@@ -85,8 +87,8 @@ export interface SignalDecision {
|
|
|
85
87
|
readonly model?: string;
|
|
86
88
|
readonly tokensUsed?: number | null;
|
|
87
89
|
readonly durationMs?: number;
|
|
88
|
-
/**
|
|
89
|
-
readonly
|
|
90
|
+
/** Epoch ms when the decision phase ended — the llm.decision child's end; its window is `[endedAt − durationMs, endedAt]`. */
|
|
91
|
+
readonly endedAt?: number;
|
|
90
92
|
}
|
|
91
93
|
/** Coarse result of acting on an evaluated signal. */
|
|
92
94
|
export type SignalOutcomeResult = "executed" | "rejected" | "skipped" | "below_confidence" | "error";
|
|
@@ -138,6 +140,9 @@ export interface SignalOutcome {
|
|
|
138
140
|
export interface SignalEvaluation {
|
|
139
141
|
readonly signal: SignalSummary;
|
|
140
142
|
readonly outcome: SignalOutcome;
|
|
143
|
+
/** Per-signal work window, epoch ms — stamped by the action loop (absent on older payloads). */
|
|
144
|
+
readonly startedAt?: number;
|
|
145
|
+
readonly endedAt?: number;
|
|
141
146
|
}
|
|
142
147
|
/**
|
|
143
148
|
* One signal-evaluation work unit: the runtime hands a scan pass's batch to the action, which
|
|
@@ -148,6 +153,8 @@ export interface SignalEvaluation {
|
|
|
148
153
|
export interface SignalEvaluatedRecord {
|
|
149
154
|
readonly type: "signal_evaluated";
|
|
150
155
|
readonly scannerId?: string;
|
|
156
|
+
/** Telemetry-owned per-scan-run id; threads scan → pass into one trace. */
|
|
157
|
+
readonly runId?: string;
|
|
151
158
|
/** Evaluation start, epoch ms. Required (see {@link ScannerRunRecord.startedAt}) so a `Duration` is always derivable. */
|
|
152
159
|
readonly startedAt: number;
|
|
153
160
|
/** Evaluation end, epoch ms. */
|
|
@@ -204,6 +211,13 @@ export interface PositionLifecycleRecord {
|
|
|
204
211
|
/** Order-fill success flag from `CreatePositionOrderResult.filled` (boolean, not a quantity). */
|
|
205
212
|
readonly filled?: boolean | null;
|
|
206
213
|
readonly reasoning?: string;
|
|
214
|
+
/**
|
|
215
|
+
* Externally-detected vs runtime-opened discriminator (`"runtime_opened"` |
|
|
216
|
+
* `"externally_detected"`), from the PositionIdRegistry's intent-vs-fresh mint observation.
|
|
217
|
+
* Populated on `opened` only (the registry surfaces it solely on confirm-open); absent on every
|
|
218
|
+
* other lifecycle event. See the Task 8a impl notes.
|
|
219
|
+
*/
|
|
220
|
+
readonly reconciliationSource?: string;
|
|
207
221
|
}
|
|
208
222
|
export type DslTransitionKind = "created" | "phase_changed" | "tier_advanced" | "sl_updated" | "closed" | "close_pending" | "settings_updated" | "deleted";
|
|
209
223
|
/** A tier in the exit ladder, as carried on `dsl.created`. */
|
|
@@ -267,6 +281,57 @@ export interface DslTransitionRecord {
|
|
|
267
281
|
*/
|
|
268
282
|
readonly backendDslPositionId?: string | null;
|
|
269
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* Which work unit of a monitor tick a {@link DslTickRecord} carries: the tick itself, one
|
|
286
|
+
* position's processing window, or one venue call (close attempt / SL update) within it.
|
|
287
|
+
*/
|
|
288
|
+
export type DslTickUnit = "tick" | "position" | "close_attempt" | "sl_update";
|
|
289
|
+
/**
|
|
290
|
+
* One work unit of the DSL monitor tick — the runtime's third work loop alongside the scanner run
|
|
291
|
+
* and the signal-evaluation pass. Unlike {@link DslTransitionRecord} (the point-in-time
|
|
292
|
+
* state-machine record, which stays a log), these are *measured durations*: the tick batches price
|
|
293
|
+
* fetches and processes every active position, and each position's processing may submit a close
|
|
294
|
+
* or sync the exchange stop-loss — the venue-latency story.
|
|
295
|
+
*
|
|
296
|
+
* One record per bus event, no pairing: the shared `tickId` (emitted as the `tick.id` attribute on
|
|
297
|
+
* every span and, scoped by the emitter's bootId, used as the deterministic trace-id seed) threads
|
|
298
|
+
* the units into one trace, and `positionKey` seeds the per-position span id so close/SL units
|
|
299
|
+
* nest under their position.
|
|
300
|
+
* `unit` discriminates which optional fields apply. `position.id` joins the family to the
|
|
301
|
+
* position's lifecycle and `dsl_transition` logs across flows.
|
|
302
|
+
*/
|
|
303
|
+
export interface DslTickRecord {
|
|
304
|
+
readonly type: "dsl_tick";
|
|
305
|
+
readonly unit: DslTickUnit;
|
|
306
|
+
/** The monitor's per-tick id — the deterministic TraceId seed (scoped by bootId) and the `tick.id` join attribute. */
|
|
307
|
+
readonly tickId: string;
|
|
308
|
+
/** Work-unit start, epoch ms — observed at the emit site, never fabricated. */
|
|
309
|
+
readonly startedAt: number;
|
|
310
|
+
/** Work-unit end, epoch ms (clamped so `endedAt >= startedAt`). */
|
|
311
|
+
readonly endedAt: number;
|
|
312
|
+
readonly strategyCount?: number;
|
|
313
|
+
readonly activePositionCount?: number;
|
|
314
|
+
readonly positionsProcessed?: number;
|
|
315
|
+
/** Batched price-fetch window within the tick (both or neither — a half window is fabricated extent). */
|
|
316
|
+
readonly pricesStartedAt?: number;
|
|
317
|
+
readonly pricesEndedAt?: number;
|
|
318
|
+
/** The DSL state key — the deterministic span-id seed component (`bootId:tickId:positionKey`). */
|
|
319
|
+
readonly positionKey?: string;
|
|
320
|
+
/** Cross-flow position.id (`DslState.positionId`, falling back to `correlationId` for legacy state). */
|
|
321
|
+
readonly positionId?: string;
|
|
322
|
+
readonly asset?: string;
|
|
323
|
+
readonly dex?: string;
|
|
324
|
+
readonly outcome?: "ok" | "error";
|
|
325
|
+
readonly error?: string;
|
|
326
|
+
readonly closeReason?: string;
|
|
327
|
+
/** Consecutive close-attempt number (1-based), from `consecutiveCloseFailures`. */
|
|
328
|
+
readonly attempt?: number;
|
|
329
|
+
readonly newSLPrice?: number;
|
|
330
|
+
/** Synced exchange SL order id (success only). */
|
|
331
|
+
readonly slOrderId?: number;
|
|
332
|
+
/** Why the sync ran (e.g. `slOrderMissing,tierChanged`), as the monitor computes it. */
|
|
333
|
+
readonly syncReason?: string;
|
|
334
|
+
}
|
|
270
335
|
/**
|
|
271
336
|
* A bucket-2 error that does not belong to a specific domain record (e.g. the bus's
|
|
272
337
|
* `signal_processing_error`). Errors that *do* have a home — scanner failures, action
|
|
@@ -283,6 +348,8 @@ export interface RuntimeErrorRecord {
|
|
|
283
348
|
readonly errorName?: string;
|
|
284
349
|
readonly asset?: string;
|
|
285
350
|
readonly scannerId?: string;
|
|
351
|
+
/** Telemetry-owned per-scan-run id when the error belongs to a scan family (e.g. signal processing). */
|
|
352
|
+
readonly runId?: string;
|
|
286
353
|
readonly stack?: string;
|
|
287
354
|
}
|
|
288
355
|
export type RuntimeLifecyclePhase = "started" | "stopped";
|
|
@@ -336,6 +403,163 @@ export interface RuntimeStateRecord {
|
|
|
336
403
|
/** Breached-gate metrics bag (`pnlDelta`, `dailyLossLimitUsd`, `drawdownFromPeakPct`, …). */
|
|
337
404
|
readonly metrics?: Record<string, unknown> | null;
|
|
338
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Coarse action intent of a {@link DecisionMadeRecord} — the `open`/`close`/`none` axis the
|
|
408
|
+
* read-side groups decisions by, derived from the decision's action type.
|
|
409
|
+
*/
|
|
410
|
+
export type DecisionActionIntent = "open" | "close" | "none";
|
|
411
|
+
/**
|
|
412
|
+
* The judgment over one evaluation pass, as a discrete log event (`decision.made`). Derived from
|
|
413
|
+
* the same `tracking.action_result` path that builds {@link SignalEvaluatedRecord} — no new bus
|
|
414
|
+
* event. The trace view keeps the decision on the `llm.decision` span; this is its logs-only twin so
|
|
415
|
+
* a logs-only consumer (the self-learning agent) can read "what the strategy decided and why"
|
|
416
|
+
* without walking spans.
|
|
417
|
+
*
|
|
418
|
+
* `reasoning` is the Body (uncapped free-text). Market-context fields (`fundingRegime`/
|
|
419
|
+
* `marketRegime`/`markPrice`) are reserved keys: they are NOT on the `tracking.action_result`
|
|
420
|
+
* payload today, so 8a leaves them undefined (absent = NULL) — see the Task 8a implementation notes.
|
|
421
|
+
*/
|
|
422
|
+
export interface DecisionMadeRecord {
|
|
423
|
+
readonly type: "decision_made";
|
|
424
|
+
readonly occurredAt: number;
|
|
425
|
+
readonly mode?: DecisionMode;
|
|
426
|
+
readonly byLlm: boolean;
|
|
427
|
+
readonly model?: string;
|
|
428
|
+
readonly tokensUsed?: number | null;
|
|
429
|
+
readonly confidence?: number;
|
|
430
|
+
readonly confidenceThreshold?: number;
|
|
431
|
+
readonly durationMs?: number;
|
|
432
|
+
readonly actionIntent: DecisionActionIntent;
|
|
433
|
+
readonly fundingRegime?: string;
|
|
434
|
+
readonly marketRegime?: string;
|
|
435
|
+
readonly markPrice?: number;
|
|
436
|
+
/** Full LLM reasoning prose — the Body content (uncapped, routed through Body redaction). */
|
|
437
|
+
readonly reasoning?: string;
|
|
438
|
+
}
|
|
439
|
+
/** Disposition of one considered signal: did it become an order, get rejected, get blocked, or error. */
|
|
440
|
+
export type SignalOutcomeDisposition = "accepted" | "rejected" | "blocked" | "error";
|
|
441
|
+
/**
|
|
442
|
+
* One signal's disposition, as a discrete log event (`signal.outcome`). One per evaluation in the
|
|
443
|
+
* pass, derived from the same `tracking.action_result` path that builds {@link SignalEvaluatedRecord}
|
|
444
|
+
* — no new bus event. The four-value `result` collapses the granular per-signal
|
|
445
|
+
* {@link SignalOutcomeResult}; the open `reasonCode` is kept verbatim for the fine-grained reason.
|
|
446
|
+
*
|
|
447
|
+
* `rawSignal` is the variable-shaped scanner evidence → the Body (redacted in the mapper). The
|
|
448
|
+
* scalars below are the queryable attribute surface.
|
|
449
|
+
*/
|
|
450
|
+
export interface SignalOutcomeRecord {
|
|
451
|
+
readonly type: "signal_outcome";
|
|
452
|
+
readonly occurredAt: number;
|
|
453
|
+
readonly scannerId?: string;
|
|
454
|
+
readonly signalType?: string;
|
|
455
|
+
readonly asset: string;
|
|
456
|
+
readonly direction?: TradeDirection | null;
|
|
457
|
+
readonly score?: number;
|
|
458
|
+
/** Signal time, epoch ms. */
|
|
459
|
+
readonly signalTs?: number;
|
|
460
|
+
readonly factors?: Record<string, boolean>;
|
|
461
|
+
readonly result: SignalOutcomeDisposition;
|
|
462
|
+
/** The granular per-signal reason (open string, e.g. `risk_gate_COOLDOWN`, `below_confidence`). */
|
|
463
|
+
readonly reasonCode?: string;
|
|
464
|
+
readonly positionId?: string;
|
|
465
|
+
readonly marginAmount?: number;
|
|
466
|
+
readonly leverage?: number;
|
|
467
|
+
readonly notionalValue?: number;
|
|
468
|
+
readonly size?: number;
|
|
469
|
+
/** Reserved — unpopulated in 8a (not on the payload; see impl notes). */
|
|
470
|
+
readonly marginSource?: string;
|
|
471
|
+
readonly orderId?: string;
|
|
472
|
+
readonly errorName?: string;
|
|
473
|
+
/** The raw scanner signal payload (incl. its `meta`/`factors`) → the Body, redacted in the mapper. */
|
|
474
|
+
readonly rawSignal?: Record<string, unknown>;
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* One DSL exit attempt as a discrete log event (`dsl.close_attempt`) — exit attempts / venue
|
|
478
|
+
* failures / retries, span-only today. Derived from the existing `tracking.dsl_close_attempt` event
|
|
479
|
+
* (already consumed to build the {@link DslTickRecord} trace) — a second consumer for the log.
|
|
480
|
+
*
|
|
481
|
+
* No `errorName`: only `String(e)` is available at the producer emit site, so the error class name
|
|
482
|
+
* is omitted (see the Task 8a impl notes).
|
|
483
|
+
*/
|
|
484
|
+
export interface DslCloseAttemptRecord {
|
|
485
|
+
readonly type: "dsl_close_attempt";
|
|
486
|
+
readonly occurredAt: number;
|
|
487
|
+
readonly positionId?: string;
|
|
488
|
+
readonly asset?: string;
|
|
489
|
+
readonly dex?: string;
|
|
490
|
+
/** The close reason (`closeReason` on the payload). */
|
|
491
|
+
readonly reason?: string;
|
|
492
|
+
readonly attempt?: number;
|
|
493
|
+
readonly result: "ok" | "error";
|
|
494
|
+
readonly error?: string;
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* One scan's funnel summary as a discrete log event (`scanner.summary`) — the anti-spam roll-up of
|
|
498
|
+
* what a scan considered and dropped. Derived from the SAME `tracking.scanner_run` payload that
|
|
499
|
+
* builds {@link ScannerRunRecord} (its `summary.funnel`), so no new bus event. One row per scan: the
|
|
500
|
+
* dropped candidates are ONE Body array, never one row per drop.
|
|
501
|
+
*
|
|
502
|
+
* `passedAssets` is a small linkage list (the survivors, each detailed by its own `signal.outcome`);
|
|
503
|
+
* `droppedCandidates` is the variable-shaped Body array — never a filter target, reachable only after
|
|
504
|
+
* the row is selected. The count attributes (`scannedCount`/`passedCount`/`droppedCount`/
|
|
505
|
+
* `droppedByReason`) carry the aggregate query surface.
|
|
506
|
+
*/
|
|
507
|
+
export interface ScannerSummaryRecord {
|
|
508
|
+
readonly type: "scanner_summary";
|
|
509
|
+
readonly occurredAt: number;
|
|
510
|
+
readonly scannerId: string;
|
|
511
|
+
readonly scannedCount?: number;
|
|
512
|
+
readonly passedCount?: number;
|
|
513
|
+
readonly droppedCount?: number;
|
|
514
|
+
/** Reason → count of candidates dropped for it (bounded reason vocabulary → queryable attrs). */
|
|
515
|
+
readonly droppedByReason?: Record<string, number>;
|
|
516
|
+
/** The survivors' assets — a small linkage list to the per-signal `signal.outcome` events. */
|
|
517
|
+
readonly passedAssets?: readonly string[];
|
|
518
|
+
/** The variable Body array: `[{asset, score?, reason, factors?}, …]` — never a filter target. */
|
|
519
|
+
readonly droppedCandidates?: readonly Record<string, unknown>[];
|
|
520
|
+
}
|
|
521
|
+
/** Which execution fact an {@link OrderEventRecord} carries. */
|
|
522
|
+
export type OrderEventKind = "placed" | "filled" | "failed";
|
|
523
|
+
/**
|
|
524
|
+
* One order-execution event as a discrete log event (`order.{placed,filled,failed}`) — the venue
|
|
525
|
+
* execution granularity (placement vs fill, maker/taker, venue rejects) that the position-level
|
|
526
|
+
* `position_lifecycle` event can't carry. Emitted additively by the open/close actions at the
|
|
527
|
+
* submit/success/failure points (the new `tracking.order_*` bus events). `event` discriminates which
|
|
528
|
+
* optional fields apply.
|
|
529
|
+
*
|
|
530
|
+
* Overlap with `position_lifecycle.opened`/`.closed` is intentional: the lifecycle event is the
|
|
531
|
+
* settled position-level fact; `order.*` is the execution-level fact. Both are emitted; no dedupe.
|
|
532
|
+
*
|
|
533
|
+
* `limitPrice`/`fees`/`partial` are reserved-but-unpopulated in 8a — they are not in scope at the
|
|
534
|
+
* action's submission point (see the Task 8a impl notes). `error` on `failed` is the optional venue
|
|
535
|
+
* raw response → the Body.
|
|
536
|
+
*/
|
|
537
|
+
export interface OrderEventRecord {
|
|
538
|
+
readonly type: "order_event";
|
|
539
|
+
readonly event: OrderEventKind;
|
|
540
|
+
readonly occurredAt: number;
|
|
541
|
+
/** Cross-flow position.id (`__positionId` on the bus payload). See {@link SignalOutcome.positionId}. */
|
|
542
|
+
readonly positionId?: string;
|
|
543
|
+
readonly orderId?: string;
|
|
544
|
+
readonly asset: string;
|
|
545
|
+
readonly direction?: TradeDirection | null;
|
|
546
|
+
readonly orderType?: string;
|
|
547
|
+
readonly size?: number;
|
|
548
|
+
/** Reserved — unpopulated in 8a (not in scope at the submission point; see impl notes). */
|
|
549
|
+
readonly limitPrice?: number;
|
|
550
|
+
readonly reduceOnly?: boolean;
|
|
551
|
+
readonly fillPrice?: number;
|
|
552
|
+
readonly fillSize?: number;
|
|
553
|
+
readonly executionAsMaker?: boolean | null;
|
|
554
|
+
/** Reserved — unpopulated in 8a (not in scope; see impl notes). */
|
|
555
|
+
readonly fees?: number;
|
|
556
|
+
/** Reserved — unpopulated in 8a (not in scope; see impl notes). */
|
|
557
|
+
readonly partial?: boolean;
|
|
558
|
+
readonly reason?: string;
|
|
559
|
+
readonly errorName?: string;
|
|
560
|
+
/** The optional venue raw response on `failed` → the Body. */
|
|
561
|
+
readonly error?: string;
|
|
562
|
+
}
|
|
339
563
|
/** Discriminated union of every record type. */
|
|
340
|
-
export type RecordingRecord = ScannerRunRecord | SignalEvaluatedRecord | PositionLifecycleRecord | DslTransitionRecord | RuntimeErrorRecord | RuntimeLifecycleRecord | RuntimeStateRecord;
|
|
564
|
+
export type RecordingRecord = ScannerRunRecord | SignalEvaluatedRecord | PositionLifecycleRecord | DslTransitionRecord | DslTickRecord | RuntimeErrorRecord | RuntimeLifecycleRecord | RuntimeStateRecord | DecisionMadeRecord | SignalOutcomeRecord | ScannerSummaryRecord | DslCloseAttemptRecord | OrderEventRecord;
|
|
341
565
|
//# sourceMappingURL=records.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/recording/records.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAID,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAExE,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qHAAqH;IACrH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,UAAU,GACV,SAAS,GACT,kBAAkB,GAClB,OAAO,CAAC;AAEZ;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,gGAAgG;IAChG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE3C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yHAAyH;IACzH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACnD;AAID,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,WAAW,GACX,sBAAsB,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wGAAwG;IACxG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,iGAAiG;IACjG,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,eAAe,GACf,eAAe,GACf,YAAY,GACZ,QAAQ,GACR,eAAe,GACf,kBAAkB,GAClB,SAAS,CAAC;AAEd,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wGAAwG;IACxG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,wFAAwF;IACxF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAID;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACnD;AAID,gDAAgD;AAChD,MAAM,MAAM,eAAe,GACvB,gBAAgB,GAChB,qBAAqB,GACrB,uBAAuB,GACvB,mBAAmB,GACnB,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/recording/records.ts"],"names":[],"mappings":"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"}
|