don't run AI column functionality if the feature isn't enabled
This commit is contained in:
parent
2dff149aa9
commit
ddea2d137a
|
@ -833,7 +833,8 @@
|
|||
"type": "string",
|
||||
"enum": [
|
||||
"static",
|
||||
"dynamic"
|
||||
"dynamic",
|
||||
"ai"
|
||||
],
|
||||
"description": "Defines whether this is a static or dynamic formula."
|
||||
}
|
||||
|
@ -857,6 +858,7 @@
|
|||
"link",
|
||||
"formula",
|
||||
"auto",
|
||||
"ai",
|
||||
"json",
|
||||
"internal",
|
||||
"barcodeqr",
|
||||
|
@ -1042,7 +1044,8 @@
|
|||
"type": "string",
|
||||
"enum": [
|
||||
"static",
|
||||
"dynamic"
|
||||
"dynamic",
|
||||
"ai"
|
||||
],
|
||||
"description": "Defines whether this is a static or dynamic formula."
|
||||
}
|
||||
|
@ -1066,6 +1069,7 @@
|
|||
"link",
|
||||
"formula",
|
||||
"auto",
|
||||
"ai",
|
||||
"json",
|
||||
"internal",
|
||||
"barcodeqr",
|
||||
|
@ -1262,7 +1266,8 @@
|
|||
"type": "string",
|
||||
"enum": [
|
||||
"static",
|
||||
"dynamic"
|
||||
"dynamic",
|
||||
"ai"
|
||||
],
|
||||
"description": "Defines whether this is a static or dynamic formula."
|
||||
}
|
||||
|
@ -1286,6 +1291,7 @@
|
|||
"link",
|
||||
"formula",
|
||||
"auto",
|
||||
"ai",
|
||||
"json",
|
||||
"internal",
|
||||
"barcodeqr",
|
||||
|
|
|
@ -761,6 +761,7 @@ components:
|
|||
enum:
|
||||
- static
|
||||
- dynamic
|
||||
- ai
|
||||
description: Defines whether this is a static or dynamic formula.
|
||||
- type: object
|
||||
properties:
|
||||
|
@ -779,6 +780,7 @@ components:
|
|||
- link
|
||||
- formula
|
||||
- auto
|
||||
- ai
|
||||
- json
|
||||
- internal
|
||||
- barcodeqr
|
||||
|
@ -929,6 +931,7 @@ components:
|
|||
enum:
|
||||
- static
|
||||
- dynamic
|
||||
- ai
|
||||
description: Defines whether this is a static or dynamic formula.
|
||||
- type: object
|
||||
properties:
|
||||
|
@ -947,6 +950,7 @@ components:
|
|||
- link
|
||||
- formula
|
||||
- auto
|
||||
- ai
|
||||
- json
|
||||
- internal
|
||||
- barcodeqr
|
||||
|
@ -1104,6 +1108,7 @@ components:
|
|||
enum:
|
||||
- static
|
||||
- dynamic
|
||||
- ai
|
||||
description: Defines whether this is a static or dynamic formula.
|
||||
- type: object
|
||||
properties:
|
||||
|
@ -1122,6 +1127,7 @@ components:
|
|||
- link
|
||||
- formula
|
||||
- auto
|
||||
- ai
|
||||
- json
|
||||
- internal
|
||||
- barcodeqr
|
||||
|
|
|
@ -10,6 +10,7 @@ import * as linkRows from "../../../db/linkedRows"
|
|||
import isEqual from "lodash/isEqual"
|
||||
import { cloneDeep } from "lodash/fp"
|
||||
import sdk from "../../../sdk"
|
||||
import * as pro from "@budibase/pro"
|
||||
|
||||
/**
|
||||
* This function runs through a list of enriched rows, looks at the rows which
|
||||
|
@ -143,9 +144,12 @@ export async function finaliseRow(
|
|||
dynamic: false,
|
||||
contextRows: [enrichedRow],
|
||||
})
|
||||
row = await processAIColumns(table, row, {
|
||||
contextRows: [enrichedRow],
|
||||
})
|
||||
const aiEnabled = await pro.features.isBudibaseAIEnabled() || await pro.features.isAICustomConfigsEnabled()
|
||||
if (aiEnabled) {
|
||||
row = await processAIColumns(table, row, {
|
||||
contextRows: [enrichedRow],
|
||||
})
|
||||
}
|
||||
|
||||
const response = await db.put(row)
|
||||
// for response, calculate the formulas for the enriched row
|
||||
|
@ -153,9 +157,11 @@ export async function finaliseRow(
|
|||
enrichedRow = await processFormulas(table, enrichedRow, {
|
||||
dynamic: false,
|
||||
})
|
||||
enrichedRow = await processAIColumns(table, row, {
|
||||
contextRows: [enrichedRow],
|
||||
})
|
||||
if (aiEnabled) {
|
||||
enrichedRow = await processAIColumns(table, row, {
|
||||
contextRows: [enrichedRow],
|
||||
})
|
||||
}
|
||||
|
||||
// this updates the related formulas in other rows based on the relations to this row
|
||||
if (updateFormula) {
|
||||
|
|
|
@ -343,6 +343,12 @@ describe("/datasources", () => {
|
|||
type: FieldType.FORMULA,
|
||||
formula: "any formula",
|
||||
},
|
||||
[FieldType.AI]: {
|
||||
name: "ai",
|
||||
type: FieldType.AI,
|
||||
operation: "PROMPT",
|
||||
prompt: "test prompt",
|
||||
},
|
||||
[FieldType.BARCODEQR]: {
|
||||
name: "barcodeqr",
|
||||
type: FieldType.BARCODEQR,
|
||||
|
|
|
@ -242,6 +242,7 @@ function copyExistingPropsOver(
|
|||
let shouldKeepSchema = false
|
||||
switch (existingColumnType) {
|
||||
case FieldType.FORMULA:
|
||||
case FieldType.AI:
|
||||
case FieldType.AUTO:
|
||||
case FieldType.INTERNAL:
|
||||
shouldKeepSchema = true
|
||||
|
|
|
@ -77,7 +77,10 @@ export enum FieldType {
|
|||
*/
|
||||
AUTO = "auto",
|
||||
/**
|
||||
* A complex type, called an AI column within Budibase. This type has a... TODO: fill out
|
||||
* A complex type, called an AI column within Budibase. This type is only supported against internal tables
|
||||
* and calculates the output based on a chosen operation (summarise text, translation etc) which passes to
|
||||
* the configured Budibase Large Language Model to retrieve the output and write it back into the row.
|
||||
* AI fields function in a similar fashion to static formulas, and possess many of the same characteristics.
|
||||
*/
|
||||
AI = "ai",
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue