@botmesh/core - v2.0.0-alpha.2
    Preparing search index...

    Variable TRACE_ATTRConst

    TRACE_ATTR: {
        botId: "bot.id";
        providerId: "bot.provider.id";
        eventKind: "bot.event.kind";
        messageType: "bot.message.type";
        chatKind: "bot.chat.kind";
        chatId: "bot.chat.id";
        senderId: "bot.sender.id";
        messageId: "bot.message.id";
        inboundOutcome: "bot.inbound.outcome";
        queueWaitMs: "bot.queue.wait_ms";
        dispatchStage: "bot.dispatch.stage";
        handlerStage: "bot.handler.stage";
        matcherKind: "bot.matcher.kind";
        commandName: "bot.command.name";
        flowId: "bot.flow.id";
        conversationId: "bot.conversation.id";
        conversationName: "bot.conversation.name";
        conversationReason: "bot.conversation.reason";
        conversationOutcome: "bot.conversation.outcome";
        conversationParked: "bot.conversation.parked";
        conversationGoto: "bot.conversation.goto";
        triggerName: "bot.trigger.name";
        triggerResult: "bot.trigger.result";
        broadcastRecipients: "bot.broadcast.recipients";
        paceMs: "bot.pace.ms";
        contentKind: "bot.content.kind";
        sendOrigin: "bot.send.origin";
        sendOutcome: "bot.send.outcome";
        sendEdit: "bot.send.edit";
        sendStream: "bot.send.stream";
        errorType: "error.type";
        lifecycleStep: "bot.lifecycle.step";
        lifecyclePhase: "bot.lifecycle.phase";
        linkReason: "bot.link.reason";
        taskId: "bot.task.id";
        taskKind: "bot.task.kind";
        taskDurable: "bot.task.durable";
        taskCron: "bot.task.cron";
        taskIntervalMs: "bot.task.interval_ms";
        taskTimeZone: "bot.task.time_zone";
        taskScheduledAt: "bot.task.scheduled_at";
        taskMissed: "bot.task.missed";
        taskFencingToken: "bot.task.fencing_token";
        schedulerRole: "bot.scheduler.role";
        schedulerOwner: "bot.scheduler.owner";
        genAiOperation: "gen_ai.operation.name";
        genAiProvider: "gen_ai.provider.name";
        genAiRequestModel: "gen_ai.request.model";
        genAiRequestMaxTokens: "gen_ai.request.max_tokens";
        genAiResponseModel: "gen_ai.response.model";
        genAiInputTokens: "gen_ai.usage.input_tokens";
        genAiOutputTokens: "gen_ai.usage.output_tokens";
        genAiFinishReasons: "gen_ai.response.finish_reasons";
        genAiToolName: "gen_ai.tool.name";
        genAiToolCallId: "gen_ai.tool.call.id";
        aiPurpose: "bot.ai.purpose";
        aiStep: "bot.ai.step";
        aiStreamed: "bot.ai.streamed";
        aiCancelled: "bot.ai.cancelled";
        aiToolOutcome: "bot.ai.tool.outcome";
        aiRagChunks: "bot.ai.rag.chunks";
    } = ...

    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

    • ReadonlybotId: "bot.id"
    • ReadonlyproviderId: "bot.provider.id"
    • ReadonlyeventKind: "bot.event.kind"
    • ReadonlymessageType: "bot.message.type"
    • ReadonlychatKind: "bot.chat.kind"
    • ReadonlychatId: "bot.chat.id"
    • ReadonlysenderId: "bot.sender.id"
    • ReadonlymessageId: "bot.message.id"
    • ReadonlyinboundOutcome: "bot.inbound.outcome"
    • ReadonlyqueueWaitMs: "bot.queue.wait_ms"
    • ReadonlydispatchStage: "bot.dispatch.stage"
    • ReadonlyhandlerStage: "bot.handler.stage"
    • ReadonlymatcherKind: "bot.matcher.kind"
    • ReadonlycommandName: "bot.command.name"
    • ReadonlyflowId: "bot.flow.id"
    • ReadonlyconversationId: "bot.conversation.id"
    • ReadonlyconversationName: "bot.conversation.name"
    • ReadonlyconversationReason: "bot.conversation.reason"
    • ReadonlyconversationOutcome: "bot.conversation.outcome"
    • ReadonlyconversationParked: "bot.conversation.parked"
    • ReadonlyconversationGoto: "bot.conversation.goto"
    • ReadonlytriggerName: "bot.trigger.name"
    • ReadonlytriggerResult: "bot.trigger.result"
    • ReadonlybroadcastRecipients: "bot.broadcast.recipients"
    • ReadonlypaceMs: "bot.pace.ms"
    • ReadonlycontentKind: "bot.content.kind"
    • ReadonlysendOrigin: "bot.send.origin"
    • ReadonlysendOutcome: "bot.send.outcome"
    • ReadonlysendEdit: "bot.send.edit"
    • ReadonlysendStream: "bot.send.stream"
    • ReadonlyerrorType: "error.type"
    • ReadonlylifecycleStep: "bot.lifecycle.step"

      Lifecycle step (storage, transport, durability…) and what it was doing.

    • ReadonlylifecyclePhase: "bot.lifecycle.phase"
    • ReadonlylinkReason: "bot.link.reason"

      Attribute of a span LINK: why it was linked ('resume': a checkpoint carried from another process).

    • ReadonlytaskId: "bot.task.id"
    • ReadonlytaskKind: "bot.task.kind"
    • ReadonlytaskDurable: "bot.task.durable"
    • ReadonlytaskCron: "bot.task.cron"
    • ReadonlytaskIntervalMs: "bot.task.interval_ms"
    • ReadonlytaskTimeZone: "bot.task.time_zone"
    • ReadonlytaskScheduledAt: "bot.task.scheduled_at"
    • ReadonlytaskMissed: "bot.task.missed"
    • ReadonlytaskFencingToken: "bot.task.fencing_token"
    • ReadonlyschedulerRole: "bot.scheduler.role"
    • ReadonlyschedulerOwner: "bot.scheduler.owner"
    • ReadonlygenAiOperation: "gen_ai.operation.name"
    • ReadonlygenAiProvider: "gen_ai.provider.name"
    • ReadonlygenAiRequestModel: "gen_ai.request.model"
    • ReadonlygenAiRequestMaxTokens: "gen_ai.request.max_tokens"
    • ReadonlygenAiResponseModel: "gen_ai.response.model"
    • ReadonlygenAiInputTokens: "gen_ai.usage.input_tokens"
    • ReadonlygenAiOutputTokens: "gen_ai.usage.output_tokens"
    • ReadonlygenAiFinishReasons: "gen_ai.response.finish_reasons"
    • ReadonlygenAiToolName: "gen_ai.tool.name"
    • ReadonlygenAiToolCallId: "gen_ai.tool.call.id"
    • ReadonlyaiPurpose: "bot.ai.purpose"
    • ReadonlyaiStep: "bot.ai.step"
    • ReadonlyaiStreamed: "bot.ai.streamed"
    • ReadonlyaiCancelled: "bot.ai.cancelled"
    • ReadonlyaiToolOutcome: "bot.ai.tool.outcome"
    • ReadonlyaiRagChunks: "bot.ai.rag.chunks"