{{ 'PAC.Plugin.EmpowerAIDevelopment' | translate: { Default: 'Empower your AI development' } }}

{{ 'PAC.Plugin.Discover' | translate: { Default: 'Discover' } }} {{ 'PAC.Plugin.Models' | translate: { Default: 'Models' } }} , {{ 'PAC.Plugin.Tools' | translate: { Default: 'Tools' } }} , {{ 'PAC.Plugin.DocSources' | translate: { Default: 'Doc Sources' } }} , {{ 'PAC.Plugin.Transformer' | translate: { Default: 'Transformer' } }} , {{ 'PAC.Plugin.Integration' | translate: { Default: 'Integration' } }} {{ 'PAC.Plugin.And' | translate: { Default: 'and' } }} {{ 'PAC.Plugin.VectorStore' | translate: { Default: 'Vector Store' } }} {{ 'PAC.Plugin.In' | translate: { Default: 'in' } }} {{ 'PAC.Plugin.PluginsMarketplace' | translate: { Default: 'Plugins Marketplace' } }}

@for (category of marketplaceCategoryOptions; track category.value) { }
@if (loading()) {
{{ 'PAC.Plugin.LoadingMarketplace' | translate: { Default: 'Preparing the plugin marketplace for you...' } }}
{{ 'PAC.Plugin.LoadingMarketplaceHelp' | translate : { Default: 'Fetching the marketplace catalog and plugin download stats. This usually takes just a few seconds.' } }}
{{ 'PAC.Plugin.Partners' | translate: { Default: 'Partners' } }}
{{ 'PAC.Plugin.Official' | translate: { Default: 'Official' } }}
{{ 'PAC.Plugin.Community' | translate: { Default: 'Community' } }}
@for (card of loadingCards; track card) {
}
} @else if (error()) {
{{ 'PAC.Plugin.LoadPluginsFailed' | translate: { Default: 'Failed to load plugins' } }}
{{ error() }}
} @else if (!hasVisiblePlugins()) {
{{ 'PAC.Plugin.NoPluginsFound' | translate: { Default: 'No plugins found' } }}
{{ 'PAC.Plugin.NoPluginsFoundHelp' | translate: { Default: 'Try adjusting the search, category, or keyword filters.' } }}
} @else { @if (sourceErrors().length) {
@for (sourceError of sourceErrors(); track sourceError.sourceId + sourceError.message) {
@if (sourceI18nKey(sourceError.sourceId, sourceError.sourceName); as sourceKey) { {{ sourceKey | translate: { Default: sourceError.sourceName } }} } @else { {{ sourceError.sourceName }} } : {{ sourceError.message }}
}
}
@for (group of pluginCategoryGroups(); track group.value) {
{{ group.labelKey | translate: { Default: group.defaultLabel } }}
{{ group.descriptionKey | translate: { Default: group.defaultDescription } }}
{{ group.plugins.length }}
@if ( group.value === 'developer-tools' && showDeveloperToolSubcategoryFilter() && developerToolSubcategoryOptions().length ) {
{{ 'PAC.Plugin.DeveloperToolsSubcategories' | translate: { Default: 'Developer Tools Categories' } }}
}
@for (plugin of group.plugins; track plugin.name) { }
}
}
{{ 'PAC.Plugin.AddMarketplace' | translate: { Default: 'Add marketplace' } }}
{{ 'PAC.Plugin.AddMarketplaceDescription' | translate : { Default: 'Add a marketplace from a repository, Git URL, or static index URL. XpertAI only reads manifest and package metadata.' } }}
@if (sourceAddError()) {
{{ sourceAddError() }}
} @if (sourceAdding()) { }
{{ 'PAC.Plugin.ManageRegisteredPlugins' | translate: { Default: 'Manage registered plugins' } }}
{{ 'PAC.Plugin.ManageRegisteredPluginsDescription' | translate : { Default: 'Maintain platform-level plugin entries that users can discover and install from the marketplace.' } }}
{{ 'PAC.Plugin.RegisteredPlugins' | translate: { Default: 'Registered plugins' } }}
@if (registryLoading()) {
} @else if (!registryItems().length) {
{{ 'PAC.Plugin.NoRegisteredPlugins' | translate: { Default: 'No registered plugins' } }}
} @else {
@for (item of registryItems(); track item.id) { }
}
@if (registryEditingId()) { {{ 'PAC.Plugin.EditRegisteredPlugin' | translate: { Default: 'Edit registered plugin' } }} } @else { {{ 'PAC.Plugin.RegisterPlugin' | translate: { Default: 'Register plugin' } }} }
{{ 'PAC.Plugin.PlatformRegistry' | translate: { Default: 'XpertAI Platform Registry' } }}
@if (registryEditingId()) { }
@if (registryFormError()) {
{{ registryFormError() }}
} @else if (registryFormInvalid()) {
@if (registryRequiredFieldsMissing()) { {{ 'PAC.Plugin.RegisteredPluginRequiredFields' | translate : { Default: 'Package, name, description, category, author, and target apps are required.' } }} } @else { {{ 'PAC.Plugin.RegisteredPluginJsonInvalid' | translate: { Default: 'Advanced JSON must be a valid object.' } }} }
}
@if (registrySaving()) { }