diff --git a/frontend/src/lib/components/DBSchemaExplorer.svelte b/frontend/src/lib/components/DBSchemaExplorer.svelte
index 3e747dbcc8..e03218d8e7 100644
--- a/frontend/src/lib/components/DBSchemaExplorer.svelte
+++ b/frontend/src/lib/components/DBSchemaExplorer.svelte
@@ -1,6 +1,12 @@
{#if SUPPORTED_LANGUAGES.has(lang)}
diff --git a/frontend/src/lib/components/copilot/ScriptGen.svelte b/frontend/src/lib/components/copilot/ScriptGen.svelte
index 8cef021322..3cf19804fd 100644
--- a/frontend/src/lib/components/copilot/ScriptGen.svelte
+++ b/frontend/src/lib/components/copilot/ScriptGen.svelte
@@ -34,6 +34,7 @@
export let editor: Editor | SimpleEditor | undefined
export let diffEditor: DiffEditor | undefined
export let inlineScript = false
+ export let args: Record
// state
let funcDesc: string = ''
@@ -143,7 +144,8 @@
$: !$generatedCode && hideDiff()
$: editor && setSelectionHandler()
$: selection && (isEdit = !selection.isEmpty())
- $: dbSchema = $dbSchemas[Object.keys($dbSchemas)[0]]
+
+ $: dbSchema = $dbSchemas[(lang === 'graphql' ? args.api : args.database)?.replace('$res:', '')]
{#if $generatedCode.length > 0 && !genLoading}
@@ -297,7 +299,7 @@
In order to better generate the script, we pass the selected DB schema to GPT-4.
- {#if dbSchema.lang === 'postgresql'}
+ {#if dbSchema.lang !== 'graphql' && (dbSchema.schema?.public || dbSchema.schema?.PUBLIC)}
diff --git a/frontend/src/lib/components/flows/content/FlowModuleComponent.svelte b/frontend/src/lib/components/flows/content/FlowModuleComponent.svelte
index bcbb478214..dcf65711a3 100644
--- a/frontend/src/lib/components/flows/content/FlowModuleComponent.svelte
+++ b/frontend/src/lib/components/flows/content/FlowModuleComponent.svelte
@@ -210,6 +210,10 @@
iconOnly={width < 850}
kind={scriptKind}
template={scriptTemplate}
+ args={Object.entries(flowModule.value.input_transforms).reduce((acc, [key, obj]) => {
+ acc[key] = obj.type === 'static' ? obj.value : undefined
+ return acc
+ }, {})}
/>
{/if}
@@ -254,6 +258,13 @@
saveDraft()
}}
fixedOverflowWidgets={true}
+ args={Object.entries(flowModule.value.input_transforms).reduce(
+ (acc, [key, obj]) => {
+ acc[key] = obj.type === 'static' ? obj.value : undefined
+ return acc
+ },
+ {}
+ )}
/>
| undefined = undefined
type DrawerContent = {
mode: 'json' | Preview.language | 'plain'
@@ -99,12 +100,13 @@
result={previewJob.result}
>
- {#if lang && editor && diffEditor && previewJob?.result?.error}
+ {#if lang && editor && diffEditor && args && previewJob?.result?.error}
{/if}
@@ -137,7 +139,9 @@
{#each pastPreviews as { id, created_at, success, result }}
|
- {id.substring(30)}
+ {id.substring(30)}
|
{displayDate(created_at)} |
diff --git a/frontend/src/lib/stores.ts b/frontend/src/lib/stores.ts
index a6b9fc2175..800064f21a 100644
--- a/frontend/src/lib/stores.ts
+++ b/frontend/src/lib/stores.ts
@@ -82,14 +82,9 @@ type SQLBaseSchema = {
}
export interface SQLSchema {
- lang: 'mysql' | 'bigquery'
+ lang: 'mysql' | 'bigquery' | 'postgresql' | 'snowflake'
schema: SQLBaseSchema
-}
-
-export interface PostgresqlSchema {
- lang: 'postgresql'
- schema: SQLBaseSchema
- publicOnly: boolean
+ publicOnly: boolean | undefined
}
export interface GraphqlSchema {
@@ -97,7 +92,7 @@ export interface GraphqlSchema {
schema: IntrospectionQuery
}
-export type DBSchema = SQLSchema | PostgresqlSchema | GraphqlSchema
+export type DBSchema = SQLSchema | GraphqlSchema
interface DBSchemas {
[resourcePath: string]: DBSchema
|