@tangle-network/agent-eval 0.118.2 → 0.118.3
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/analyst/index.js +5 -5
- package/dist/benchmarks/index.js +6 -6
- package/dist/campaign/index.js +6 -6
- package/dist/{chunk-J23QK2U5.js → chunk-267UCQWI.js} +8 -8
- package/dist/{chunk-BUBU3YHT.js → chunk-6QIM2EAP.js} +6 -116
- package/dist/chunk-6QIM2EAP.js.map +1 -0
- package/dist/{chunk-GCT3DQWU.js → chunk-EKHHBKS6.js} +5 -5
- package/dist/{chunk-DRSFTBKU.js → chunk-F5A4GDQW.js} +2 -2
- package/dist/{chunk-63KG3ASG.js → chunk-FIUFRXP3.js} +2 -2
- package/dist/{chunk-TVXPJJ7H.js → chunk-H5UD2323.js} +2 -2
- package/dist/chunk-K4DBDHLK.js +158 -0
- package/dist/chunk-K4DBDHLK.js.map +1 -0
- package/dist/{chunk-I42AAGHL.js → chunk-QWRLW4CT.js} +2 -2
- package/dist/{chunk-DZBCDDIE.js → chunk-VNLWDTDA.js} +2 -2
- package/dist/{chunk-6JQE3YVE.js → chunk-ZYHJNKI3.js} +6 -6
- package/dist/contract/index.js +8 -8
- package/dist/index.d.ts +16 -16
- package/dist/index.js +23 -23
- package/dist/openapi.json +1 -1
- package/dist/trace-attributes.d.ts +17 -1
- package/dist/trace-attributes.js +27 -3
- package/dist/traces.d.ts +16 -16
- package/dist/traces.js +18 -18
- package/package.json +1 -1
- package/dist/chunk-BUBU3YHT.js.map +0 -1
- package/dist/chunk-NW4AQBXD.js +0 -53
- package/dist/chunk-NW4AQBXD.js.map +0 -1
- /package/dist/{chunk-J23QK2U5.js.map → chunk-267UCQWI.js.map} +0 -0
- /package/dist/{chunk-GCT3DQWU.js.map → chunk-EKHHBKS6.js.map} +0 -0
- /package/dist/{chunk-DRSFTBKU.js.map → chunk-F5A4GDQW.js.map} +0 -0
- /package/dist/{chunk-63KG3ASG.js.map → chunk-FIUFRXP3.js.map} +0 -0
- /package/dist/{chunk-TVXPJJ7H.js.map → chunk-H5UD2323.js.map} +0 -0
- /package/dist/{chunk-I42AAGHL.js.map → chunk-QWRLW4CT.js.map} +0 -0
- /package/dist/{chunk-DZBCDDIE.js.map → chunk-VNLWDTDA.js.map} +0 -0
- /package/dist/{chunk-6JQE3YVE.js.map → chunk-ZYHJNKI3.js.map} +0 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// src/trace/attribute-vocabulary.ts
|
|
2
|
+
import {
|
|
3
|
+
GEN_AI_INPUT_TOKEN_KEYS,
|
|
4
|
+
GEN_AI_MODEL_KEYS,
|
|
5
|
+
GEN_AI_OUTPUT_TOKEN_KEYS
|
|
6
|
+
} from "@tangle-network/agent-core/telemetry";
|
|
7
|
+
var OPENINFERENCE_SPAN_KIND = "openinference.span.kind";
|
|
8
|
+
var LLM_MODEL_NAME = "llm.model_name";
|
|
9
|
+
var LLM_INPUT_TOKENS = "llm.token_count.prompt";
|
|
10
|
+
var LLM_OUTPUT_TOKENS = "llm.token_count.completion";
|
|
11
|
+
var LLM_REASONING_TOKENS = "llm.token_count.reasoning";
|
|
12
|
+
var LLM_CACHED_TOKENS = "llm.token_count.prompt_cache_hit";
|
|
13
|
+
var LLM_CACHE_WRITE_TOKENS = "llm.token_count.prompt_cache_write";
|
|
14
|
+
var LLM_CONTEXT_TOKENS = "tangle.llm.context_tokens";
|
|
15
|
+
var LLM_COST_USD = "llm.cost_usd";
|
|
16
|
+
var TOOL_NAME = "tool.name";
|
|
17
|
+
var TOOL_ARGS_CAPTURED = "tool.args_captured";
|
|
18
|
+
var TOOL_LATENCY_MS = "tool.latency_ms";
|
|
19
|
+
var INPUT_VALUE = "input.value";
|
|
20
|
+
var OUTPUT_VALUE = "output.value";
|
|
21
|
+
var SPAN_KIND_ATTR_KEYS = [OPENINFERENCE_SPAN_KIND, "inference.observation_kind"];
|
|
22
|
+
var LLM_MODEL_ATTR_KEYS = [
|
|
23
|
+
LLM_MODEL_NAME,
|
|
24
|
+
"inference.llm.model_name",
|
|
25
|
+
"llm.model",
|
|
26
|
+
...GEN_AI_MODEL_KEYS,
|
|
27
|
+
"tangle.model"
|
|
28
|
+
];
|
|
29
|
+
var LLM_INPUT_TOKEN_ATTR_KEYS = [
|
|
30
|
+
LLM_INPUT_TOKENS,
|
|
31
|
+
"inference.llm.input_tokens",
|
|
32
|
+
"llm.input_tokens",
|
|
33
|
+
...GEN_AI_INPUT_TOKEN_KEYS,
|
|
34
|
+
"tangle.tokens.in",
|
|
35
|
+
"tokens.in"
|
|
36
|
+
];
|
|
37
|
+
var LLM_OUTPUT_TOKEN_ATTR_KEYS = [
|
|
38
|
+
LLM_OUTPUT_TOKENS,
|
|
39
|
+
"inference.llm.output_tokens",
|
|
40
|
+
"llm.output_tokens",
|
|
41
|
+
...GEN_AI_OUTPUT_TOKEN_KEYS,
|
|
42
|
+
"tangle.tokens.out",
|
|
43
|
+
"tokens.out"
|
|
44
|
+
];
|
|
45
|
+
var LLM_REASONING_TOKEN_ATTR_KEYS = [
|
|
46
|
+
LLM_REASONING_TOKENS,
|
|
47
|
+
"inference.llm.reasoning_tokens",
|
|
48
|
+
"llm.reasoning_tokens",
|
|
49
|
+
"gen_ai.usage.reasoning_tokens",
|
|
50
|
+
"gen_ai.usage.reasoning_output_tokens",
|
|
51
|
+
"reasoning_tokens",
|
|
52
|
+
"reasoning_output_tokens",
|
|
53
|
+
"tangle.tokens.reasoning",
|
|
54
|
+
"gen_ai.usage.output_tokens_details.reasoning_tokens",
|
|
55
|
+
"gen_ai.usage.completion_tokens_details.reasoning_tokens"
|
|
56
|
+
];
|
|
57
|
+
var LLM_CACHED_TOKEN_ATTR_KEYS = [
|
|
58
|
+
LLM_CACHED_TOKENS,
|
|
59
|
+
"inference.llm.cached_tokens",
|
|
60
|
+
"llm.cached_tokens",
|
|
61
|
+
"gen_ai.usage.cached_tokens",
|
|
62
|
+
"gen_ai.usage.prompt_tokens_details.cached_tokens",
|
|
63
|
+
"gen_ai.usage.input_tokens_details.cached_tokens",
|
|
64
|
+
"gen_ai.usage.cache_read_tokens",
|
|
65
|
+
"gen_ai.usage.cache_read_input_tokens",
|
|
66
|
+
"cache_read_tokens",
|
|
67
|
+
"cache_read_input_tokens",
|
|
68
|
+
"input_cache_read",
|
|
69
|
+
"tangle.tokens.cached"
|
|
70
|
+
];
|
|
71
|
+
var LLM_CACHE_WRITE_TOKEN_ATTR_KEYS = [
|
|
72
|
+
LLM_CACHE_WRITE_TOKENS,
|
|
73
|
+
"inference.llm.cache_write_tokens",
|
|
74
|
+
"llm.cache_write_tokens",
|
|
75
|
+
"gen_ai.usage.cache_creation_tokens",
|
|
76
|
+
"gen_ai.usage.cache_creation_input_tokens",
|
|
77
|
+
"cache_creation_tokens",
|
|
78
|
+
"cache_creation_input_tokens",
|
|
79
|
+
"input_cache_creation",
|
|
80
|
+
"tangle.tokens.cache_write"
|
|
81
|
+
];
|
|
82
|
+
var LLM_COST_ATTR_KEYS = [
|
|
83
|
+
LLM_COST_USD,
|
|
84
|
+
"inference.llm.cost.total",
|
|
85
|
+
"llm.cost.total",
|
|
86
|
+
"gen_ai.usage.cost",
|
|
87
|
+
"gen_ai.usage.cost_usd",
|
|
88
|
+
"tangle.cost.usd",
|
|
89
|
+
"cost.usd",
|
|
90
|
+
"cost"
|
|
91
|
+
];
|
|
92
|
+
var RUN_COST_ATTR_KEYS = ["tangle.cost.usd", "cost.usd"];
|
|
93
|
+
var TOOL_NAME_ATTR_KEYS = [TOOL_NAME, "inference.tool.name"];
|
|
94
|
+
function asNumber(value) {
|
|
95
|
+
if (typeof value === "number") return Number.isFinite(value) ? value : null;
|
|
96
|
+
if (typeof value === "string" && value.length > 0) {
|
|
97
|
+
const parsed = Number(value);
|
|
98
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
function firstNumberAttr(attributes, keys) {
|
|
103
|
+
for (const key of keys) {
|
|
104
|
+
const value = asNumber(attributes[key]);
|
|
105
|
+
if (value !== null) return value;
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
function contextInputTokens(usage) {
|
|
110
|
+
if (usage.inputTokens === void 0 || usage.inputTokens === null) return void 0;
|
|
111
|
+
return usage.inputTokens + (usage.cachedTokens ?? 0) + (usage.cacheWriteTokens ?? 0);
|
|
112
|
+
}
|
|
113
|
+
function applyLlmSpanOtlpAttributes(attributes, span) {
|
|
114
|
+
if (span.model !== void 0) attributes[LLM_MODEL_NAME] = span.model;
|
|
115
|
+
if (span.inputTokens !== void 0) attributes[LLM_INPUT_TOKENS] = span.inputTokens;
|
|
116
|
+
if (span.outputTokens !== void 0) attributes[LLM_OUTPUT_TOKENS] = span.outputTokens;
|
|
117
|
+
if (span.reasoningTokens !== void 0) attributes[LLM_REASONING_TOKENS] = span.reasoningTokens;
|
|
118
|
+
if (span.cachedTokens !== void 0) attributes[LLM_CACHED_TOKENS] = span.cachedTokens;
|
|
119
|
+
if (span.cacheWriteTokens !== void 0) {
|
|
120
|
+
attributes[LLM_CACHE_WRITE_TOKENS] = span.cacheWriteTokens;
|
|
121
|
+
}
|
|
122
|
+
const contextTokens = contextInputTokens(span);
|
|
123
|
+
if (contextTokens !== void 0) attributes[LLM_CONTEXT_TOKENS] = contextTokens;
|
|
124
|
+
if (span.costUsd !== void 0) attributes[LLM_COST_USD] = span.costUsd;
|
|
125
|
+
if (span.finishReason) attributes["llm.finish_reason"] = span.finishReason;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export {
|
|
129
|
+
OPENINFERENCE_SPAN_KIND,
|
|
130
|
+
LLM_MODEL_NAME,
|
|
131
|
+
LLM_INPUT_TOKENS,
|
|
132
|
+
LLM_OUTPUT_TOKENS,
|
|
133
|
+
LLM_REASONING_TOKENS,
|
|
134
|
+
LLM_CACHED_TOKENS,
|
|
135
|
+
LLM_CACHE_WRITE_TOKENS,
|
|
136
|
+
LLM_CONTEXT_TOKENS,
|
|
137
|
+
LLM_COST_USD,
|
|
138
|
+
TOOL_NAME,
|
|
139
|
+
TOOL_ARGS_CAPTURED,
|
|
140
|
+
TOOL_LATENCY_MS,
|
|
141
|
+
INPUT_VALUE,
|
|
142
|
+
OUTPUT_VALUE,
|
|
143
|
+
SPAN_KIND_ATTR_KEYS,
|
|
144
|
+
LLM_MODEL_ATTR_KEYS,
|
|
145
|
+
LLM_INPUT_TOKEN_ATTR_KEYS,
|
|
146
|
+
LLM_OUTPUT_TOKEN_ATTR_KEYS,
|
|
147
|
+
LLM_REASONING_TOKEN_ATTR_KEYS,
|
|
148
|
+
LLM_CACHED_TOKEN_ATTR_KEYS,
|
|
149
|
+
LLM_CACHE_WRITE_TOKEN_ATTR_KEYS,
|
|
150
|
+
LLM_COST_ATTR_KEYS,
|
|
151
|
+
RUN_COST_ATTR_KEYS,
|
|
152
|
+
TOOL_NAME_ATTR_KEYS,
|
|
153
|
+
asNumber,
|
|
154
|
+
firstNumberAttr,
|
|
155
|
+
contextInputTokens,
|
|
156
|
+
applyLlmSpanOtlpAttributes
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=chunk-K4DBDHLK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/trace/attribute-vocabulary.ts"],"sourcesContent":["/** Canonical OpenInference-over-OTLP attribute names used at trace boundaries. */\n\nimport {\n GEN_AI_INPUT_TOKEN_KEYS,\n GEN_AI_MODEL_KEYS,\n GEN_AI_OUTPUT_TOKEN_KEYS,\n} from '@tangle-network/agent-core/telemetry'\n\nexport const OPENINFERENCE_SPAN_KIND = 'openinference.span.kind'\nexport const LLM_MODEL_NAME = 'llm.model_name'\nexport const LLM_INPUT_TOKENS = 'llm.token_count.prompt'\nexport const LLM_OUTPUT_TOKENS = 'llm.token_count.completion'\nexport const LLM_REASONING_TOKENS = 'llm.token_count.reasoning'\nexport const LLM_CACHED_TOKENS = 'llm.token_count.prompt_cache_hit'\nexport const LLM_CACHE_WRITE_TOKENS = 'llm.token_count.prompt_cache_write'\n/** Exact prompt context after summing mutually exclusive input/cache categories. */\nexport const LLM_CONTEXT_TOKENS = 'tangle.llm.context_tokens'\nexport const LLM_COST_USD = 'llm.cost_usd'\nexport const TOOL_NAME = 'tool.name'\nexport const TOOL_ARGS_CAPTURED = 'tool.args_captured'\nexport const TOOL_LATENCY_MS = 'tool.latency_ms'\nexport const INPUT_VALUE = 'input.value'\nexport const OUTPUT_VALUE = 'output.value'\n\nexport const SPAN_KIND_ATTR_KEYS = [OPENINFERENCE_SPAN_KIND, 'inference.observation_kind'] as const\n\nexport const LLM_MODEL_ATTR_KEYS = [\n LLM_MODEL_NAME,\n 'inference.llm.model_name',\n 'llm.model',\n ...GEN_AI_MODEL_KEYS,\n 'tangle.model',\n] as const\n\nexport const LLM_INPUT_TOKEN_ATTR_KEYS = [\n LLM_INPUT_TOKENS,\n 'inference.llm.input_tokens',\n 'llm.input_tokens',\n ...GEN_AI_INPUT_TOKEN_KEYS,\n 'tangle.tokens.in',\n 'tokens.in',\n] as const\n\nexport const LLM_OUTPUT_TOKEN_ATTR_KEYS = [\n LLM_OUTPUT_TOKENS,\n 'inference.llm.output_tokens',\n 'llm.output_tokens',\n ...GEN_AI_OUTPUT_TOKEN_KEYS,\n 'tangle.tokens.out',\n 'tokens.out',\n] as const\n\n/** Reasoning-token subset of output, when a producer exposes it separately. */\nexport const LLM_REASONING_TOKEN_ATTR_KEYS = [\n LLM_REASONING_TOKENS,\n 'inference.llm.reasoning_tokens',\n 'llm.reasoning_tokens',\n 'gen_ai.usage.reasoning_tokens',\n 'gen_ai.usage.reasoning_output_tokens',\n 'reasoning_tokens',\n 'reasoning_output_tokens',\n 'tangle.tokens.reasoning',\n 'gen_ai.usage.output_tokens_details.reasoning_tokens',\n 'gen_ai.usage.completion_tokens_details.reasoning_tokens',\n] as const\n\nexport const LLM_CACHED_TOKEN_ATTR_KEYS = [\n LLM_CACHED_TOKENS,\n 'inference.llm.cached_tokens',\n 'llm.cached_tokens',\n 'gen_ai.usage.cached_tokens',\n 'gen_ai.usage.prompt_tokens_details.cached_tokens',\n 'gen_ai.usage.input_tokens_details.cached_tokens',\n 'gen_ai.usage.cache_read_tokens',\n 'gen_ai.usage.cache_read_input_tokens',\n 'cache_read_tokens',\n 'cache_read_input_tokens',\n 'input_cache_read',\n 'tangle.tokens.cached',\n] as const\n\nexport const LLM_CACHE_WRITE_TOKEN_ATTR_KEYS = [\n LLM_CACHE_WRITE_TOKENS,\n 'inference.llm.cache_write_tokens',\n 'llm.cache_write_tokens',\n 'gen_ai.usage.cache_creation_tokens',\n 'gen_ai.usage.cache_creation_input_tokens',\n 'cache_creation_tokens',\n 'cache_creation_input_tokens',\n 'input_cache_creation',\n 'tangle.tokens.cache_write',\n] as const\n\nexport const LLM_COST_ATTR_KEYS = [\n LLM_COST_USD,\n 'inference.llm.cost.total',\n 'llm.cost.total',\n 'gen_ai.usage.cost',\n 'gen_ai.usage.cost_usd',\n 'tangle.cost.usd',\n 'cost.usd',\n 'cost',\n] as const\n\n/** Explicit run-total cost keys safe to preserve on an untyped span. */\nexport const RUN_COST_ATTR_KEYS = ['tangle.cost.usd', 'cost.usd'] as const\n\nexport const TOOL_NAME_ATTR_KEYS = [TOOL_NAME, 'inference.tool.name'] as const\n\n/** Read a numeric attribute, tolerating numeric strings; `null` if absent or invalid. */\nexport function asNumber(value: unknown): number | null {\n if (typeof value === 'number') return Number.isFinite(value) ? value : null\n if (typeof value === 'string' && value.length > 0) {\n const parsed = Number(value)\n return Number.isFinite(parsed) ? parsed : null\n }\n return null\n}\n\n/** First finite numeric value across a list of candidate attribute keys. */\nexport function firstNumberAttr(\n attributes: Record<string, unknown>,\n keys: readonly string[],\n): number | null {\n for (const key of keys) {\n const value = asNumber(attributes[key])\n if (value !== null) return value\n }\n return null\n}\n\n/** Sum producer-supplied, mutually exclusive prompt-token categories. */\nexport function contextInputTokens(usage: {\n inputTokens?: number | null\n cachedTokens?: number | null\n cacheWriteTokens?: number | null\n}): number | undefined {\n if (usage.inputTokens === undefined || usage.inputTokens === null) return undefined\n return usage.inputTokens + (usage.cachedTokens ?? 0) + (usage.cacheWriteTokens ?? 0)\n}\n\nexport interface LlmSpanOtlpInput {\n model?: string\n inputTokens?: number\n outputTokens?: number\n reasoningTokens?: number\n cachedTokens?: number\n cacheWriteTokens?: number\n costUsd?: number\n finishReason?: string\n}\n\n/** Write the canonical LLM attributes shared by trace producers. */\nexport function applyLlmSpanOtlpAttributes(\n attributes: Record<string, unknown>,\n span: LlmSpanOtlpInput,\n): void {\n if (span.model !== undefined) attributes[LLM_MODEL_NAME] = span.model\n if (span.inputTokens !== undefined) attributes[LLM_INPUT_TOKENS] = span.inputTokens\n if (span.outputTokens !== undefined) attributes[LLM_OUTPUT_TOKENS] = span.outputTokens\n if (span.reasoningTokens !== undefined) attributes[LLM_REASONING_TOKENS] = span.reasoningTokens\n if (span.cachedTokens !== undefined) attributes[LLM_CACHED_TOKENS] = span.cachedTokens\n if (span.cacheWriteTokens !== undefined) {\n attributes[LLM_CACHE_WRITE_TOKENS] = span.cacheWriteTokens\n }\n const contextTokens = contextInputTokens(span)\n if (contextTokens !== undefined) attributes[LLM_CONTEXT_TOKENS] = contextTokens\n if (span.costUsd !== undefined) attributes[LLM_COST_USD] = span.costUsd\n if (span.finishReason) attributes['llm.finish_reason'] = span.finishReason\n}\n"],"mappings":";AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,IAAM,0BAA0B;AAChC,IAAM,iBAAiB;AACvB,IAAM,mBAAmB;AACzB,IAAM,oBAAoB;AAC1B,IAAM,uBAAuB;AAC7B,IAAM,oBAAoB;AAC1B,IAAM,yBAAyB;AAE/B,IAAM,qBAAqB;AAC3B,IAAM,eAAe;AACrB,IAAM,YAAY;AAClB,IAAM,qBAAqB;AAC3B,IAAM,kBAAkB;AACxB,IAAM,cAAc;AACpB,IAAM,eAAe;AAErB,IAAM,sBAAsB,CAAC,yBAAyB,4BAA4B;AAElF,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AAAA,EACH;AACF;AAEO,IAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AAAA,EACH;AAAA,EACA;AACF;AAEO,IAAM,6BAA6B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AAAA,EACH;AAAA,EACA;AACF;AAGO,IAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,6BAA6B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,kCAAkC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,qBAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,IAAM,qBAAqB,CAAC,mBAAmB,UAAU;AAEzD,IAAM,sBAAsB,CAAC,WAAW,qBAAqB;AAG7D,SAAS,SAAS,OAA+B;AACtD,MAAI,OAAO,UAAU,SAAU,QAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AACvE,MAAI,OAAO,UAAU,YAAY,MAAM,SAAS,GAAG;AACjD,UAAM,SAAS,OAAO,KAAK;AAC3B,WAAO,OAAO,SAAS,MAAM,IAAI,SAAS;AAAA,EAC5C;AACA,SAAO;AACT;AAGO,SAAS,gBACd,YACA,MACe;AACf,aAAW,OAAO,MAAM;AACtB,UAAM,QAAQ,SAAS,WAAW,GAAG,CAAC;AACtC,QAAI,UAAU,KAAM,QAAO;AAAA,EAC7B;AACA,SAAO;AACT;AAGO,SAAS,mBAAmB,OAIZ;AACrB,MAAI,MAAM,gBAAgB,UAAa,MAAM,gBAAgB,KAAM,QAAO;AAC1E,SAAO,MAAM,eAAe,MAAM,gBAAgB,MAAM,MAAM,oBAAoB;AACpF;AAcO,SAAS,2BACd,YACA,MACM;AACN,MAAI,KAAK,UAAU,OAAW,YAAW,cAAc,IAAI,KAAK;AAChE,MAAI,KAAK,gBAAgB,OAAW,YAAW,gBAAgB,IAAI,KAAK;AACxE,MAAI,KAAK,iBAAiB,OAAW,YAAW,iBAAiB,IAAI,KAAK;AAC1E,MAAI,KAAK,oBAAoB,OAAW,YAAW,oBAAoB,IAAI,KAAK;AAChF,MAAI,KAAK,iBAAiB,OAAW,YAAW,iBAAiB,IAAI,KAAK;AAC1E,MAAI,KAAK,qBAAqB,QAAW;AACvC,eAAW,sBAAsB,IAAI,KAAK;AAAA,EAC5C;AACA,QAAM,gBAAgB,mBAAmB,IAAI;AAC7C,MAAI,kBAAkB,OAAW,YAAW,kBAAkB,IAAI;AAClE,MAAI,KAAK,YAAY,OAAW,YAAW,YAAY,IAAI,KAAK;AAChE,MAAI,KAAK,aAAc,YAAW,mBAAmB,IAAI,KAAK;AAChE;","names":[]}
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
clamp01,
|
|
11
11
|
validatePolicyEditCandidateRecord
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VNLWDTDA.js";
|
|
13
13
|
import {
|
|
14
14
|
detectRewardHacking
|
|
15
15
|
} from "./chunk-ARU2PZFM.js";
|
|
@@ -3610,4 +3610,4 @@ export {
|
|
|
3610
3610
|
provenanceSpansPath,
|
|
3611
3611
|
emitLoopProvenance
|
|
3612
3612
|
};
|
|
3613
|
-
//# sourceMappingURL=chunk-
|
|
3613
|
+
//# sourceMappingURL=chunk-QWRLW4CT.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
TraceFileMissingError,
|
|
12
12
|
buildTraceAnalystTools
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6QIM2EAP.js";
|
|
14
14
|
import {
|
|
15
15
|
validateAgentProfileCell
|
|
16
16
|
} from "./chunk-XJYR7XFV.js";
|
|
@@ -1940,4 +1940,4 @@ export {
|
|
|
1940
1940
|
aggregateRunScore,
|
|
1941
1941
|
clamp012 as clamp01
|
|
1942
1942
|
};
|
|
1943
|
-
//# sourceMappingURL=chunk-
|
|
1943
|
+
//# sourceMappingURL=chunk-VNLWDTDA.js.map
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
recordAggregateMeasurements,
|
|
3
3
|
summarizeExecutionMeasurements
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-H5UD2323.js";
|
|
5
5
|
import {
|
|
6
6
|
extractUsage,
|
|
7
7
|
extractUsageFromSse
|
|
8
8
|
} from "./chunk-PXE2VKMX.js";
|
|
9
9
|
import {
|
|
10
10
|
analyzeTraces
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-FIUFRXP3.js";
|
|
12
12
|
import {
|
|
13
|
-
LLM_MODEL_ATTR_KEYS,
|
|
14
13
|
applyToolSpanOtlpAttributes,
|
|
15
14
|
compareSpanTime,
|
|
16
15
|
firstStringAttr,
|
|
17
16
|
projectOtlpFlatLine,
|
|
18
17
|
spanEpochMillis,
|
|
19
18
|
traceSpanKindToOpenInferenceKind
|
|
20
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-6QIM2EAP.js";
|
|
21
20
|
import {
|
|
22
21
|
defaultProviderRedactor,
|
|
23
22
|
providerFromBaseUrl
|
|
@@ -34,12 +33,13 @@ import {
|
|
|
34
33
|
} from "./chunk-ONWEPEDO.js";
|
|
35
34
|
import {
|
|
36
35
|
LLM_INPUT_TOKENS,
|
|
36
|
+
LLM_MODEL_ATTR_KEYS,
|
|
37
37
|
LLM_MODEL_NAME,
|
|
38
38
|
LLM_OUTPUT_TOKENS,
|
|
39
39
|
OPENINFERENCE_SPAN_KIND,
|
|
40
40
|
TOOL_NAME,
|
|
41
41
|
applyLlmSpanOtlpAttributes
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-K4DBDHLK.js";
|
|
43
43
|
|
|
44
44
|
// src/trace-analyst/hook.ts
|
|
45
45
|
var DEFAULT_QUESTION = "Summarise what happened in this run. Surface any failure modes, surprising findings, or evidence that the run's verdict is wrong.";
|
|
@@ -1897,4 +1897,4 @@ export {
|
|
|
1897
1897
|
createReplayFetch,
|
|
1898
1898
|
iterateRawCalls
|
|
1899
1899
|
};
|
|
1900
|
-
//# sourceMappingURL=chunk-
|
|
1900
|
+
//# sourceMappingURL=chunk-ZYHJNKI3.js.map
|
package/dist/contract/index.js
CHANGED
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
runReferenceEquivalenceJudge,
|
|
35
35
|
surfaceContentHash,
|
|
36
36
|
surfaceHash
|
|
37
|
-
} from "../chunk-
|
|
37
|
+
} from "../chunk-QWRLW4CT.js";
|
|
38
38
|
import {
|
|
39
39
|
createRunCostLedger,
|
|
40
40
|
fsCampaignStorage,
|
|
@@ -45,9 +45,9 @@ import {
|
|
|
45
45
|
import {
|
|
46
46
|
buildDefaultAnalystRegistry,
|
|
47
47
|
createChatClient
|
|
48
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-267UCQWI.js";
|
|
49
49
|
import "../chunk-HHWE3POT.js";
|
|
50
|
-
import "../chunk-
|
|
50
|
+
import "../chunk-VNLWDTDA.js";
|
|
51
51
|
import {
|
|
52
52
|
FileSystemOutcomeStore,
|
|
53
53
|
InMemoryOutcomeStore
|
|
@@ -61,13 +61,11 @@ import "../chunk-VI2UW6B6.js";
|
|
|
61
61
|
import {
|
|
62
62
|
recordAggregateMeasurements,
|
|
63
63
|
summarizeExecutionMeasurements
|
|
64
|
-
} from "../chunk-
|
|
64
|
+
} from "../chunk-H5UD2323.js";
|
|
65
65
|
import "../chunk-PXE2VKMX.js";
|
|
66
66
|
import "../chunk-ZET2UAYW.js";
|
|
67
67
|
import "../chunk-GGE4NNQT.js";
|
|
68
|
-
import
|
|
69
|
-
LLM_MODEL_ATTR_KEYS
|
|
70
|
-
} from "../chunk-BUBU3YHT.js";
|
|
68
|
+
import "../chunk-6QIM2EAP.js";
|
|
71
69
|
import "../chunk-PC4UYEBM.js";
|
|
72
70
|
import {
|
|
73
71
|
parseRunRecordSafe
|
|
@@ -76,7 +74,9 @@ import "../chunk-MA6HLL3S.js";
|
|
|
76
74
|
import "../chunk-XJYR7XFV.js";
|
|
77
75
|
import "../chunk-VSMTAMNK.js";
|
|
78
76
|
import "../chunk-ONWEPEDO.js";
|
|
79
|
-
import
|
|
77
|
+
import {
|
|
78
|
+
LLM_MODEL_ATTR_KEYS
|
|
79
|
+
} from "../chunk-K4DBDHLK.js";
|
|
80
80
|
import "../chunk-PZ5AY32C.js";
|
|
81
81
|
|
|
82
82
|
// src/contract/self-improve.ts
|
package/dist/index.d.ts
CHANGED
|
@@ -6053,6 +6053,22 @@ declare const TOOL_ARGS_CAPTURED = "tool.args_captured";
|
|
|
6053
6053
|
declare const TOOL_LATENCY_MS = "tool.latency_ms";
|
|
6054
6054
|
declare const INPUT_VALUE = "input.value";
|
|
6055
6055
|
declare const OUTPUT_VALUE = "output.value";
|
|
6056
|
+
declare const SPAN_KIND_ATTR_KEYS: readonly ["openinference.span.kind", "inference.observation_kind"];
|
|
6057
|
+
declare const LLM_MODEL_ATTR_KEYS: readonly ["llm.model_name", "inference.llm.model_name", "llm.model", ...string[], "tangle.model"];
|
|
6058
|
+
declare const LLM_INPUT_TOKEN_ATTR_KEYS: readonly ["llm.token_count.prompt", "inference.llm.input_tokens", "llm.input_tokens", ...string[], "tangle.tokens.in", "tokens.in"];
|
|
6059
|
+
declare const LLM_OUTPUT_TOKEN_ATTR_KEYS: readonly ["llm.token_count.completion", "inference.llm.output_tokens", "llm.output_tokens", ...string[], "tangle.tokens.out", "tokens.out"];
|
|
6060
|
+
/** Reasoning-token subset of output, when a producer exposes it separately. */
|
|
6061
|
+
declare const LLM_REASONING_TOKEN_ATTR_KEYS: readonly ["llm.token_count.reasoning", "inference.llm.reasoning_tokens", "llm.reasoning_tokens", "gen_ai.usage.reasoning_tokens", "gen_ai.usage.reasoning_output_tokens", "reasoning_tokens", "reasoning_output_tokens", "tangle.tokens.reasoning", "gen_ai.usage.output_tokens_details.reasoning_tokens", "gen_ai.usage.completion_tokens_details.reasoning_tokens"];
|
|
6062
|
+
declare const LLM_CACHED_TOKEN_ATTR_KEYS: readonly ["llm.token_count.prompt_cache_hit", "inference.llm.cached_tokens", "llm.cached_tokens", "gen_ai.usage.cached_tokens", "gen_ai.usage.prompt_tokens_details.cached_tokens", "gen_ai.usage.input_tokens_details.cached_tokens", "gen_ai.usage.cache_read_tokens", "gen_ai.usage.cache_read_input_tokens", "cache_read_tokens", "cache_read_input_tokens", "input_cache_read", "tangle.tokens.cached"];
|
|
6063
|
+
declare const LLM_CACHE_WRITE_TOKEN_ATTR_KEYS: readonly ["llm.token_count.prompt_cache_write", "inference.llm.cache_write_tokens", "llm.cache_write_tokens", "gen_ai.usage.cache_creation_tokens", "gen_ai.usage.cache_creation_input_tokens", "cache_creation_tokens", "cache_creation_input_tokens", "input_cache_creation", "tangle.tokens.cache_write"];
|
|
6064
|
+
declare const LLM_COST_ATTR_KEYS: readonly ["llm.cost_usd", "inference.llm.cost.total", "llm.cost.total", "gen_ai.usage.cost", "gen_ai.usage.cost_usd", "tangle.cost.usd", "cost.usd", "cost"];
|
|
6065
|
+
/** Explicit run-total cost keys safe to preserve on an untyped span. */
|
|
6066
|
+
declare const RUN_COST_ATTR_KEYS: readonly ["tangle.cost.usd", "cost.usd"];
|
|
6067
|
+
declare const TOOL_NAME_ATTR_KEYS: readonly ["tool.name", "inference.tool.name"];
|
|
6068
|
+
/** Read a numeric attribute, tolerating numeric strings; `null` if absent or invalid. */
|
|
6069
|
+
declare function asNumber(value: unknown): number | null;
|
|
6070
|
+
/** First finite numeric value across a list of candidate attribute keys. */
|
|
6071
|
+
declare function firstNumberAttr(attributes: Record<string, unknown>, keys: readonly string[]): number | null;
|
|
6056
6072
|
/** Sum producer-supplied, mutually exclusive prompt-token categories. */
|
|
6057
6073
|
declare function contextInputTokens(usage: {
|
|
6058
6074
|
inputTokens?: number | null;
|
|
@@ -6074,18 +6090,6 @@ declare function applyLlmSpanOtlpAttributes(attributes: Record<string, unknown>,
|
|
|
6074
6090
|
|
|
6075
6091
|
/** Canonical OpenInference-over-OTLP attribute vocabulary used at the trace boundary. */
|
|
6076
6092
|
|
|
6077
|
-
declare const SPAN_KIND_ATTR_KEYS: readonly ["openinference.span.kind", "inference.observation_kind"];
|
|
6078
|
-
declare const LLM_MODEL_ATTR_KEYS: readonly ["llm.model_name", "inference.llm.model_name", "llm.model", ...string[], "tangle.model"];
|
|
6079
|
-
declare const LLM_INPUT_TOKEN_ATTR_KEYS: readonly ["llm.token_count.prompt", "inference.llm.input_tokens", "llm.input_tokens", ...string[], "tangle.tokens.in", "tokens.in"];
|
|
6080
|
-
declare const LLM_OUTPUT_TOKEN_ATTR_KEYS: readonly ["llm.token_count.completion", "inference.llm.output_tokens", "llm.output_tokens", ...string[], "tangle.tokens.out", "tokens.out"];
|
|
6081
|
-
/** Reasoning-token subset of output, when a producer exposes it separately. */
|
|
6082
|
-
declare const LLM_REASONING_TOKEN_ATTR_KEYS: readonly ["llm.token_count.reasoning", "inference.llm.reasoning_tokens", "llm.reasoning_tokens", "gen_ai.usage.reasoning_tokens", "gen_ai.usage.reasoning_output_tokens", "reasoning_tokens", "reasoning_output_tokens", "tangle.tokens.reasoning", "gen_ai.usage.output_tokens_details.reasoning_tokens", "gen_ai.usage.completion_tokens_details.reasoning_tokens"];
|
|
6083
|
-
declare const LLM_CACHED_TOKEN_ATTR_KEYS: readonly ["llm.token_count.prompt_cache_hit", "inference.llm.cached_tokens", "llm.cached_tokens", "gen_ai.usage.cached_tokens", "gen_ai.usage.prompt_tokens_details.cached_tokens", "gen_ai.usage.input_tokens_details.cached_tokens", "gen_ai.usage.cache_read_tokens", "gen_ai.usage.cache_read_input_tokens", "cache_read_tokens", "cache_read_input_tokens", "input_cache_read", "tangle.tokens.cached"];
|
|
6084
|
-
declare const LLM_CACHE_WRITE_TOKEN_ATTR_KEYS: readonly ["llm.token_count.prompt_cache_write", "inference.llm.cache_write_tokens", "llm.cache_write_tokens", "gen_ai.usage.cache_creation_tokens", "gen_ai.usage.cache_creation_input_tokens", "cache_creation_tokens", "cache_creation_input_tokens", "input_cache_creation", "tangle.tokens.cache_write"];
|
|
6085
|
-
declare const LLM_COST_ATTR_KEYS: readonly ["llm.cost_usd", "inference.llm.cost.total", "llm.cost.total", "gen_ai.usage.cost", "gen_ai.usage.cost_usd", "tangle.cost.usd", "cost.usd", "cost"];
|
|
6086
|
-
/** Explicit run-total cost keys safe to preserve on an untyped span. */
|
|
6087
|
-
declare const RUN_COST_ATTR_KEYS: readonly ["tangle.cost.usd", "cost.usd"];
|
|
6088
|
-
declare const TOOL_NAME_ATTR_KEYS: readonly ["tool.name", "inference.tool.name"];
|
|
6089
6093
|
type ToolSpanOtlpInput = Pick<ToolSpan, 'toolName' | 'args' | 'argsCaptured' | 'result' | 'latencyMs'>;
|
|
6090
6094
|
declare function applyToolSpanOtlpAttributes(attributes: Record<string, unknown>, span: ToolSpanOtlpInput): void;
|
|
6091
6095
|
declare function traceSpanKindToOpenInferenceKind(kind: string): string;
|
|
@@ -6463,10 +6467,6 @@ declare function inferOtlpKind(attrs: Record<string, unknown>): TraceAnalystSpan
|
|
|
6463
6467
|
declare function extractOtlpAttributes(raw: Record<string, unknown>): Record<string, unknown>;
|
|
6464
6468
|
declare function stringField(raw: Record<string, unknown>, key: string): string | undefined;
|
|
6465
6469
|
declare function asString(v: unknown): string | null;
|
|
6466
|
-
/** Read a numeric attribute, tolerating numeric strings; `null` if absent/NaN. */
|
|
6467
|
-
declare function asNumber(v: unknown): number | null;
|
|
6468
|
-
/** First finite numeric value across a list of candidate attribute keys. */
|
|
6469
|
-
declare function firstNumberAttr(attrs: Record<string, unknown>, keys: readonly string[]): number | null;
|
|
6470
6470
|
/** First non-empty string value across a list of candidate attribute keys. */
|
|
6471
6471
|
declare function firstStringAttr(attrs: Record<string, unknown>, keys: readonly string[]): string | null;
|
|
6472
6472
|
|
package/dist/index.js
CHANGED
|
@@ -53,7 +53,7 @@ import {
|
|
|
53
53
|
pairArms,
|
|
54
54
|
parseCorrectnessResponse,
|
|
55
55
|
verifyCompletion
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-EKHHBKS6.js";
|
|
57
57
|
import {
|
|
58
58
|
DEFAULT_MUTATION_PRIMITIVES,
|
|
59
59
|
DEFAULT_RED_TEAM_CORPUS,
|
|
@@ -91,7 +91,7 @@ import {
|
|
|
91
91
|
scoreRedTeamOutput,
|
|
92
92
|
surfaceContentHash,
|
|
93
93
|
toolNamesForRun
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-QWRLW4CT.js";
|
|
95
95
|
import {
|
|
96
96
|
BackendIntegrityError,
|
|
97
97
|
assertRealBackend,
|
|
@@ -115,12 +115,12 @@ import {
|
|
|
115
115
|
defaultIsMaterial,
|
|
116
116
|
diffFindings,
|
|
117
117
|
runSemanticConceptJudge
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-F5A4GDQW.js";
|
|
119
119
|
import {
|
|
120
120
|
buildDefaultAnalystRegistry,
|
|
121
121
|
computeTraceMetrics,
|
|
122
122
|
createChatClient
|
|
123
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-267UCQWI.js";
|
|
124
124
|
import "./chunk-HHWE3POT.js";
|
|
125
125
|
import {
|
|
126
126
|
Mutex
|
|
@@ -154,7 +154,7 @@ import {
|
|
|
154
154
|
scorePolicyEditReadiness,
|
|
155
155
|
validatePolicyEdit,
|
|
156
156
|
validatePolicyEditCandidateRecord
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-VNLWDTDA.js";
|
|
158
158
|
import {
|
|
159
159
|
allCriticalPassed,
|
|
160
160
|
controlFailureClassFromVerification,
|
|
@@ -303,8 +303,8 @@ import {
|
|
|
303
303
|
scoreTraceInsightReadiness,
|
|
304
304
|
tokenizeDomainWords,
|
|
305
305
|
traceAnalystOnRunComplete
|
|
306
|
-
} from "./chunk-
|
|
307
|
-
import "./chunk-
|
|
306
|
+
} from "./chunk-ZYHJNKI3.js";
|
|
307
|
+
import "./chunk-H5UD2323.js";
|
|
308
308
|
import {
|
|
309
309
|
extractUsage,
|
|
310
310
|
extractUsageFromResponse,
|
|
@@ -326,7 +326,7 @@ import {
|
|
|
326
326
|
TRACE_ANALYST_ACTOR_DESCRIPTION_VERSION,
|
|
327
327
|
TRACE_ANALYST_SUBAGENT_DESCRIPTION,
|
|
328
328
|
analyzeTraces
|
|
329
|
-
} from "./chunk-
|
|
329
|
+
} from "./chunk-FIUFRXP3.js";
|
|
330
330
|
import {
|
|
331
331
|
DEFAULT_REDACTION_RULES,
|
|
332
332
|
REDACTION_VERSION,
|
|
@@ -335,27 +335,15 @@ import {
|
|
|
335
335
|
} from "./chunk-GGE4NNQT.js";
|
|
336
336
|
import {
|
|
337
337
|
DEFAULT_TRACE_ANALYST_BUDGETS,
|
|
338
|
-
LLM_CACHED_TOKEN_ATTR_KEYS,
|
|
339
|
-
LLM_CACHE_WRITE_TOKEN_ATTR_KEYS,
|
|
340
|
-
LLM_COST_ATTR_KEYS,
|
|
341
|
-
LLM_INPUT_TOKEN_ATTR_KEYS,
|
|
342
|
-
LLM_MODEL_ATTR_KEYS,
|
|
343
|
-
LLM_OUTPUT_TOKEN_ATTR_KEYS,
|
|
344
|
-
LLM_REASONING_TOKEN_ATTR_KEYS,
|
|
345
338
|
OtlpFileTraceStore,
|
|
346
|
-
RUN_COST_ATTR_KEYS,
|
|
347
|
-
SPAN_KIND_ATTR_KEYS,
|
|
348
339
|
SpanNotFoundError,
|
|
349
|
-
TOOL_NAME_ATTR_KEYS,
|
|
350
340
|
TRACE_ANALYST_TRUNCATION_MARKER_PREFIX,
|
|
351
341
|
TraceFileMissingError,
|
|
352
342
|
TraceNotFoundError,
|
|
353
343
|
applyToolSpanOtlpAttributes,
|
|
354
|
-
asNumber,
|
|
355
344
|
asString,
|
|
356
345
|
buildTraceAnalystTools,
|
|
357
346
|
extractOtlpAttributes,
|
|
358
|
-
firstNumberAttr,
|
|
359
347
|
firstStringAttr,
|
|
360
348
|
inferOtlpKind,
|
|
361
349
|
projectOtlpFlatLine,
|
|
@@ -363,7 +351,7 @@ import {
|
|
|
363
351
|
stringField,
|
|
364
352
|
traceAnalystFunctionGroup,
|
|
365
353
|
traceSpanKindToOpenInferenceKind
|
|
366
|
-
} from "./chunk-
|
|
354
|
+
} from "./chunk-6QIM2EAP.js";
|
|
367
355
|
import {
|
|
368
356
|
RunIntegrityError,
|
|
369
357
|
assertRunCaptured,
|
|
@@ -432,21 +420,33 @@ import {
|
|
|
432
420
|
import {
|
|
433
421
|
INPUT_VALUE,
|
|
434
422
|
LLM_CACHED_TOKENS,
|
|
423
|
+
LLM_CACHED_TOKEN_ATTR_KEYS,
|
|
435
424
|
LLM_CACHE_WRITE_TOKENS,
|
|
425
|
+
LLM_CACHE_WRITE_TOKEN_ATTR_KEYS,
|
|
436
426
|
LLM_CONTEXT_TOKENS,
|
|
427
|
+
LLM_COST_ATTR_KEYS,
|
|
437
428
|
LLM_COST_USD,
|
|
438
429
|
LLM_INPUT_TOKENS,
|
|
430
|
+
LLM_INPUT_TOKEN_ATTR_KEYS,
|
|
431
|
+
LLM_MODEL_ATTR_KEYS,
|
|
439
432
|
LLM_MODEL_NAME,
|
|
440
433
|
LLM_OUTPUT_TOKENS,
|
|
434
|
+
LLM_OUTPUT_TOKEN_ATTR_KEYS,
|
|
441
435
|
LLM_REASONING_TOKENS,
|
|
436
|
+
LLM_REASONING_TOKEN_ATTR_KEYS,
|
|
442
437
|
OPENINFERENCE_SPAN_KIND,
|
|
443
438
|
OUTPUT_VALUE,
|
|
439
|
+
RUN_COST_ATTR_KEYS,
|
|
440
|
+
SPAN_KIND_ATTR_KEYS,
|
|
444
441
|
TOOL_ARGS_CAPTURED,
|
|
445
442
|
TOOL_LATENCY_MS,
|
|
446
443
|
TOOL_NAME,
|
|
444
|
+
TOOL_NAME_ATTR_KEYS,
|
|
447
445
|
applyLlmSpanOtlpAttributes,
|
|
448
|
-
|
|
449
|
-
|
|
446
|
+
asNumber,
|
|
447
|
+
contextInputTokens,
|
|
448
|
+
firstNumberAttr
|
|
449
|
+
} from "./chunk-K4DBDHLK.js";
|
|
450
450
|
import {
|
|
451
451
|
__export
|
|
452
452
|
} from "./chunk-PZ5AY32C.js";
|
package/dist/openapi.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"openapi": "3.1.0",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "@tangle-network/agent-eval — wire protocol",
|
|
5
|
-
"version": "0.118.
|
|
5
|
+
"version": "0.118.3",
|
|
6
6
|
"description": "HTTP and stdio RPC interface to agent-eval. The TypeScript runtime is the source of truth; this spec is the contract that cross-language clients (Python, Rust, Go) generate from.\n\nWire-protocol version: 1.0.0. Bumps on breaking changes to request/response schemas.",
|
|
7
7
|
"contact": {
|
|
8
8
|
"name": "Tangle Network",
|
|
@@ -14,6 +14,22 @@ declare const TOOL_ARGS_CAPTURED = "tool.args_captured";
|
|
|
14
14
|
declare const TOOL_LATENCY_MS = "tool.latency_ms";
|
|
15
15
|
declare const INPUT_VALUE = "input.value";
|
|
16
16
|
declare const OUTPUT_VALUE = "output.value";
|
|
17
|
+
declare const SPAN_KIND_ATTR_KEYS: readonly ["openinference.span.kind", "inference.observation_kind"];
|
|
18
|
+
declare const LLM_MODEL_ATTR_KEYS: readonly ["llm.model_name", "inference.llm.model_name", "llm.model", ...string[], "tangle.model"];
|
|
19
|
+
declare const LLM_INPUT_TOKEN_ATTR_KEYS: readonly ["llm.token_count.prompt", "inference.llm.input_tokens", "llm.input_tokens", ...string[], "tangle.tokens.in", "tokens.in"];
|
|
20
|
+
declare const LLM_OUTPUT_TOKEN_ATTR_KEYS: readonly ["llm.token_count.completion", "inference.llm.output_tokens", "llm.output_tokens", ...string[], "tangle.tokens.out", "tokens.out"];
|
|
21
|
+
/** Reasoning-token subset of output, when a producer exposes it separately. */
|
|
22
|
+
declare const LLM_REASONING_TOKEN_ATTR_KEYS: readonly ["llm.token_count.reasoning", "inference.llm.reasoning_tokens", "llm.reasoning_tokens", "gen_ai.usage.reasoning_tokens", "gen_ai.usage.reasoning_output_tokens", "reasoning_tokens", "reasoning_output_tokens", "tangle.tokens.reasoning", "gen_ai.usage.output_tokens_details.reasoning_tokens", "gen_ai.usage.completion_tokens_details.reasoning_tokens"];
|
|
23
|
+
declare const LLM_CACHED_TOKEN_ATTR_KEYS: readonly ["llm.token_count.prompt_cache_hit", "inference.llm.cached_tokens", "llm.cached_tokens", "gen_ai.usage.cached_tokens", "gen_ai.usage.prompt_tokens_details.cached_tokens", "gen_ai.usage.input_tokens_details.cached_tokens", "gen_ai.usage.cache_read_tokens", "gen_ai.usage.cache_read_input_tokens", "cache_read_tokens", "cache_read_input_tokens", "input_cache_read", "tangle.tokens.cached"];
|
|
24
|
+
declare const LLM_CACHE_WRITE_TOKEN_ATTR_KEYS: readonly ["llm.token_count.prompt_cache_write", "inference.llm.cache_write_tokens", "llm.cache_write_tokens", "gen_ai.usage.cache_creation_tokens", "gen_ai.usage.cache_creation_input_tokens", "cache_creation_tokens", "cache_creation_input_tokens", "input_cache_creation", "tangle.tokens.cache_write"];
|
|
25
|
+
declare const LLM_COST_ATTR_KEYS: readonly ["llm.cost_usd", "inference.llm.cost.total", "llm.cost.total", "gen_ai.usage.cost", "gen_ai.usage.cost_usd", "tangle.cost.usd", "cost.usd", "cost"];
|
|
26
|
+
/** Explicit run-total cost keys safe to preserve on an untyped span. */
|
|
27
|
+
declare const RUN_COST_ATTR_KEYS: readonly ["tangle.cost.usd", "cost.usd"];
|
|
28
|
+
declare const TOOL_NAME_ATTR_KEYS: readonly ["tool.name", "inference.tool.name"];
|
|
29
|
+
/** Read a numeric attribute, tolerating numeric strings; `null` if absent or invalid. */
|
|
30
|
+
declare function asNumber(value: unknown): number | null;
|
|
31
|
+
/** First finite numeric value across a list of candidate attribute keys. */
|
|
32
|
+
declare function firstNumberAttr(attributes: Record<string, unknown>, keys: readonly string[]): number | null;
|
|
17
33
|
/** Sum producer-supplied, mutually exclusive prompt-token categories. */
|
|
18
34
|
declare function contextInputTokens(usage: {
|
|
19
35
|
inputTokens?: number | null;
|
|
@@ -33,4 +49,4 @@ interface LlmSpanOtlpInput {
|
|
|
33
49
|
/** Write the canonical LLM attributes shared by trace producers. */
|
|
34
50
|
declare function applyLlmSpanOtlpAttributes(attributes: Record<string, unknown>, span: LlmSpanOtlpInput): void;
|
|
35
51
|
|
|
36
|
-
export { INPUT_VALUE, LLM_CACHED_TOKENS, LLM_CACHE_WRITE_TOKENS, LLM_CONTEXT_TOKENS, LLM_COST_USD, LLM_INPUT_TOKENS, LLM_MODEL_NAME, LLM_OUTPUT_TOKENS, LLM_REASONING_TOKENS, type LlmSpanOtlpInput, OPENINFERENCE_SPAN_KIND, OUTPUT_VALUE, TOOL_ARGS_CAPTURED, TOOL_LATENCY_MS, TOOL_NAME, applyLlmSpanOtlpAttributes, contextInputTokens };
|
|
52
|
+
export { INPUT_VALUE, LLM_CACHED_TOKENS, LLM_CACHED_TOKEN_ATTR_KEYS, LLM_CACHE_WRITE_TOKENS, LLM_CACHE_WRITE_TOKEN_ATTR_KEYS, LLM_CONTEXT_TOKENS, LLM_COST_ATTR_KEYS, LLM_COST_USD, LLM_INPUT_TOKENS, LLM_INPUT_TOKEN_ATTR_KEYS, LLM_MODEL_ATTR_KEYS, LLM_MODEL_NAME, LLM_OUTPUT_TOKENS, LLM_OUTPUT_TOKEN_ATTR_KEYS, LLM_REASONING_TOKENS, LLM_REASONING_TOKEN_ATTR_KEYS, type LlmSpanOtlpInput, OPENINFERENCE_SPAN_KIND, OUTPUT_VALUE, RUN_COST_ATTR_KEYS, SPAN_KIND_ATTR_KEYS, TOOL_ARGS_CAPTURED, TOOL_LATENCY_MS, TOOL_NAME, TOOL_NAME_ATTR_KEYS, applyLlmSpanOtlpAttributes, asNumber, contextInputTokens, firstNumberAttr };
|
package/dist/trace-attributes.js
CHANGED
|
@@ -1,38 +1,62 @@
|
|
|
1
1
|
import {
|
|
2
2
|
INPUT_VALUE,
|
|
3
3
|
LLM_CACHED_TOKENS,
|
|
4
|
+
LLM_CACHED_TOKEN_ATTR_KEYS,
|
|
4
5
|
LLM_CACHE_WRITE_TOKENS,
|
|
6
|
+
LLM_CACHE_WRITE_TOKEN_ATTR_KEYS,
|
|
5
7
|
LLM_CONTEXT_TOKENS,
|
|
8
|
+
LLM_COST_ATTR_KEYS,
|
|
6
9
|
LLM_COST_USD,
|
|
7
10
|
LLM_INPUT_TOKENS,
|
|
11
|
+
LLM_INPUT_TOKEN_ATTR_KEYS,
|
|
12
|
+
LLM_MODEL_ATTR_KEYS,
|
|
8
13
|
LLM_MODEL_NAME,
|
|
9
14
|
LLM_OUTPUT_TOKENS,
|
|
15
|
+
LLM_OUTPUT_TOKEN_ATTR_KEYS,
|
|
10
16
|
LLM_REASONING_TOKENS,
|
|
17
|
+
LLM_REASONING_TOKEN_ATTR_KEYS,
|
|
11
18
|
OPENINFERENCE_SPAN_KIND,
|
|
12
19
|
OUTPUT_VALUE,
|
|
20
|
+
RUN_COST_ATTR_KEYS,
|
|
21
|
+
SPAN_KIND_ATTR_KEYS,
|
|
13
22
|
TOOL_ARGS_CAPTURED,
|
|
14
23
|
TOOL_LATENCY_MS,
|
|
15
24
|
TOOL_NAME,
|
|
25
|
+
TOOL_NAME_ATTR_KEYS,
|
|
16
26
|
applyLlmSpanOtlpAttributes,
|
|
17
|
-
|
|
18
|
-
|
|
27
|
+
asNumber,
|
|
28
|
+
contextInputTokens,
|
|
29
|
+
firstNumberAttr
|
|
30
|
+
} from "./chunk-K4DBDHLK.js";
|
|
19
31
|
import "./chunk-PZ5AY32C.js";
|
|
20
32
|
export {
|
|
21
33
|
INPUT_VALUE,
|
|
22
34
|
LLM_CACHED_TOKENS,
|
|
35
|
+
LLM_CACHED_TOKEN_ATTR_KEYS,
|
|
23
36
|
LLM_CACHE_WRITE_TOKENS,
|
|
37
|
+
LLM_CACHE_WRITE_TOKEN_ATTR_KEYS,
|
|
24
38
|
LLM_CONTEXT_TOKENS,
|
|
39
|
+
LLM_COST_ATTR_KEYS,
|
|
25
40
|
LLM_COST_USD,
|
|
26
41
|
LLM_INPUT_TOKENS,
|
|
42
|
+
LLM_INPUT_TOKEN_ATTR_KEYS,
|
|
43
|
+
LLM_MODEL_ATTR_KEYS,
|
|
27
44
|
LLM_MODEL_NAME,
|
|
28
45
|
LLM_OUTPUT_TOKENS,
|
|
46
|
+
LLM_OUTPUT_TOKEN_ATTR_KEYS,
|
|
29
47
|
LLM_REASONING_TOKENS,
|
|
48
|
+
LLM_REASONING_TOKEN_ATTR_KEYS,
|
|
30
49
|
OPENINFERENCE_SPAN_KIND,
|
|
31
50
|
OUTPUT_VALUE,
|
|
51
|
+
RUN_COST_ATTR_KEYS,
|
|
52
|
+
SPAN_KIND_ATTR_KEYS,
|
|
32
53
|
TOOL_ARGS_CAPTURED,
|
|
33
54
|
TOOL_LATENCY_MS,
|
|
34
55
|
TOOL_NAME,
|
|
56
|
+
TOOL_NAME_ATTR_KEYS,
|
|
35
57
|
applyLlmSpanOtlpAttributes,
|
|
36
|
-
|
|
58
|
+
asNumber,
|
|
59
|
+
contextInputTokens,
|
|
60
|
+
firstNumberAttr
|
|
37
61
|
};
|
|
38
62
|
//# sourceMappingURL=trace-attributes.js.map
|