@memberjunction/ng-dashboards 5.44.0 → 5.45.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts +1 -0
  2. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
  3. package/dist/AI/components/autotagging/tabs/sources-tab.component.js +5 -3
  4. package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
  5. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts +4 -2
  6. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
  7. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +13 -11
  8. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  9. package/dist/AI/components/prompts/prompt-version-control.component.d.ts +3 -1
  10. package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
  11. package/dist/AI/components/prompts/prompt-version-control.component.js +12 -10
  12. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  13. package/dist/AI/components/tags/tags-resource.component.d.ts +1 -0
  14. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  15. package/dist/AI/components/tags/tags-resource.component.js +10 -8
  16. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  17. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +2 -1
  18. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
  19. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +1 -1
  20. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
  21. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts +1 -0
  22. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  23. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +5 -3
  24. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  25. package/dist/Credentials/components/credentials-categories-resource.component.d.ts +3 -1
  26. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  27. package/dist/Credentials/components/credentials-categories-resource.component.js +11 -5
  28. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  29. package/dist/Credentials/components/credentials-list-resource.component.d.ts +3 -2
  30. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  31. package/dist/Credentials/components/credentials-list-resource.component.js +23 -9
  32. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  33. package/dist/Credentials/components/credentials-types-resource.component.d.ts +3 -2
  34. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  35. package/dist/Credentials/components/credentials-types-resource.component.js +10 -4
  36. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  37. package/dist/DatabaseDesigner/components/modify/database-modify.component.d.ts +2 -1
  38. package/dist/DatabaseDesigner/components/modify/database-modify.component.d.ts.map +1 -1
  39. package/dist/DatabaseDesigner/components/modify/database-modify.component.js +13 -6
  40. package/dist/DatabaseDesigner/components/modify/database-modify.component.js.map +1 -1
  41. package/dist/FormBuilder/form-builder-resource.component.d.ts +2 -1
  42. package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
  43. package/dist/FormBuilder/form-builder-resource.component.js +10 -8
  44. package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
  45. package/dist/MCP/mcp-dashboard.component.d.ts +3 -1
  46. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  47. package/dist/MCP/mcp-dashboard.component.js +32 -14
  48. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  49. package/dist/QueryBrowser/query-browser-resource.component.d.ts +4 -2
  50. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  51. package/dist/QueryBrowser/query-browser-resource.component.js +15 -13
  52. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  53. package/dist/UserRoutines/user-routines-agent-context.d.ts +44 -0
  54. package/dist/UserRoutines/user-routines-agent-context.d.ts.map +1 -0
  55. package/dist/UserRoutines/user-routines-agent-context.js +81 -0
  56. package/dist/UserRoutines/user-routines-agent-context.js.map +1 -0
  57. package/dist/UserRoutines/user-routines-resource.component.d.ts +60 -0
  58. package/dist/UserRoutines/user-routines-resource.component.d.ts.map +1 -0
  59. package/dist/UserRoutines/user-routines-resource.component.js +328 -0
  60. package/dist/UserRoutines/user-routines-resource.component.js.map +1 -0
  61. package/dist/module.d.ts +16 -15
  62. package/dist/module.d.ts.map +1 -1
  63. package/dist/module.js +7 -0
  64. package/dist/module.js.map +1 -1
  65. package/dist/public-api.d.ts +2 -0
  66. package/dist/public-api.d.ts.map +1 -1
  67. package/dist/public-api.js +3 -0
  68. package/dist/public-api.js.map +1 -1
  69. package/dist/routines-dashboards.module.d.ts +17 -0
  70. package/dist/routines-dashboards.module.d.ts.map +1 -0
  71. package/dist/routines-dashboards.module.js +65 -0
  72. package/dist/routines-dashboards.module.js.map +1 -0
  73. package/package.json +63 -58
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-version-control.component.js","sourceRoot":"","sources":["../../../../src/AI/components/prompts/prompt-version-control.component.ts","../../../../src/AI/components/prompts/prompt-version-control.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { CompositeKey, LogError, LogStatus, Metadata } from '@memberjunction/core';\nimport { MJRecordChangeEntity, MJTemplateContentEntity } from '@memberjunction/core-entities';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\n\ninterface PromptVersion {\n id: string;\n version: number;\n changedAt: Date;\n changedBy: string;\n changeType: 'Create' | 'Update' | 'Delete';\n changeSource: 'Internal' | 'External';\n changesDescription: string;\n changesJSON: any;\n fullRecordJSON: any;\n templateContent?: MJTemplateContentEntity;\n isActive: boolean;\n canRestore: boolean;\n}\n\ninterface VersionComparison {\n fromVersion: PromptVersion;\n toVersion: PromptVersion;\n differences: FieldDifference[];\n}\n\ninterface FieldDifference {\n fieldName: string;\n displayName: string;\n oldValue: any;\n newValue: any;\n changeType: 'added' | 'modified' | 'removed';\n isTemplate: boolean;\n}\n\n@Component({\n standalone: false,\n selector: 'app-prompt-version-control',\n templateUrl: './prompt-version-control.component.html',\n styleUrls: ['./prompt-version-control.component.css']\n})\nexport class PromptVersionControlComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n @Input() prompt: MJAIPromptEntityExtended | null = null;\n @Input() autoLoad = true;\n @Input() showRestoreActions = true;\n @Input() showComparison = true;\n @Input() maxVersions = 50;\n \n @Output() versionSelected = new EventEmitter<PromptVersion>();\n @Output() versionRestored = new EventEmitter<MJAIPromptEntityExtended>();\n @Output() versionCompared = new EventEmitter<VersionComparison>();\n \n // Data\n public versions: PromptVersion[] = [];\n public recordChanges: MJRecordChangeEntity[] = [];\n public templateContents: Map<string, MJTemplateContentEntity> = new Map();\n public availablePrompts: MJAIPromptEntityExtended[] = [];\n public filteredAvailablePrompts: MJAIPromptEntityExtended[] = [];\n \n // UI State\n public isLoading = false;\n public loadingMessage = '';\n public error: string | null = null;\n public currentView: 'timeline' | 'comparison' | 'details' = 'timeline';\n public selectedVersion: PromptVersion | null = null;\n public compareFromVersion: PromptVersion | null = null;\n public compareToVersion: PromptVersion | null = null;\n public comparisonResult: VersionComparison | null = null;\n \n // Filtering and sorting\n public filterBy: 'all' | 'updates' | 'major' | 'template' = 'all';\n public sortDirection: 'asc' | 'desc' = 'desc';\n public searchTerm$ = new BehaviorSubject<string>('');\n public promptSearchTerm$ = new BehaviorSubject<string>('');\n public showSystemChanges = false;\n \n // Timeline configuration\n public timelineConfig = {\n showThumbnails: true,\n showDiffs: true,\n compactMode: false,\n groupByDate: true\n };\n \n private destroy$ = new Subject<void>();\n \n constructor(private notificationService: MJNotificationService) { super(); }\n \n ngOnInit(): void {\n this.loadAvailablePrompts();\n this.setupPromptFiltering();\n \n if (this.autoLoad && this.prompt) {\n this.loadVersionHistory();\n }\n }\n \n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n \n public async loadVersionHistory(): Promise<void> {\n if (!this.prompt) {\n this.error = 'No prompt specified for version history';\n return;\n }\n \n try {\n this.isLoading = true;\n this.error = null;\n this.loadingMessage = 'Loading version history...';\n \n const md = this.ProviderToUse;\n const primaryKey = new CompositeKey();\n primaryKey.KeyValuePairs.push({ FieldName: 'ID', Value: this.prompt.ID });\n \n // Get record changes using the new method (GetRecordChanges is on Metadata, not IMetadataProvider)\n const mdForChanges = md as unknown as Metadata;\n this.recordChanges = await mdForChanges.GetRecordChanges<MJRecordChangeEntity>('MJ: AI Prompts', primaryKey);\n \n if (this.recordChanges.length === 0) {\n this.versions = [];\n LogStatus(`No version history found for prompt: ${this.prompt.Name}`);\n return;\n }\n \n // Load template contents for versions that have template changes\n await this.loadTemplateContents();\n \n // Process record changes into version objects\n this.processRecordChanges();\n \n // Apply current filters\n this.applyFilters();\n \n LogStatus(`Loaded ${this.versions.length} versions for prompt: ${this.prompt.Name}`);\n \n } catch (error) {\n this.error = 'Failed to load version history. Please try again.';\n LogError('Error loading prompt version history', undefined, error);\n } finally {\n this.isLoading = false;\n }\n }\n \n private async loadTemplateContents(): Promise<void> {\n const templateIds = new Set<string>();\n \n // Extract template IDs from record changes\n this.recordChanges.forEach(change => {\n try {\n const fullRecord = JSON.parse(change.FullRecordJSON);\n if (fullRecord.TemplateID) {\n templateIds.add(fullRecord.TemplateID);\n }\n \n // Also check changes JSON for template changes\n if (change.ChangesJSON) {\n const changes = JSON.parse(change.ChangesJSON);\n if (changes.TemplateID && changes.TemplateID.newValue) {\n templateIds.add(changes.TemplateID.newValue);\n }\n if (changes.TemplateID && changes.TemplateID.oldValue) {\n templateIds.add(changes.TemplateID.oldValue);\n }\n }\n } catch (e) {\n // Ignore parsing errors\n }\n });\n \n // Load template content entities\n if (templateIds.size > 0) {\n this.loadingMessage = 'Loading template content history...';\n \n // Note: We would need a way to get historical template content\n // For now, we'll get current template content and note this limitation\n const md = this.ProviderToUse;\n for (const templateId of templateIds) {\n try {\n const templateContent = await md.GetEntityObject<MJTemplateContentEntity>('MJ: Template Contents', md.CurrentUser);\n const loaded = await templateContent.Load(templateId);\n if (loaded) {\n this.templateContents.set(templateId, templateContent);\n }\n } catch (e) {\n // Template content might not exist anymore\n LogError(`Failed to load template content for ID: ${templateId}`, undefined, e);\n }\n }\n }\n }\n \n private processRecordChanges(): void {\n this.versions = this.recordChanges.map((change, index) => {\n let templateContent: MJTemplateContentEntity | undefined;\n \n try {\n const fullRecord = JSON.parse(change.FullRecordJSON);\n if (fullRecord.TemplateID) {\n templateContent = this.templateContents.get(fullRecord.TemplateID);\n }\n } catch (e) {\n // Ignore parsing errors\n }\n \n const version: PromptVersion = {\n id: change.ID,\n version: this.recordChanges.length - index, // Version number (newest = highest)\n changedAt: new Date(change.ChangedAt),\n changedBy: change.User || 'Unknown',\n changeType: change.Type as 'Create' | 'Update' | 'Delete',\n changeSource: change.Source as 'Internal' | 'External',\n changesDescription: change.ChangesDescription,\n changesJSON: this.safeParseJSON(change.ChangesJSON),\n fullRecordJSON: this.safeParseJSON(change.FullRecordJSON),\n templateContent,\n isActive: index === 0, // Most recent version is active\n canRestore: index > 0 && change.Type !== 'Delete' // Can restore if not current and not deleted\n };\n \n return version;\n });\n }\n \n private safeParseJSON(jsonString: string): any {\n try {\n return JSON.parse(jsonString);\n } catch (e) {\n return null;\n }\n }\n \n private applyFilters(): void {\n let filtered = [...this.versions];\n \n // Apply filter by type\n switch (this.filterBy) {\n case 'updates':\n filtered = filtered.filter(v => v.changeType === 'Update');\n break;\n case 'major':\n filtered = filtered.filter(v => this.isMajorChange(v));\n break;\n case 'template':\n filtered = filtered.filter(v => this.hasTemplateChanges(v));\n break;\n }\n \n // Apply system changes filter\n if (!this.showSystemChanges) {\n filtered = filtered.filter(v => v.changeSource !== 'External');\n }\n \n // Apply search term\n const searchTerm = this.searchTerm$.value.toLowerCase();\n if (searchTerm) {\n filtered = filtered.filter(v => \n v.changesDescription.toLowerCase().includes(searchTerm) ||\n v.changedBy.toLowerCase().includes(searchTerm)\n );\n }\n \n // Apply sorting\n filtered.sort((a, b) => {\n const comparison = a.changedAt.getTime() - b.changedAt.getTime();\n return this.sortDirection === 'desc' ? -comparison : comparison;\n });\n \n this.versions = filtered;\n }\n \n private isMajorChange(version: PromptVersion): boolean {\n if (!version.changesJSON) return false;\n \n const majorFields = ['Name', 'Status', 'TemplateID', 'CategoryID', 'TypeID'];\n return majorFields.some(field => version.changesJSON[field]);\n }\n \n private hasTemplateChanges(version: PromptVersion): boolean {\n if (!version.changesJSON) return false;\n return !!version.changesJSON.TemplateID;\n }\n \n public onVersionSelect(version: PromptVersion): void {\n this.selectedVersion = version;\n this.versionSelected.emit(version);\n }\n \n public onVersionRestore(version: PromptVersion): Promise<void> {\n return this.restoreVersion(version);\n }\n \n public getObjectKeys(obj: any): string[] {\n return Object.keys(obj || {});\n }\n\n public getFieldDisplayNamePublic(fieldName: string): string {\n return this.getFieldDisplayName(fieldName);\n }\n\n public generateComparisonPublic(): void {\n this.generateComparison();\n }\n\n public applyFiltersPublic(): void {\n this.applyFilters();\n }\n\n public async restoreVersion(version: PromptVersion): Promise<void> {\n if (!version.canRestore || !this.prompt) {\n this.notificationService.CreateSimpleNotification('Cannot restore this version', 'warning', 3000);\n return;\n }\n \n const confirm = window.confirm(`Are you sure you want to restore to version ${version.version} from ${version.changedAt.toLocaleString()}? This will overwrite the current prompt.`);\n if (!confirm) return;\n \n try {\n this.isLoading = true;\n this.loadingMessage = 'Restoring version...';\n \n const md = this.ProviderToUse;\n const promptToRestore = await md.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts', md.CurrentUser);\n await promptToRestore.Load(this.prompt.ID);\n \n // Apply the historical data\n if (version.fullRecordJSON) {\n const historicalData = version.fullRecordJSON;\n \n // Update prompt fields (excluding system fields)\n const fieldsToRestore = ['Name', 'Description', 'CategoryID', 'TypeID', 'Status', 'TemplateID'];\n fieldsToRestore.forEach(field => {\n if (historicalData[field] !== undefined) {\n (promptToRestore as any)[field] = historicalData[field];\n }\n });\n \n const saved = await promptToRestore.Save();\n if (saved) {\n this.notificationService.CreateSimpleNotification(`Version ${version.version} restored successfully`, 'success', 3000);\n this.versionRestored.emit(promptToRestore);\n \n // Reload version history to reflect the new change\n await this.loadVersionHistory();\n } else {\n throw new Error('Failed to save restored version');\n }\n }\n \n } catch (error) {\n this.error = 'Failed to restore version. Please try again.';\n LogError('Error restoring prompt version', undefined, error);\n this.notificationService.CreateSimpleNotification('Failed to restore version', 'error', 4000);\n } finally {\n this.isLoading = false;\n }\n }\n \n public startComparison(fromVersion: PromptVersion, toVersion?: PromptVersion): void {\n this.compareFromVersion = fromVersion;\n this.compareToVersion = toVersion || (this.versions.find(v => v.version === fromVersion.version + 1) || this.versions[0]);\n this.currentView = 'comparison';\n this.generateComparison();\n }\n \n private generateComparison(): void {\n if (!this.compareFromVersion || !this.compareToVersion) return;\n \n const differences: FieldDifference[] = [];\n \n // Compare prompt fields\n const fromData = this.compareFromVersion.fullRecordJSON || {};\n const toData = this.compareToVersion.fullRecordJSON || {};\n \n const allFields = new Set([...Object.keys(fromData), ...Object.keys(toData)]);\n \n allFields.forEach(fieldName => {\n if (fieldName.startsWith('__mj_') || fieldName === 'ID') return; // Skip system fields\n \n const oldValue = fromData[fieldName];\n const newValue = toData[fieldName];\n \n if (oldValue !== newValue) {\n let changeType: 'added' | 'modified' | 'removed' = 'modified';\n if (oldValue === undefined) changeType = 'added';\n if (newValue === undefined) changeType = 'removed';\n \n differences.push({\n fieldName,\n displayName: this.getFieldDisplayName(fieldName),\n oldValue,\n newValue,\n changeType,\n isTemplate: fieldName === 'TemplateID'\n });\n }\n });\n \n // Compare template content if available\n this.compareTemplateContent(differences);\n \n this.comparisonResult = {\n fromVersion: this.compareFromVersion,\n toVersion: this.compareToVersion,\n differences\n };\n \n this.versionCompared.emit(this.comparisonResult);\n }\n \n private compareTemplateContent(differences: FieldDifference[]): void {\n const fromTemplate = this.compareFromVersion?.templateContent;\n const toTemplate = this.compareToVersion?.templateContent;\n \n if (fromTemplate || toTemplate) {\n const fromContent = fromTemplate?.TemplateText || '';\n const toContent = toTemplate?.TemplateText || '';\n \n if (fromContent !== toContent) {\n differences.push({\n fieldName: 'TemplateText',\n displayName: 'Template Content',\n oldValue: fromContent,\n newValue: toContent,\n changeType: fromContent === '' ? 'added' : (toContent === '' ? 'removed' : 'modified'),\n isTemplate: true\n });\n }\n }\n }\n \n private getFieldDisplayName(fieldName: string): string {\n const displayNames: { [key: string]: string } = {\n 'Name': 'Name',\n 'Description': 'Description',\n 'CategoryID': 'Category',\n 'TypeID': 'Type',\n 'Status': 'Status',\n 'TemplateID': 'Template',\n 'TemplateText': 'Template Content'\n };\n \n return displayNames[fieldName] || fieldName;\n }\n \n public onFilterChange(filter: string): void {\n this.filterBy = filter as any;\n this.applyFilters();\n }\n \n public onSortDirectionChange(): void {\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n this.applyFilters();\n }\n \n public onSearchChange(term: string): void {\n this.searchTerm$.next(term);\n this.applyFilters();\n }\n \n public onViewChange(view: string): void {\n this.currentView = view as any;\n if (view === 'comparison' && !this.comparisonResult && this.versions.length >= 2) {\n this.startComparison(this.versions[1], this.versions[0]);\n }\n }\n \n public getChangeTypeIcon(changeType: string): string {\n switch (changeType) {\n case 'Create': return 'fa-plus-circle';\n case 'Update': return 'fa-edit';\n case 'Delete': return 'fa-trash';\n default: return 'fa-question-circle';\n }\n }\n \n public getChangeTypeClass(changeType: string): string {\n switch (changeType) {\n case 'Create': return 'change-create';\n case 'Update': return 'change-update';\n case 'Delete': return 'change-delete';\n default: return 'change-unknown';\n }\n }\n \n public formatChangeValue(value: any): string {\n if (value === null || value === undefined) return 'null';\n if (typeof value === 'object') return JSON.stringify(value, null, 2);\n if (typeof value === 'string' && value.length > 100) {\n return value.substring(0, 100) + '...';\n }\n return String(value);\n }\n \n public getVersionLabel(version: PromptVersion): string {\n let label = `v${version.version}`;\n if (version.isActive) label += ' (Current)';\n if (version.changeType === 'Create') label += ' (Initial)';\n return label;\n }\n \n public exportVersionHistory(): void {\n const exportData = {\n promptId: this.prompt?.ID,\n promptName: this.prompt?.Name,\n exportedAt: new Date().toISOString(),\n versions: this.versions.map(v => ({\n version: v.version,\n changedAt: v.changedAt.toISOString(),\n changedBy: v.changedBy,\n changeType: v.changeType,\n changesDescription: v.changesDescription,\n fullRecord: v.fullRecordJSON\n }))\n };\n \n const blob = new Blob([JSON.stringify(exportData, null, 2)], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `prompt-version-history-${this.prompt?.Name || 'unknown'}-${new Date().toISOString().split('T')[0]}.json`;\n a.click();\n URL.revokeObjectURL(url);\n }\n \n public refreshHistory(): void {\n this.loadVersionHistory();\n }\n\n private async loadAvailablePrompts(): Promise<void> {\n try {\n const metadata = this.ProviderToUse;\n const promptEntity = await metadata.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts');\n const prompts = await promptEntity.GetAll();\n this.availablePrompts = prompts.sort((a: MJAIPromptEntityExtended, b: MJAIPromptEntityExtended) => a.Name.localeCompare(b.Name));\n this.filteredAvailablePrompts = [...this.availablePrompts];\n } catch (error) {\n console.error('Failed to load available prompts:', error);\n LogError('Failed to load available prompts', undefined, error);\n }\n }\n\n private setupPromptFiltering(): void {\n this.promptSearchTerm$.subscribe(searchTerm => {\n this.filterAvailablePrompts(searchTerm);\n });\n }\n\n private filterAvailablePrompts(searchTerm: string): void {\n if (!searchTerm || searchTerm.trim() === '') {\n this.filteredAvailablePrompts = [...this.availablePrompts];\n } else {\n const term = searchTerm.toLowerCase().trim();\n this.filteredAvailablePrompts = this.availablePrompts.filter(prompt =>\n prompt.Name.toLowerCase().includes(term) ||\n (prompt.Description && prompt.Description.toLowerCase().includes(term))\n );\n }\n }\n\n public onPromptSearchChange(searchTerm: string): void {\n this.promptSearchTerm$.next(searchTerm);\n }\n\n public selectPromptForHistory(prompt: MJAIPromptEntityExtended): void {\n this.prompt = prompt;\n this.loadVersionHistory();\n }\n}","<div class=\"prompt-version-control\">\n <!-- Prompt Selector (when no prompt selected) -->\n @if (!prompt) {\n <div class=\"prompt-selector-section\">\n <h5 class=\"section-title\">\n <i class=\"fa-solid fa-history\"></i>\n Version History\n </h5>\n <p class=\"text-muted mb-3\">Select a prompt to view its version history</p>\n \n <div class=\"prompt-selector\">\n <div class=\"search-box mb-3\">\n <div class=\"input-group\">\n <span class=\"input-group-text\">\n <i class=\"fa-solid fa-search\"></i>\n </span>\n <input \n type=\"text\" \n class=\"form-control\" \n placeholder=\"Search prompts...\"\n [ngModel]=\"promptSearchTerm$.value\"\n (ngModelChange)=\"onPromptSearchChange($event)\">\n </div>\n </div>\n \n <div class=\"prompts-list\">\n @if (availablePrompts.length === 0) {\n <mj-empty-state Size=\"compact\" Icon=\"fa-solid fa-comment-dots\"\n Title=\"No prompts available\" />\n } @else {\n @for (promptItem of filteredAvailablePrompts; track promptItem.ID) {\n <div class=\"prompt-item\" (click)=\"selectPromptForHistory(promptItem)\">\n <div class=\"prompt-info\">\n <h6 class=\"prompt-title\">{{ promptItem.Name }}</h6>\n @if (promptItem.Description) {\n <p class=\"prompt-description\">{{ promptItem.Description }}</p>\n }\n </div>\n <div class=\"prompt-actions\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n } @else {\n <!-- Header toolbar -->\n <div class=\"version-toolbar\">\n <div class=\"toolbar-section\">\n <h5 class=\"toolbar-title\">\n <i class=\"fa-solid fa-history\"></i>\n Version History\n @if (prompt) {\n <span class=\"prompt-name\">- {{ prompt.Name }}</span>\n }\n </h5>\n \n <div class=\"view-mode-toggle\">\n <div class=\"btn-group btn-group-sm\" role=\"group\">\n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"timelineView\" value=\"timeline\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"timelineView\">\n <i class=\"fa-solid fa-timeline\"></i>\n Timeline\n </label>\n \n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"comparisonView\" value=\"comparison\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"comparisonView\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Compare\n </label>\n \n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"detailsView\" value=\"details\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"detailsView\">\n <i class=\"fa-solid fa-list\"></i>\n Details\n </label>\n </div>\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n <div class=\"filter-controls\">\n <label class=\"form-label\">Filter:</label>\n <select class=\"form-select form-select-sm\" [(ngModel)]=\"filterBy\" (ngModelChange)=\"onFilterChange($event)\">\n <option value=\"all\">All Changes</option>\n <option value=\"updates\">Updates Only</option>\n <option value=\"major\">Major Changes</option>\n <option value=\"template\">Template Changes</option>\n </select>\n \n <div class=\"form-check form-switch\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"showSystem\" [(ngModel)]=\"showSystemChanges\" (ngModelChange)=\"applyFiltersPublic()\">\n <label class=\"form-check-label\" for=\"showSystem\">System</label>\n </div>\n </div>\n \n <div class=\"search-controls\">\n <input \n type=\"text\" \n class=\"form-control form-control-sm\" \n placeholder=\"Search changes...\"\n [ngModel]=\"searchTerm$.value\" (ngModelChange)=\"onSearchChange($event)\">\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n <div class=\"action-buttons\">\n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\" (click)=\"onSortDirectionChange()\" [title]=\"'Sort ' + (sortDirection === 'asc' ? 'descending' : 'ascending')\">\n <i class=\"fa-solid\" [class.fa-sort-up]=\"sortDirection === 'asc'\" [class.fa-sort-down]=\"sortDirection === 'desc'\"></i>\n Sort\n </button>\n \n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\" (click)=\"refreshHistory()\" [disabled]=\"isLoading\" title=\"Refresh history\">\n <i class=\"fa-solid fa-refresh\" [class.fa-spin]=\"isLoading\"></i>\n Refresh\n </button>\n \n <button type=\"button\" class=\"btn btn-sm btn-outline-info\" (click)=\"exportVersionHistory()\" title=\"Export history\">\n <i class=\"fa-solid fa-download\"></i>\n Export\n </button>\n </div>\n </div>\n </div>\n \n <!-- Loading state -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading [text]=\"loadingMessage\" size=\"large\"></mj-loading>\n </div>\n } @else {\n \n <!-- Timeline View -->\n @if (currentView === 'timeline') {\n <div class=\"timeline-container\">\n @if (versions.length > 0) {\n <div class=\"version-timeline\">\n @for (version of versions; track version.id; let i = $index) {\n <div class=\"timeline-item\" \n [class.selected]=\"selectedVersion?.id === version.id\"\n [class.active]=\"version.isActive\"\n (click)=\"onVersionSelect(version)\">\n \n <div class=\"timeline-marker\">\n <div class=\"marker-icon\" [class]=\"getChangeTypeClass(version.changeType)\">\n <i class=\"fa-solid\" [class]=\"getChangeTypeIcon(version.changeType)\"></i>\n </div>\n @if (i < versions.length - 1) {\n <div class=\"timeline-line\"></div>\n }\n </div>\n \n <div class=\"timeline-content\">\n <div class=\"version-header\">\n <div class=\"version-info\">\n <h6 class=\"version-label\">{{ getVersionLabel(version) }}</h6>\n <div class=\"version-meta\">\n <span class=\"change-date\">{{ version.changedAt | date:'medium' }}</span>\n <span class=\"changed-by\">by {{ version.changedBy }}</span>\n <span class=\"change-source badge\" [class.badge-primary]=\"version.changeSource === 'Internal'\" [class.badge-secondary]=\"version.changeSource === 'External'\">\n {{ version.changeSource }}\n </span>\n </div>\n </div>\n \n <div class=\"version-actions\">\n @if (showComparison && i < versions.length - 1) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-primary\"\n (click)=\"$event.stopPropagation(); startComparison(version)\"\n title=\"Compare with next version\">\n <i class=\"fa-solid fa-code-compare\"></i>\n </button>\n }\n \n @if (showRestoreActions && version.canRestore) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-success\"\n (click)=\"$event.stopPropagation(); onVersionRestore(version)\"\n title=\"Restore this version\">\n <i class=\"fa-solid fa-undo\"></i>\n </button>\n }\n </div>\n </div>\n \n <div class=\"version-description\">\n {{ version.changesDescription }}\n </div>\n \n @if (version.changesJSON && timelineConfig.showDiffs) {\n <div class=\"changes-summary\">\n <div class=\"changes-list\">\n @for (field of getObjectKeys(version.changesJSON); track field) {\n <div class=\"change-item\">\n <span class=\"field-name\">{{ getFieldDisplayNamePublic(field) }}</span>\n @if (version.changesJSON[field].oldValue !== undefined) {\n <span class=\"change-arrow\">\n <span class=\"old-value\">{{ formatChangeValue(version.changesJSON[field].oldValue) }}</span>\n <i class=\"fa-solid fa-arrow-right\"></i>\n <span class=\"new-value\">{{ formatChangeValue(version.changesJSON[field].newValue) }}</span>\n </span>\n } @else {\n <span class=\"new-value\">{{ formatChangeValue(version.changesJSON[field].newValue) }}</span>\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-versions-message\">\n <i class=\"fa-solid fa-info-circle text-muted\"></i>\n <p class=\"text-muted\">No version history available for this prompt.</p>\n @if (prompt && !prompt.EntityInfo.TrackRecordChanges) {\n <p class=\"text-muted\"><small>Record changes tracking may not be enabled for prompts.</small></p>\n }\n </div>\n }\n </div>\n }\n \n <!-- Comparison View -->\n @if (currentView === 'comparison') {\n <div class=\"comparison-container\">\n <!-- Version selectors -->\n <div class=\"comparison-selectors\">\n <div class=\"selector-group\">\n <label class=\"form-label\">Compare from:</label>\n <select class=\"form-select\" [(ngModel)]=\"compareFromVersion\" (ngModelChange)=\"generateComparisonPublic()\">\n @for (version of versions; track version.id) {\n <option [ngValue]=\"version\">{{ getVersionLabel(version) }} - {{ version.changedAt | date:'short' }}</option>\n }\n </select>\n </div>\n \n <div class=\"comparison-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n \n <div class=\"selector-group\">\n <label class=\"form-label\">Compare to:</label>\n <select class=\"form-select\" [(ngModel)]=\"compareToVersion\" (ngModelChange)=\"generateComparisonPublic()\">\n @for (version of versions; track version.id) {\n <option [ngValue]=\"version\">{{ getVersionLabel(version) }} - {{ version.changedAt | date:'short' }}</option>\n }\n </select>\n </div>\n </div>\n \n <!-- Comparison results -->\n @if (comparisonResult) {\n <div class=\"comparison-results\">\n <div class=\"comparison-header\">\n <h6 class=\"comparison-title\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Changes between {{ getVersionLabel(comparisonResult.fromVersion) }} and {{ getVersionLabel(comparisonResult.toVersion) }}\n </h6>\n <div class=\"changes-count\">\n {{ comparisonResult.differences.length }} change(s) found\n </div>\n </div>\n \n @if (comparisonResult.differences.length > 0) {\n <div class=\"differences-list\">\n @for (diff of comparisonResult.differences; track diff.fieldName) {\n <div class=\"difference-item\" [class]=\"'diff-' + diff.changeType\">\n <div class=\"diff-header\">\n <div class=\"field-info\">\n <strong class=\"field-name\">{{ diff.displayName }}</strong>\n <span class=\"change-type badge\" \n [class.badge-success]=\"diff.changeType === 'added'\"\n [class.badge-warning]=\"diff.changeType === 'modified'\"\n [class.badge-danger]=\"diff.changeType === 'removed'\">\n {{ diff.changeType }}\n </span>\n @if (diff.isTemplate) {\n <span class=\"template-badge badge badge-info\">Template</span>\n }\n </div>\n </div>\n \n <div class=\"diff-content\">\n @if (diff.changeType === 'modified') {\n <div class=\"side-by-side-diff\">\n <div class=\"diff-old\">\n <h6 class=\"diff-label\">Before:</h6>\n <div class=\"diff-value old-value\">\n @if (diff.isTemplate && diff.fieldName === 'TemplateText') {\n <pre class=\"template-content\">{{ diff.oldValue }}</pre>\n } @else {\n {{ formatChangeValue(diff.oldValue) }}\n }\n </div>\n </div>\n \n <div class=\"diff-new\">\n <h6 class=\"diff-label\">After:</h6>\n <div class=\"diff-value new-value\">\n @if (diff.isTemplate && diff.fieldName === 'TemplateText') {\n <pre class=\"template-content\">{{ diff.newValue }}</pre>\n } @else {\n {{ formatChangeValue(diff.newValue) }}\n }\n </div>\n </div>\n </div>\n } @else if (diff.changeType === 'added') {\n <div class=\"diff-added\">\n <h6 class=\"diff-label\">Added:</h6>\n <div class=\"diff-value new-value\">{{ formatChangeValue(diff.newValue) }}</div>\n </div>\n } @else if (diff.changeType === 'removed') {\n <div class=\"diff-removed\">\n <h6 class=\"diff-label\">Removed:</h6>\n <div class=\"diff-value old-value\">{{ formatChangeValue(diff.oldValue) }}</div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-differences\">\n <i class=\"fa-solid fa-check-circle text-success\"></i>\n <p class=\"text-muted\">No differences found between the selected versions.</p>\n </div>\n }\n </div>\n }\n </div>\n }\n \n <!-- Details View -->\n @if (currentView === 'details') {\n <div class=\"details-container\">\n @if (selectedVersion) {\n <div class=\"version-details\">\n <div class=\"details-header\">\n <h6 class=\"details-title\">{{ getVersionLabel(selectedVersion) }}</h6>\n <div class=\"details-meta\">\n <span class=\"change-date\">{{ selectedVersion.changedAt | date:'full' }}</span>\n <span class=\"changed-by\">Changed by {{ selectedVersion.changedBy }}</span>\n </div>\n </div>\n \n <div class=\"details-content\">\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Change Information</h6>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Type:</span>\n <span class=\"detail-value\">\n <i class=\"fa-solid\" [class]=\"getChangeTypeIcon(selectedVersion.changeType)\"></i>\n {{ selectedVersion.changeType }}\n </span>\n </div>\n \n <div class=\"detail-item\">\n <span class=\"detail-label\">Source:</span>\n <span class=\"detail-value\">{{ selectedVersion.changeSource }}</span>\n </div>\n \n <div class=\"detail-item\">\n <span class=\"detail-label\">Description:</span>\n <span class=\"detail-value\">{{ selectedVersion.changesDescription }}</span>\n </div>\n </div>\n </div>\n \n @if (selectedVersion.fullRecordJSON) {\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Record State</h6>\n <div class=\"json-viewer\">\n <pre class=\"json-content\">{{ selectedVersion.fullRecordJSON | json }}</pre>\n </div>\n </div>\n }\n \n @if (selectedVersion.templateContent) {\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Template Content</h6>\n <div class=\"template-viewer\">\n <pre class=\"template-content\">{{ selectedVersion.templateContent.TemplateText }}</pre>\n </div>\n </div>\n }\n </div>\n </div>\n } @else {\n <mj-empty-state Size=\"compact\" Icon=\"fa-solid fa-hand-pointer\"\n Title=\"Select a version from the timeline to view details.\" />\n }\n </div>\n }\n }\n \n <!-- Error state -->\n @if (error) {\n <div class=\"error-container\">\n <mj-alert Variant=\"error\">\n {{ error }}\n <button mjButton variant=\"danger\" size=\"sm\" actions (click)=\"refreshHistory()\">\n <i class=\"fa-solid fa-refresh\"></i>\n Retry\n </button>\n </mj-alert>\n </div>\n }\n }\n</div>"]}
1
+ {"version":3,"file":"prompt-version-control.component.js","sourceRoot":"","sources":["../../../../src/AI/components/prompts/prompt-version-control.component.ts","../../../../src/AI/components/prompts/prompt-version-control.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { CompositeKey, LogError, LogStatus, Metadata } from '@memberjunction/core';\nimport { MJRecordChangeEntity, MJTemplateContentEntity } from '@memberjunction/core-entities';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { MJConfirmService } from '@memberjunction/ng-ui-components';\nimport { MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\n\ninterface PromptVersion {\n id: string;\n version: number;\n changedAt: Date;\n changedBy: string;\n changeType: 'Create' | 'Update' | 'Delete';\n changeSource: 'Internal' | 'External';\n changesDescription: string;\n changesJSON: any;\n fullRecordJSON: any;\n templateContent?: MJTemplateContentEntity;\n isActive: boolean;\n canRestore: boolean;\n}\n\ninterface VersionComparison {\n fromVersion: PromptVersion;\n toVersion: PromptVersion;\n differences: FieldDifference[];\n}\n\ninterface FieldDifference {\n fieldName: string;\n displayName: string;\n oldValue: any;\n newValue: any;\n changeType: 'added' | 'modified' | 'removed';\n isTemplate: boolean;\n}\n\n@Component({\n standalone: false,\n selector: 'app-prompt-version-control',\n templateUrl: './prompt-version-control.component.html',\n styleUrls: ['./prompt-version-control.component.css']\n})\nexport class PromptVersionControlComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n @Input() prompt: MJAIPromptEntityExtended | null = null;\n @Input() autoLoad = true;\n @Input() showRestoreActions = true;\n @Input() showComparison = true;\n @Input() maxVersions = 50;\n \n @Output() versionSelected = new EventEmitter<PromptVersion>();\n @Output() versionRestored = new EventEmitter<MJAIPromptEntityExtended>();\n @Output() versionCompared = new EventEmitter<VersionComparison>();\n \n // Data\n public versions: PromptVersion[] = [];\n public recordChanges: MJRecordChangeEntity[] = [];\n public templateContents: Map<string, MJTemplateContentEntity> = new Map();\n public availablePrompts: MJAIPromptEntityExtended[] = [];\n public filteredAvailablePrompts: MJAIPromptEntityExtended[] = [];\n \n // UI State\n public isLoading = false;\n public loadingMessage = '';\n public error: string | null = null;\n public currentView: 'timeline' | 'comparison' | 'details' = 'timeline';\n public selectedVersion: PromptVersion | null = null;\n public compareFromVersion: PromptVersion | null = null;\n public compareToVersion: PromptVersion | null = null;\n public comparisonResult: VersionComparison | null = null;\n \n // Filtering and sorting\n public filterBy: 'all' | 'updates' | 'major' | 'template' = 'all';\n public sortDirection: 'asc' | 'desc' = 'desc';\n public searchTerm$ = new BehaviorSubject<string>('');\n public promptSearchTerm$ = new BehaviorSubject<string>('');\n public showSystemChanges = false;\n \n // Timeline configuration\n public timelineConfig = {\n showThumbnails: true,\n showDiffs: true,\n compactMode: false,\n groupByDate: true\n };\n \n private destroy$ = new Subject<void>();\n \n constructor(private notificationService: MJNotificationService, private confirmService: MJConfirmService) { super(); }\n \n ngOnInit(): void {\n this.loadAvailablePrompts();\n this.setupPromptFiltering();\n \n if (this.autoLoad && this.prompt) {\n this.loadVersionHistory();\n }\n }\n \n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n \n public async loadVersionHistory(): Promise<void> {\n if (!this.prompt) {\n this.error = 'No prompt specified for version history';\n return;\n }\n \n try {\n this.isLoading = true;\n this.error = null;\n this.loadingMessage = 'Loading version history...';\n \n const md = this.ProviderToUse;\n const primaryKey = new CompositeKey();\n primaryKey.KeyValuePairs.push({ FieldName: 'ID', Value: this.prompt.ID });\n \n // Get record changes using the new method (GetRecordChanges is on Metadata, not IMetadataProvider)\n const mdForChanges = md as unknown as Metadata;\n this.recordChanges = await mdForChanges.GetRecordChanges<MJRecordChangeEntity>('MJ: AI Prompts', primaryKey);\n \n if (this.recordChanges.length === 0) {\n this.versions = [];\n LogStatus(`No version history found for prompt: ${this.prompt.Name}`);\n return;\n }\n \n // Load template contents for versions that have template changes\n await this.loadTemplateContents();\n \n // Process record changes into version objects\n this.processRecordChanges();\n \n // Apply current filters\n this.applyFilters();\n \n LogStatus(`Loaded ${this.versions.length} versions for prompt: ${this.prompt.Name}`);\n \n } catch (error) {\n this.error = 'Failed to load version history. Please try again.';\n LogError('Error loading prompt version history', undefined, error);\n } finally {\n this.isLoading = false;\n }\n }\n \n private async loadTemplateContents(): Promise<void> {\n const templateIds = new Set<string>();\n \n // Extract template IDs from record changes\n this.recordChanges.forEach(change => {\n try {\n const fullRecord = JSON.parse(change.FullRecordJSON);\n if (fullRecord.TemplateID) {\n templateIds.add(fullRecord.TemplateID);\n }\n \n // Also check changes JSON for template changes\n if (change.ChangesJSON) {\n const changes = JSON.parse(change.ChangesJSON);\n if (changes.TemplateID && changes.TemplateID.newValue) {\n templateIds.add(changes.TemplateID.newValue);\n }\n if (changes.TemplateID && changes.TemplateID.oldValue) {\n templateIds.add(changes.TemplateID.oldValue);\n }\n }\n } catch (e) {\n // Ignore parsing errors\n }\n });\n \n // Load template content entities\n if (templateIds.size > 0) {\n this.loadingMessage = 'Loading template content history...';\n \n // Note: We would need a way to get historical template content\n // For now, we'll get current template content and note this limitation\n const md = this.ProviderToUse;\n for (const templateId of templateIds) {\n try {\n const templateContent = await md.GetEntityObject<MJTemplateContentEntity>('MJ: Template Contents', md.CurrentUser);\n const loaded = await templateContent.Load(templateId);\n if (loaded) {\n this.templateContents.set(templateId, templateContent);\n }\n } catch (e) {\n // Template content might not exist anymore\n LogError(`Failed to load template content for ID: ${templateId}`, undefined, e);\n }\n }\n }\n }\n \n private processRecordChanges(): void {\n this.versions = this.recordChanges.map((change, index) => {\n let templateContent: MJTemplateContentEntity | undefined;\n \n try {\n const fullRecord = JSON.parse(change.FullRecordJSON);\n if (fullRecord.TemplateID) {\n templateContent = this.templateContents.get(fullRecord.TemplateID);\n }\n } catch (e) {\n // Ignore parsing errors\n }\n \n const version: PromptVersion = {\n id: change.ID,\n version: this.recordChanges.length - index, // Version number (newest = highest)\n changedAt: new Date(change.ChangedAt),\n changedBy: change.User || 'Unknown',\n changeType: change.Type as 'Create' | 'Update' | 'Delete',\n changeSource: change.Source as 'Internal' | 'External',\n changesDescription: change.ChangesDescription,\n changesJSON: this.safeParseJSON(change.ChangesJSON),\n fullRecordJSON: this.safeParseJSON(change.FullRecordJSON),\n templateContent,\n isActive: index === 0, // Most recent version is active\n canRestore: index > 0 && change.Type !== 'Delete' // Can restore if not current and not deleted\n };\n \n return version;\n });\n }\n \n private safeParseJSON(jsonString: string): any {\n try {\n return JSON.parse(jsonString);\n } catch (e) {\n return null;\n }\n }\n \n private applyFilters(): void {\n let filtered = [...this.versions];\n \n // Apply filter by type\n switch (this.filterBy) {\n case 'updates':\n filtered = filtered.filter(v => v.changeType === 'Update');\n break;\n case 'major':\n filtered = filtered.filter(v => this.isMajorChange(v));\n break;\n case 'template':\n filtered = filtered.filter(v => this.hasTemplateChanges(v));\n break;\n }\n \n // Apply system changes filter\n if (!this.showSystemChanges) {\n filtered = filtered.filter(v => v.changeSource !== 'External');\n }\n \n // Apply search term\n const searchTerm = this.searchTerm$.value.toLowerCase();\n if (searchTerm) {\n filtered = filtered.filter(v => \n v.changesDescription.toLowerCase().includes(searchTerm) ||\n v.changedBy.toLowerCase().includes(searchTerm)\n );\n }\n \n // Apply sorting\n filtered.sort((a, b) => {\n const comparison = a.changedAt.getTime() - b.changedAt.getTime();\n return this.sortDirection === 'desc' ? -comparison : comparison;\n });\n \n this.versions = filtered;\n }\n \n private isMajorChange(version: PromptVersion): boolean {\n if (!version.changesJSON) return false;\n \n const majorFields = ['Name', 'Status', 'TemplateID', 'CategoryID', 'TypeID'];\n return majorFields.some(field => version.changesJSON[field]);\n }\n \n private hasTemplateChanges(version: PromptVersion): boolean {\n if (!version.changesJSON) return false;\n return !!version.changesJSON.TemplateID;\n }\n \n public onVersionSelect(version: PromptVersion): void {\n this.selectedVersion = version;\n this.versionSelected.emit(version);\n }\n \n public onVersionRestore(version: PromptVersion): Promise<void> {\n return this.restoreVersion(version);\n }\n \n public getObjectKeys(obj: any): string[] {\n return Object.keys(obj || {});\n }\n\n public getFieldDisplayNamePublic(fieldName: string): string {\n return this.getFieldDisplayName(fieldName);\n }\n\n public generateComparisonPublic(): void {\n this.generateComparison();\n }\n\n public applyFiltersPublic(): void {\n this.applyFilters();\n }\n\n public async restoreVersion(version: PromptVersion): Promise<void> {\n if (!version.canRestore || !this.prompt) {\n this.notificationService.CreateSimpleNotification('Cannot restore this version', 'warning', 3000);\n return;\n }\n \n const confirmed = await this.confirmService.Confirm({ title: 'Restore version', message: `Restore to version ${version.version} from ${version.changedAt.toLocaleString()}?`, detail: 'This will overwrite the current prompt.' });\n if (!confirmed) return;\n \n try {\n this.isLoading = true;\n this.loadingMessage = 'Restoring version...';\n \n const md = this.ProviderToUse;\n const promptToRestore = await md.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts', md.CurrentUser);\n await promptToRestore.Load(this.prompt.ID);\n \n // Apply the historical data\n if (version.fullRecordJSON) {\n const historicalData = version.fullRecordJSON;\n \n // Update prompt fields (excluding system fields)\n const fieldsToRestore = ['Name', 'Description', 'CategoryID', 'TypeID', 'Status', 'TemplateID'];\n fieldsToRestore.forEach(field => {\n if (historicalData[field] !== undefined) {\n (promptToRestore as any)[field] = historicalData[field];\n }\n });\n \n const saved = await promptToRestore.Save();\n if (saved) {\n this.notificationService.CreateSimpleNotification(`Version ${version.version} restored successfully`, 'success', 3000);\n this.versionRestored.emit(promptToRestore);\n \n // Reload version history to reflect the new change\n await this.loadVersionHistory();\n } else {\n throw new Error('Failed to save restored version');\n }\n }\n \n } catch (error) {\n this.error = 'Failed to restore version. Please try again.';\n LogError('Error restoring prompt version', undefined, error);\n this.notificationService.CreateSimpleNotification('Failed to restore version', 'error', 4000);\n } finally {\n this.isLoading = false;\n }\n }\n \n public startComparison(fromVersion: PromptVersion, toVersion?: PromptVersion): void {\n this.compareFromVersion = fromVersion;\n this.compareToVersion = toVersion || (this.versions.find(v => v.version === fromVersion.version + 1) || this.versions[0]);\n this.currentView = 'comparison';\n this.generateComparison();\n }\n \n private generateComparison(): void {\n if (!this.compareFromVersion || !this.compareToVersion) return;\n \n const differences: FieldDifference[] = [];\n \n // Compare prompt fields\n const fromData = this.compareFromVersion.fullRecordJSON || {};\n const toData = this.compareToVersion.fullRecordJSON || {};\n \n const allFields = new Set([...Object.keys(fromData), ...Object.keys(toData)]);\n \n allFields.forEach(fieldName => {\n if (fieldName.startsWith('__mj_') || fieldName === 'ID') return; // Skip system fields\n \n const oldValue = fromData[fieldName];\n const newValue = toData[fieldName];\n \n if (oldValue !== newValue) {\n let changeType: 'added' | 'modified' | 'removed' = 'modified';\n if (oldValue === undefined) changeType = 'added';\n if (newValue === undefined) changeType = 'removed';\n \n differences.push({\n fieldName,\n displayName: this.getFieldDisplayName(fieldName),\n oldValue,\n newValue,\n changeType,\n isTemplate: fieldName === 'TemplateID'\n });\n }\n });\n \n // Compare template content if available\n this.compareTemplateContent(differences);\n \n this.comparisonResult = {\n fromVersion: this.compareFromVersion,\n toVersion: this.compareToVersion,\n differences\n };\n \n this.versionCompared.emit(this.comparisonResult);\n }\n \n private compareTemplateContent(differences: FieldDifference[]): void {\n const fromTemplate = this.compareFromVersion?.templateContent;\n const toTemplate = this.compareToVersion?.templateContent;\n \n if (fromTemplate || toTemplate) {\n const fromContent = fromTemplate?.TemplateText || '';\n const toContent = toTemplate?.TemplateText || '';\n \n if (fromContent !== toContent) {\n differences.push({\n fieldName: 'TemplateText',\n displayName: 'Template Content',\n oldValue: fromContent,\n newValue: toContent,\n changeType: fromContent === '' ? 'added' : (toContent === '' ? 'removed' : 'modified'),\n isTemplate: true\n });\n }\n }\n }\n \n private getFieldDisplayName(fieldName: string): string {\n const displayNames: { [key: string]: string } = {\n 'Name': 'Name',\n 'Description': 'Description',\n 'CategoryID': 'Category',\n 'TypeID': 'Type',\n 'Status': 'Status',\n 'TemplateID': 'Template',\n 'TemplateText': 'Template Content'\n };\n \n return displayNames[fieldName] || fieldName;\n }\n \n public onFilterChange(filter: string): void {\n this.filterBy = filter as any;\n this.applyFilters();\n }\n \n public onSortDirectionChange(): void {\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n this.applyFilters();\n }\n \n public onSearchChange(term: string): void {\n this.searchTerm$.next(term);\n this.applyFilters();\n }\n \n public onViewChange(view: string): void {\n this.currentView = view as any;\n if (view === 'comparison' && !this.comparisonResult && this.versions.length >= 2) {\n this.startComparison(this.versions[1], this.versions[0]);\n }\n }\n \n public getChangeTypeIcon(changeType: string): string {\n switch (changeType) {\n case 'Create': return 'fa-plus-circle';\n case 'Update': return 'fa-edit';\n case 'Delete': return 'fa-trash';\n default: return 'fa-question-circle';\n }\n }\n \n public getChangeTypeClass(changeType: string): string {\n switch (changeType) {\n case 'Create': return 'change-create';\n case 'Update': return 'change-update';\n case 'Delete': return 'change-delete';\n default: return 'change-unknown';\n }\n }\n \n public formatChangeValue(value: any): string {\n if (value === null || value === undefined) return 'null';\n if (typeof value === 'object') return JSON.stringify(value, null, 2);\n if (typeof value === 'string' && value.length > 100) {\n return value.substring(0, 100) + '...';\n }\n return String(value);\n }\n \n public getVersionLabel(version: PromptVersion): string {\n let label = `v${version.version}`;\n if (version.isActive) label += ' (Current)';\n if (version.changeType === 'Create') label += ' (Initial)';\n return label;\n }\n \n public exportVersionHistory(): void {\n const exportData = {\n promptId: this.prompt?.ID,\n promptName: this.prompt?.Name,\n exportedAt: new Date().toISOString(),\n versions: this.versions.map(v => ({\n version: v.version,\n changedAt: v.changedAt.toISOString(),\n changedBy: v.changedBy,\n changeType: v.changeType,\n changesDescription: v.changesDescription,\n fullRecord: v.fullRecordJSON\n }))\n };\n \n const blob = new Blob([JSON.stringify(exportData, null, 2)], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `prompt-version-history-${this.prompt?.Name || 'unknown'}-${new Date().toISOString().split('T')[0]}.json`;\n a.click();\n URL.revokeObjectURL(url);\n }\n \n public refreshHistory(): void {\n this.loadVersionHistory();\n }\n\n private async loadAvailablePrompts(): Promise<void> {\n try {\n const metadata = this.ProviderToUse;\n const promptEntity = await metadata.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts');\n const prompts = await promptEntity.GetAll();\n this.availablePrompts = prompts.sort((a: MJAIPromptEntityExtended, b: MJAIPromptEntityExtended) => a.Name.localeCompare(b.Name));\n this.filteredAvailablePrompts = [...this.availablePrompts];\n } catch (error) {\n console.error('Failed to load available prompts:', error);\n LogError('Failed to load available prompts', undefined, error);\n }\n }\n\n private setupPromptFiltering(): void {\n this.promptSearchTerm$.subscribe(searchTerm => {\n this.filterAvailablePrompts(searchTerm);\n });\n }\n\n private filterAvailablePrompts(searchTerm: string): void {\n if (!searchTerm || searchTerm.trim() === '') {\n this.filteredAvailablePrompts = [...this.availablePrompts];\n } else {\n const term = searchTerm.toLowerCase().trim();\n this.filteredAvailablePrompts = this.availablePrompts.filter(prompt =>\n prompt.Name.toLowerCase().includes(term) ||\n (prompt.Description && prompt.Description.toLowerCase().includes(term))\n );\n }\n }\n\n public onPromptSearchChange(searchTerm: string): void {\n this.promptSearchTerm$.next(searchTerm);\n }\n\n public selectPromptForHistory(prompt: MJAIPromptEntityExtended): void {\n this.prompt = prompt;\n this.loadVersionHistory();\n }\n}","<div class=\"prompt-version-control\">\n <!-- Prompt Selector (when no prompt selected) -->\n @if (!prompt) {\n <div class=\"prompt-selector-section\">\n <h5 class=\"section-title\">\n <i class=\"fa-solid fa-history\"></i>\n Version History\n </h5>\n <p class=\"text-muted mb-3\">Select a prompt to view its version history</p>\n \n <div class=\"prompt-selector\">\n <div class=\"search-box mb-3\">\n <div class=\"input-group\">\n <span class=\"input-group-text\">\n <i class=\"fa-solid fa-search\"></i>\n </span>\n <input \n type=\"text\" \n class=\"form-control\" \n placeholder=\"Search prompts...\"\n [ngModel]=\"promptSearchTerm$.value\"\n (ngModelChange)=\"onPromptSearchChange($event)\">\n </div>\n </div>\n \n <div class=\"prompts-list\">\n @if (availablePrompts.length === 0) {\n <mj-empty-state Size=\"compact\" Icon=\"fa-solid fa-comment-dots\"\n Title=\"No prompts available\" />\n } @else {\n @for (promptItem of filteredAvailablePrompts; track promptItem.ID) {\n <div class=\"prompt-item\" (click)=\"selectPromptForHistory(promptItem)\">\n <div class=\"prompt-info\">\n <h6 class=\"prompt-title\">{{ promptItem.Name }}</h6>\n @if (promptItem.Description) {\n <p class=\"prompt-description\">{{ promptItem.Description }}</p>\n }\n </div>\n <div class=\"prompt-actions\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n } @else {\n <!-- Header toolbar -->\n <div class=\"version-toolbar\">\n <div class=\"toolbar-section\">\n <h5 class=\"toolbar-title\">\n <i class=\"fa-solid fa-history\"></i>\n Version History\n @if (prompt) {\n <span class=\"prompt-name\">- {{ prompt.Name }}</span>\n }\n </h5>\n \n <div class=\"view-mode-toggle\">\n <div class=\"btn-group btn-group-sm\" role=\"group\">\n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"timelineView\" value=\"timeline\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"timelineView\">\n <i class=\"fa-solid fa-timeline\"></i>\n Timeline\n </label>\n \n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"comparisonView\" value=\"comparison\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"comparisonView\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Compare\n </label>\n \n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"detailsView\" value=\"details\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"detailsView\">\n <i class=\"fa-solid fa-list\"></i>\n Details\n </label>\n </div>\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n <div class=\"filter-controls\">\n <label class=\"form-label\">Filter:</label>\n <select class=\"form-select form-select-sm\" [(ngModel)]=\"filterBy\" (ngModelChange)=\"onFilterChange($event)\">\n <option value=\"all\">All Changes</option>\n <option value=\"updates\">Updates Only</option>\n <option value=\"major\">Major Changes</option>\n <option value=\"template\">Template Changes</option>\n </select>\n \n <div class=\"form-check form-switch\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"showSystem\" [(ngModel)]=\"showSystemChanges\" (ngModelChange)=\"applyFiltersPublic()\">\n <label class=\"form-check-label\" for=\"showSystem\">System</label>\n </div>\n </div>\n \n <div class=\"search-controls\">\n <input \n type=\"text\" \n class=\"form-control form-control-sm\" \n placeholder=\"Search changes...\"\n [ngModel]=\"searchTerm$.value\" (ngModelChange)=\"onSearchChange($event)\">\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n <div class=\"action-buttons\">\n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\" (click)=\"onSortDirectionChange()\" [title]=\"'Sort ' + (sortDirection === 'asc' ? 'descending' : 'ascending')\">\n <i class=\"fa-solid\" [class.fa-sort-up]=\"sortDirection === 'asc'\" [class.fa-sort-down]=\"sortDirection === 'desc'\"></i>\n Sort\n </button>\n \n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\" (click)=\"refreshHistory()\" [disabled]=\"isLoading\" title=\"Refresh history\">\n <i class=\"fa-solid fa-refresh\" [class.fa-spin]=\"isLoading\"></i>\n Refresh\n </button>\n \n <button type=\"button\" class=\"btn btn-sm btn-outline-info\" (click)=\"exportVersionHistory()\" title=\"Export history\">\n <i class=\"fa-solid fa-download\"></i>\n Export\n </button>\n </div>\n </div>\n </div>\n \n <!-- Loading state -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading [text]=\"loadingMessage\" size=\"large\"></mj-loading>\n </div>\n } @else {\n \n <!-- Timeline View -->\n @if (currentView === 'timeline') {\n <div class=\"timeline-container\">\n @if (versions.length > 0) {\n <div class=\"version-timeline\">\n @for (version of versions; track version.id; let i = $index) {\n <div class=\"timeline-item\" \n [class.selected]=\"selectedVersion?.id === version.id\"\n [class.active]=\"version.isActive\"\n (click)=\"onVersionSelect(version)\">\n \n <div class=\"timeline-marker\">\n <div class=\"marker-icon\" [class]=\"getChangeTypeClass(version.changeType)\">\n <i class=\"fa-solid\" [class]=\"getChangeTypeIcon(version.changeType)\"></i>\n </div>\n @if (i < versions.length - 1) {\n <div class=\"timeline-line\"></div>\n }\n </div>\n \n <div class=\"timeline-content\">\n <div class=\"version-header\">\n <div class=\"version-info\">\n <h6 class=\"version-label\">{{ getVersionLabel(version) }}</h6>\n <div class=\"version-meta\">\n <span class=\"change-date\">{{ version.changedAt | date:'medium' }}</span>\n <span class=\"changed-by\">by {{ version.changedBy }}</span>\n <span class=\"change-source badge\" [class.badge-primary]=\"version.changeSource === 'Internal'\" [class.badge-secondary]=\"version.changeSource === 'External'\">\n {{ version.changeSource }}\n </span>\n </div>\n </div>\n \n <div class=\"version-actions\">\n @if (showComparison && i < versions.length - 1) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-primary\"\n (click)=\"$event.stopPropagation(); startComparison(version)\"\n title=\"Compare with next version\">\n <i class=\"fa-solid fa-code-compare\"></i>\n </button>\n }\n \n @if (showRestoreActions && version.canRestore) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-success\"\n (click)=\"$event.stopPropagation(); onVersionRestore(version)\"\n title=\"Restore this version\">\n <i class=\"fa-solid fa-undo\"></i>\n </button>\n }\n </div>\n </div>\n \n <div class=\"version-description\">\n {{ version.changesDescription }}\n </div>\n \n @if (version.changesJSON && timelineConfig.showDiffs) {\n <div class=\"changes-summary\">\n <div class=\"changes-list\">\n @for (field of getObjectKeys(version.changesJSON); track field) {\n <div class=\"change-item\">\n <span class=\"field-name\">{{ getFieldDisplayNamePublic(field) }}</span>\n @if (version.changesJSON[field].oldValue !== undefined) {\n <span class=\"change-arrow\">\n <span class=\"old-value\">{{ formatChangeValue(version.changesJSON[field].oldValue) }}</span>\n <i class=\"fa-solid fa-arrow-right\"></i>\n <span class=\"new-value\">{{ formatChangeValue(version.changesJSON[field].newValue) }}</span>\n </span>\n } @else {\n <span class=\"new-value\">{{ formatChangeValue(version.changesJSON[field].newValue) }}</span>\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-versions-message\">\n <i class=\"fa-solid fa-info-circle text-muted\"></i>\n <p class=\"text-muted\">No version history available for this prompt.</p>\n @if (prompt && !prompt.EntityInfo.TrackRecordChanges) {\n <p class=\"text-muted\"><small>Record changes tracking may not be enabled for prompts.</small></p>\n }\n </div>\n }\n </div>\n }\n \n <!-- Comparison View -->\n @if (currentView === 'comparison') {\n <div class=\"comparison-container\">\n <!-- Version selectors -->\n <div class=\"comparison-selectors\">\n <div class=\"selector-group\">\n <label class=\"form-label\">Compare from:</label>\n <select class=\"form-select\" [(ngModel)]=\"compareFromVersion\" (ngModelChange)=\"generateComparisonPublic()\">\n @for (version of versions; track version.id) {\n <option [ngValue]=\"version\">{{ getVersionLabel(version) }} - {{ version.changedAt | date:'short' }}</option>\n }\n </select>\n </div>\n \n <div class=\"comparison-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n \n <div class=\"selector-group\">\n <label class=\"form-label\">Compare to:</label>\n <select class=\"form-select\" [(ngModel)]=\"compareToVersion\" (ngModelChange)=\"generateComparisonPublic()\">\n @for (version of versions; track version.id) {\n <option [ngValue]=\"version\">{{ getVersionLabel(version) }} - {{ version.changedAt | date:'short' }}</option>\n }\n </select>\n </div>\n </div>\n \n <!-- Comparison results -->\n @if (comparisonResult) {\n <div class=\"comparison-results\">\n <div class=\"comparison-header\">\n <h6 class=\"comparison-title\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Changes between {{ getVersionLabel(comparisonResult.fromVersion) }} and {{ getVersionLabel(comparisonResult.toVersion) }}\n </h6>\n <div class=\"changes-count\">\n {{ comparisonResult.differences.length }} change(s) found\n </div>\n </div>\n \n @if (comparisonResult.differences.length > 0) {\n <div class=\"differences-list\">\n @for (diff of comparisonResult.differences; track diff.fieldName) {\n <div class=\"difference-item\" [class]=\"'diff-' + diff.changeType\">\n <div class=\"diff-header\">\n <div class=\"field-info\">\n <strong class=\"field-name\">{{ diff.displayName }}</strong>\n <span class=\"change-type badge\" \n [class.badge-success]=\"diff.changeType === 'added'\"\n [class.badge-warning]=\"diff.changeType === 'modified'\"\n [class.badge-danger]=\"diff.changeType === 'removed'\">\n {{ diff.changeType }}\n </span>\n @if (diff.isTemplate) {\n <span class=\"template-badge badge badge-info\">Template</span>\n }\n </div>\n </div>\n \n <div class=\"diff-content\">\n @if (diff.changeType === 'modified') {\n <div class=\"side-by-side-diff\">\n <div class=\"diff-old\">\n <h6 class=\"diff-label\">Before:</h6>\n <div class=\"diff-value old-value\">\n @if (diff.isTemplate && diff.fieldName === 'TemplateText') {\n <pre class=\"template-content\">{{ diff.oldValue }}</pre>\n } @else {\n {{ formatChangeValue(diff.oldValue) }}\n }\n </div>\n </div>\n \n <div class=\"diff-new\">\n <h6 class=\"diff-label\">After:</h6>\n <div class=\"diff-value new-value\">\n @if (diff.isTemplate && diff.fieldName === 'TemplateText') {\n <pre class=\"template-content\">{{ diff.newValue }}</pre>\n } @else {\n {{ formatChangeValue(diff.newValue) }}\n }\n </div>\n </div>\n </div>\n } @else if (diff.changeType === 'added') {\n <div class=\"diff-added\">\n <h6 class=\"diff-label\">Added:</h6>\n <div class=\"diff-value new-value\">{{ formatChangeValue(diff.newValue) }}</div>\n </div>\n } @else if (diff.changeType === 'removed') {\n <div class=\"diff-removed\">\n <h6 class=\"diff-label\">Removed:</h6>\n <div class=\"diff-value old-value\">{{ formatChangeValue(diff.oldValue) }}</div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-differences\">\n <i class=\"fa-solid fa-check-circle text-success\"></i>\n <p class=\"text-muted\">No differences found between the selected versions.</p>\n </div>\n }\n </div>\n }\n </div>\n }\n \n <!-- Details View -->\n @if (currentView === 'details') {\n <div class=\"details-container\">\n @if (selectedVersion) {\n <div class=\"version-details\">\n <div class=\"details-header\">\n <h6 class=\"details-title\">{{ getVersionLabel(selectedVersion) }}</h6>\n <div class=\"details-meta\">\n <span class=\"change-date\">{{ selectedVersion.changedAt | date:'full' }}</span>\n <span class=\"changed-by\">Changed by {{ selectedVersion.changedBy }}</span>\n </div>\n </div>\n \n <div class=\"details-content\">\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Change Information</h6>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Type:</span>\n <span class=\"detail-value\">\n <i class=\"fa-solid\" [class]=\"getChangeTypeIcon(selectedVersion.changeType)\"></i>\n {{ selectedVersion.changeType }}\n </span>\n </div>\n \n <div class=\"detail-item\">\n <span class=\"detail-label\">Source:</span>\n <span class=\"detail-value\">{{ selectedVersion.changeSource }}</span>\n </div>\n \n <div class=\"detail-item\">\n <span class=\"detail-label\">Description:</span>\n <span class=\"detail-value\">{{ selectedVersion.changesDescription }}</span>\n </div>\n </div>\n </div>\n \n @if (selectedVersion.fullRecordJSON) {\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Record State</h6>\n <div class=\"json-viewer\">\n <pre class=\"json-content\">{{ selectedVersion.fullRecordJSON | json }}</pre>\n </div>\n </div>\n }\n \n @if (selectedVersion.templateContent) {\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Template Content</h6>\n <div class=\"template-viewer\">\n <pre class=\"template-content\">{{ selectedVersion.templateContent.TemplateText }}</pre>\n </div>\n </div>\n }\n </div>\n </div>\n } @else {\n <mj-empty-state Size=\"compact\" Icon=\"fa-solid fa-hand-pointer\"\n Title=\"Select a version from the timeline to view details.\" />\n }\n </div>\n }\n }\n \n <!-- Error state -->\n @if (error) {\n <div class=\"error-container\">\n <mj-alert Variant=\"error\">\n {{ error }}\n <button mjButton variant=\"danger\" size=\"sm\" actions (click)=\"refreshHistory()\">\n <i class=\"fa-solid fa-refresh\"></i>\n Retry\n </button>\n </mj-alert>\n </div>\n }\n }\n</div>"]}
@@ -332,6 +332,7 @@ type FormMode = 'none' | 'add-source' | 'edit-source' | 'add-type' | 'edit-type'
332
332
  export declare class TagsResourceComponent extends BaseResourceComponent implements AfterViewInit, OnDestroy {
333
333
  protected destroy$: Subject<void>;
334
334
  private cdr;
335
+ private confirmService;
335
336
  private activityService;
336
337
  protected navigationService: NavigationService;
337
338
  IsLoading: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"tags-resource.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/tags/tags-resource.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags-resource.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/tags/tags-resource.component.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ import { KnowledgeHubMetadataEngine, UserInfoEngine } from '@memberjunction/core
32
32
  import { TagEngineBase } from '@memberjunction/tag-engine-base';
33
33
  import { RegisterClass, UUIDsEqual, NormalizeUUID } from '@memberjunction/global';
34
34
  import { BaseResourceComponent, NavigationService, ActivityService } from '@memberjunction/ng-shared';
35
+ import { MJConfirmService } from '@memberjunction/ng-ui-components';
35
36
  import { GraphQLAIClient } from '@memberjunction/graphql-dataprovider';
36
37
  import { MJNotificationService } from '@memberjunction/ng-notifications';
37
38
  import { AIEngineBase } from '@memberjunction/ai-engine-base';
@@ -2522,6 +2523,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
2522
2523
  static { TagsResourceComponent_1 = this; }
2523
2524
  destroy$ = new Subject();
2524
2525
  cdr = inject(ChangeDetectorRef);
2526
+ confirmService = inject(MJConfirmService);
2525
2527
  activityService = inject(ActivityService);
2526
2528
  navigationService = inject(NavigationService);
2527
2529
  // ── Global state ──
@@ -4134,7 +4136,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
4134
4136
  }
4135
4137
  }
4136
4138
  async DeleteSource(card) {
4137
- if (!confirm(`Delete source "${card.Name}"? This cannot be undone.`))
4139
+ if (!(await this.confirmService.ConfirmDelete({ title: 'Delete Source', message: `Delete source "${card.Name}"?`, detail: 'This action cannot be undone.' })))
4138
4140
  return;
4139
4141
  try {
4140
4142
  const md = this.ProviderToUse;
@@ -4238,7 +4240,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
4238
4240
  async RemoveSchedule(card) {
4239
4241
  if (!card.ScheduledActionID)
4240
4242
  return;
4241
- if (!confirm(`Remove the schedule "${card.ScheduleDescription ?? 'schedule'}" from "${card.Name}"?`))
4243
+ if (!(await this.confirmService.ConfirmDelete({ title: 'Remove Schedule', message: `Remove the schedule "${card.ScheduleDescription ?? 'schedule'}" from "${card.Name}"?`, confirmText: 'Remove' })))
4242
4244
  return;
4243
4245
  try {
4244
4246
  await this.linkScheduleToSource(card.ID, null);
@@ -5811,7 +5813,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
5811
5813
  async RemoveSynonym(row) {
5812
5814
  if (!this.TaxSelectedNode)
5813
5815
  return;
5814
- if (!confirm(`Remove synonym "${row.Synonym}"?`))
5816
+ if (!(await this.confirmService.ConfirmDelete({ title: 'Remove Synonym', message: `Remove synonym "${row.Synonym}"?`, confirmText: 'Remove' })))
5815
5817
  return;
5816
5818
  try {
5817
5819
  const md = this.ProviderToUse;
@@ -5849,13 +5851,13 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
5849
5851
  // will be folded in on the next iteration of this dashboard.
5850
5852
  if (this.SelectedTagScopes.length === 0 && !this.SelectedTagFull.IsGlobal) {
5851
5853
  // Empty scope + non-global = currently unreachable. Promote to global.
5852
- if (!confirm('This tag has no scope rows and is not global — it is currently unreachable. Promote to global?'))
5854
+ if (!(await this.confirmService.Confirm({ title: 'Promote to global?', message: 'This tag has no scope rows and is not global — it is currently unreachable. Promote to global?' })))
5853
5855
  return;
5854
5856
  await this.persistTagField(this.TaxSelectedNode.ID, 'IsGlobal', true);
5855
5857
  return;
5856
5858
  }
5857
5859
  if (this.SelectedTagScopes.length > 0) {
5858
- if (!confirm(`Remove all ${this.SelectedTagScopes.length} scope row(s) and promote to global? This makes the tag visible to all tenants.`))
5860
+ if (!(await this.confirmService.Confirm({ title: 'Promote to global?', message: `Remove all ${this.SelectedTagScopes.length} scope row(s) and promote to global? This makes the tag visible to all tenants.` })))
5859
5861
  return;
5860
5862
  try {
5861
5863
  const md = this.ProviderToUse;
@@ -7281,7 +7283,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
7281
7283
  const selected = this.SuggestionRowsFiltered.filter(r => r.selected);
7282
7284
  if (selected.length === 0)
7283
7285
  return;
7284
- if (!confirm(`Approve ${selected.length} suggestion(s)? Each will merge into its best match (when available) or be created as a new tag.`))
7286
+ if (!(await this.confirmService.Confirm({ title: 'Approve suggestions', message: `Approve ${selected.length} suggestion(s)? Each will merge into its best match (when available) or be created as a new tag.` })))
7285
7287
  return;
7286
7288
  this.SuggestionBulkInProgress = true;
7287
7289
  for (const row of selected) {
@@ -7294,7 +7296,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
7294
7296
  const selected = this.SuggestionRowsFiltered.filter(r => r.selected);
7295
7297
  if (selected.length === 0)
7296
7298
  return;
7297
- if (!confirm(`Reject ${selected.length} suggestion(s)?`))
7299
+ if (!(await this.confirmService.Confirm({ title: 'Reject suggestions', message: `Reject ${selected.length} suggestion(s)?` })))
7298
7300
  return;
7299
7301
  this.SuggestionBulkInProgress = true;
7300
7302
  for (const row of selected)
@@ -7376,7 +7378,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
7376
7378
  async RebuildEmbeddings() {
7377
7379
  if (this.RebuildEmbeddingsRunning)
7378
7380
  return;
7379
- if (!confirm('Rebuild embeddings for all tags whose model doesn\'t match the configured embedding model? This can take time.'))
7381
+ if (!(await this.confirmService.Confirm({ title: 'Rebuild embeddings', message: 'Rebuild embeddings for all tags whose model doesn\'t match the configured embedding model? This can take time.' })))
7380
7382
  return;
7381
7383
  this.RebuildEmbeddingsRunning = true;
7382
7384
  this.cdr.detectChanges();