diff --git a/packages/diagnostics-integration/lib/src/integration/integration.dart b/packages/diagnostics-integration/lib/src/integration/integration.dart index 5b55928f..44e50bce 100644 --- a/packages/diagnostics-integration/lib/src/integration/integration.dart +++ b/packages/diagnostics-integration/lib/src/integration/integration.dart @@ -82,6 +82,7 @@ final class DartSdkIntegration(final Ref _ref) { await db.request('disconnect'); case ActionName.clearData: await db.request('clear-data'); + await db.request('reconnect'); case ActionName.requestCheckpoint: await db.request('request-checkpoint'); case ActionName.subscribeStream: diff --git a/packages/diagnostics-integration/lib/src/state/databases.dart b/packages/diagnostics-integration/lib/src/state/databases.dart index c7a23c80..15a5d63f 100644 --- a/packages/diagnostics-integration/lib/src/state/databases.dart +++ b/packages/diagnostics-integration/lib/src/state/databases.dart @@ -66,6 +66,7 @@ final databaseList = FutureProvider.autoDispose>(( final list = await service.callServiceExtension( 'ext.powersync.list', isolateId: isolate.id, + args: {'includeToken': 'true'}, ); final databases = list.json!['databases'] as List; diff --git a/packages/powersync/lib/src/devtools/extension.dart b/packages/powersync/lib/src/devtools/extension.dart index 412b566e..c4b63406 100644 --- a/packages/powersync/lib/src/devtools/extension.dart +++ b/packages/powersync/lib/src/devtools/extension.dart @@ -181,6 +181,11 @@ final class PowerSyncDevToolsExtension { }); registerExtension('ext.powersync.list', (method, parameters) async { + // Tokens are only included when explicitly requested, so that clients + // only interested in listing databases (e.g. coding agents) don't + // receive them. + final includeToken = parameters['includeToken'] == 'true'; + return ServiceExtensionResponse.result( json.encode({ 'databases': [ @@ -193,7 +198,7 @@ final class PowerSyncDevToolsExtension { null => null, final credentials => { 'endpoint': credentials.endpoint, - 'token': credentials.token, + if (includeToken) 'token': credentials.token, }, }, 'options': switch (db.lastConnectOptions) {