<idea-plugin>
  <resource-bundle>messages.EduAIBundle</resource-bundle>

  <actions>
    <action id="Educational.AITranslation"
            class="com.jetbrains.edu.ai.translation.action.AITranslation"
            icon="com.jetbrains.edu.ai.ui.EducationalAIIcons.Translation">
      <add-to-group group-id="Educational.TaskToolWindowView.TitleActions" anchor="first"/>
    </action>

    <action id="Educational.EduAIServiceChangeHost"
            class="com.jetbrains.edu.ai.action.EduAIServiceChangeHostAction"
            internal="true"/>

    <action id="Educational.ResetCourseTranslation"
            class="com.jetbrains.edu.ai.translation.action.ResetCourseTranslation"
            internal="true"/>

    <action id="Educational.UpdateCourseTranslation"
            class="com.jetbrains.edu.ai.translation.action.UpdateCourseTranslation"/>

    <action id="Educational.ResetCourseTerms"
            class="com.jetbrains.edu.ai.terms.action.ResetCourseTerms"
            internal="true"/>

    <action id="Educational.UpdateCourseTerms"
            class="com.jetbrains.edu.ai.terms.action.UpdateCourseTerms"/>
  </actions>

  <extensionPoints>
    <extensionPoint qualifiedName="Educational.AIOptionsProvider"
                    beanClass="com.intellij.openapi.options.ConfigurableEP"
                    dynamic="true">
      <with attribute="instance" implements="com.jetbrains.edu.ai.settings.AIOptionsProvider"/>
    </extensionPoint>
  </extensionPoints>

  <extensions defaultExtensionNs="com.intellij">
    <statistics.counterUsagesCollector
        implementationClass="com.jetbrains.edu.ai.translation.statistics.EduAIFeaturesCounterUsageCollector"/>

    <applicationConfigurable groupId="Educational"
                             provider="com.jetbrains.edu.ai.settings.EduAIConfigurableProvider"
                             id="AI"
                             key="settings.ai"
                             bundle="messages.EduAIBundle"/>

    <applicationService serviceImplementation="com.jetbrains.edu.ai.translation.settings.TranslationSettings"/>

    <postStartupActivity implementation="com.jetbrains.edu.ai.AIStartupActivity"/>

    <registryKey key="edu.ai.service.update.check.interval"
                 description="Specifies the update check interval for the translation and theory lookup services, in seconds"
                 defaultValue="3600"/>
    <registryKey key="edu.theory.lookup.update.notifications.enabled"
                 description="Specifies whether theory lookup update notifications will be displayed in the task description"
                 defaultValue="false"/>
  </extensions>

  <extensions defaultExtensionNs="Educational">
    <AIOptionsProvider instance="com.jetbrains.edu.ai.translation.settings.TranslationOptions"/>
    <AIOptionsProvider instance="com.jetbrains.edu.ai.terms.settings.TheoryLookupOptions"/>
    <taskNavigationExtension implementation="com.jetbrains.edu.ai.terms.ui.TermsTaskNavigationExtension"/>
  </extensions>

  <projectListeners>
    <listener class="com.jetbrains.edu.ai.update.EduCourseUpdateListener"
              topic="com.jetbrains.edu.learning.CourseUpdateListener"/>
    <listener class="com.jetbrains.edu.ai.terms.statistics.StatsCounterTermInteractionListener"
              topic="com.jetbrains.edu.learning.ai.terms.TermsInteractionListener"/>
  </projectListeners>
</idea-plugin>
