Diagnostics channels
Every channel MainSDK publishes on node:diagnostics_channel, with its kind, version and publisher, and how a channel changes between versions.
Every channel below is published at version 1 under the name mainsdk:<area>.<event>. Subscribe with observe; read a payload shape with observe.schema(name). A channel is never changed in place: a new shape ships as @2 beside @1, and both publish for one minor release.
| Channel | Kind | Version | Published by |
|---|---|---|---|
mainsdk:network.decision | event | 1 | network |
mainsdk:network.attempt | event | 1 | network |
mainsdk:network.breaker | event | 1 | network |
mainsdk:permission.decision | event | 1 | disk, system |
mainsdk:access.decision | event | 1 | access |
mainsdk:agent.decision | event | 1 | agents |
mainsdk:ai.call | event | 1 | ai |
mainsdk:action.call | event | 1 | action |
mainsdk:mcp.call | event | 1 | mcp |
mainsdk:files.upload | event | 1 | files |
mainsdk:files.access | event | 1 | files |
mainsdk:pay.call | event | 1 | pay |
mainsdk:share.create | event | 1 | share |
mainsdk:config.push | event | 1 | config |
mainsdk:tenant.system | event | 1 | tenant |
mainsdk:device.telemetry | event | 1 | device |
mainsdk:http.fetch | span | 1 | network |
mainsdk:driver.call | span | 1 | every interface |
mainsdk:action.run | span | 1 | action |
mainsdk:system.run | span | 1 | system |
Events carry the common envelope (id, time, app, tenant, user, trace and span ids, caller, data). Spans add a start and an end phase. Fields listed as detail appear only while debug detail is on.
Was this page helpful?