Package sk.iway.iwcm.components.ai.rest
Class AiAssistantsService
java.lang.Object
sk.iway.iwcm.components.ai.rest.AiAssistantsService
Service for AI Assistants management / datatables, editor
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidstatic com.webjetcms.ai.AiPromptTemplate.ExpansionResultexpandPromptMacros(String instructions, InputDataDTO inputData) Resolves CMS-owned prompt variables and delegates untrusted prompt expansion towebjet-ai.static List<AssistantDefinitionEntity>getAssistantAndFieldFrom(String fieldTo, DataTableColumn column, String srcClass) Finds active, configured AI assistants applicable to the target field.static List<AssistantDefinitionEntity>Get assistants from the database, it is heavily used for generating AI button in fields, so it is cached for 60 minutesbooleangetAssistantStatus(String providerId) getClassOptions(String term) getFieldOptions(String term, String className) getProviderFields(String provider, String action, Prop prop) voidprotected static booleanisMatching(String text, String fieldName) voidprepareBeforeSave(AssistantDefinitionEntity assistantEnity, Prop prop)
-
Field Details
-
EMPTY_VALUE
- See Also:
-
-
Constructor Details
-
AiAssistantsService
-
-
Method Details
-
getAssistantAndFieldFrom
public static List<AssistantDefinitionEntity> getAssistantAndFieldFrom(String fieldTo, DataTableColumn column, String srcClass) Finds active, configured AI assistants applicable to the target field.- Parameters:
fieldTo- target entity field namecolumn- column metadata used to match classes and render formatssrcClass- fully qualified source entity class name- Returns:
- matching assistant definitions, or an empty list when none apply
-
getFieldOptions
-
getClassOptions
-
prepareBeforeSave
-
getProviderSpecificOptions
public void getProviderSpecificOptions(DatatablePageImpl<AssistantDefinitionEntity> page, Prop prop) -
getProviderFields
-
getAssistantStatus
-
isMatching
-
getAssistantsFromDB
public static List<AssistantDefinitionEntity> getAssistantsFromDB(AssistantDefinitionRepository repo) Get assistants from the database, it is heavily used for generating AI button in fields, so it is cached for 60 minutes- Parameters:
repo-- Returns:
-
clearCache
public static void clearCache() -
expandPromptMacros
public static com.webjetcms.ai.AiPromptTemplate.ExpansionResult expandPromptMacros(String instructions, InputDataDTO inputData) Resolves CMS-owned prompt variables and delegates untrusted prompt expansion towebjet-ai.- Parameters:
instructions- CMS instruction templateinputData- assistant input and trusted backend variables- Returns:
- expanded instructions with consumed and suspicious source metadata
-