telescope library
fluttersdk_telescope — Passive inspector for Flutter apps (Telescope/Pail analog).
V1 ships 5 watchers (HttpAdapter pluggable, LogWatcher auto, ExceptionWatcher opt-in, MagicModelWatcher via magic, MagicCacheWatcher via magic) + an in-app Flutter overlay dashboard (Alice/Talker pattern, deferred to V1.x).
Extension points:
- TelescopePlugin.registerHttpAdapter for pluggable HTTP capture (Dio, package:http, Chopper, Magic's Http facade).
- TelescopePlugin.registerWatcher for additional data collectors (Magic model lifecycle, Magic cache events, custom domain events).
Records are read via TelescopeStore.recent<X>(limit). Live updates via
broadcast streams (TelescopeStore.onHttpRecord, etc.).
Classes
- DioHttpAdapter
-
Vanilla Dio HTTP adapter. Hook by calling
dio.interceptors.add(DioHttpAdapter(dio).asDioInterceptor());after constructing the adapter. - DumpRecord
- An immutable debugPrint output record captured by DumpWatcher.
- DumpWatcher
- Captures all debugPrint output by overriding the global callback.
- EventRecord
-
An immutable app event record captured by an event watcher
(e.g. MagicEventWatcher shipped in the
magicpackage). - ExceptionRecord
- An immutable exception record captured by ExceptionWatcher.
- ExceptionWatcher
-
Hooks both FlutterError.onError and
PlatformDispatcher.instance.onErrorto capture all unhandled exceptions in a Flutter app. - GateRecord
-
An immutable authorization gate check record captured by a gate watcher
(e.g. MagicGateWatcher shipped in the
magicpackage). - HttpRequestRecord
- An immutable HTTP request/response record captured by a TelescopeHttpAdapter.
- LogRecordEntry
- An immutable log record captured by LogWatcher.
- LogWatcher
-
Subscribes to
Logger.root.onRecordand feeds TelescopeStore.recordLog. - MagicCacheRecord
-
An immutable Magic cache operation record captured by MagicCacheWatcher
(shipped in
magicpackage). - MagicModelRecord
-
An immutable Magic model lifecycle event captured by MagicModelWatcher
(shipped in
magicpackage via TelescopePlugin.registerWatcher). - QueryRecord
-
An immutable database query record captured by MagicQueryWatcher
(shipped in
magicpackage via TelescopePlugin.registerWatcher). - TelescopeArtisanProvider
- Contributes telescope:* commands and MCP tool descriptors to the artisan dispatcher.
- TelescopeHttpAdapter
- Contract for HTTP capture adapters that feed TelescopeStore.
- TelescopePlugin
- fluttersdk_telescope plugin install entry. Idempotent.
- TelescopeStore
- In-memory ring-buffer store for the 9 V1+alpha-2 watcher record types.
- TelescopeWatcher
- Contract for additional data collectors registered via TelescopePlugin.registerWatcher.