@@ -19,6 +19,7 @@ import { getMBQLAppState } from './mbql/appState';
1919import { isMBQLPageUrl , MBQLInfo } from './mbql/utils' ;
2020import { getModelsWithFields , getSelectedAndRelevantModels , modifySqlForMetabaseModels } from './metabaseModels' ;
2121import { MetabaseAppStateSQLEditorV2 , MetabaseAppStateType , processCard } from './analystModeTypes' ;
22+ import { MetabaseTableOrModel } from './metabaseAPITypes' ;
2223
2324const { modifySqlForMxModels} = catalogAsModels
2425
@@ -41,6 +42,7 @@ interface ExtractedTable {
4142 id : number ;
4243}
4344
45+
4446export interface MetabaseAppStateSQLEditor {
4547 type : MetabaseAppStateType . SQLEditor ;
4648 availableDatabases ?: string [ ] ;
@@ -65,7 +67,7 @@ export interface MetabaseAppStateSQLEditor {
6567 metabaseOrigin ?: string ;
6668 metabaseUrl ?: string ;
6769 isEmbedded : boolean ;
68- relevantEntitiesWithFields ?: FormattedTable [ ] ;
70+ limitedEntities ?: MetabaseTableOrModel [ ] ;
6971 currentCard ?: Card ;
7072}
7173
@@ -77,7 +79,7 @@ export interface MetabaseAppStateDashboard extends DashboardInfo {
7779 metabaseOrigin ?: string ;
7880 metabaseUrl ?: string ;
7981 isEmbedded : boolean ;
80- relevantEntitiesWithFields ?: FormattedTable [ ] ;
82+ limitedEntities ?: MetabaseTableOrModel [ ] ;
8183}
8284
8385export interface MetabaseAppStateMBQLEditor extends MBQLInfo {
@@ -114,14 +116,14 @@ export async function convertDOMtoStateSQLQueryV2() : Promise<MetabaseAppStateSQ
114116 const currentCard = processCard ( currentCardRaw ) ;
115117 const metabaseOrigin = new URL ( metabaseUrl ) . origin ;
116118 const isEmbedded = getParsedIframeInfo ( ) . isEmbedded
117- const relevantEntitiesWithFields : FormattedTable [ ] = [ ]
119+ const limitedEntities : MetabaseTableOrModel [ ] = [ ]
118120 return {
119121 type : MetabaseAppStateType . SQLEditor ,
120122 version : '2' ,
121123 metabaseOrigin,
122124 metabaseUrl,
123125 isEmbedded,
124- relevantEntitiesWithFields ,
126+ limitedEntities ,
125127 currentCard,
126128 outputMarkdown,
127129 parameterValues,
@@ -203,21 +205,20 @@ export async function convertDOMtoStateSQLQuery() {
203205 metabaseAppStateSQLEditor . sqlErrorMessage = sqlErrorMessage ;
204206 }
205207 if ( appSettings . analystMode && appSettings . manuallyLimitContext ) {
206- const relevantTablesWithFieldsAndType = relevantTablesWithFields . map ( table => ( {
207- ...table ,
208+ const limitToTables : MetabaseTableOrModel [ ] = relevantTablesWithFields . map ( table => ( {
208209 type : 'table' ,
210+ id : table . id ,
211+ name : table . name ,
212+ schema : table . schema ,
213+ description : table . description ,
209214 } ) )
210- const relevantModelsWithFieldsAndType = relevantModelsWithFields . map ( model => ( {
211- ...model ,
215+ const limitToModels : MetabaseTableOrModel [ ] = relevantModels . map ( model => ( {
212216 type : 'model' ,
213- name : model . modelName ,
214217 id : model . modelId ,
215- schema : undefined ,
216- table : undefined ,
217- modelId : undefined ,
218- modelName : undefined ,
218+ name : model . name ,
219+ description : model . description ,
219220 } ) )
220- metabaseAppStateSQLEditor . relevantEntitiesWithFields = [ ...relevantTablesWithFieldsAndType , ...relevantModelsWithFieldsAndType ] ;
221+ metabaseAppStateSQLEditor . limitedEntities = [ ...limitToTables , ...limitToModels ] ;
221222 }
222223 return metabaseAppStateSQLEditor ;
223224}
0 commit comments