Semantic conventions
OpenTelemetry semantic convention constants.
Variables
GEN_AI_SYSTEM
constGEN_AI_SYSTEM:"gen_ai.system"="gen_ai.system"
Defined in: src/observability/_genaiSemconv.ts:21
Provider id (e.g. openai, anthropic, openrouter, litellm).
GEN_AI_REQUEST_MODEL
constGEN_AI_REQUEST_MODEL:"gen_ai.request.model"="gen_ai.request.model"
Defined in: src/observability/_genaiSemconv.ts:24
Requested model slug, exactly as sent on the wire.
GEN_AI_RESPONSE_MODEL
constGEN_AI_RESPONSE_MODEL:"gen_ai.response.model"="gen_ai.response.model"
Defined in: src/observability/_genaiSemconv.ts:27
Resolved model slug from the response, when the provider echoes one.
GEN_AI_RESPONSE_FINISH_REASON
constGEN_AI_RESPONSE_FINISH_REASON:"gen_ai.response.finish_reasons"="gen_ai.response.finish_reasons"
Defined in: src/observability/_genaiSemconv.ts:30
Finish reason(s); we always emit a single-element list.
GEN_AI_USAGE_PROMPT_TOKENS
constGEN_AI_USAGE_PROMPT_TOKENS:"gen_ai.usage.input_tokens"="gen_ai.usage.input_tokens"
Defined in: src/observability/_genaiSemconv.ts:32
GEN_AI_USAGE_COMPLETION_TOKENS
constGEN_AI_USAGE_COMPLETION_TOKENS:"gen_ai.usage.output_tokens"="gen_ai.usage.output_tokens"
Defined in: src/observability/_genaiSemconv.ts:33
GEN_AI_OPERATION_NAME
constGEN_AI_OPERATION_NAME:"gen_ai.operation.name"="gen_ai.operation.name"
Defined in: src/observability/_genaiSemconv.ts:36
Operation. We use chat for both root and subagent LM calls.
SPAN_AGENT_RUN
constSPAN_AGENT_RUN:"syzygy.agent.run"="syzygy.agent.run"
Defined in: src/observability/_genaiSemconv.ts:41
SPAN_LM_CALL
constSPAN_LM_CALL:"syzygy.lm_call"="syzygy.lm_call"
Defined in: src/observability/_genaiSemconv.ts:42
SPAN_SUBAGENT
constSPAN_SUBAGENT:"syzygy.subagent"="syzygy.subagent"
Defined in: src/observability/_genaiSemconv.ts:44
v1 inner-agent / toolset-subagent boundary span. C5 removes.
SPAN_AGENT
constSPAN_AGENT:"syzygy.agent"="syzygy.agent"
Defined in: src/observability/_genaiSemconv.ts:50
v2 inner-agent boundary span. Used for agent_as_tool(spec) and
Toolset.as_delegated() invocations.
SPAN_PARALLEL
constSPAN_PARALLEL:"syzygy.parallel"="syzygy.parallel"
Defined in: src/observability/_genaiSemconv.ts:52
SPAN_TOOL_CALL
constSPAN_TOOL_CALL:"syzygy.tool_call"="syzygy.tool_call"
Defined in: src/observability/_genaiSemconv.ts:53
EVENT_CELL
constEVENT_CELL:"syzygy.cell"="syzygy.cell"
Defined in: src/observability/_genaiSemconv.ts:56
EVENT_TOKEN
constEVENT_TOKEN:"syzygy.token"="syzygy.token"
Defined in: src/observability/_genaiSemconv.ts:57
EVENT_MEMORY
constEVENT_MEMORY:"syzygy.memory"="syzygy.memory"
Defined in: src/observability/_genaiSemconv.ts:58
EVENT_FINAL
constEVENT_FINAL:"syzygy.final"="syzygy.final"
Defined in: src/observability/_genaiSemconv.ts:59
EVENT_ERROR
constEVENT_ERROR:"syzygy.error"="syzygy.error"
Defined in: src/observability/_genaiSemconv.ts:60
EVENT_RETRY
constEVENT_RETRY:"syzygy.retry"="syzygy.retry"
Defined in: src/observability/_genaiSemconv.ts:61
EVENT_GUARDRAIL
constEVENT_GUARDRAIL:"syzygy.guardrail"="syzygy.guardrail"
Defined in: src/observability/_genaiSemconv.ts:62
EVENT_STEP_BEFORE
constEVENT_STEP_BEFORE:"syzygy.step.before"="syzygy.step.before"
Defined in: src/observability/_genaiSemconv.ts:63
EVENT_STEP_AFTER
constEVENT_STEP_AFTER:"syzygy.step.after"="syzygy.step.after"
Defined in: src/observability/_genaiSemconv.ts:64
EVENT_STEP_STOPPED
constEVENT_STEP_STOPPED:"syzygy.step.stopped"="syzygy.step.stopped"
Defined in: src/observability/_genaiSemconv.ts:65
EVENT_TOOL_CALL_ARGUMENTS_DELTA
constEVENT_TOOL_CALL_ARGUMENTS_DELTA:"syzygy.tool_call.arguments_delta"="syzygy.tool_call.arguments_delta"
Defined in: src/observability/_genaiSemconv.ts:75
Span event name used for normalized tool_call_arguments_delta
events. Attached to the enclosing syzygy.lm_call span (where the
underlying provider stream is consumed) when recordTokens=true,
so backends that already opt into chatty per-token visibility see
the streamed tool-call args alongside per-token text deltas. Off
by default since high-frequency argument streams are as chatty as
text-token streams.
ATTR_AGENT_ID
constATTR_AGENT_ID:"syzygy.agent.id"="syzygy.agent.id"
Defined in: src/observability/_genaiSemconv.ts:78
ATTR_AGENT_PRINCIPAL
constATTR_AGENT_PRINCIPAL:"syzygy.agent.principal"="syzygy.agent.principal"
Defined in: src/observability/_genaiSemconv.ts:79
ATTR_AGENT_FINAL_SOURCE
constATTR_AGENT_FINAL_SOURCE:"syzygy.agent.final_source"="syzygy.agent.final_source"
Defined in: src/observability/_genaiSemconv.ts:80
ATTR_AGENT_ITERATIONS
constATTR_AGENT_ITERATIONS:"syzygy.agent.iterations"="syzygy.agent.iterations"
Defined in: src/observability/_genaiSemconv.ts:81
ATTR_LM_SCOPE
constATTR_LM_SCOPE:"syzygy.lm.scope"="syzygy.lm.scope"
Defined in: src/observability/_genaiSemconv.ts:84
ATTR_LM_ITERATION
constATTR_LM_ITERATION:"syzygy.lm.iteration"="syzygy.lm.iteration"
Defined in: src/observability/_genaiSemconv.ts:85
ATTR_LM_COST_USD
constATTR_LM_COST_USD:"syzygy.lm.cost_usd"="syzygy.lm.cost_usd"
Defined in: src/observability/_genaiSemconv.ts:86
ATTR_SUBAGENT_TOOLSET
constATTR_SUBAGENT_TOOLSET:"syzygy.subagent.toolset"="syzygy.subagent.toolset"
Defined in: src/observability/_genaiSemconv.ts:89
ATTR_SUBAGENT_CHEAP_PATH
constATTR_SUBAGENT_CHEAP_PATH:"syzygy.subagent.cheap_path"="syzygy.subagent.cheap_path"
Defined in: src/observability/_genaiSemconv.ts:90
ATTR_SUBAGENT_PROMPT
constATTR_SUBAGENT_PROMPT:"syzygy.subagent.prompt"="syzygy.subagent.prompt"
Defined in: src/observability/_genaiSemconv.ts:91
ATTR_SUBAGENT_DIRECT_PATH
constATTR_SUBAGENT_DIRECT_PATH:"syzygy.subagent.direct_path"="syzygy.subagent.direct_path"
Defined in: src/observability/_genaiSemconv.ts:99
True when the subagent span wraps an AgentToolset direct-path
delegation (a supervisor agent calling a worker), so backends can
distinguish supervisor delegations from regular toolset subagents.
Mutually exclusive with ATTR_SUBAGENT_CHEAP_PATH.
ATTR_SUBAGENT_INNER_AGENT_ID
constATTR_SUBAGENT_INNER_AGENT_ID:"syzygy.subagent.inner_agent_id"="syzygy.subagent.inner_agent_id"
Defined in: src/observability/_genaiSemconv.ts:105
Set alongside ATTR_SUBAGENT_DIRECT_PATH to identify which inner
agent spec the supervisor delegated to.
ATTR_AGENT_INNER_ID
constATTR_AGENT_INNER_ID:"syzygy.agent.inner_id"="syzygy.agent.inner_id"
Defined in: src/observability/_genaiSemconv.ts:109
The inner agent's spec.id for an agent[start]/[final] span.
ATTR_AGENT_TOOL
constATTR_AGENT_TOOL:"syzygy.agent.tool"="syzygy.agent.tool"
Defined in: src/observability/_genaiSemconv.ts:115
The wrapper Tool's name (lets consumers disambiguate multiple
wrappers around the same inner agent).
ATTR_AGENT_PROMPT
constATTR_AGENT_PROMPT:"syzygy.agent.prompt"="syzygy.agent.prompt"
Defined in: src/observability/_genaiSemconv.ts:118
The natural-language prompt passed to the inner agent.
ATTR_TOOL_TOOLSET
constATTR_TOOL_TOOLSET:"syzygy.tool.toolset"="syzygy.tool.toolset"
Defined in: src/observability/_genaiSemconv.ts:120
ATTR_TOOL_NAME
constATTR_TOOL_NAME:"syzygy.tool.name"="syzygy.tool.name"
Defined in: src/observability/_genaiSemconv.ts:121
ATTR_TOOL_OK
constATTR_TOOL_OK:"syzygy.tool.ok"="syzygy.tool.ok"
Defined in: src/observability/_genaiSemconv.ts:122
ATTR_TOOL_ERROR
constATTR_TOOL_ERROR:"syzygy.tool.error"="syzygy.tool.error"
Defined in: src/observability/_genaiSemconv.ts:123
ATTR_TOOL_ALLOWED
constATTR_TOOL_ALLOWED:"syzygy.tool.allowed"="syzygy.tool.allowed"
Defined in: src/observability/_genaiSemconv.ts:124
ATTR_TOOL_DENY_REASON
constATTR_TOOL_DENY_REASON:"syzygy.tool.deny_reason"="syzygy.tool.deny_reason"
Defined in: src/observability/_genaiSemconv.ts:125
ATTR_PARALLEL_FANOUT
constATTR_PARALLEL_FANOUT:"syzygy.parallel.n"="syzygy.parallel.n"
Defined in: src/observability/_genaiSemconv.ts:128
ATTR_CELL_ELAPSED_MS
constATTR_CELL_ELAPSED_MS:"syzygy.cell.elapsed_ms"="syzygy.cell.elapsed_ms"
Defined in: src/observability/_genaiSemconv.ts:131
ATTR_CELL_STDOUT_LEN
constATTR_CELL_STDOUT_LEN:"syzygy.cell.stdout_len"="syzygy.cell.stdout_len"
Defined in: src/observability/_genaiSemconv.ts:132
ATTR_CELL_STDERR_LEN
constATTR_CELL_STDERR_LEN:"syzygy.cell.stderr_len"="syzygy.cell.stderr_len"
Defined in: src/observability/_genaiSemconv.ts:133
ATTR_RETRY_ATTEMPT
constATTR_RETRY_ATTEMPT:"syzygy.retry.attempt"="syzygy.retry.attempt"
Defined in: src/observability/_genaiSemconv.ts:136
ATTR_RETRY_MAX_ATTEMPTS
constATTR_RETRY_MAX_ATTEMPTS:"syzygy.retry.max_attempts"="syzygy.retry.max_attempts"
Defined in: src/observability/_genaiSemconv.ts:137
ATTR_RETRY_DELAY_S
constATTR_RETRY_DELAY_S:"syzygy.retry.delay_s"="syzygy.retry.delay_s"
Defined in: src/observability/_genaiSemconv.ts:138
ATTR_RETRY_ERROR_CLASS
constATTR_RETRY_ERROR_CLASS:"syzygy.retry.error_class"="syzygy.retry.error_class"
Defined in: src/observability/_genaiSemconv.ts:139
ATTR_RETRY_ERROR_MESSAGE
constATTR_RETRY_ERROR_MESSAGE:"syzygy.retry.error_message"="syzygy.retry.error_message"
Defined in: src/observability/_genaiSemconv.ts:140
ATTR_STEP_ITERATION
constATTR_STEP_ITERATION:"syzygy.step.iteration"="syzygy.step.iteration"
Defined in: src/observability/_genaiSemconv.ts:143
ATTR_STEP_REWROTE
constATTR_STEP_REWROTE:"syzygy.step.rewrote"="syzygy.step.rewrote"
Defined in: src/observability/_genaiSemconv.ts:144
ATTR_STEP_SOURCE
constATTR_STEP_SOURCE:"syzygy.step.source"="syzygy.step.source"
Defined in: src/observability/_genaiSemconv.ts:145
ATTR_STEP_HOOK
constATTR_STEP_HOOK:"syzygy.step.hook"="syzygy.step.hook"
Defined in: src/observability/_genaiSemconv.ts:146
ATTR_STEP_REASON
constATTR_STEP_REASON:"syzygy.step.reason"="syzygy.step.reason"
Defined in: src/observability/_genaiSemconv.ts:147
ATTR_STEP_ELAPSED_MS
constATTR_STEP_ELAPSED_MS:"syzygy.step.elapsed_ms"="syzygy.step.elapsed_ms"
Defined in: src/observability/_genaiSemconv.ts:148
ATTR_TOOL_CALL_ID
constATTR_TOOL_CALL_ID:"syzygy.tool_call.id"="syzygy.tool_call.id"
Defined in: src/observability/_genaiSemconv.ts:153
ATTR_TOOL_CALL_INDEX
constATTR_TOOL_CALL_INDEX:"syzygy.tool_call.index"="syzygy.tool_call.index"
Defined in: src/observability/_genaiSemconv.ts:154
ATTR_TOOL_CALL_ARGUMENTS_DELTA
constATTR_TOOL_CALL_ARGUMENTS_DELTA:"syzygy.tool_call.arguments_delta"="syzygy.tool_call.arguments_delta"
Defined in: src/observability/_genaiSemconv.ts:155
ATTR_TOOL_CALL_ARGUMENTS_DELTA_SEQUENCE
constATTR_TOOL_CALL_ARGUMENTS_DELTA_SEQUENCE:"syzygy.tool_call.arguments_delta.sequence"="syzygy.tool_call.arguments_delta.sequence"
Defined in: src/observability/_genaiSemconv.ts:156
Functions
genAiSystemFromSlug()
genAiSystemFromSlug(
slug):string
Defined in: src/observability/_genaiSemconv.ts:167
Best-effort GenAI provider id from an syzygy model slug.
Adapters set model.id to e.g. openai:gpt-4o-mini,
openrouter:anthropic/claude-3.5-sonnet, mock-scripted. The
slug field is the underlying provider slug. We pick the first
path segment as the provider id. Unknown shapes fall back to
unknown; OTel allows free-form strings here.
Parameters
slug
string | null | undefined
Returns
string