@hebo-ai/gateway 0.9.3 → 0.9.4

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.
@@ -115,7 +115,6 @@ export const getChatRequestAttributes = (body, signalLevel) => {
115
115
  "gen_ai.request.reasoning.effort": body.reasoning?.effort,
116
116
  "gen_ai.request.reasoning.max_tokens": body.reasoning?.max_tokens,
117
117
  "gen_ai.request.stream": body.stream,
118
- "gen_ai.request.service_tier": body.service_tier,
119
118
  "gen_ai.request.frequency_penalty": body.frequency_penalty,
120
119
  "gen_ai.request.max_tokens": body.max_completion_tokens,
121
120
  "gen_ai.request.presence_penalty": body.presence_penalty,
@@ -127,7 +127,6 @@ export const getResponsesRequestAttributes = (body, signalLevel) => {
127
127
  if (signalLevel !== "required") {
128
128
  Object.assign(attrs, {
129
129
  "gen_ai.request.stream": body.stream,
130
- "gen_ai.request.service_tier": body.service_tier,
131
130
  "gen_ai.request.frequency_penalty": body.frequency_penalty,
132
131
  "gen_ai.request.max_tokens": body.max_output_tokens,
133
132
  "gen_ai.request.presence_penalty": body.presence_penalty,
@@ -54,12 +54,16 @@ export const getGenAiGeneralAttributes = (ctx, signalLevel) => {
54
54
  if (!signalLevel || signalLevel === "off")
55
55
  return {};
56
56
  const requestModel = typeof ctx.body?.model === "string" ? ctx.body.model : ctx.modelId;
57
+ const serviceTier = typeof ctx.body?.service_tier === "string" ? ctx.body.service_tier : undefined;
57
58
  const attrs = {
58
59
  "gen_ai.operation.name": ctx.operation,
59
60
  "gen_ai.request.model": requestModel,
60
61
  "gen_ai.response.model": ctx.resolvedModelId,
61
62
  "gen_ai.provider.name": ctx.resolvedProviderId,
62
63
  };
64
+ if (signalLevel !== "required" && serviceTier !== undefined) {
65
+ attrs["gen_ai.request.service_tier"] = serviceTier;
66
+ }
63
67
  for (const [key, value] of Object.entries(ctx.otel)) {
64
68
  if (value !== undefined)
65
69
  attrs[key] = value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hebo-ai/gateway",
3
- "version": "0.9.3",
3
+ "version": "0.9.4",
4
4
  "description": "AI gateway as a framework. For full control over models, routing & lifecycle. OpenAI-compatible /chat/completions, /embeddings & /models.",
5
5
  "keywords": [
6
6
  "ai",