Class AiAssistantsService

java.lang.Object
sk.iway.iwcm.components.ai.rest.AiAssistantsService

@Service public class AiAssistantsService extends Object
Service for AI Assistants management / datatables, editor
  • Field Details

  • Constructor Details

  • 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 name
      column - column metadata used to match classes and render formats
      srcClass - fully qualified source entity class name
      Returns:
      matching assistant definitions, or an empty list when none apply
    • getFieldOptions

      public List<String> getFieldOptions(String term, String className)
    • getClassOptions

      public List<String> getClassOptions(String term)
    • prepareBeforeSave

      public void prepareBeforeSave(AssistantDefinitionEntity assistantEnity, Prop prop)
    • getProviderSpecificOptions

      public void getProviderSpecificOptions(DatatablePageImpl<AssistantDefinitionEntity> page, Prop prop)
    • getProviderFields

      public List<String> getProviderFields(String provider, String action, Prop prop)
    • getAssistantStatus

      public boolean getAssistantStatus(String providerId)
    • isMatching

      protected static boolean isMatching(String text, String fieldName)
    • 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 to webjet-ai.
      Parameters:
      instructions - CMS instruction template
      inputData - assistant input and trusted backend variables
      Returns:
      expanded instructions with consumed and suspicious source metadata