@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.
Files changed (35) hide show
  1. package/dist/analyst/index.js +5 -5
  2. package/dist/benchmarks/index.js +6 -6
  3. package/dist/campaign/index.js +6 -6
  4. package/dist/{chunk-J23QK2U5.js → chunk-267UCQWI.js} +8 -8
  5. package/dist/{chunk-BUBU3YHT.js → chunk-6QIM2EAP.js} +6 -116
  6. package/dist/chunk-6QIM2EAP.js.map +1 -0
  7. package/dist/{chunk-GCT3DQWU.js → chunk-EKHHBKS6.js} +5 -5
  8. package/dist/{chunk-DRSFTBKU.js → chunk-F5A4GDQW.js} +2 -2
  9. package/dist/{chunk-63KG3ASG.js → chunk-FIUFRXP3.js} +2 -2
  10. package/dist/{chunk-TVXPJJ7H.js → chunk-H5UD2323.js} +2 -2
  11. package/dist/chunk-K4DBDHLK.js +158 -0
  12. package/dist/chunk-K4DBDHLK.js.map +1 -0
  13. package/dist/{chunk-I42AAGHL.js → chunk-QWRLW4CT.js} +2 -2
  14. package/dist/{chunk-DZBCDDIE.js → chunk-VNLWDTDA.js} +2 -2
  15. package/dist/{chunk-6JQE3YVE.js → chunk-ZYHJNKI3.js} +6 -6
  16. package/dist/contract/index.js +8 -8
  17. package/dist/index.d.ts +16 -16
  18. package/dist/index.js +23 -23
  19. package/dist/openapi.json +1 -1
  20. package/dist/trace-attributes.d.ts +17 -1
  21. package/dist/trace-attributes.js +27 -3
  22. package/dist/traces.d.ts +16 -16
  23. package/dist/traces.js +18 -18
  24. package/package.json +1 -1
  25. package/dist/chunk-BUBU3YHT.js.map +0 -1
  26. package/dist/chunk-NW4AQBXD.js +0 -53
  27. package/dist/chunk-NW4AQBXD.js.map +0 -1
  28. /package/dist/{chunk-J23QK2U5.js.map → chunk-267UCQWI.js.map} +0 -0
  29. /package/dist/{chunk-GCT3DQWU.js.map → chunk-EKHHBKS6.js.map} +0 -0
  30. /package/dist/{chunk-DRSFTBKU.js.map → chunk-F5A4GDQW.js.map} +0 -0
  31. /package/dist/{chunk-63KG3ASG.js.map → chunk-FIUFRXP3.js.map} +0 -0
  32. /package/dist/{chunk-TVXPJJ7H.js.map → chunk-H5UD2323.js.map} +0 -0
  33. /package/dist/{chunk-I42AAGHL.js.map → chunk-QWRLW4CT.js.map} +0 -0
  34. /package/dist/{chunk-DZBCDDIE.js.map → chunk-VNLWDTDA.js.map} +0 -0
  35. /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-DZBCDDIE.js";
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-I42AAGHL.js.map
3613
+ //# sourceMappingURL=chunk-QWRLW4CT.js.map
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  TraceFileMissingError,
12
12
  buildTraceAnalystTools
13
- } from "./chunk-BUBU3YHT.js";
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-DZBCDDIE.js.map
1943
+ //# sourceMappingURL=chunk-VNLWDTDA.js.map
@@ -1,23 +1,22 @@
1
1
  import {
2
2
  recordAggregateMeasurements,
3
3
  summarizeExecutionMeasurements
4
- } from "./chunk-TVXPJJ7H.js";
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-63KG3ASG.js";
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-BUBU3YHT.js";
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-NW4AQBXD.js";
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-6JQE3YVE.js.map
1900
+ //# sourceMappingURL=chunk-ZYHJNKI3.js.map
@@ -34,7 +34,7 @@ import {
34
34
  runReferenceEquivalenceJudge,
35
35
  surfaceContentHash,
36
36
  surfaceHash
37
- } from "../chunk-I42AAGHL.js";
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-J23QK2U5.js";
48
+ } from "../chunk-267UCQWI.js";
49
49
  import "../chunk-HHWE3POT.js";
50
- import "../chunk-DZBCDDIE.js";
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-TVXPJJ7H.js";
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 "../chunk-NW4AQBXD.js";
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-GCT3DQWU.js";
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-I42AAGHL.js";
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-DRSFTBKU.js";
118
+ } from "./chunk-F5A4GDQW.js";
119
119
  import {
120
120
  buildDefaultAnalystRegistry,
121
121
  computeTraceMetrics,
122
122
  createChatClient
123
- } from "./chunk-J23QK2U5.js";
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-DZBCDDIE.js";
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-6JQE3YVE.js";
307
- import "./chunk-TVXPJJ7H.js";
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-63KG3ASG.js";
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-BUBU3YHT.js";
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
- contextInputTokens
449
- } from "./chunk-NW4AQBXD.js";
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.2",
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 };
@@ -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
- contextInputTokens
18
- } from "./chunk-NW4AQBXD.js";
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
- contextInputTokens
58
+ asNumber,
59
+ contextInputTokens,
60
+ firstNumberAttr
37
61
  };
38
62
  //# sourceMappingURL=trace-attributes.js.map