@tangle-network/sdk-telemetry 0.60.78-develop.20261026120549.b7e19c7 → 0.60.78-develop.20261026121732.e7db710
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/index.d.mts +5 -82
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +16 -77
- package/dist/index.mjs.map +1 -1
- package/dist/{server-timing-CE4vurML.d.mts → lifecycle-wall-CXJaufPp.d.mts} +2 -52
- package/dist/lifecycle-wall-CXJaufPp.d.mts.map +1 -0
- package/dist/lifecycle-wall-Co9iFDvN.mjs +202 -0
- package/dist/lifecycle-wall-Co9iFDvN.mjs.map +1 -0
- package/dist/server-timing.d.mts +53 -2
- package/dist/server-timing.d.mts.map +1 -0
- package/dist/server-timing.mjs +287 -2
- package/dist/server-timing.mjs.map +1 -0
- package/dist/stage-span.d.mts +6 -20
- package/dist/stage-span.d.mts.map +1 -1
- package/dist/stage-span.mjs +6 -35
- package/dist/stage-span.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/server-timing-CE4vurML.d.mts.map +0 -1
- package/dist/server-timing-HI-hXI39.mjs +0 -485
- package/dist/server-timing-HI-hXI39.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { AgentEvent, ErrorEvent as AgentErrorEvent, FilePart, GEN_AI_CONVERSATION_ID, GEN_AI_INPUT_TOKEN_KEYS, GEN_AI_MODEL_KEYS, GEN_AI_OPERATION_NAME, GEN_AI_OUTPUT_TOKEN_KEYS, GEN_AI_REQUEST_MODEL, GEN_AI_RESPONSE_MODEL, GEN_AI_USAGE_INPUT_TOKENS, GEN_AI_USAGE_OUTPUT_TOKENS, GenAiUsage, MessagePartUpdatedEvent, MessagePartUpdatedEvent as MessagePartUpdatedEvent$1, ParsedSSEEvent, Part, ReasoningPart, ResultEvent, SSEChunkParser, SSEEventData, SSEEventData as SSEEventData$1, SSEParserOptions, StatusEvent, StreamTokenUsage, StreamUsageAccumulator, StreamUsageExtractor, TOKEN_USAGE_COST_KEYS, TOKEN_USAGE_INPUT_KEYS, TOKEN_USAGE_OUTPUT_KEYS, TextPart, TokenUsageCounts, ToolPart, ToolState, addTokenUsage, consumeSSEStream, createStreamUsageExtractor, createUsageCallback, firstTokenCount, firstUsageCostUsd, genAiUsageAttributes, isFilePart, isReasoningPart, isTextPart, isToolPart, parseSSEData as parseSSEData$1, parseSSEStream, readTokenCostUsd, readTokenUsage, tokenCount, tokenUsageSource } from "@tangle-network/agent-core";
|
|
1
|
+
import { PROVISION_TRACE_ID_HEADER, SpanRecorder, SpanStatus, isAdoptablePtid, mintPtid } from "./stage-span.mjs";
|
|
2
|
+
import { GEN_AI_CONVERSATION_ID, GEN_AI_INPUT_TOKEN_KEYS, GEN_AI_MODEL_KEYS, GEN_AI_OUTPUT_TOKEN_KEYS, GEN_AI_REQUEST_MODEL, GEN_AI_USAGE_INPUT_TOKENS, GEN_AI_USAGE_OUTPUT_TOKENS, MessagePartUpdatedEvent, ParsedSSEEvent, SSEChunkParser, SSEEventData, SSEEventData as SSEEventData$1, TOKEN_USAGE_INPUT_KEYS, TOKEN_USAGE_OUTPUT_KEYS, ToolPart, createStreamUsageExtractor, firstTokenCount, genAiUsageAttributes, isToolPart, tokenCount } from "@tangle-network/agent-core";
|
|
4
3
|
|
|
5
4
|
//#region src/enrichment/types.d.ts
|
|
6
5
|
/**
|
|
@@ -47,8 +46,6 @@ interface EnrichmentContext {
|
|
|
47
46
|
/** Original blob for audit/replay */
|
|
48
47
|
rawBlob?: MetadataBlob;
|
|
49
48
|
}
|
|
50
|
-
/** Create an empty enrichment context with defaults */
|
|
51
|
-
declare function createEmptyContext(): EnrichmentContext;
|
|
52
49
|
//#endregion
|
|
53
50
|
//#region src/enrichment/parse.d.ts
|
|
54
51
|
/** Parse a metadata blob into an enrichment context that keeps the raw blob. */
|
|
@@ -59,12 +56,10 @@ declare function parseMetadataBlob(blob: MetadataBlob): EnrichmentContext;
|
|
|
59
56
|
* MessagePartUpdatedEvent with timestamp for trace collection.
|
|
60
57
|
* This is the canonical event type from OpenCode - pass through without transformation.
|
|
61
58
|
*/
|
|
62
|
-
interface MessagePartUpdatedEventWithTimestamp extends MessagePartUpdatedEvent
|
|
59
|
+
interface MessagePartUpdatedEventWithTimestamp extends MessagePartUpdatedEvent {
|
|
63
60
|
/** Timestamp when event was recorded */
|
|
64
61
|
timestamp: Date;
|
|
65
62
|
}
|
|
66
|
-
/** Type guard for MessagePartUpdatedEvent */
|
|
67
|
-
declare function isMessagePartUpdatedEvent(event: TraceEvent): event is MessagePartUpdatedEventWithTimestamp;
|
|
68
63
|
/** Execution scope for trace association */
|
|
69
64
|
interface TraceScope {
|
|
70
65
|
projectRef?: string;
|
|
@@ -234,70 +229,8 @@ interface CustomEvent extends TraceEventBase {
|
|
|
234
229
|
/** Custom event data */
|
|
235
230
|
data: Record<string, unknown>;
|
|
236
231
|
}
|
|
237
|
-
/** Batch execution started event */
|
|
238
|
-
interface BatchStartedEvent extends TraceEventBase {
|
|
239
|
-
type: "batch_started";
|
|
240
|
-
/** Unique batch execution ID */
|
|
241
|
-
batchId: string;
|
|
242
|
-
/** Number of tasks in the batch */
|
|
243
|
-
taskCount: number;
|
|
244
|
-
/** Number of backends being tested */
|
|
245
|
-
backendCount: number;
|
|
246
|
-
/** Total executions (tasks × backends) */
|
|
247
|
-
totalExecutions: number;
|
|
248
|
-
/** Scaling mode used */
|
|
249
|
-
scalingMode?: "fastest" | "balanced" | "cheapest";
|
|
250
|
-
}
|
|
251
|
-
/** Batch execution completed event */
|
|
252
|
-
interface BatchCompletedEvent extends TraceEventBase {
|
|
253
|
-
type: "batch_completed";
|
|
254
|
-
/** Unique batch execution ID */
|
|
255
|
-
batchId: string;
|
|
256
|
-
/** Number of successful task executions */
|
|
257
|
-
successCount: number;
|
|
258
|
-
/** Number of failed task executions */
|
|
259
|
-
failureCount: number;
|
|
260
|
-
/** Success rate as percentage (0-100) */
|
|
261
|
-
successRate: number;
|
|
262
|
-
/** Total duration in milliseconds */
|
|
263
|
-
durationMs: number;
|
|
264
|
-
/** Total tokens used across all executions */
|
|
265
|
-
totalTokensUsed?: number;
|
|
266
|
-
}
|
|
267
|
-
/** Individual task within a batch completed */
|
|
268
|
-
interface BatchTaskCompletedEvent extends TraceEventBase {
|
|
269
|
-
type: "batch_task_completed";
|
|
270
|
-
/** Parent batch ID */
|
|
271
|
-
batchId: string;
|
|
272
|
-
/** Task ID within the batch */
|
|
273
|
-
taskId: string;
|
|
274
|
-
/** Backend used for this execution */
|
|
275
|
-
backend: string;
|
|
276
|
-
/** Whether the task succeeded */
|
|
277
|
-
success: boolean;
|
|
278
|
-
/** Duration in milliseconds */
|
|
279
|
-
durationMs: number;
|
|
280
|
-
/** Attempt number (1 = first try) */
|
|
281
|
-
attempt: number;
|
|
282
|
-
/** Number of retries before success/failure */
|
|
283
|
-
retries: number;
|
|
284
|
-
/** Tokens used for this task */
|
|
285
|
-
tokensUsed?: number;
|
|
286
|
-
/** Error message if failed */
|
|
287
|
-
error?: string;
|
|
288
|
-
}
|
|
289
232
|
/** Union of all trace event types */
|
|
290
|
-
type TraceEvent = MessagePartUpdatedEventWithTimestamp | MessageUpdatedEvent | ErrorEvent | DiagnosticEvent | FileChangeEvent | BuildResultEvent | TestResultEvent | EnvironmentEvent | CustomEvent
|
|
291
|
-
/** Event type discriminator */
|
|
292
|
-
type TraceEventType = TraceEvent["type"];
|
|
293
|
-
declare function isMessageUpdatedEvent(event: TraceEvent): event is MessageUpdatedEvent;
|
|
294
|
-
declare function isErrorEvent(event: TraceEvent): event is ErrorEvent;
|
|
295
|
-
declare function isDiagnosticEvent(event: TraceEvent): event is DiagnosticEvent;
|
|
296
|
-
declare function isFileChangeEvent(event: TraceEvent): event is FileChangeEvent;
|
|
297
|
-
declare function isBuildResultEvent(event: TraceEvent): event is BuildResultEvent;
|
|
298
|
-
declare function isTestResultEvent(event: TraceEvent): event is TestResultEvent;
|
|
299
|
-
declare function isEnvironmentEvent(event: TraceEvent): event is EnvironmentEvent;
|
|
300
|
-
declare function isCustomEvent(event: TraceEvent): event is CustomEvent;
|
|
233
|
+
type TraceEvent = MessagePartUpdatedEventWithTimestamp | MessageUpdatedEvent | ErrorEvent | DiagnosticEvent | FileChangeEvent | BuildResultEvent | TestResultEvent | EnvironmentEvent | CustomEvent;
|
|
301
234
|
/** Execution outcome derived from signals */
|
|
302
235
|
type Outcome = "success" | "partial" | "failure" | "unknown";
|
|
303
236
|
/** Execution trace - complete record of an agent task */
|
|
@@ -503,7 +436,6 @@ declare function createHttpSink(config: {
|
|
|
503
436
|
}): HttpTelemetrySink;
|
|
504
437
|
//#endregion
|
|
505
438
|
//#region src/sse-parser.d.ts
|
|
506
|
-
declare const parseSSEData: typeof parseSSEData$1;
|
|
507
439
|
/**
|
|
508
440
|
* Convert SSE event data to a typed TraceEvent.
|
|
509
441
|
* Returns null for events that should be skipped (heartbeats, status-only, etc.)
|
|
@@ -522,13 +454,6 @@ declare function sseToTraceEvent(event: SSEEventData$1): TraceEvent | null;
|
|
|
522
454
|
* Extract a signal from an SSE event if present.
|
|
523
455
|
*/
|
|
524
456
|
declare function sseToSignal(event: SSEEventData$1): SignalEvent | null;
|
|
525
|
-
/**
|
|
526
|
-
* Check if an SSE event indicates completion (success or failure).
|
|
527
|
-
*/
|
|
528
|
-
declare function isCompletionEvent(event: SSEEventData$1): {
|
|
529
|
-
complete: boolean;
|
|
530
|
-
success: boolean;
|
|
531
|
-
};
|
|
532
457
|
//#endregion
|
|
533
458
|
//#region src/trace-collector.d.ts
|
|
534
459
|
interface TraceCollectorConfig {
|
|
@@ -579,8 +504,6 @@ declare class TraceCollector {
|
|
|
579
504
|
flush(): Promise<void>;
|
|
580
505
|
/** Get count of pending traces */
|
|
581
506
|
getPendingCount(): number;
|
|
582
|
-
/** Get active trace count */
|
|
583
|
-
getActiveCount(): number;
|
|
584
507
|
/** Shutdown collector */
|
|
585
508
|
shutdown(): Promise<void>;
|
|
586
509
|
private completeTrace;
|
|
@@ -588,5 +511,5 @@ declare class TraceCollector {
|
|
|
588
511
|
}
|
|
589
512
|
declare function createTraceCollector(config: TraceCollectorConfig): TraceCollector;
|
|
590
513
|
//#endregion
|
|
591
|
-
export { type
|
|
514
|
+
export { type BuildResultEvent, type CustomEvent, type ErrorEvent, type ExecutionTrace, type FileChangeEvent, GEN_AI_CONVERSATION_ID, GEN_AI_INPUT_TOKEN_KEYS, GEN_AI_MODEL_KEYS, GEN_AI_OUTPUT_TOKEN_KEYS, GEN_AI_REQUEST_MODEL, GEN_AI_USAGE_INPUT_TOKENS, GEN_AI_USAGE_OUTPUT_TOKENS, HttpTelemetrySink, type InitOtelProviderResult, LangfuseSink, type LangfuseSinkConfig, type MessagePartUpdatedEventWithTimestamp, type MessageUpdatedEvent, MultiTelemetrySink, type OtelSinkConfig, OtelTelemetrySink, type Outcome, PROVISION_TRACE_ID_HEADER, type ParsedSSEEvent, SSEChunkParser, type SSEEventData, type SignalEvent, SpanRecorder, type SpanStatus, TOKEN_USAGE_INPUT_KEYS, TOKEN_USAGE_OUTPUT_KEYS, type TelemetryEvent, type TelemetrySink, type TestResultEvent, type ToolPart, TraceCollector, type TraceCollectorConfig, type TraceContext, type TraceEvent, type TraceScope, createHttpSink, createLangfuseSinkFromEnv, createOtelSink, createOtelSinkFromEnv, createStreamUsageExtractor, createTraceCollector, firstTokenCount, genAiUsageAttributes, initOtelProvider, isAdoptablePtid, isToolPart, mintPtid, parseMetadataBlob, shutdownOtelProvider, sseToSignal, sseToTraceEvent, tokenCount };
|
|
592
515
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/enrichment/types.ts","../src/enrichment/parse.ts","../src/trace-types.ts","../src/langfuse-sink.ts","../src/otel-provider.ts","../src/types.ts","../src/otel-sink.ts","../src/sinks.ts","../src/sse-parser.ts","../src/trace-collector.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/enrichment/types.ts","../src/enrichment/parse.ts","../src/trace-types.ts","../src/langfuse-sink.ts","../src/otel-provider.ts","../src/types.ts","../src/otel-sink.ts","../src/sinks.ts","../src/sse-parser.ts","../src/trace-collector.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { GEN_AI_CONVERSATION_ID, GEN_AI_CONVERSATION_ID as GEN_AI_CONVERSATION_ID$1, GEN_AI_INPUT_TOKEN_KEYS, GEN_AI_MODEL_KEYS, GEN_AI_OPERATION_NAME, GEN_AI_OPERATION_NAME as GEN_AI_OPERATION_NAME$1, GEN_AI_OUTPUT_TOKEN_KEYS, GEN_AI_REQUEST_MODEL, GEN_AI_REQUEST_MODEL as GEN_AI_REQUEST_MODEL$1, GEN_AI_RESPONSE_MODEL, GEN_AI_RESPONSE_MODEL as GEN_AI_RESPONSE_MODEL$1, GEN_AI_USAGE_INPUT_TOKENS, GEN_AI_USAGE_INPUT_TOKENS as GEN_AI_USAGE_INPUT_TOKENS$1, GEN_AI_USAGE_OUTPUT_TOKENS, GEN_AI_USAGE_OUTPUT_TOKENS as GEN_AI_USAGE_OUTPUT_TOKENS$1, SSEChunkParser, StreamUsageExtractor, TOKEN_USAGE_COST_KEYS, TOKEN_USAGE_INPUT_KEYS, TOKEN_USAGE_OUTPUT_KEYS, addTokenUsage, consumeSSEStream, createStreamUsageExtractor, createUsageCallback, firstTokenCount, firstUsageCostUsd, genAiUsageAttributes, isFilePart, isReasoningPart, isTextPart, isToolPart, parseSSEData as parseSSEData$1, parseSSEStream, readTokenCostUsd, readTokenUsage, tokenCount, tokenUsageSource } from "@tangle-network/agent-core";
|
|
1
|
+
import { PROVISION_TRACE_ID_HEADER, SpanRecorder, isAdoptablePtid, mintPtid } from "./stage-span.mjs";
|
|
2
|
+
import { GEN_AI_CONVERSATION_ID, GEN_AI_CONVERSATION_ID as GEN_AI_CONVERSATION_ID$1, GEN_AI_INPUT_TOKEN_KEYS, GEN_AI_MODEL_KEYS, GEN_AI_OPERATION_NAME, GEN_AI_OUTPUT_TOKEN_KEYS, GEN_AI_REQUEST_MODEL, GEN_AI_REQUEST_MODEL as GEN_AI_REQUEST_MODEL$1, GEN_AI_RESPONSE_MODEL, GEN_AI_USAGE_INPUT_TOKENS, GEN_AI_USAGE_INPUT_TOKENS as GEN_AI_USAGE_INPUT_TOKENS$1, GEN_AI_USAGE_OUTPUT_TOKENS, GEN_AI_USAGE_OUTPUT_TOKENS as GEN_AI_USAGE_OUTPUT_TOKENS$1, SSEChunkParser, TOKEN_USAGE_INPUT_KEYS, TOKEN_USAGE_OUTPUT_KEYS, createStreamUsageExtractor, firstTokenCount, genAiUsageAttributes, isFilePart, isReasoningPart, isTextPart, isToolPart, isToolPart as isToolPart$1, tokenCount } from "@tangle-network/agent-core";
|
|
4
3
|
//#region src/enrichment/parse.ts
|
|
5
4
|
const VALID_PRODUCTS = [
|
|
6
5
|
"vibe_coding",
|
|
@@ -76,43 +75,14 @@ function parseJsonBlob(blob) {
|
|
|
76
75
|
return context;
|
|
77
76
|
}
|
|
78
77
|
//#endregion
|
|
79
|
-
//#region src/enrichment/types.ts
|
|
80
|
-
/** Create an empty enrichment context with defaults */
|
|
81
|
-
function createEmptyContext() {
|
|
82
|
-
return { customLabels: {} };
|
|
83
|
-
}
|
|
84
|
-
//#endregion
|
|
85
|
-
//#region src/trace-types.ts
|
|
86
|
-
/** Type guard for MessagePartUpdatedEvent */
|
|
87
|
-
function isMessagePartUpdatedEvent(event) {
|
|
88
|
-
return event.type === "message.part.updated";
|
|
89
|
-
}
|
|
90
|
-
function isMessageUpdatedEvent(event) {
|
|
91
|
-
return event.type === "message.updated";
|
|
92
|
-
}
|
|
93
|
-
function isErrorEvent(event) {
|
|
94
|
-
return event.type === "error";
|
|
95
|
-
}
|
|
96
|
-
function isDiagnosticEvent(event) {
|
|
97
|
-
return event.type === "diagnostic";
|
|
98
|
-
}
|
|
99
|
-
function isFileChangeEvent(event) {
|
|
100
|
-
return event.type === "file_change";
|
|
101
|
-
}
|
|
102
|
-
function isBuildResultEvent(event) {
|
|
103
|
-
return event.type === "build_result";
|
|
104
|
-
}
|
|
105
|
-
function isTestResultEvent(event) {
|
|
106
|
-
return event.type === "test_result";
|
|
107
|
-
}
|
|
108
|
-
function isEnvironmentEvent(event) {
|
|
109
|
-
return event.type === "environment";
|
|
110
|
-
}
|
|
111
|
-
function isCustomEvent(event) {
|
|
112
|
-
return event.type === "custom";
|
|
113
|
-
}
|
|
114
|
-
//#endregion
|
|
115
78
|
//#region src/langfuse-sink.ts
|
|
79
|
+
/**
|
|
80
|
+
* Langfuse Sink
|
|
81
|
+
*
|
|
82
|
+
* Native Langfuse SDK integration for trace export.
|
|
83
|
+
* Uses the langfuse-node SDK directly instead of going through OTEL,
|
|
84
|
+
* which provides better compatibility and richer trace visualization.
|
|
85
|
+
*/
|
|
116
86
|
let langfuseClient = null;
|
|
117
87
|
let langfuseConfig = null;
|
|
118
88
|
/**
|
|
@@ -239,7 +209,7 @@ var LangfuseSink = class {
|
|
|
239
209
|
case "message.part.updated": {
|
|
240
210
|
const partEvent = event;
|
|
241
211
|
const part = partEvent.part;
|
|
242
|
-
if (isToolPart(part)) this.exportToolPart(trace, partEvent, part);
|
|
212
|
+
if (isToolPart$1(part)) this.exportToolPart(trace, partEvent, part);
|
|
243
213
|
else if (isTextPart(part) || isReasoningPart(part)) trace.generation({
|
|
244
214
|
name: part.type === "reasoning" ? "reasoning" : "text",
|
|
245
215
|
startTime: partEvent.timestamp,
|
|
@@ -507,10 +477,10 @@ async function shutdownOtelProvider() {
|
|
|
507
477
|
*/
|
|
508
478
|
const GEN_AI_PROMOTED_KEYS = Object.freeze([
|
|
509
479
|
GEN_AI_REQUEST_MODEL$1,
|
|
510
|
-
GEN_AI_RESPONSE_MODEL
|
|
480
|
+
GEN_AI_RESPONSE_MODEL,
|
|
511
481
|
GEN_AI_USAGE_INPUT_TOKENS$1,
|
|
512
482
|
GEN_AI_USAGE_OUTPUT_TOKENS$1,
|
|
513
|
-
GEN_AI_OPERATION_NAME
|
|
483
|
+
GEN_AI_OPERATION_NAME,
|
|
514
484
|
GEN_AI_CONVERSATION_ID$1
|
|
515
485
|
]);
|
|
516
486
|
/**
|
|
@@ -555,7 +525,7 @@ async function getOtelApi() {
|
|
|
555
525
|
function addPartUpdateAttributes(attrs, event, includePayloads) {
|
|
556
526
|
attrs["message.part.id"] = event.part.id;
|
|
557
527
|
attrs["message.part.type"] = event.part.type;
|
|
558
|
-
if (isToolPart(event.part)) {
|
|
528
|
+
if (isToolPart$1(event.part)) {
|
|
559
529
|
attrs["tool.name"] = event.part.tool;
|
|
560
530
|
const status = event.part.state.status;
|
|
561
531
|
attrs["tool.status"] = status;
|
|
@@ -677,7 +647,7 @@ var OtelTelemetrySink = class {
|
|
|
677
647
|
message: event.message
|
|
678
648
|
});
|
|
679
649
|
span.recordException(new Error(event.message));
|
|
680
|
-
} else if (event.type === "message.part.updated" && isToolPart(event.part)) {
|
|
650
|
+
} else if (event.type === "message.part.updated" && isToolPart$1(event.part)) {
|
|
681
651
|
const status = event.part.state.status;
|
|
682
652
|
if (status === "failed" || status === "error") {
|
|
683
653
|
const err = typeof event.part.state.error === "string" ? event.part.state.error : "Tool execution failed";
|
|
@@ -723,7 +693,7 @@ var OtelTelemetrySink = class {
|
|
|
723
693
|
getSpanName(event) {
|
|
724
694
|
switch (event.type) {
|
|
725
695
|
case "message.part.updated":
|
|
726
|
-
if (isToolPart(event.part)) return `tool.${event.part.tool}.${event.part.state.status}`;
|
|
696
|
+
if (isToolPart$1(event.part)) return `tool.${event.part.tool}.${event.part.state.status}`;
|
|
727
697
|
if (isReasoningPart(event.part)) return "llm.reasoning";
|
|
728
698
|
if (isTextPart(event.part)) return "llm.text";
|
|
729
699
|
return "message.file";
|
|
@@ -898,16 +868,6 @@ function createHttpSink(config) {
|
|
|
898
868
|
}
|
|
899
869
|
//#endregion
|
|
900
870
|
//#region src/sse-parser.ts
|
|
901
|
-
/**
|
|
902
|
-
* SSE Event Parser
|
|
903
|
-
*
|
|
904
|
-
* Converts SSE stream events to typed TraceEvents.
|
|
905
|
-
* Used by both orchestrator and simulation to ensure consistent event capture.
|
|
906
|
-
*
|
|
907
|
-
* message.part.updated events are passed through directly without transformation.
|
|
908
|
-
* This preserves full fidelity to what OpenCode outputs.
|
|
909
|
-
*/
|
|
910
|
-
const parseSSEData = parseSSEData$1;
|
|
911
871
|
/** Valid signals from SSE status events */
|
|
912
872
|
const VALID_SIGNALS = [
|
|
913
873
|
"build_passed",
|
|
@@ -1144,23 +1104,6 @@ function sseToSignal(event) {
|
|
|
1144
1104
|
}
|
|
1145
1105
|
return null;
|
|
1146
1106
|
}
|
|
1147
|
-
/**
|
|
1148
|
-
* Check if an SSE event indicates completion (success or failure).
|
|
1149
|
-
*/
|
|
1150
|
-
function isCompletionEvent(event) {
|
|
1151
|
-
if (event.type === "done" || event.type === "result") return {
|
|
1152
|
-
complete: true,
|
|
1153
|
-
success: !("success" in event && event.success === false)
|
|
1154
|
-
};
|
|
1155
|
-
if (event.type === "error") return {
|
|
1156
|
-
complete: true,
|
|
1157
|
-
success: false
|
|
1158
|
-
};
|
|
1159
|
-
return {
|
|
1160
|
-
complete: false,
|
|
1161
|
-
success: false
|
|
1162
|
-
};
|
|
1163
|
-
}
|
|
1164
1107
|
//#endregion
|
|
1165
1108
|
//#region src/trace-collector.ts
|
|
1166
1109
|
const randomUUID = () => {
|
|
@@ -1301,10 +1244,6 @@ var TraceCollector = class {
|
|
|
1301
1244
|
getPendingCount() {
|
|
1302
1245
|
return this.completedTraces.length;
|
|
1303
1246
|
}
|
|
1304
|
-
/** Get active trace count */
|
|
1305
|
-
getActiveCount() {
|
|
1306
|
-
return this.activeTraces.size;
|
|
1307
|
-
}
|
|
1308
1247
|
/** Shutdown collector */
|
|
1309
1248
|
async shutdown() {
|
|
1310
1249
|
if (this.flushTimer) clearInterval(this.flushTimer);
|
|
@@ -1349,6 +1288,6 @@ function createTraceCollector(config) {
|
|
|
1349
1288
|
return new TraceCollector(config);
|
|
1350
1289
|
}
|
|
1351
1290
|
//#endregion
|
|
1352
|
-
export { GEN_AI_CONVERSATION_ID, GEN_AI_INPUT_TOKEN_KEYS, GEN_AI_MODEL_KEYS,
|
|
1291
|
+
export { GEN_AI_CONVERSATION_ID, GEN_AI_INPUT_TOKEN_KEYS, GEN_AI_MODEL_KEYS, GEN_AI_OUTPUT_TOKEN_KEYS, GEN_AI_REQUEST_MODEL, GEN_AI_USAGE_INPUT_TOKENS, GEN_AI_USAGE_OUTPUT_TOKENS, HttpTelemetrySink, LangfuseSink, MultiTelemetrySink, OtelTelemetrySink, PROVISION_TRACE_ID_HEADER, SSEChunkParser, SpanRecorder, TOKEN_USAGE_INPUT_KEYS, TOKEN_USAGE_OUTPUT_KEYS, TraceCollector, createHttpSink, createLangfuseSinkFromEnv, createOtelSink, createOtelSinkFromEnv, createStreamUsageExtractor, createTraceCollector, firstTokenCount, genAiUsageAttributes, initOtelProvider, isAdoptablePtid, isToolPart, mintPtid, parseMetadataBlob, shutdownOtelProvider, sseToSignal, sseToTraceEvent, tokenCount };
|
|
1353
1292
|
|
|
1354
1293
|
//# sourceMappingURL=index.mjs.map
|