Skip to content

Commit cda4f60

Browse files
committed
Move configuration out of context gathering and into handlers
Signed-off-by: worksofliam <[email protected]>
1 parent f1f7265 commit cda4f60

File tree

4 files changed

+40
-30
lines changed

4 files changed

+40
-30
lines changed

src/aiProviders/context.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { JobManager } from "../config";
44
import Schemas, { AllSQLTypes, SQLType } from "../database/schemas";
55
import Statement from "../database/statement";
66
import { DB2_SYSTEM_PROMPT } from "./continue/prompts";
7-
import Configuration from "../configuration";
87

98
export function canTalkToDb() {
109
return JobManager.getSelection() !== undefined;
@@ -109,14 +108,8 @@ export async function buildSchemaDefinition(schema: string): Promise<Partial<Bas
109108
return data.map(filterBasicSQLObject);
110109
}
111110

112-
const useSchemaDef: boolean = Configuration.get<boolean>(`ai.useSchemaDefinition`);
113-
if (useSchemaDef) {
114-
const compressedData = filterBasicSQLObjects(allInfo);
115-
return compressedData;
116-
}
117-
118-
return undefined;
119-
111+
const compressedData = filterBasicSQLObjects(allInfo);
112+
return compressedData;
120113
}
121114

122115
/**

src/aiProviders/continue/continueContextProvider.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
generateTableDefinition
1717
} from "../context";
1818
import { DB2_SELF_PROMPT, DB2_SYSTEM_PROMPT } from "./prompts";
19+
import Configuration from "../../configuration";
1920

2021
export let isContinueActive = false;
2122

@@ -142,14 +143,19 @@ export class db2ContextProvider implements IContextProvider {
142143
const fullInput = extras.fullInput;
143144

144145
// 1. SCHEMA Definiton (semantic)
145-
const schemaSemantic = await buildSchemaDefinition(schema);
146-
if (schemaSemantic) {
147-
contextItems.push({
148-
name: `SCHEMA Definition`,
149-
description: `${schema} definition`,
150-
content: JSON.stringify(schemaSemantic),
151-
});
146+
const useSchemaDef: boolean = Configuration.get<boolean>(`ai.useSchemaDefinition`);
147+
148+
if (useSchemaDef) {
149+
const schemaSemantic = await buildSchemaDefinition(schema);
150+
if (schemaSemantic) {
151+
contextItems.push({
152+
name: `SCHEMA Definition`,
153+
description: `${schema} definition`,
154+
content: JSON.stringify(schemaSemantic),
155+
});
156+
}
152157
}
158+
153159
try {
154160
switch (true) {
155161
case fullInput.includes(`*SELF`) || query?.includes(`*SELF`):

src/aiProviders/continue/listTablesContextProvider.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
buildSchemaDefinition,
1414
generateTableDefinition
1515
} from "../context";
16+
import Configuration from "../../configuration";
1617

1718
const listDb2Table: ContextProviderDescription = {
1819
title: "list Db2i Tables",
@@ -69,14 +70,19 @@ class ListDb2iTables implements IContextProvider {
6970
): Promise<ContextItem[]> {
7071
let contextItems: ContextItem[] = [];
7172
if (query.toUpperCase() === this.schema.toUpperCase()) {
72-
const schemaSemantic = await buildSchemaDefinition(this.schema);
73-
if (schemaSemantic) {
74-
contextItems.push({
75-
name: `SCHEMA Definition`,
76-
description: `${this.schema} definition`,
77-
content: JSON.stringify(schemaSemantic),
78-
});
73+
74+
const useSchemaDef: boolean = Configuration.get<boolean>(`ai.useSchemaDefinition`);
75+
if (useSchemaDef) {
76+
const schemaSemantic = await buildSchemaDefinition(this.schema);
77+
if (schemaSemantic) {
78+
contextItems.push({
79+
name: `SCHEMA Definition`,
80+
description: `${this.schema} definition`,
81+
content: JSON.stringify(schemaSemantic),
82+
});
83+
}
7984
}
85+
8086
} else {
8187
const tablesRefs = await generateTableDefinition(
8288
this.schema,

src/aiProviders/copilot/index.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
} from "../context";
1212
import { JobManager } from "../../config";
1313
import { DB2_SYSTEM_PROMPT } from "../continue/prompts";
14+
import Configuration from "../../configuration";
1415

1516
const CHAT_ID = `vscode-db2i.chat`;
1617

@@ -62,13 +63,17 @@ export function activateChat(context: vscode.ExtensionContext) {
6263
if (canTalkToDb()) {
6364
// 1. SCHEMA Definiton (semantic)
6465
let usingSchema = getCurrentSchema();
65-
const schemaSemantic = await buildSchemaDefinition(usingSchema);
66-
if (schemaSemantic) {
67-
messages.push(
68-
vscode.LanguageModelChatMessage.Assistant(
69-
JSON.stringify(schemaSemantic)
70-
)
71-
);
66+
67+
const useSchemaDef: boolean = Configuration.get<boolean>(`ai.useSchemaDefinition`);
68+
if (useSchemaDef) {
69+
const schemaSemantic = await buildSchemaDefinition(usingSchema);
70+
if (schemaSemantic) {
71+
messages.push(
72+
vscode.LanguageModelChatMessage.Assistant(
73+
JSON.stringify(schemaSemantic)
74+
)
75+
);
76+
}
7277
}
7378

7479
switch (request.command) {

0 commit comments

Comments
 (0)