@senpi/runtime 1.1.0-dev.runtime-phase-2.20260609132603 → 1.1.0-dev.runtime-phase-2.20260610130051
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 +0 -16
- package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +38 -299
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/decision-engine.d.ts +0 -2
- package/dist/actions/decision-engine.d.ts.map +1 -1
- package/dist/actions/decision-engine.js.map +1 -1
- package/dist/actions/llm-decision/factory.d.ts +0 -3
- package/dist/actions/llm-decision/factory.d.ts.map +1 -1
- package/dist/actions/llm-decision/factory.js +0 -1
- package/dist/actions/llm-decision/factory.js.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.d.ts +0 -13
- package/dist/actions/llm-decision/openclaw-llm-decision.d.ts.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.js +68 -195
- package/dist/actions/llm-decision/openclaw-llm-decision.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts +0 -12
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +123 -346
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.d.ts +0 -6
- package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.js +0 -48
- package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +4 -0
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/recording/emitter.d.ts +21 -0
- package/dist/recording/emitter.d.ts.map +1 -0
- package/dist/recording/emitter.js +2 -0
- package/dist/recording/emitter.js.map +1 -0
- package/dist/recording/identity.d.ts +34 -0
- package/dist/recording/identity.d.ts.map +1 -0
- package/dist/recording/identity.js +2 -0
- package/dist/recording/identity.js.map +1 -0
- package/dist/recording/index.d.ts +11 -0
- package/dist/recording/index.d.ts.map +1 -0
- package/dist/recording/index.js +2 -0
- package/dist/recording/index.js.map +1 -0
- package/dist/recording/noop-emitter.d.ts +17 -0
- package/dist/recording/noop-emitter.d.ts.map +1 -0
- package/dist/recording/noop-emitter.js +16 -0
- package/dist/recording/noop-emitter.js.map +1 -0
- package/dist/recording/otel/attributes.d.ts +35 -0
- package/dist/recording/otel/attributes.d.ts.map +1 -0
- package/dist/recording/otel/attributes.js +131 -0
- package/dist/recording/otel/attributes.js.map +1 -0
- package/dist/recording/otel/constants.d.ts +81 -0
- package/dist/recording/otel/constants.d.ts.map +1 -0
- package/dist/recording/otel/constants.js +96 -0
- package/dist/recording/otel/constants.js.map +1 -0
- package/dist/recording/otel/ids.d.ts +14 -0
- package/dist/recording/otel/ids.d.ts.map +1 -0
- package/dist/recording/otel/ids.js +12 -0
- package/dist/recording/otel/ids.js.map +1 -0
- package/dist/recording/otel/index.d.ts +13 -0
- package/dist/recording/otel/index.d.ts.map +1 -0
- package/dist/recording/otel/index.js +9 -0
- package/dist/recording/otel/index.js.map +1 -0
- package/dist/recording/otel/mappers.d.ts +42 -0
- package/dist/recording/otel/mappers.d.ts.map +1 -0
- package/dist/recording/otel/mappers.js +337 -0
- package/dist/recording/otel/mappers.js.map +1 -0
- package/dist/recording/otel/otel-emitter.d.ts +37 -0
- package/dist/recording/otel/otel-emitter.d.ts.map +1 -0
- package/dist/recording/otel/otel-emitter.js +75 -0
- package/dist/recording/otel/otel-emitter.js.map +1 -0
- package/dist/recording/otel/redaction.d.ts +31 -0
- package/dist/recording/otel/redaction.d.ts.map +1 -0
- package/dist/recording/otel/redaction.js +40 -0
- package/dist/recording/otel/redaction.js.map +1 -0
- package/dist/recording/records.d.ts +327 -0
- package/dist/recording/records.d.ts.map +1 -0
- package/dist/recording/records.js +14 -0
- package/dist/recording/records.js.map +1 -0
- package/dist/recording/transport/batcher.d.ts +59 -0
- package/dist/recording/transport/batcher.d.ts.map +1 -0
- package/dist/recording/transport/batcher.js +234 -0
- package/dist/recording/transport/batcher.js.map +1 -0
- package/dist/recording/transport/client.d.ts +41 -0
- package/dist/recording/transport/client.d.ts.map +1 -0
- package/dist/recording/transport/client.js +69 -0
- package/dist/recording/transport/client.js.map +1 -0
- package/dist/recording/transport/config.d.ts +53 -0
- package/dist/recording/transport/config.d.ts.map +1 -0
- package/dist/recording/transport/config.js +41 -0
- package/dist/recording/transport/config.js.map +1 -0
- package/dist/recording/transport/index.d.ts +16 -0
- package/dist/recording/transport/index.d.ts.map +1 -0
- package/dist/recording/transport/index.js +12 -0
- package/dist/recording/transport/index.js.map +1 -0
- package/dist/recording/transport/rows.d.ts +88 -0
- package/dist/recording/transport/rows.d.ts.map +1 -0
- package/dist/recording/transport/rows.js +15 -0
- package/dist/recording/transport/rows.js.map +1 -0
- package/dist/recording/wiring/emitter-factory.d.ts +39 -0
- package/dist/recording/wiring/emitter-factory.d.ts.map +1 -0
- package/dist/recording/wiring/emitter-factory.js +62 -0
- package/dist/recording/wiring/emitter-factory.js.map +1 -0
- package/dist/recording/wiring/identity.d.ts +27 -0
- package/dist/recording/wiring/identity.d.ts.map +1 -0
- package/dist/recording/wiring/identity.js +51 -0
- package/dist/recording/wiring/identity.js.map +1 -0
- package/dist/recording/wiring/index.d.ts +12 -0
- package/dist/recording/wiring/index.d.ts.map +1 -0
- package/dist/recording/wiring/index.js +9 -0
- package/dist/recording/wiring/index.js.map +1 -0
- package/dist/recording/wiring/record-builders.d.ts +68 -0
- package/dist/recording/wiring/record-builders.d.ts.map +1 -0
- package/dist/recording/wiring/record-builders.js +441 -0
- package/dist/recording/wiring/record-builders.js.map +1 -0
- package/dist/recording/wiring/subscriber.d.ts +21 -0
- package/dist/recording/wiring/subscriber.d.ts.map +1 -0
- package/dist/recording/wiring/subscriber.js +171 -0
- package/dist/recording/wiring/subscriber.js.map +1 -0
- package/dist/recording/wiring/values.d.ts +19 -0
- package/dist/recording/wiring/values.d.ts.map +1 -0
- package/dist/recording/wiring/values.js +49 -0
- package/dist/recording/wiring/values.js.map +1 -0
- package/dist/runtime/create-actions.d.ts.map +1 -1
- package/dist/runtime/create-actions.js +0 -2
- package/dist/runtime/create-actions.js.map +1 -1
- package/dist/runtime/create-runtime-context.d.ts +0 -2
- package/dist/runtime/create-runtime-context.d.ts.map +1 -1
- package/dist/runtime/create-runtime-context.js +0 -1
- package/dist/runtime/create-runtime-context.js.map +1 -1
- package/dist/runtime/create-scanner-module.d.ts +1 -1
- package/dist/runtime/create-scanner-module.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.js +1 -2
- package/dist/runtime/create-scanner-module.js.map +1 -1
- package/dist/runtime/load-runtime-config.d.ts +9 -0
- package/dist/runtime/load-runtime-config.d.ts.map +1 -1
- package/dist/runtime/load-runtime-config.js +41 -1
- package/dist/runtime/load-runtime-config.js.map +1 -1
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +3 -2
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runtime-schema.d.ts +182 -24
- package/dist/runtime/runtime-schema.d.ts.map +1 -1
- package/dist/runtime/runtime-schema.js +17 -1
- package/dist/runtime/runtime-schema.js.map +1 -1
- package/dist/runtime/runtime.d.ts +15 -5
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +248 -273
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/scanners/engine/data-providers.d.ts +0 -2
- package/dist/scanners/engine/data-providers.d.ts.map +1 -1
- package/dist/scanners/engine/data-providers.js.map +1 -1
- package/dist/scanners/engine/engine.d.ts.map +1 -1
- package/dist/scanners/engine/engine.js +9 -68
- package/dist/scanners/engine/engine.js.map +1 -1
- package/dist/scanners/events.d.ts +6 -0
- package/dist/scanners/events.d.ts.map +1 -1
- package/dist/scanners/events.js.map +1 -1
- package/dist/scanners/runtime-module.d.ts +0 -2
- package/dist/scanners/runtime-module.d.ts.map +1 -1
- package/dist/scanners/runtime-module.js +9 -2
- package/dist/scanners/runtime-module.js.map +1 -1
- package/dist/senpi/client.d.ts +2 -2
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +20 -120
- package/dist/senpi/client.js.map +1 -1
- package/dist/senpi/types.d.ts +1 -68
- package/dist/senpi/types.d.ts.map +1 -1
- package/dist/strategy/strategy-state.d.ts +1 -1
- package/dist/strategy/strategy-state.d.ts.map +1 -1
- package/dist/tracking/spans/plugin-span-tracker.d.ts.map +1 -1
- package/dist/tracking/spans/plugin-span-tracker.js +24 -4
- package/dist/tracking/spans/plugin-span-tracker.js.map +1 -1
- package/dist/tracking/spans/redact-pii.d.ts +0 -10
- package/dist/tracking/spans/redact-pii.d.ts.map +1 -1
- package/dist/tracking/spans/redact-pii.js +2 -80
- package/dist/tracking/spans/redact-pii.js.map +1 -1
- package/dist/types/runtime.d.ts +0 -3
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/types/strategy.d.ts +2 -2
- package/dist/types/strategy.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/actions/otel-helpers.d.ts +0 -65
- package/dist/actions/otel-helpers.d.ts.map +0 -1
- package/dist/actions/otel-helpers.js +0 -122
- package/dist/actions/otel-helpers.js.map +0 -1
- package/dist/otel/context.d.ts +0 -24
- package/dist/otel/context.d.ts.map +0 -1
- package/dist/otel/context.js +0 -29
- package/dist/otel/context.js.map +0 -1
- package/dist/otel/emitter.d.ts +0 -73
- package/dist/otel/emitter.d.ts.map +0 -1
- package/dist/otel/emitter.js +0 -248
- package/dist/otel/emitter.js.map +0 -1
- package/dist/otel/encode.d.ts +0 -48
- package/dist/otel/encode.d.ts.map +0 -1
- package/dist/otel/encode.js +0 -100
- package/dist/otel/encode.js.map +0 -1
- package/dist/otel/index.d.ts +0 -13
- package/dist/otel/index.d.ts.map +0 -1
- package/dist/otel/index.js +0 -10
- package/dist/otel/index.js.map +0 -1
- package/dist/otel/transport.d.ts +0 -57
- package/dist/otel/transport.d.ts.map +0 -1
- package/dist/otel/transport.js +0 -208
- package/dist/otel/transport.js.map +0 -1
- package/dist/otel/types.d.ts +0 -62
- package/dist/otel/types.d.ts.map +0 -1
- package/dist/otel/types.js +0 -2
- package/dist/otel/types.js.map +0 -1
package/dist/otel/transport.js
DELETED
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fire-and-forget HTTP transport with micro-batching.
|
|
3
|
-
*
|
|
4
|
-
* Records are buffered in memory and flushed to the consumer when either:
|
|
5
|
-
* - the buffer reaches `maxBatch` records, OR
|
|
6
|
-
* - `maxAgeMs` elapse since the first record landed (timer-driven).
|
|
7
|
-
*
|
|
8
|
-
* Each flush issues one POST containing `{ spans: [...] }` / `{ logs: [...] }`.
|
|
9
|
-
* The consumer already accepts an array; single-record posts (the prior
|
|
10
|
-
* behavior) were just N=1 batches. Trade-off: per-record latency up to
|
|
11
|
-
* `maxAgeMs` (default 250ms); SIGKILL loses the in-flight buffer. Graceful
|
|
12
|
-
* shutdown via `shutdown()` drains.
|
|
13
|
-
*
|
|
14
|
-
* Oversize guard: if the serialized batch exceeds `MAX_RECORD_BYTES`, splits
|
|
15
|
-
* the batch in halves and re-flushes recursively until each fragment fits.
|
|
16
|
-
* For singletons that still overflow, the blob-strip fallback kicks in
|
|
17
|
-
* (`gen_ai.message.body`, `senpi.order_response.body`, `decision.reasoning`,
|
|
18
|
-
* and log Body get cleared; row tagged `senpi.degraded=true`).
|
|
19
|
-
*
|
|
20
|
-
* Failure modes are fail-open: redactor throws → warn + emit un-redacted;
|
|
21
|
-
* fetch fails → warn + drop the batch; oversize singleton → warn + drop.
|
|
22
|
-
* Nothing in this layer blocks the trade path.
|
|
23
|
-
*/
|
|
24
|
-
import { createLogger } from "../utils/logger.js";
|
|
25
|
-
import { redactSensitiveFields } from "../tracking/spans/redact-pii.js";
|
|
26
|
-
const logger = createLogger("[senpi-core][otel-transport]");
|
|
27
|
-
const MAX_RECORD_BYTES = 8_000_000;
|
|
28
|
-
const DEFAULT_MAX_BATCH = 100;
|
|
29
|
-
const DEFAULT_MAX_AGE_MS = 250;
|
|
30
|
-
export class OtelHttpTransport {
|
|
31
|
-
url;
|
|
32
|
-
apiKey;
|
|
33
|
-
kind;
|
|
34
|
-
maxBatch;
|
|
35
|
-
maxAgeMs;
|
|
36
|
-
buf = [];
|
|
37
|
-
flushTimer = null;
|
|
38
|
-
inFlight = new Set();
|
|
39
|
-
constructor(opts) {
|
|
40
|
-
this.url = opts.url;
|
|
41
|
-
this.apiKey = opts.apiKey;
|
|
42
|
-
this.kind = opts.kind;
|
|
43
|
-
this.maxBatch = opts.maxBatch ?? DEFAULT_MAX_BATCH;
|
|
44
|
-
this.maxAgeMs = opts.maxAgeMs ?? DEFAULT_MAX_AGE_MS;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Enqueue a record for the next flush. Synchronous, never throws, never
|
|
48
|
-
* blocks. Triggers an immediate flush when the buffer reaches `maxBatch`.
|
|
49
|
-
*/
|
|
50
|
-
emit(record) {
|
|
51
|
-
this.buf.push(record);
|
|
52
|
-
if (this.buf.length >= this.maxBatch) {
|
|
53
|
-
this.flush();
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
if (this.flushTimer === null) {
|
|
57
|
-
this.flushTimer = setTimeout(() => this.flush(), this.maxAgeMs);
|
|
58
|
-
// Don't keep the event loop alive solely for a buffered batch.
|
|
59
|
-
this.flushTimer.unref?.();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/** Drain the buffer and await all in-flight POSTs. Idempotent. */
|
|
63
|
-
async shutdown() {
|
|
64
|
-
this.flush();
|
|
65
|
-
if (this.inFlight.size > 0) {
|
|
66
|
-
await Promise.allSettled([...this.inFlight]);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
flush() {
|
|
70
|
-
if (this.flushTimer !== null) {
|
|
71
|
-
clearTimeout(this.flushTimer);
|
|
72
|
-
this.flushTimer = null;
|
|
73
|
-
}
|
|
74
|
-
if (this.buf.length === 0)
|
|
75
|
-
return;
|
|
76
|
-
const batch = this.buf;
|
|
77
|
-
this.buf = [];
|
|
78
|
-
const promise = this.dispatch(batch);
|
|
79
|
-
this.inFlight.add(promise);
|
|
80
|
-
void promise.finally(() => this.inFlight.delete(promise));
|
|
81
|
-
}
|
|
82
|
-
async dispatch(batch) {
|
|
83
|
-
try {
|
|
84
|
-
// Redaction per record — independent failures shouldn't poison the
|
|
85
|
-
// whole batch.
|
|
86
|
-
await Promise.all(batch.map(async (r) => {
|
|
87
|
-
try {
|
|
88
|
-
await redactSensitiveFields(r);
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
logger.warn("otel redact threw; emitting un-redacted", {
|
|
92
|
-
kind: this.kind,
|
|
93
|
-
err: err instanceof Error ? err.message : String(err),
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}));
|
|
97
|
-
await this.dispatchSerialized(batch);
|
|
98
|
-
}
|
|
99
|
-
catch (err) {
|
|
100
|
-
logger.warn("otel emit error", {
|
|
101
|
-
kind: this.kind,
|
|
102
|
-
err: err instanceof Error ? err.message : String(err),
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
async dispatchSerialized(batch) {
|
|
107
|
-
let body = this.buildEnvelope(batch);
|
|
108
|
-
if (body.length > MAX_RECORD_BYTES) {
|
|
109
|
-
// Try to split first — cheaper than blob-stripping when the batch as
|
|
110
|
-
// a whole is large but individual records are reasonable.
|
|
111
|
-
if (batch.length > 1) {
|
|
112
|
-
const mid = batch.length >> 1;
|
|
113
|
-
await this.dispatchSerialized(batch.slice(0, mid));
|
|
114
|
-
await this.dispatchSerialized(batch.slice(mid));
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
// Singleton oversize → strip known blob fields and retry once.
|
|
118
|
-
const stripped = stripBlobFields(batch[0]);
|
|
119
|
-
if (stripped.changed) {
|
|
120
|
-
body = this.buildEnvelope([stripped.record]);
|
|
121
|
-
if (body.length > MAX_RECORD_BYTES) {
|
|
122
|
-
logger.warn("otel record oversized after blob strip; dropping", {
|
|
123
|
-
kind: this.kind,
|
|
124
|
-
bytes: body.length,
|
|
125
|
-
});
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
logger.warn("otel record oversized; dropping", {
|
|
131
|
-
kind: this.kind,
|
|
132
|
-
bytes: body.length,
|
|
133
|
-
});
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
const headers = { "Content-Type": "application/json" };
|
|
138
|
-
if (this.apiKey)
|
|
139
|
-
headers.Authorization = `Bearer ${this.apiKey}`;
|
|
140
|
-
try {
|
|
141
|
-
const response = await fetch(this.url, {
|
|
142
|
-
method: "POST",
|
|
143
|
-
headers,
|
|
144
|
-
body,
|
|
145
|
-
signal: AbortSignal.timeout(15_000),
|
|
146
|
-
});
|
|
147
|
-
if (!response.ok) {
|
|
148
|
-
const text = await response.text().catch(() => "<unreadable>");
|
|
149
|
-
logger.warn("otel emit failed", {
|
|
150
|
-
kind: this.kind,
|
|
151
|
-
status: response.status,
|
|
152
|
-
batchSize: batch.length,
|
|
153
|
-
body: text.slice(0, 500),
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
catch (err) {
|
|
158
|
-
logger.warn("otel emit error", {
|
|
159
|
-
kind: this.kind,
|
|
160
|
-
batchSize: batch.length,
|
|
161
|
-
err: err instanceof Error ? err.message : String(err),
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
buildEnvelope(batch) {
|
|
166
|
-
if (this.kind === "spans") {
|
|
167
|
-
return JSON.stringify({ spans: batch });
|
|
168
|
-
}
|
|
169
|
-
return JSON.stringify({ logs: batch });
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
// Attribute keys that may carry large blob payloads. `gen_ai.message.*` and
|
|
173
|
-
// `senpi.order_response.*` content lives in `LogRow.Body`, not in attrs — Body
|
|
174
|
-
// is stripped separately below — so only `decision.reasoning` belongs here.
|
|
175
|
-
const BLOB_KEYS = ["decision.reasoning"];
|
|
176
|
-
/**
|
|
177
|
-
* Build a stripped copy of the record with blob attributes and (for logs)
|
|
178
|
-
* `Body` cleared, tagged with `senpi.degraded=true` and the list of dropped
|
|
179
|
-
* field names. Pure — the caller's input is not mutated.
|
|
180
|
-
*/
|
|
181
|
-
function stripBlobFields(record) {
|
|
182
|
-
const dropped = [];
|
|
183
|
-
const isSpan = "SpanAttributes" in record;
|
|
184
|
-
const attrSource = isSpan
|
|
185
|
-
? record.SpanAttributes
|
|
186
|
-
: record.LogAttributes;
|
|
187
|
-
const nextAttrs = { ...attrSource };
|
|
188
|
-
for (const key of BLOB_KEYS) {
|
|
189
|
-
if (nextAttrs[key] !== undefined) {
|
|
190
|
-
delete nextAttrs[key];
|
|
191
|
-
dropped.push(key);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
let bodyStripped = false;
|
|
195
|
-
if (!isSpan && record.Body && record.Body.length > 0) {
|
|
196
|
-
bodyStripped = true;
|
|
197
|
-
dropped.push("Body");
|
|
198
|
-
}
|
|
199
|
-
if (dropped.length === 0)
|
|
200
|
-
return { record, changed: false };
|
|
201
|
-
nextAttrs["senpi.degraded"] = "true";
|
|
202
|
-
nextAttrs["senpi.dropped_fields"] = JSON.stringify(dropped);
|
|
203
|
-
const next = isSpan
|
|
204
|
-
? { ...record, SpanAttributes: nextAttrs }
|
|
205
|
-
: { ...record, LogAttributes: nextAttrs, ...(bodyStripped ? { Body: "" } : {}) };
|
|
206
|
-
return { record: next, changed: true };
|
|
207
|
-
}
|
|
208
|
-
//# sourceMappingURL=transport.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/otel/transport.ts"],"names":[],"mappings":"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"}
|
package/dist/otel/types.d.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ClickHouse-row record types for the V2 recording emitter.
|
|
3
|
-
*
|
|
4
|
-
* We POST records shaped exactly like the destination CH table rows so the
|
|
5
|
-
* neighbour service can batch-INSERT without normalization. No OTLP envelope,
|
|
6
|
-
* no typed `AnyValue` — all attribute values are strings (HyperDX's column
|
|
7
|
-
* type is `Map(LowCardinality(String), String)` and never parses values as
|
|
8
|
-
* numbers).
|
|
9
|
-
*/
|
|
10
|
-
export type OtelSpanKind = "Internal" | "Client" | "Server" | "Producer" | "Consumer";
|
|
11
|
-
export type OtelStatusCode = "Ok" | "Error" | "Unset";
|
|
12
|
-
export type OtelSeverity = "trace" | "debug" | "info" | "warn" | "error" | "fatal";
|
|
13
|
-
export interface SpanEvent {
|
|
14
|
-
Timestamp: string;
|
|
15
|
-
Name: string;
|
|
16
|
-
Attributes: Record<string, string>;
|
|
17
|
-
}
|
|
18
|
-
export interface SpanRow {
|
|
19
|
-
/** ns-precision DateTime64(9); start time of the span. */
|
|
20
|
-
Timestamp: string;
|
|
21
|
-
/** 32-hex lowercase. */
|
|
22
|
-
TraceId: string;
|
|
23
|
-
/** 16-hex lowercase. */
|
|
24
|
-
SpanId: string;
|
|
25
|
-
/** 16-hex lowercase or empty string for trace roots. */
|
|
26
|
-
ParentSpanId: string;
|
|
27
|
-
SpanName: string;
|
|
28
|
-
SpanKind: OtelSpanKind;
|
|
29
|
-
/** UInt64 ns, `endTime - startTime`. Required — HyperDX does not derive. */
|
|
30
|
-
Duration: string;
|
|
31
|
-
/** Duplicated from resource for the dedicated CH column. */
|
|
32
|
-
ServiceName: string;
|
|
33
|
-
StatusCode: OtelStatusCode;
|
|
34
|
-
/** Empty string when unset. */
|
|
35
|
-
StatusMessage: string;
|
|
36
|
-
SpanAttributes: Record<string, string>;
|
|
37
|
-
ResourceAttributes: Record<string, string>;
|
|
38
|
-
Events: SpanEvent[];
|
|
39
|
-
ScopeName: string;
|
|
40
|
-
ScopeVersion: string;
|
|
41
|
-
TraceFlags: number;
|
|
42
|
-
TraceState: string;
|
|
43
|
-
}
|
|
44
|
-
export interface LogRow {
|
|
45
|
-
Timestamp: string;
|
|
46
|
-
/** Empty string when log is not parented to a span. */
|
|
47
|
-
TraceId: string;
|
|
48
|
-
/** Empty string when log is not parented to a span. */
|
|
49
|
-
SpanId: string;
|
|
50
|
-
ServiceName: string;
|
|
51
|
-
SeverityText: OtelSeverity;
|
|
52
|
-
/** OTEL semconv 1–24. HyperDX doesn't query it but include for correctness. */
|
|
53
|
-
SeverityNumber: number;
|
|
54
|
-
/** Stringified JSON for structured bodies; empty string when absent. */
|
|
55
|
-
Body: string;
|
|
56
|
-
LogAttributes: Record<string, string>;
|
|
57
|
-
ResourceAttributes: Record<string, string>;
|
|
58
|
-
/** Dedicated CH column — the log-type discriminator. Duplicated in
|
|
59
|
-
* LogAttributes['event.name'] for OTel-semconv consumers. */
|
|
60
|
-
EventName: string;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/otel/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/otel/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnF,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,OAAO;IACtB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C;iEAC6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/otel/types.js
DELETED
package/dist/otel/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/otel/types.ts"],"names":[],"mappings":""}
|