Context
Part of the implementation plan in #14658 for cold-start Assistant awareness of database schema. #14923 (positronDataConnections.getConnections) already exposes connection/profile metadata but deliberately excludes table/column schema ("rich schema context is #14658"). This command closes that gap. This is issue 2 of 2; depends on the schema-summarization helper added in #14926.
Consumption of this command from Posit Assistant (curated command list entry, skill guidance, approval safelist) is in the scope of #14693's executeCommand tool, not this issue.
AC
Testing
Context
Part of the implementation plan in #14658 for cold-start Assistant awareness of database schema. #14923 (
positronDataConnections.getConnections) already exposes connection/profile metadata but deliberately excludes table/column schema ("rich schema context is #14658"). This command closes that gap. This is issue 2 of 2; depends on the schema-summarization helper added in #14926.Consumption of this command from Posit Assistant (curated command list entry, skill guidance, approval safelist) is in the scope of #14693's
executeCommandtool, not this issue.AC
positronDataConnections.getSchematopositronDataConnectionsCommands.ts(same file asgetConnections/connectInConsolefrom Data Connections: Add positronDataConnections.getConnections command #14923/Data Connections: Add positronDataConnections.connectInConsole command #14924), registered from the contribution file.{ profileId: string; maxDepth?: number }. Resolves the live instance viaIPositronDataConnectionsService.getInstanceForProfile(profileId), callssummarizeDataConnectionSchema()on itsconnectionHandle.{ connected: false }rather than throwing - mirrors howgetConnectionsreports disconnected profiles.dataConnections.enabledis off, returns{ enabled: false }, matching Data Connections: Add positronDataConnections.getConnections command #14923's always-registered pattern - noai.enabledcheck.Testing
{ connected: false }; feature flag off returns{ enabled: false }; large schema triggers truncation markers; payload survivesJSON.parse(JSON.stringify(...))deep-equal.vscode.commands.executeCommand('positronDataConnections.getSchema', { profileId })against a live SQLite/DuckDB connection and confirm real table/column names/types.