|
|
|
@@ -57,7 +57,14 @@ const inputVarTypeToVarType = (type: InputVarType): VarType => { |
|
|
|
} as any)[type] || VarType.string |
|
|
|
} |
|
|
|
|
|
|
|
const structTypeToVarType = (type: Type): VarType => { |
|
|
|
const structTypeToVarType = (type: Type, isArray?: boolean): VarType => { |
|
|
|
if (isArray) { |
|
|
|
return ({ |
|
|
|
[Type.string]: VarType.arrayString, |
|
|
|
[Type.number]: VarType.arrayNumber, |
|
|
|
[Type.object]: VarType.arrayObject, |
|
|
|
} as any)[type] || VarType.string |
|
|
|
} |
|
|
|
return ({ |
|
|
|
[Type.string]: VarType.string, |
|
|
|
[Type.number]: VarType.number, |
|
|
|
@@ -82,9 +89,12 @@ const findExceptVarInStructuredProperties = (properties: Record<string, StructFi |
|
|
|
Object.keys(properties).forEach((key) => { |
|
|
|
const item = properties[key] |
|
|
|
const isObj = item.type === Type.object |
|
|
|
const isArray = item.type === Type.array |
|
|
|
const arrayType = item.items?.type |
|
|
|
|
|
|
|
if (!isObj && !filterVar({ |
|
|
|
variable: key, |
|
|
|
type: structTypeToVarType(item.type), |
|
|
|
type: structTypeToVarType(isArray ? arrayType! : item.type, isArray), |
|
|
|
}, [key])) { |
|
|
|
delete properties[key] |
|
|
|
return |
|
|
|
@@ -103,9 +113,11 @@ const findExceptVarInStructuredOutput = (structuredOutput: StructuredOutput, fil |
|
|
|
Object.keys(properties).forEach((key) => { |
|
|
|
const item = properties[key] |
|
|
|
const isObj = item.type === Type.object |
|
|
|
const isArray = item.type === Type.array |
|
|
|
const arrayType = item.items?.type |
|
|
|
if (!isObj && !filterVar({ |
|
|
|
variable: key, |
|
|
|
type: structTypeToVarType(item.type), |
|
|
|
type: structTypeToVarType(isArray ? arrayType! : item.type, isArray), |
|
|
|
}, [key])) { |
|
|
|
delete properties[key] |
|
|
|
return |
|
|
|
@@ -1314,9 +1326,12 @@ const varToValueSelectorList = (v: Var, parentValueSelector: ValueSelector, res: |
|
|
|
} |
|
|
|
if (isStructuredOutput) { |
|
|
|
Object.keys((v.children as StructuredOutput)?.schema?.properties || {}).forEach((key) => { |
|
|
|
const type = (v.children as StructuredOutput)?.schema?.properties[key].type |
|
|
|
const isArray = type === Type.array |
|
|
|
const arrayType = (v.children as StructuredOutput)?.schema?.properties[key].items?.type |
|
|
|
varToValueSelectorList({ |
|
|
|
variable: key, |
|
|
|
type: structTypeToVarType((v.children as StructuredOutput)?.schema?.properties[key].type), |
|
|
|
type: structTypeToVarType(isArray ? arrayType! : type, isArray), |
|
|
|
}, [...parentValueSelector, v.variable], res) |
|
|
|
}) |
|
|
|
} |