{ "global_properties": { "anonymous_id": "Persisted per-install UUID (durable store -> project-local cache file -> per-process).", "bot_session_id": "Random UUID minted per createBot() call.", "environment": "development | production | test | unknown" }, "events": { "oss.bot.configured": { "description": "createBot() returned; repeats per process start.", "properties": { "platforms": "string[] (each normalized: slack|discord|telegram|whatsapp|teams|custom)", "adapterCount": "number", "store": "memory|postgres|redis|custom", "hasComponents": "boolean", "componentsCount": "number", "toolsCount": "number", "commandsCount": "number", "contextCount": "number", "transcripts": "boolean", "identity": "boolean" } }, "oss.bot.started": { "description": "bot.start() connected at least one adapter.", "properties": { "platforms": "string[] (each normalized: slack|discord|telegram|whatsapp|teams|custom)", "startedCount": "number", "failedCount": "number", "hasMentionHandler": "boolean", "hasMessageHandler": "boolean", "interruptHandlers": "number", "commandsCount": "number", "toolsCount": "number" } }, "oss.bot.start_failed": { "description": "An adapter threw during start().", "properties": { "platform": "string (normalized: slack|discord|telegram|whatsapp|teams|custom)", "errorClass": "auth|network|timeout|validation|unknown" } }, "oss.bot.agent_run": { "description": "A successful agent invocation completed (emitted after the run loop AND finalization/transcript steps succeed). Note: an interrupt->resume turn emits two agent_run events (interrupted:true at the ack-first return, then interrupted:false after resume); filter interrupted===false to count completed runs.", "properties": { "platform": "string (normalized: slack|discord|telegram|whatsapp|teams|custom)", "durationMs": "number", "toolCallCount": "number", "iterations": "number", "interrupted": "boolean" } }, "oss.bot.agent_run_failed": { "description": "An agent run errored. Emitted instead of agent_run; stage=agent for run-loop failures, stage=finalize for transcript-append/renderer-finish failures after the loop.", "properties": { "platform": "string (normalized: slack|discord|telegram|whatsapp|teams|custom)", "errorClass": "auth|network|timeout|validation|unknown", "stage": "agent|finalize" } } } }