> ## Documentation Index
> Fetch the complete documentation index at: https://botmesh.afaya.com.co/llms.txt
> Use this file to discover all available pages before exploring further.

# TRACE_ATTR

> Variable exported by @botmesh/core.

```ts theme={null}
const TRACE_ATTR: object;
```

Defined in: [telemetry/attributes.ts:12](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L12)

Every span name and attribute key the core and `@botmesh/ai` write, in one place (so a
rename of the OpenTelemetry semantic conventions is a one-line change). The `gen_ai.*`
keys follow the OpenTelemetry GenAI conventions (experimental).

## Type Declaration

| Name | Type | Default value | Description | Defined in |
| - | - | - | - | - |
|  `botId` | `"bot.id"` | `'bot.id'` | - | [telemetry/attributes.ts:14](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L14) |
|  `providerId` | `"bot.provider.id"` | `'bot.provider.id'` | - | [telemetry/attributes.ts:15](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L15) |
|  `eventKind` | `"bot.event.kind"` | `'bot.event.kind'` | - | [telemetry/attributes.ts:16](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L16) |
|  `messageType` | `"bot.message.type"` | `'bot.message.type'` | - | [telemetry/attributes.ts:17](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L17) |
|  `chatKind` | `"bot.chat.kind"` | `'bot.chat.kind'` | - | [telemetry/attributes.ts:18](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L18) |
|  `chatId` | `"bot.chat.id"` | `'bot.chat.id'` | - | [telemetry/attributes.ts:19](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L19) |
|  `senderId` | `"bot.sender.id"` | `'bot.sender.id'` | - | [telemetry/attributes.ts:20](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L20) |
|  `messageId` | `"bot.message.id"` | `'bot.message.id'` | - | [telemetry/attributes.ts:21](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L21) |
|  `inboundOutcome` | `"bot.inbound.outcome"` | `'bot.inbound.outcome'` | - | [telemetry/attributes.ts:22](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L22) |
|  `queueWaitMs` | `"bot.queue.wait_ms"` | `'bot.queue.wait_ms'` | - | [telemetry/attributes.ts:23](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L23) |
|  `dispatchStage` | `"bot.dispatch.stage"` | `'bot.dispatch.stage'` | - | [telemetry/attributes.ts:24](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L24) |
|  `handlerStage` | `"bot.handler.stage"` | `'bot.handler.stage'` | - | [telemetry/attributes.ts:25](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L25) |
|  `matcherKind` | `"bot.matcher.kind"` | `'bot.matcher.kind'` | - | [telemetry/attributes.ts:26](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L26) |
|  `commandName` | `"bot.command.name"` | `'bot.command.name'` | - | [telemetry/attributes.ts:27](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L27) |
|  `flowId` | `"bot.flow.id"` | `'bot.flow.id'` | - | [telemetry/attributes.ts:28](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L28) |
|  `conversationId` | `"bot.conversation.id"` | `'bot.conversation.id'` | - | [telemetry/attributes.ts:29](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L29) |
|  `conversationName` | `"bot.conversation.name"` | `'bot.conversation.name'` | - | [telemetry/attributes.ts:30](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L30) |
|  `conversationReason` | `"bot.conversation.reason"` | `'bot.conversation.reason'` | - | [telemetry/attributes.ts:31](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L31) |
|  `conversationOutcome` | `"bot.conversation.outcome"` | `'bot.conversation.outcome'` | - | [telemetry/attributes.ts:32](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L32) |
|  `conversationParked` | `"bot.conversation.parked"` | `'bot.conversation.parked'` | - | [telemetry/attributes.ts:33](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L33) |
|  `conversationGoto` | `"bot.conversation.goto"` | `'bot.conversation.goto'` | - | [telemetry/attributes.ts:34](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L34) |
|  `triggerName` | `"bot.trigger.name"` | `'bot.trigger.name'` | - | [telemetry/attributes.ts:35](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L35) |
|  `triggerResult` | `"bot.trigger.result"` | `'bot.trigger.result'` | - | [telemetry/attributes.ts:36](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L36) |
|  `broadcastRecipients` | `"bot.broadcast.recipients"` | `'bot.broadcast.recipients'` | - | [telemetry/attributes.ts:37](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L37) |
|  `paceMs` | `"bot.pace.ms"` | `'bot.pace.ms'` | - | [telemetry/attributes.ts:38](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L38) |
|  `contentKind` | `"bot.content.kind"` | `'bot.content.kind'` | - | [telemetry/attributes.ts:39](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L39) |
|  `sendOrigin` | `"bot.send.origin"` | `'bot.send.origin'` | - | [telemetry/attributes.ts:40](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L40) |
|  `sendOutcome` | `"bot.send.outcome"` | `'bot.send.outcome'` | - | [telemetry/attributes.ts:41](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L41) |
|  `sendEdit` | `"bot.send.edit"` | `'bot.send.edit'` | - | [telemetry/attributes.ts:42](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L42) |
|  `sendStream` | `"bot.send.stream"` | `'bot.send.stream'` | - | [telemetry/attributes.ts:43](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L43) |
|  `errorType` | `"error.type"` | `'error.type'` | - | [telemetry/attributes.ts:44](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L44) |
|  `lifecycleStep` | `"bot.lifecycle.step"` | `'bot.lifecycle.step'` | Lifecycle step (`storage`, `transport`, `durability`…) and what it was doing. | [telemetry/attributes.ts:46](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L46) |
|  `lifecyclePhase` | `"bot.lifecycle.phase"` | `'bot.lifecycle.phase'` | - | [telemetry/attributes.ts:47](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L47) |
|  `linkReason` | `"bot.link.reason"` | `'bot.link.reason'` | Attribute of a span LINK: why it was linked (`'resume'`: a checkpoint carried from another process). | [telemetry/attributes.ts:49](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L49) |
|  `taskId` | `"bot.task.id"` | `'bot.task.id'` | - | [telemetry/attributes.ts:51](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L51) |
|  `taskKind` | `"bot.task.kind"` | `'bot.task.kind'` | - | [telemetry/attributes.ts:52](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L52) |
|  `taskDurable` | `"bot.task.durable"` | `'bot.task.durable'` | - | [telemetry/attributes.ts:53](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L53) |
|  `taskCron` | `"bot.task.cron"` | `'bot.task.cron'` | - | [telemetry/attributes.ts:54](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L54) |
|  `taskIntervalMs` | `"bot.task.interval_ms"` | `'bot.task.interval_ms'` | - | [telemetry/attributes.ts:55](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L55) |
|  `taskTimeZone` | `"bot.task.time_zone"` | `'bot.task.time_zone'` | - | [telemetry/attributes.ts:56](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L56) |
|  `taskScheduledAt` | `"bot.task.scheduled_at"` | `'bot.task.scheduled_at'` | - | [telemetry/attributes.ts:57](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L57) |
|  `taskMissed` | `"bot.task.missed"` | `'bot.task.missed'` | - | [telemetry/attributes.ts:58](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L58) |
|  `taskFencingToken` | `"bot.task.fencing_token"` | `'bot.task.fencing_token'` | - | [telemetry/attributes.ts:59](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L59) |
|  `schedulerRole` | `"bot.scheduler.role"` | `'bot.scheduler.role'` | - | [telemetry/attributes.ts:60](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L60) |
|  `schedulerOwner` | `"bot.scheduler.owner"` | `'bot.scheduler.owner'` | - | [telemetry/attributes.ts:61](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L61) |
|  `genAiOperation` | `"gen_ai.operation.name"` | `'gen_ai.operation.name'` | - | [telemetry/attributes.ts:63](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L63) |
|  `genAiProvider` | `"gen_ai.provider.name"` | `'gen_ai.provider.name'` | - | [telemetry/attributes.ts:64](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L64) |
|  `genAiRequestModel` | `"gen_ai.request.model"` | `'gen_ai.request.model'` | - | [telemetry/attributes.ts:65](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L65) |
|  `genAiRequestMaxTokens` | `"gen_ai.request.max_tokens"` | `'gen_ai.request.max_tokens'` | - | [telemetry/attributes.ts:66](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L66) |
|  `genAiResponseModel` | `"gen_ai.response.model"` | `'gen_ai.response.model'` | - | [telemetry/attributes.ts:67](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L67) |
|  `genAiInputTokens` | `"gen_ai.usage.input_tokens"` | `'gen_ai.usage.input_tokens'` | - | [telemetry/attributes.ts:68](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L68) |
|  `genAiOutputTokens` | `"gen_ai.usage.output_tokens"` | `'gen_ai.usage.output_tokens'` | - | [telemetry/attributes.ts:69](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L69) |
|  `genAiFinishReasons` | `"gen_ai.response.finish_reasons"` | `'gen_ai.response.finish_reasons'` | - | [telemetry/attributes.ts:70](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L70) |
|  `genAiToolName` | `"gen_ai.tool.name"` | `'gen_ai.tool.name'` | - | [telemetry/attributes.ts:71](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L71) |
|  `genAiToolCallId` | `"gen_ai.tool.call.id"` | `'gen_ai.tool.call.id'` | - | [telemetry/attributes.ts:72](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L72) |
|  `aiPurpose` | `"bot.ai.purpose"` | `'bot.ai.purpose'` | - | [telemetry/attributes.ts:73](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L73) |
|  `aiStep` | `"bot.ai.step"` | `'bot.ai.step'` | - | [telemetry/attributes.ts:74](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L74) |
|  `aiStreamed` | `"bot.ai.streamed"` | `'bot.ai.streamed'` | - | [telemetry/attributes.ts:75](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L75) |
|  `aiCancelled` | `"bot.ai.cancelled"` | `'bot.ai.cancelled'` | - | [telemetry/attributes.ts:76](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L76) |
|  `aiToolOutcome` | `"bot.ai.tool.outcome"` | `'bot.ai.tool.outcome'` | - | [telemetry/attributes.ts:77](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L77) |
|  `aiRagChunks` | `"bot.ai.rag.chunks"` | `'bot.ai.rag.chunks'` | - | [telemetry/attributes.ts:78](https://github.com/andresayac/botmesh/blob/main/packages/core/src/telemetry/attributes.ts#L78) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.