@memberjunction/ng-dashboards 5.38.0 → 5.40.0
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.
- package/README.md +14 -7
- package/dist/AI/components/agents/agent-configuration.component.js +199 -198
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +20 -17
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +15 -0
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +166 -58
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +2 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +1 -0
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.js +55 -36
- package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts +9 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +158 -117
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts +1 -0
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +22 -8
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +217 -860
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +1717 -7802
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts +56 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js +423 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts +70 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js +308 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts +29 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +186 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts +69 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js +278 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts +73 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js +393 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts +122 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js +908 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts +87 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js +475 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts +29 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js +208 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts +21 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js +70 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts +333 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +2125 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts +61 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js +78 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts +58 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.js +260 -0
- package/dist/AI/components/autotagging/shared/classify.format.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts +319 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.js +6 -0
- package/dist/AI/components/autotagging/shared/classify.types.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts +103 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js +571 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts +77 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js +519 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts +107 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js +719 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts +131 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js +813 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts +177 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1465 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts +78 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js +492 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts +397 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js +3490 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts +56 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js +271 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js.map +1 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +3 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +306 -290
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +1 -1
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js +209 -208
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +130 -128
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +61 -61
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +17 -17
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.d.ts +1 -0
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +578 -538
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +3 -0
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +331 -303
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.d.ts +5 -0
- package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.js +14 -2
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
- package/dist/AI/services/cache-metrics.d.ts +50 -0
- package/dist/AI/services/cache-metrics.d.ts.map +1 -0
- package/dist/AI/services/cache-metrics.js +43 -0
- package/dist/AI/services/cache-metrics.js.map +1 -0
- package/dist/APIKeys/api-applications-panel.component.js +2 -2
- package/dist/APIKeys/api-key-create-dialog.component.js +2 -2
- package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
- package/dist/APIKeys/api-keys-resource.component.js +132 -131
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +141 -141
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +15 -15
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -5
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +139 -212
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +2 -2
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +2 -2
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +2 -2
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +2 -2
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +54 -49
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +6 -0
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +72 -50
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +103 -102
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +52 -51
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +39 -38
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +6 -0
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +92 -89
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +136 -135
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +155 -152
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +119 -118
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +129 -128
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +107 -106
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +31 -340
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +468 -1958
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.js +10 -0
- package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +115 -114
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +5 -6
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +4 -5
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/DevTools/app-state-inspector.component.js +18 -17
- package/dist/DevTools/app-state-inspector.component.js.map +1 -1
- package/dist/DevTools/class-registry.component.js +88 -85
- package/dist/DevTools/class-registry.component.js.map +1 -1
- package/dist/DevTools/event-monitor.component.js +155 -150
- package/dist/DevTools/event-monitor.component.js.map +1 -1
- package/dist/DevTools/graphql-console.component.js +245 -243
- package/dist/DevTools/graphql-console.component.js.map +1 -1
- package/dist/DevTools/layout-inspector.component.js +18 -17
- package/dist/DevTools/layout-inspector.component.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -19
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.js +2 -2
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +236 -229
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +390 -389
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +2 -2
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +14 -11
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +27 -2
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +244 -119
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +293 -291
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +62 -61
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts +65 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js +176 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js.map +1 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts +81 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js +308 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js.map +1 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts +85 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js +362 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js.map +1 -0
- package/dist/KnowledgeHub/index.d.ts +3 -0
- package/dist/KnowledgeHub/index.d.ts.map +1 -1
- package/dist/KnowledgeHub/index.js +3 -0
- package/dist/KnowledgeHub/index.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +6 -2
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +525 -566
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +135 -134
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +199 -198
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.js +2 -2
- package/dist/MCP/mcp-dashboard.component.js +443 -438
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +146 -147
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +76 -75
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +97 -96
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +24 -22
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +2 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.js +1 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +14 -4
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +436 -427
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +1 -1
- package/dist/Testing/components/testing-runs.component.js +116 -115
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +6 -7
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +173 -172
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.d.ts +6 -0
- package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +116 -92
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +57 -35
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +80 -1
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +1 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +7 -1
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/data-explorer-dashboards.module.d.ts +12 -14
- package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
- package/dist/data-explorer-dashboards.module.js +5 -14
- package/dist/data-explorer-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +4 -5
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +7 -5
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +57 -54
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts +0 -79
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +0 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +0 -195
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +0 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts +0 -226
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +0 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.js +0 -861
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +0 -1
|
@@ -9,305 +9,66 @@
|
|
|
9
9
|
import { OnDestroy, AfterViewInit } from '@angular/core';
|
|
10
10
|
import { Subject } from 'rxjs';
|
|
11
11
|
import { CompositeKey } from '@memberjunction/core';
|
|
12
|
-
import {
|
|
13
|
-
import { ResourceData, MJContentSourceTypeEntity_IContentSourceTypeField } from '@memberjunction/core-entities';
|
|
12
|
+
import { ResourceData, MJScheduledActionEntity } from '@memberjunction/core-entities';
|
|
14
13
|
import { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';
|
|
15
|
-
import { MJLeftNavItem, MJLeftNavSection
|
|
16
|
-
import {
|
|
14
|
+
import { MJLeftNavItem, MJLeftNavSection } from '@memberjunction/ng-ui-components';
|
|
15
|
+
import { TabName, NavItem, KPIMetric, PipelineStageInfo, FeedItem, SourceMini, SourceCard, ContentTypeCard, TagCloudItem, ContentDuplicateRow, RunDetailRow, ContentItemDetail } from './shared/classify.types';
|
|
17
16
|
import * as i0 from "@angular/core";
|
|
18
|
-
type TabName = 'pipeline' | 'sources' | 'types' | 'tags' | 'taxonomy' | 'history';
|
|
19
|
-
interface NavItem {
|
|
20
|
-
Tab: TabName;
|
|
21
|
-
Icon: string;
|
|
22
|
-
Label: string;
|
|
23
|
-
BadgeText: string;
|
|
24
|
-
BadgeClass: string;
|
|
25
|
-
}
|
|
26
|
-
interface KPIMetric {
|
|
27
|
-
Label: string;
|
|
28
|
-
Value: number;
|
|
29
|
-
Icon: string;
|
|
30
|
-
Trend: string;
|
|
31
|
-
TrendUp: boolean;
|
|
32
|
-
}
|
|
33
|
-
interface PipelineStageInfo {
|
|
34
|
-
Name: string;
|
|
35
|
-
Icon: string;
|
|
36
|
-
Status: 'idle' | 'active' | 'complete';
|
|
37
|
-
Count: string;
|
|
38
|
-
}
|
|
39
|
-
interface FeedItem {
|
|
40
|
-
Name: string;
|
|
41
|
-
SourceName: string;
|
|
42
|
-
Tags: string[];
|
|
43
|
-
TimeAgo: string;
|
|
44
|
-
Status: 'complete' | 'processing' | 'error';
|
|
45
|
-
}
|
|
46
|
-
interface SourceMini {
|
|
47
|
-
ID: string;
|
|
48
|
-
Name: string;
|
|
49
|
-
Icon: string;
|
|
50
|
-
Meta: string;
|
|
51
|
-
StatusClass: 'active' | 'error' | 'inactive';
|
|
52
|
-
}
|
|
53
|
-
interface SourceCard {
|
|
54
|
-
ID: string;
|
|
55
|
-
Name: string;
|
|
56
|
-
SourceTypeName: string;
|
|
57
|
-
ContentTypeName: string;
|
|
58
|
-
FileTypeName: string;
|
|
59
|
-
Icon: string;
|
|
60
|
-
StatusClass: 'active' | 'error' | 'inactive';
|
|
61
|
-
StatusLabel: string;
|
|
62
|
-
URL: string;
|
|
63
|
-
ItemCount: number;
|
|
64
|
-
TagCount: number;
|
|
65
|
-
AvgTags: string;
|
|
66
|
-
LastRunAgo: string;
|
|
67
|
-
ContentSourceTypeID: string;
|
|
68
|
-
ContentTypeID: string;
|
|
69
|
-
ContentFileTypeID: string;
|
|
70
|
-
EmbeddingModelID: string;
|
|
71
|
-
VectorIndexID: string;
|
|
72
|
-
EntityID: string;
|
|
73
|
-
EntityDocumentID: string;
|
|
74
|
-
RequiresFileType: boolean;
|
|
75
|
-
/** FK to ScheduledAction entity, null if no schedule configured */
|
|
76
|
-
ScheduledActionID: string | null;
|
|
77
|
-
/** Denormalized name of the linked ScheduledAction */
|
|
78
|
-
ScheduledActionName: string | null;
|
|
79
|
-
/** Human-readable schedule description (parsed from cron) */
|
|
80
|
-
ScheduleDescription: string | null;
|
|
81
|
-
}
|
|
82
|
-
interface ContentTypeCard {
|
|
83
|
-
ID: string;
|
|
84
|
-
Name: string;
|
|
85
|
-
Description: string;
|
|
86
|
-
AIModelName: string;
|
|
87
|
-
AIModelID: string;
|
|
88
|
-
MinTags: number;
|
|
89
|
-
MaxTags: number;
|
|
90
|
-
SourcesUsing: number;
|
|
91
|
-
ItemsTagged: number;
|
|
92
|
-
RangeLeftPct: number;
|
|
93
|
-
RangeRightPct: number;
|
|
94
|
-
EmbeddingModelID: string;
|
|
95
|
-
VectorIndexID: string;
|
|
96
|
-
}
|
|
97
|
-
interface TagRow {
|
|
98
|
-
Tag: string;
|
|
99
|
-
UsageCount: number;
|
|
100
|
-
AvgWeight: number;
|
|
101
|
-
BarWidthPct: number;
|
|
102
|
-
TopSource: string;
|
|
103
|
-
FirstSeen: string;
|
|
104
|
-
}
|
|
105
|
-
interface TagCloudItem {
|
|
106
|
-
Tag: string;
|
|
107
|
-
AvgWeight: number;
|
|
108
|
-
SizeClass: 'large' | '' | 'small';
|
|
109
|
-
}
|
|
110
|
-
interface TagBySource {
|
|
111
|
-
SourceName: string;
|
|
112
|
-
Count: number;
|
|
113
|
-
}
|
|
114
|
-
interface RunHistoryRow {
|
|
115
|
-
ID: string;
|
|
116
|
-
Status: string;
|
|
117
|
-
StatusClass: string;
|
|
118
|
-
SourceName: string;
|
|
119
|
-
StartedDisplay: string;
|
|
120
|
-
Duration: string;
|
|
121
|
-
Items: string;
|
|
122
|
-
Tags: string;
|
|
123
|
-
Errors: string;
|
|
124
|
-
ErrorClass: string;
|
|
125
|
-
}
|
|
126
|
-
interface DropdownOption {
|
|
127
|
-
ID: string;
|
|
128
|
-
Name: string;
|
|
129
|
-
}
|
|
130
|
-
/** G3: Content item duplicate pair for review */
|
|
131
|
-
interface ContentDuplicateRow {
|
|
132
|
-
ID: string;
|
|
133
|
-
ItemAName: string;
|
|
134
|
-
ItemASource: string;
|
|
135
|
-
ItemBName: string;
|
|
136
|
-
ItemBSource: string;
|
|
137
|
-
SimilarityScore: number;
|
|
138
|
-
DetectionMethod: string;
|
|
139
|
-
Status: 'Pending' | 'Confirmed' | 'Dismissed' | 'Merged';
|
|
140
|
-
}
|
|
141
|
-
/** D2/D3/D8: Per-source detail row for a specific pipeline run */
|
|
142
|
-
interface RunDetailRow {
|
|
143
|
-
SourceName: string;
|
|
144
|
-
SourceType: string;
|
|
145
|
-
Status: string;
|
|
146
|
-
StatusClass: string;
|
|
147
|
-
ItemsProcessed: number;
|
|
148
|
-
ItemsTagged: number;
|
|
149
|
-
ItemsVectorized: number;
|
|
150
|
-
ErrorCount: number;
|
|
151
|
-
TotalTokens: number;
|
|
152
|
-
TotalCost: number;
|
|
153
|
-
Duration: string;
|
|
154
|
-
}
|
|
155
|
-
type TaxonomySubTab = 'tree' | 'duplicates' | 'orphans' | 'treemap' | 'audit';
|
|
156
|
-
interface TaxTreeNode {
|
|
157
|
-
ID: string;
|
|
158
|
-
Name: string;
|
|
159
|
-
DisplayName: string;
|
|
160
|
-
Description: string;
|
|
161
|
-
ParentID: string | null;
|
|
162
|
-
Depth: number;
|
|
163
|
-
Children: TaxTreeNode[];
|
|
164
|
-
ItemCount: number;
|
|
165
|
-
AvgWeight: number;
|
|
166
|
-
HealthColor: 'green' | 'yellow' | 'red';
|
|
167
|
-
IsExpanded: boolean;
|
|
168
|
-
IsSelected: boolean;
|
|
169
|
-
FirstSeen: string;
|
|
170
|
-
}
|
|
171
|
-
interface TaxDuplicatePair {
|
|
172
|
-
TagA: string;
|
|
173
|
-
TagB: string;
|
|
174
|
-
TagAID: string;
|
|
175
|
-
TagBID: string;
|
|
176
|
-
Similarity: number;
|
|
177
|
-
SeverityClass: 'high' | 'moderate';
|
|
178
|
-
/** True when multiple Tag records share the same name (case-insensitive) */
|
|
179
|
-
IsExactDuplicate: boolean;
|
|
180
|
-
/** How many Tag records share this exact name (only set when IsExactDuplicate) */
|
|
181
|
-
ExactDuplicateCount: number;
|
|
182
|
-
/** All Tag IDs sharing the exact name (only set when IsExactDuplicate) */
|
|
183
|
-
AllIDs: string[];
|
|
184
|
-
}
|
|
185
|
-
interface TaxOrphanCard {
|
|
186
|
-
ID: string;
|
|
187
|
-
Name: string;
|
|
188
|
-
UsageCount: number;
|
|
189
|
-
AvgWeight: number;
|
|
190
|
-
FirstSeen: string;
|
|
191
|
-
LastSeen: string;
|
|
192
|
-
IsSelected: boolean;
|
|
193
|
-
}
|
|
194
|
-
interface TaxTreemapCell {
|
|
195
|
-
ID: string;
|
|
196
|
-
Name: string;
|
|
197
|
-
ItemCount: number;
|
|
198
|
-
ColorClass: string;
|
|
199
|
-
RowSpan: number;
|
|
200
|
-
}
|
|
201
|
-
/** Supported audit action types — matches DB Action values (lowercased) */
|
|
202
|
-
type TaxAuditAction = 'created' | 'merged' | 'moved' | 'deleted' | 'renamed' | 'deprecated' | 'descriptionchanged' | 'reactivated' | 'split';
|
|
203
|
-
interface TaxAuditEvent {
|
|
204
|
-
Type: TaxAuditAction;
|
|
205
|
-
Description: string;
|
|
206
|
-
TagRef: string;
|
|
207
|
-
User: string;
|
|
208
|
-
Timestamp: string;
|
|
209
|
-
DayHeader: string;
|
|
210
|
-
}
|
|
211
|
-
interface TaxHealthStat {
|
|
212
|
-
Total: number;
|
|
213
|
-
Healthy: number;
|
|
214
|
-
NeedAttention: number;
|
|
215
|
-
Orphaned: number;
|
|
216
|
-
Duplicates: number;
|
|
217
|
-
}
|
|
218
|
-
interface WeightedTag {
|
|
219
|
-
Tag: string;
|
|
220
|
-
Weight: number;
|
|
221
|
-
}
|
|
222
|
-
/** Status value for embedding or tagging pipeline phases */
|
|
223
|
-
type ItemPipelineStatus = 'Complete' | 'Processing' | 'Failed' | 'Pending';
|
|
224
|
-
interface ContentItemDetail {
|
|
225
|
-
ID: string;
|
|
226
|
-
Name: string;
|
|
227
|
-
SourceName: string;
|
|
228
|
-
SourceTypeName: string;
|
|
229
|
-
ContentTypeName: string;
|
|
230
|
-
FileTypeName: string;
|
|
231
|
-
URL: string;
|
|
232
|
-
TextContent: string;
|
|
233
|
-
Checksum: string;
|
|
234
|
-
Tags: WeightedTag[];
|
|
235
|
-
CreatedAt: string;
|
|
236
|
-
UpdatedAt: string;
|
|
237
|
-
ContentSourceID: string;
|
|
238
|
-
ContentSourceTypeID: string;
|
|
239
|
-
StatusDot: 'complete' | 'processing' | 'error';
|
|
240
|
-
TagCount: number;
|
|
241
|
-
/** Whether this source type uses content/file type (false for Entity sources) */
|
|
242
|
-
RequiresContentType: boolean;
|
|
243
|
-
/** Entity record ID if source is entity type (for direct entity navigation) */
|
|
244
|
-
EntityRecordID: string | null;
|
|
245
|
-
/** Entity name if source is entity type */
|
|
246
|
-
EntityName: string | null;
|
|
247
|
-
/** Embedding pipeline status for this content item */
|
|
248
|
-
EmbeddingStatus: ItemPipelineStatus;
|
|
249
|
-
/** Tagging pipeline status for this content item */
|
|
250
|
-
TaggingStatus: ItemPipelineStatus;
|
|
251
|
-
}
|
|
252
|
-
interface SourceDetailInfo {
|
|
253
|
-
ID: string;
|
|
254
|
-
Name: string;
|
|
255
|
-
SourceTypeName: string;
|
|
256
|
-
FileTypeName: string;
|
|
257
|
-
ContentTypeName: string;
|
|
258
|
-
RequiresFileType: boolean;
|
|
259
|
-
StatusClass: 'active' | 'error' | 'inactive';
|
|
260
|
-
StatusLabel: string;
|
|
261
|
-
Icon: string;
|
|
262
|
-
URL: string;
|
|
263
|
-
EmbeddingModelName: string;
|
|
264
|
-
VectorIndexName: string;
|
|
265
|
-
ItemCount: number;
|
|
266
|
-
TagCount: number;
|
|
267
|
-
AvgTags: string;
|
|
268
|
-
LastRunAgo: string;
|
|
269
|
-
ErrorCount: number;
|
|
270
|
-
ContentItems: ContentItemDetail[];
|
|
271
|
-
RunHistory: RunHistoryRow[];
|
|
272
|
-
}
|
|
273
|
-
type FormMode = 'none' | 'add-source' | 'edit-source' | 'add-type' | 'edit-type';
|
|
274
17
|
export declare class AutotaggingPipelineResourceComponent extends BaseResourceComponent implements AfterViewInit, OnDestroy {
|
|
275
18
|
protected destroy$: Subject<void>;
|
|
276
19
|
private cdr;
|
|
20
|
+
private activityService;
|
|
21
|
+
/** Activity-tracker id for the currently running pipeline (P3). */
|
|
22
|
+
private pipelineActivityID;
|
|
23
|
+
/** Debounced bus of entity names that changed externally; drives targeted reloads. */
|
|
24
|
+
private entityChange$;
|
|
277
25
|
protected navigationService: NavigationService;
|
|
278
26
|
IsLoading: boolean;
|
|
279
27
|
private totalContentItemCount;
|
|
280
28
|
private totalContentTagCount;
|
|
281
|
-
|
|
29
|
+
private totalRunHistoryCount;
|
|
30
|
+
private static readonly CONTENT_ITEMS_PAGE_SIZE;
|
|
31
|
+
private static readonly RUN_HISTORY_PAGE_SIZE;
|
|
32
|
+
/** Current number of `MJ: Content Items` rows loaded into the feed window. */
|
|
33
|
+
private contentItemsPageSize;
|
|
34
|
+
/** Current number of `MJ: Content Process Runs` rows loaded into the history window. */
|
|
35
|
+
private runHistoryWindowSize;
|
|
36
|
+
/** True while a "Load more" fetch is in flight. */
|
|
37
|
+
IsLoadingMoreItems: boolean;
|
|
38
|
+
IsLoadingMoreRuns: boolean;
|
|
39
|
+
private _activeTab;
|
|
40
|
+
/** True once the view exists (after ngAfterViewInit), so the setter can safely run CD. */
|
|
41
|
+
private viewReady;
|
|
42
|
+
/**
|
|
43
|
+
* The active tab. Backed by a setter that, once the view is ready, synchronously
|
|
44
|
+
* flushes change detection whenever the value changes. The left-nav binds
|
|
45
|
+
* `[ActiveId]="ActiveTab"`; mutating this during an async gap in init (e.g. between
|
|
46
|
+
* the await in ngAfterViewInit and the next CD pass) previously surfaced an NG0100
|
|
47
|
+
* (`Previous value: 'pipeline'. Current value: 'sources'`). Flushing in the setter
|
|
48
|
+
* keeps the bound value stable across the check that follows.
|
|
49
|
+
*/
|
|
50
|
+
get ActiveTab(): TabName;
|
|
51
|
+
set ActiveTab(value: TabName);
|
|
282
52
|
private tabDataLoaded;
|
|
53
|
+
/** Live reference to the Tag Library tab (for deep-link + agent-tool search). */
|
|
54
|
+
private tagsTab?;
|
|
283
55
|
NavItems: NavItem[];
|
|
284
56
|
KPIMetrics: KPIMetric[];
|
|
285
57
|
PipelineStages: PipelineStageInfo[];
|
|
286
58
|
FeedItems: FeedItem[];
|
|
287
59
|
SourceMinis: SourceMini[];
|
|
288
60
|
TrendingTags: TagCloudItem[];
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
/** Total pages for the feed */
|
|
301
|
-
get FeedTotalPages(): number;
|
|
302
|
-
/** Handle feed search input change */
|
|
303
|
-
OnFeedSearchChange(): void;
|
|
304
|
-
/** Navigate to previous feed page */
|
|
305
|
-
FeedPrevPage(): void;
|
|
306
|
-
/** Navigate to next feed page */
|
|
307
|
-
FeedNextPage(): void;
|
|
308
|
-
/** Get the index in the original FeedItems array for a paginated item */
|
|
309
|
-
GetFeedItemOriginalIndex(item: FeedItem): number;
|
|
310
|
-
IsRunning: boolean;
|
|
61
|
+
private _isRunning;
|
|
62
|
+
/**
|
|
63
|
+
* True while a classification pipeline run is in flight. Backed by a setter
|
|
64
|
+
* that flushes change detection once the view is ready, so the `[disabled]="IsRunning"`
|
|
65
|
+
* Run button binding stays stable across the check that follows a within-cycle
|
|
66
|
+
* flip (run starting / instantly completing on an empty source) — eliminating
|
|
67
|
+
* the NG0100 (`Previous value: 'true'. Current value: 'false'`). Mirrors the
|
|
68
|
+
* `ActiveTab` setter pattern above.
|
|
69
|
+
*/
|
|
70
|
+
get IsRunning(): boolean;
|
|
71
|
+
set IsRunning(value: boolean);
|
|
311
72
|
IsPaused: boolean;
|
|
312
73
|
RunProgress: number;
|
|
313
74
|
RunStage: string;
|
|
@@ -342,251 +103,71 @@ export declare class AutotaggingPipelineResourceComponent extends BaseResourceCo
|
|
|
342
103
|
TogglePipelineConfig(): void;
|
|
343
104
|
private persistClassifyPreferences;
|
|
344
105
|
private loadClassifyPreferences;
|
|
345
|
-
FormatTokenCount(tokens: number): string;
|
|
346
|
-
SourceCards: SourceCard[];
|
|
347
106
|
ContentDuplicates: ContentDuplicateRow[];
|
|
348
107
|
IsLoadingDuplicates: boolean;
|
|
349
|
-
ContentTypeCards: ContentTypeCard[];
|
|
350
|
-
TagRows: TagRow[];
|
|
351
|
-
TagCloud: TagCloudItem[];
|
|
352
|
-
TagCloudWordItems: WordCloudItem[];
|
|
353
|
-
TagsBySource: TagBySource[];
|
|
354
|
-
TagSearchQuery: string;
|
|
355
|
-
FilteredTagRows: TagRow[];
|
|
356
|
-
SelectedDrillDownTag: string | null;
|
|
357
|
-
TagDrillDownItems: {
|
|
358
|
-
ID: string;
|
|
359
|
-
Name: string;
|
|
360
|
-
SourceName: string;
|
|
361
|
-
Weight: number;
|
|
362
|
-
UpdatedAt: string;
|
|
363
|
-
FeedIndex: number;
|
|
364
|
-
}[];
|
|
365
|
-
RunHistoryRows: RunHistoryRow[];
|
|
366
|
-
HistorySourceFilter: string;
|
|
367
|
-
HistoryStatusFilter: string;
|
|
368
|
-
FilteredRunRows: RunHistoryRow[];
|
|
369
|
-
HistorySourceOptions: string[];
|
|
370
|
-
SelectedRunID: string | null;
|
|
371
|
-
RunDetailRows: RunDetailRow[];
|
|
372
|
-
IsLoadingRunDetail: boolean;
|
|
373
108
|
LiveRunDetailRows: RunDetailRow[];
|
|
374
109
|
IsLoadingLiveDetails: boolean;
|
|
375
|
-
TaxSubTab: TaxonomySubTab;
|
|
376
|
-
TaxTreeNodes: TaxTreeNode[];
|
|
377
|
-
TaxFlatNodes: TaxTreeNode[];
|
|
378
|
-
TaxFilteredNodes: TaxTreeNode[];
|
|
379
|
-
TaxSelectedNode: TaxTreeNode | null;
|
|
380
|
-
TaxTreeSearch: string;
|
|
381
|
-
TaxDuplicates: TaxDuplicatePair[];
|
|
382
|
-
TaxOrphans: TaxOrphanCard[];
|
|
383
|
-
TaxAllOrphansSelected: boolean;
|
|
384
|
-
TaxTreemapCells: TaxTreemapCell[];
|
|
385
|
-
TaxAuditEvents: TaxAuditEvent[];
|
|
386
|
-
TaxAuditFilterTypes: Set<string>;
|
|
387
|
-
TaxHealth: TaxHealthStat;
|
|
388
|
-
TaxRecentItems: {
|
|
389
|
-
Name: string;
|
|
390
|
-
Weight: number;
|
|
391
|
-
Date: string;
|
|
392
|
-
Icon: string;
|
|
393
|
-
}[];
|
|
394
|
-
TaxTreemapKPIs: {
|
|
395
|
-
Label: string;
|
|
396
|
-
Value: string;
|
|
397
|
-
}[];
|
|
398
|
-
TaxIsEditing: boolean;
|
|
399
|
-
ShowCreateTagDialog: boolean;
|
|
400
|
-
CreateTagName: string;
|
|
401
|
-
CreateTagDescription: string;
|
|
402
|
-
CreateTagParentID: string | null;
|
|
403
|
-
/** Label shown in the create dialog to indicate context (e.g., "under AI Agent") */
|
|
404
|
-
CreateTagParentLabel: string;
|
|
405
|
-
TaxMultiSelectMode: boolean;
|
|
406
|
-
TaxSelectedIDs: Set<string>;
|
|
407
|
-
/** The node currently being dragged over (drop target highlight) */
|
|
408
|
-
TaxDragOverNodeID: string | null;
|
|
409
|
-
/** True while a drag-reparent operation is saving */
|
|
410
|
-
TaxTreeSaving: boolean;
|
|
411
|
-
/** Count of high-confidence duplicate pairs (>85% similarity) */
|
|
412
|
-
get TaxHighConfidenceDupeCount(): number;
|
|
413
|
-
/** Count of moderate-confidence duplicate pairs (70-85% similarity) */
|
|
414
|
-
get TaxModerateDupeCount(): number;
|
|
415
|
-
TaxEditName: string;
|
|
416
|
-
TaxEditDescription: string;
|
|
417
|
-
private tagsRaw;
|
|
418
|
-
private taggedItemsRaw;
|
|
419
|
-
private tagAuditLogsRaw;
|
|
420
|
-
/** Cached per-tag aggregates from server-side SQL (weights + counts) */
|
|
421
|
-
private tagAggregateWeights;
|
|
422
|
-
private tagAggregateCounts;
|
|
423
|
-
FormMode: FormMode;
|
|
424
|
-
FormSaving: boolean;
|
|
425
110
|
ShowNoContentTypeWarning: boolean;
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
FormFileTypeID: string;
|
|
430
|
-
FormSourceURL: string;
|
|
431
|
-
EditingSourceID: string;
|
|
432
|
-
FormTypeName: string;
|
|
433
|
-
FormTypeDescription: string;
|
|
434
|
-
FormTypeAIModelID: string;
|
|
435
|
-
FormTypeMinTags: number;
|
|
436
|
-
FormTypeMaxTags: number;
|
|
437
|
-
EditingTypeID: string;
|
|
438
|
-
FormTypeEmbeddingModelID: string;
|
|
439
|
-
FormTypeVectorIndexID: string;
|
|
440
|
-
FormSourceEntityID: string;
|
|
441
|
-
FormSourceEntityDocID: string;
|
|
442
|
-
FormSourceEmbeddingModelID: string;
|
|
443
|
-
FormSourceVectorIndexID: string;
|
|
444
|
-
FormMaxItemsPerRun: number | null;
|
|
445
|
-
FormMaxDepth: number | null;
|
|
446
|
-
FormCrawlSitesInLowerLevelDomain: boolean;
|
|
447
|
-
FormCrawlOtherSitesInTopLevelDomain: boolean;
|
|
448
|
-
/** True when the form's selected source type is Website — gates the crawler knobs. */
|
|
449
|
-
get IsWebsiteSourceTypeSelected(): boolean;
|
|
450
|
-
/** Whether the schedule creation dialog is visible */
|
|
451
|
-
ShowScheduleDialog: boolean;
|
|
452
|
-
/** Whether a schedule save operation is in progress */
|
|
453
|
-
ScheduleSaving: boolean;
|
|
454
|
-
/** Source card currently being scheduled */
|
|
455
|
-
SchedulingSourceCard: SourceCard | null;
|
|
456
|
-
/** Cron expression for the schedule form */
|
|
457
|
-
ScheduleCron: string;
|
|
458
|
-
/** Whether the schedule should be active immediately */
|
|
459
|
-
ScheduleEnabled: boolean;
|
|
460
|
-
/** Whether a generic confirmation overlay is visible */
|
|
461
|
-
ShowConfirmDialog: boolean;
|
|
462
|
-
/** Title text for the confirmation dialog */
|
|
463
|
-
ConfirmDialogTitle: string;
|
|
464
|
-
/** Body message for the confirmation dialog */
|
|
465
|
-
ConfirmDialogMessage: string;
|
|
466
|
-
/** Callback invoked when user confirms */
|
|
467
|
-
private confirmDialogAction;
|
|
468
|
-
/** Whether the split-tag dialog is visible */
|
|
469
|
-
ShowSplitDialog: boolean;
|
|
470
|
-
/** Comma-separated new child tag names for the split operation */
|
|
471
|
-
SplitChildNames: string;
|
|
472
|
-
/** The node currently being split */
|
|
473
|
-
private splitTargetNode;
|
|
474
|
-
/** Whether the move-tag dialog is visible */
|
|
475
|
-
ShowMoveDialog: boolean;
|
|
476
|
-
/** Selected new parent tag ID for the move operation */
|
|
477
|
-
MoveNewParentID: string | null;
|
|
478
|
-
/** The node currently being moved */
|
|
479
|
-
private moveTargetNode;
|
|
480
|
-
ShowMergeIntoDialog: boolean;
|
|
481
|
-
MergeSourceTag: TaxTreeNode | null;
|
|
482
|
-
MergeTargetID: string | null;
|
|
483
|
-
MergeTargetData: {
|
|
484
|
-
ID: string;
|
|
485
|
-
Label: string;
|
|
486
|
-
}[];
|
|
487
|
-
/** Whether the treemap drill-in panel is visible */
|
|
488
|
-
ShowTreemapDrillIn: boolean;
|
|
489
|
-
/** Tag node currently displayed in treemap drill-in */
|
|
490
|
-
TreemapDrillInNode: TaxTreeNode | null;
|
|
111
|
+
/** Live reference to the slide-in CRUD form dialog (driven from tab events). */
|
|
112
|
+
private formDialog?;
|
|
113
|
+
private setupWizard?;
|
|
491
114
|
/** Cached ScheduledAction entities, keyed by normalized ID */
|
|
492
115
|
private scheduledActionsCache;
|
|
493
|
-
/**
|
|
494
|
-
* Whether the currently selected source type is "Entity", which switches
|
|
495
|
-
* the URL field to Entity/EntityDocument pickers.
|
|
496
|
-
*/
|
|
497
|
-
/** Whether the selected source type is the Entity type (name-based check) */
|
|
498
|
-
get IsEntitySourceTypeSelected(): boolean;
|
|
499
|
-
/** Whether the selected source type requires Content Type / File Type selection */
|
|
500
|
-
get SelectedSourceTypeRequiresContentType(): boolean;
|
|
501
|
-
/** Entities that have at least one EntityDocument configured */
|
|
502
|
-
get EntitiesWithDocuments(): {
|
|
503
|
-
ID: string;
|
|
504
|
-
Name: string;
|
|
505
|
-
}[];
|
|
506
|
-
/** Entity documents for the selected entity */
|
|
507
|
-
get EntityDocOptionsForSelectedEntity(): {
|
|
508
|
-
ID: string;
|
|
509
|
-
Name: string;
|
|
510
|
-
}[];
|
|
511
|
-
/** Stores source-type-specific config values keyed by RequiredFields[].Key */
|
|
512
|
-
FormSourceSpecificConfig: Record<string, string>;
|
|
513
|
-
/** Available MJ Storage provider keys for the storage-provider-picker widget */
|
|
514
|
-
StorageProviderOptions: string[];
|
|
515
|
-
/**
|
|
516
|
-
* The RequiredFields array from the selected source type's ConfigurationObject.
|
|
517
|
-
* Drives dynamic form rendering — each field becomes a widget.
|
|
518
|
-
*/
|
|
519
|
-
get SelectedSourceTypeFields(): MJContentSourceTypeEntity_IContentSourceTypeField[];
|
|
520
|
-
/**
|
|
521
|
-
* Get dependent options for a field (e.g., entity-doc-picker depends on entity-picker).
|
|
522
|
-
* Returns entity documents for the entity selected in the dependent field.
|
|
523
|
-
*/
|
|
524
|
-
GetDependentOptions(field: MJContentSourceTypeEntity_IContentSourceTypeField): {
|
|
525
|
-
ID: string;
|
|
526
|
-
Name: string;
|
|
527
|
-
}[];
|
|
528
|
-
/**
|
|
529
|
-
* Handle a source-specific field value change.
|
|
530
|
-
* For entity-picker: auto-select the first entity doc if only one exists.
|
|
531
|
-
*/
|
|
532
|
-
OnSourceFieldChanged(fieldKey: string): void;
|
|
533
116
|
SelectedFeedItem: ContentItemDetail | null;
|
|
534
117
|
ShowItemDetail: boolean;
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
/** Filter content items in source detail by pipeline status */
|
|
539
|
-
SourceDetailStatusFilter: ItemPipelineStatus | 'All';
|
|
540
|
-
/** Available status options for the filter dropdown */
|
|
541
|
-
readonly SourceDetailStatusOptions: (ItemPipelineStatus | 'All')[];
|
|
542
|
-
/** Current page index (0-based) for source detail content list */
|
|
543
|
-
SourceDetailPage: number;
|
|
544
|
-
/** Number of content items per page in source detail */
|
|
545
|
-
readonly SourceDetailPageSize = 10;
|
|
546
|
-
/**
|
|
547
|
-
* Returns source detail content items filtered by SourceDetailStatusFilter,
|
|
548
|
-
* then sliced to the current page.
|
|
549
|
-
*/
|
|
550
|
-
get FilteredSourceDetailItems(): ContentItemDetail[];
|
|
551
|
-
/** Total number of filtered items (before pagination) */
|
|
552
|
-
get FilteredSourceDetailTotal(): number;
|
|
553
|
-
/** Total pages for source detail pagination */
|
|
554
|
-
get SourceDetailTotalPages(): number;
|
|
555
|
-
/** Navigate to the previous page in source detail content list */
|
|
556
|
-
SourceDetailPrevPage(): void;
|
|
557
|
-
/** Navigate to the next page in source detail content list */
|
|
558
|
-
SourceDetailNextPage(): void;
|
|
559
|
-
/** Handle change of the source detail status filter dropdown */
|
|
560
|
-
OnSourceDetailStatusFilterChange(): void;
|
|
561
|
-
/**
|
|
562
|
-
* D4: Placeholder handler for retrying failed items in source detail.
|
|
563
|
-
* Re-runs the pipeline for the current source. In the future this could
|
|
564
|
-
* target only Failed items.
|
|
565
|
-
*/
|
|
566
|
-
RetryFailedItems(): void;
|
|
567
|
-
/** Returns the CSS class for a pipeline status badge color */
|
|
568
|
-
GetStatusBadgeClass(status: ItemPipelineStatus): string;
|
|
569
|
-
SourceTypeOptions: DropdownOption[];
|
|
570
|
-
ContentTypeOptions: DropdownOption[];
|
|
571
|
-
FileTypeOptions: DropdownOption[];
|
|
572
|
-
AIModelOptions: DropdownOption[];
|
|
573
|
-
EmbeddingModelOptions: DropdownOption[];
|
|
574
|
-
VectorIndexOptions: DropdownOption[];
|
|
575
|
-
AIModelVendorBranch: TreeBranchConfig;
|
|
576
|
-
AllModelsLeaf: TreeLeafConfig;
|
|
577
|
-
/** Branch config filtered to only vendors that have at least one embedding model */
|
|
578
|
-
EmbeddingVendorBranch: TreeBranchConfig;
|
|
579
|
-
EmbeddingModelsLeaf: TreeLeafConfig;
|
|
118
|
+
/** ID of the content item shown in the drilldown slide-in, or null when closed. */
|
|
119
|
+
DrilldownItemID: string | null;
|
|
120
|
+
ShowItemDrilldown: boolean;
|
|
580
121
|
private contentSourcesRaw;
|
|
581
122
|
private contentItemsRaw;
|
|
582
123
|
private contentTagsRaw;
|
|
583
124
|
private contentRunsRaw;
|
|
125
|
+
/** Exposes the raw run rows to the Run History tab component via `[Runs]`. */
|
|
126
|
+
get ContentRunsRaw(): Record<string, unknown>[];
|
|
584
127
|
private contentSourceTypesRaw;
|
|
585
128
|
private contentTypesRaw;
|
|
586
129
|
private contentFileTypesRaw;
|
|
587
130
|
private aiModelsRaw;
|
|
131
|
+
/** Exposes raw content types to the Content Types tab via `[ContentTypes]`. */
|
|
132
|
+
get ContentTypesRaw(): Record<string, unknown>[];
|
|
133
|
+
/** Exposes raw content sources to the Content Types tab via `[Sources]`. */
|
|
134
|
+
get ContentSourcesRaw(): Record<string, unknown>[];
|
|
135
|
+
/** Exposes raw content items to the Content Types / Tag Library tabs via `[Items]`/`[ContentItems]`. */
|
|
136
|
+
get ContentItemsRaw(): Record<string, unknown>[];
|
|
137
|
+
/** Exposes raw content item tags to the Tag Library tab via `[ContentTags]`. */
|
|
138
|
+
get ContentTagsRaw(): Record<string, unknown>[];
|
|
139
|
+
/** Exposes the accurate total item count to the Content Types / Sources tabs via `[TotalItemCount]`. */
|
|
140
|
+
get TotalContentItemCount(): number;
|
|
141
|
+
/** Exposes the accurate total tag count to the Sources tab via `[TotalTagCount]`. */
|
|
142
|
+
get TotalContentTagCount(): number;
|
|
143
|
+
/** Exposes the accurate total run-history count to the Run History tab via `[TotalRunCount]`. */
|
|
144
|
+
get TotalRunHistoryCount(): number;
|
|
145
|
+
/** Exposes the cached ScheduledAction entities to the Sources tab via `[ScheduledActions]`. */
|
|
146
|
+
get ScheduledActionsCache(): Map<string, MJScheduledActionEntity>;
|
|
147
|
+
/** Exposes the EntityRecordDocument ID→RecordID cache to the Sources tab via `[EntityRecordDocCache]`. */
|
|
148
|
+
get EntityRecordDocCacheMap(): Map<string, string>;
|
|
149
|
+
/**
|
|
150
|
+
* Reload the shared source list after the Sources tab mutates a source
|
|
151
|
+
* (delete / schedule change). Rebinding `contentSourcesRaw` flows through the
|
|
152
|
+
* tab's `[Sources]` input setter, which rebuilds its cards.
|
|
153
|
+
*/
|
|
154
|
+
OnSourcesDataChanged(): Promise<void>;
|
|
155
|
+
/**
|
|
156
|
+
* Hook for the Taxonomy tab's `(DataChanged)` output. The taxonomy tab owns
|
|
157
|
+
* and reloads its own data; the host has no shared taxonomy surface to
|
|
158
|
+
* refresh today, so this is a no-op placeholder kept for future cross-tab wiring.
|
|
159
|
+
*/
|
|
160
|
+
OnTaxonomyDataChanged(): void;
|
|
588
161
|
private static readonly PREFS_KEY;
|
|
589
162
|
private static readonly VALID_TABS;
|
|
163
|
+
/** Lightweight count of Pending tag suggestions for the Inbox nav badge. */
|
|
164
|
+
InboxPendingCount: number;
|
|
165
|
+
/** Lightweight count of Pending health-signal suggestions for the Health nav badge. */
|
|
166
|
+
HealthPendingCount: number;
|
|
167
|
+
/** Live reference to the Suggestions Inbox tab (for refresh after host actions). */
|
|
168
|
+
private inboxTab?;
|
|
169
|
+
/** Live reference to the Tag Health tab (for refresh after host actions). */
|
|
170
|
+
private healthTab?;
|
|
590
171
|
ngAfterViewInit(): Promise<void>;
|
|
591
172
|
/**
|
|
592
173
|
* D9: Read incoming configuration from ResourceData (e.g. from Analytics tag navigation).
|
|
@@ -594,32 +175,90 @@ export declare class AutotaggingPipelineResourceComponent extends BaseResourceCo
|
|
|
594
175
|
*/
|
|
595
176
|
private applyIncomingConfiguration;
|
|
596
177
|
/**
|
|
597
|
-
*
|
|
598
|
-
*
|
|
178
|
+
* Tag browsing/search now lives on the dedicated Tags surface, so the Classify
|
|
179
|
+
* cockpit no longer hosts a `tagSearch` deep-link target. Kept as a no-op to
|
|
180
|
+
* preserve the call site. (Re-targeting Analytics' tag drill-down to the Tags
|
|
181
|
+
* surface is a tracked follow-up.)
|
|
599
182
|
*/
|
|
600
183
|
private handleInitialTagSearch;
|
|
601
184
|
ngOnDestroy(): void;
|
|
185
|
+
/** Lowercased names of the entities whose external changes should refresh this dashboard. */
|
|
186
|
+
private static readonly REACTIVE_ENTITIES;
|
|
187
|
+
/**
|
|
188
|
+
* Lightweight reactivity: listen for BaseEntity save/delete/remote-invalidate
|
|
189
|
+
* events on the entities this dashboard renders, debounce them (~300ms to
|
|
190
|
+
* coalesce bursts), and re-call the matching host load method. Reloads never
|
|
191
|
+
* call Save(), so this cannot create a reload loop.
|
|
192
|
+
*/
|
|
193
|
+
private subscribeToEntityChanges;
|
|
194
|
+
/** Re-run the host load method(s) affected by an external change to `entityName`. */
|
|
195
|
+
private reloadForEntity;
|
|
602
196
|
/** Report current classify dashboard state to the agent */
|
|
603
197
|
private emitAgentContext;
|
|
604
198
|
/** Register client tools the agent can invoke on the Classify dashboard */
|
|
605
199
|
private registerAgentTools;
|
|
606
200
|
GetResourceDisplayName(_data: ResourceData): Promise<string>;
|
|
607
201
|
GetResourceIconClass(_data: ResourceData): Promise<string>;
|
|
202
|
+
/** Memoized backing store + input signature for {@link navSections}. */
|
|
203
|
+
private _navSections;
|
|
204
|
+
private _navSectionsSignature;
|
|
608
205
|
/**
|
|
609
206
|
* Wraps `NavItems` for `<mj-left-nav>`. Hardcoded "Run History" item goes
|
|
610
207
|
* into a second `MJLeftNavSection` — the rail's natural section break
|
|
611
208
|
* replaces the bespoke `.at-nav-divider` line.
|
|
209
|
+
*
|
|
210
|
+
* Memoized: the array (and its element objects) are rebuilt only when one of
|
|
211
|
+
* the inputs actually changes. Returning a fresh array on every change-detection
|
|
212
|
+
* pass made `<mj-left-nav>` see a new `[Sections]` reference each cycle, which
|
|
213
|
+
* triggered `ExpressionChangedAfterItHasBeenCheckedError` (NG0100) during rapid
|
|
214
|
+
* tab switching (badge counts / IsRunning resolving mid-CD-cycle). A stable
|
|
215
|
+
* reference until inputs change eliminates that.
|
|
612
216
|
*/
|
|
613
217
|
get navSections(): MJLeftNavSection[];
|
|
218
|
+
/** Cheap stable fingerprint of every value that feeds {@link buildNavSections}. */
|
|
219
|
+
private computeNavSectionsSignature;
|
|
220
|
+
/** Constructs the left-nav section model from current state (see {@link navSections}). */
|
|
221
|
+
private buildNavSections;
|
|
222
|
+
/**
|
|
223
|
+
* Loads a lightweight count of Pending tag suggestions for the Inbox nav badge
|
|
224
|
+
* so the badge shows even before the Inbox tab is first opened. Mirrors the
|
|
225
|
+
* Inbox tab's default scope: excludes the 3 Health-owned reasons
|
|
226
|
+
* (MergeCandidate / LowUsage / WideNode).
|
|
227
|
+
*/
|
|
228
|
+
private loadInboxPendingCount;
|
|
229
|
+
/**
|
|
230
|
+
* Fired by the Inbox tab after a suggestion is approved/merged/rejected.
|
|
231
|
+
* Refreshes the nav badge count.
|
|
232
|
+
*/
|
|
233
|
+
onInboxResolved(): Promise<void>;
|
|
234
|
+
/**
|
|
235
|
+
* Loads a lightweight count of Pending health-signal suggestions for the
|
|
236
|
+
* Health nav badge — the 3 reasons the Inbox excludes (MergeCandidate /
|
|
237
|
+
* LowUsage / WideNode), which the Tag Health tab owns.
|
|
238
|
+
*/
|
|
239
|
+
private loadHealthPendingCount;
|
|
240
|
+
/**
|
|
241
|
+
* Fired by the Health tab after a merge/deprecate/dismiss. Refreshes the
|
|
242
|
+
* Health nav badge count.
|
|
243
|
+
*/
|
|
244
|
+
onHealthResolved(): Promise<void>;
|
|
245
|
+
/**
|
|
246
|
+
* Fired by the Health tab's "Review in Taxonomy" action with a tag ID. The
|
|
247
|
+
* Taxonomy tab has no public select-tag input today, so this simply switches
|
|
248
|
+
* to it; selecting the specific node is a future enhancement.
|
|
249
|
+
*/
|
|
250
|
+
onOpenInTaxonomyRequested(_tagID: string): void;
|
|
614
251
|
/** Adapter for `<mj-left-nav>`'s `(ItemClicked)` output. */
|
|
615
252
|
onNavItemClicked(item: MJLeftNavItem): void;
|
|
616
|
-
/** Title rendered in the per-section `<mj-page-header-interior>`. */
|
|
617
|
-
get currentTabTitle(): string;
|
|
618
|
-
/** Subtitle rendered in the per-section `<mj-page-header-interior>`. */
|
|
619
|
-
get currentTabSubtitle(): string;
|
|
620
253
|
SwitchTab(tab: TabName): Promise<void>;
|
|
621
254
|
private loadTabData;
|
|
622
255
|
LoadPipelineData(): Promise<void>;
|
|
256
|
+
/**
|
|
257
|
+
* Widen the loaded content-item window by one page and reload, so the user can
|
|
258
|
+
* see items previously truncated by the MaxRows cap. Wired to the pipeline
|
|
259
|
+
* tab's `(LoadMoreItemsRequested)`.
|
|
260
|
+
*/
|
|
261
|
+
LoadMoreContentItems(): Promise<void>;
|
|
623
262
|
private buildNavItems;
|
|
624
263
|
private buildKPIMetrics;
|
|
625
264
|
private buildPipelineStages;
|
|
@@ -637,122 +276,77 @@ export declare class AutotaggingPipelineResourceComponent extends BaseResourceCo
|
|
|
637
276
|
*/
|
|
638
277
|
private computeTrendingFromTags;
|
|
639
278
|
private loadSourcesData;
|
|
640
|
-
private buildSourceCards;
|
|
641
|
-
/** Resolve the entity record ID from the EntityRecordDocument for entity-sourced content items */
|
|
642
|
-
private resolveEntityRecordID;
|
|
643
|
-
/** Resolve the entity name for an entity-sourced content source */
|
|
644
|
-
private resolveEntityName;
|
|
645
279
|
/** Check if a source type's Configuration says RequiresFileType !== false */
|
|
646
280
|
private sourceTypeRequiresFileType;
|
|
647
281
|
private loadContentTypesData;
|
|
648
|
-
private buildContentTypeCards;
|
|
649
282
|
private loadTagLibraryData;
|
|
650
|
-
private buildTagRows;
|
|
651
|
-
private buildTagCloud;
|
|
652
|
-
private buildTagsBySource;
|
|
653
|
-
/** Convert a string ID to a CompositeKey for tree-dropdown binding */
|
|
654
|
-
ToCompositeKey(id: string | null | undefined): CompositeKey | null;
|
|
655
|
-
/** Extract the ID string from a CompositeKey (from tree-dropdown ValueChange) */
|
|
656
|
-
FromCompositeKey(key: CompositeKey | CompositeKey[] | null): string;
|
|
657
|
-
FilterTags(): void;
|
|
658
|
-
/** Drill down into content items matching a specific tag */
|
|
659
|
-
DrillDownTag(tagName: string): void;
|
|
660
|
-
CloseDrillDownTag(): void;
|
|
661
283
|
private loadRunHistoryData;
|
|
662
|
-
private buildRunHistoryRows;
|
|
663
|
-
private buildHistorySourceOptions;
|
|
664
|
-
FilterRunHistory(): void;
|
|
665
|
-
/**
|
|
666
|
-
* Filter fields for the Run History section, rendered inside an
|
|
667
|
-
* `<mj-filter-popover>` (Section 3 decision tree: many values, single-select
|
|
668
|
-
* → popover with dropdown).
|
|
669
|
-
*/
|
|
670
|
-
get historyFilterFields(): FilterFieldConfig[];
|
|
671
|
-
get historyFilterValues(): Record<string, unknown>;
|
|
672
|
-
get historyActiveFilterCount(): number;
|
|
673
|
-
onHistoryFilterChange(values: Record<string, unknown>): void;
|
|
674
|
-
onHistoryFilterReset(): void;
|
|
675
284
|
/**
|
|
676
|
-
*
|
|
285
|
+
* Host handler for the Run History tab's `(RefreshRequested)` output. Forces a
|
|
286
|
+
* reload of `MJ: Content Process Runs`; the new array re-binds via `[Runs]`,
|
|
287
|
+
* which rebuilds the tab's rows and clears its loading state.
|
|
677
288
|
*/
|
|
678
|
-
|
|
679
|
-
/** D3/D8: Close the run detail slide-in */
|
|
680
|
-
CloseRunDetail(): void;
|
|
289
|
+
ReloadRunHistory(): Promise<void>;
|
|
681
290
|
/**
|
|
682
|
-
*
|
|
291
|
+
* Host handler for the Run History tab's `(LoadMoreRequested)` output. Widens
|
|
292
|
+
* the loaded window by one page and reloads, so the user can see the runs that
|
|
293
|
+
* were previously truncated. The new array re-binds via `[Runs]`.
|
|
683
294
|
*/
|
|
684
|
-
|
|
295
|
+
LoadMoreRunHistory(): Promise<void>;
|
|
685
296
|
/**
|
|
686
297
|
* D2: Load live per-source progress for the currently running pipeline.
|
|
687
298
|
* Called when the pipeline is actively running.
|
|
688
299
|
*/
|
|
689
300
|
LoadLiveRunDetails(): Promise<void>;
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
/**
|
|
711
|
-
|
|
712
|
-
/**
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
*
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
private getScheduledActionCron;
|
|
301
|
+
OpenAddSourceForm(): void;
|
|
302
|
+
/** Open the guided setup wizard (empty-state CTA + "Add Source (Guided)"). */
|
|
303
|
+
OpenSetupWizard(): void;
|
|
304
|
+
/** Show the guided onboarding checklist until content has been classified. */
|
|
305
|
+
get ShowOnboarding(): boolean;
|
|
306
|
+
/** Whether the onboarding card has been dismissed this session. */
|
|
307
|
+
OnboardingDismissed: boolean;
|
|
308
|
+
/** Steps for the first-run onboarding checklist, with live completion state. */
|
|
309
|
+
get OnboardingSteps(): Array<{
|
|
310
|
+
N: number;
|
|
311
|
+
Title: string;
|
|
312
|
+
Desc: string;
|
|
313
|
+
Done: boolean;
|
|
314
|
+
Action: 'add' | 'run' | '';
|
|
315
|
+
Cta: string;
|
|
316
|
+
}>;
|
|
317
|
+
/** Index of the first incomplete step (the "active" one). */
|
|
318
|
+
get OnboardingActiveStep(): number;
|
|
319
|
+
/** Handle an onboarding step CTA. */
|
|
320
|
+
OnOnboardingAction(action: 'add' | 'run' | 'seed'): void;
|
|
321
|
+
/** Dismiss the onboarding card (until next load / still empty). */
|
|
322
|
+
DismissOnboarding(): void;
|
|
323
|
+
/** After the wizard creates a source, reload the shared source list. */
|
|
324
|
+
onWizardCreated(_event: {
|
|
325
|
+
SourceID: string;
|
|
326
|
+
}): Promise<void>;
|
|
327
|
+
OpenEditSourceForm(card: SourceCard): void;
|
|
328
|
+
OpenAddTypeForm(): void;
|
|
329
|
+
OpenEditTypeForm(card: ContentTypeCard): void;
|
|
330
|
+
/**
|
|
331
|
+
* Reload the relevant shared data after the slide-in form saves. The form
|
|
332
|
+
* dialog closes itself; the host only re-pulls the cards' source data.
|
|
333
|
+
*/
|
|
334
|
+
onFormSaved(event: {
|
|
335
|
+
kind: 'source' | 'type';
|
|
336
|
+
}): Promise<void>;
|
|
337
|
+
/**
|
|
338
|
+
* The form dialog's "Open advanced settings" link bubbles up here so the host
|
|
339
|
+
* (which owns NavigationService) can open the full entity form.
|
|
340
|
+
*/
|
|
341
|
+
onFormNavigateToRecord(event: {
|
|
342
|
+
entityName: string;
|
|
343
|
+
key: CompositeKey;
|
|
344
|
+
}): Promise<void>;
|
|
735
345
|
/**
|
|
736
346
|
* Loads ScheduledAction entities referenced by content sources into the local cache.
|
|
737
347
|
* Called during initial data load so cron descriptions are available for card rendering.
|
|
738
348
|
*/
|
|
739
349
|
private loadScheduledActionsForSources;
|
|
740
|
-
/** Finds the Action ID for "Autotag and Vectorize Content" by querying actions */
|
|
741
|
-
private findAutotagActionID;
|
|
742
|
-
/**
|
|
743
|
-
* Creates a ScheduledActionParam that passes the source ID to the action.
|
|
744
|
-
* Looks up the "EntityNames" action param and sets the source ID as its value.
|
|
745
|
-
*/
|
|
746
|
-
private createSourceIDParam;
|
|
747
|
-
/**
|
|
748
|
-
* Links (or unlinks) a ScheduledAction to a ContentSource by updating
|
|
749
|
-
* the ContentSource.ScheduledActionID field.
|
|
750
|
-
*/
|
|
751
|
-
private linkScheduleToSource;
|
|
752
|
-
OpenAddTypeForm(): Promise<void>;
|
|
753
|
-
OpenEditTypeForm(card: ContentTypeCard): Promise<void>;
|
|
754
|
-
SaveContentType(): Promise<void>;
|
|
755
|
-
CloseForm(): void;
|
|
756
350
|
/**
|
|
757
351
|
* Run the pipeline for a specific content source only.
|
|
758
352
|
*/
|
|
@@ -777,31 +371,9 @@ export declare class AutotaggingPipelineResourceComponent extends BaseResourceCo
|
|
|
777
371
|
private countTagsByItem;
|
|
778
372
|
private getTopTagsForItem;
|
|
779
373
|
private countItemsBySource;
|
|
780
|
-
private countTagsBySource;
|
|
781
|
-
private getLastRunBySource;
|
|
782
|
-
private countAllTags;
|
|
783
|
-
/** Compute average weight per tag across all occurrences */
|
|
784
|
-
private computeAvgWeights;
|
|
785
|
-
private getTopSourcePerTag;
|
|
786
|
-
private getFirstSeenPerTag;
|
|
787
|
-
private countSourcesByContentType;
|
|
788
|
-
private countItemsByContentType;
|
|
789
374
|
private inferItemStatus;
|
|
790
375
|
formatRelativeTime(dateStr: string | null | undefined): string;
|
|
791
|
-
formatNumber(n: number): string;
|
|
792
|
-
/** Returns font size in rem for a tag based on its weight (0.0-1.0). Range: 0.7rem to 1.0rem */
|
|
793
|
-
TagFontSize(weight: number): string;
|
|
794
|
-
/** Format weight as percentage for display in tag chip */
|
|
795
|
-
FormatWeight(weight: number): string;
|
|
796
|
-
private formatShortDate;
|
|
797
|
-
private formatDate;
|
|
798
|
-
private computeDuration;
|
|
799
|
-
private displayStatus;
|
|
800
|
-
GetSourceTypeIcon(typeName: string): string;
|
|
801
376
|
private ensureBaseDataLoaded;
|
|
802
|
-
private ensureFormDropdownsLoaded;
|
|
803
|
-
private resetSourceForm;
|
|
804
|
-
private resetTypeForm;
|
|
805
377
|
private refreshSourcesTab;
|
|
806
378
|
private refreshContentTypesTab;
|
|
807
379
|
OpenFeedItemDetail(index: number): void;
|
|
@@ -809,6 +381,17 @@ export declare class AutotaggingPipelineResourceComponent extends BaseResourceCo
|
|
|
809
381
|
/** Open content item detail slide-in by content item ID (used from tag drill-down) */
|
|
810
382
|
OpenItemDetailByID(contentItemID: string): void;
|
|
811
383
|
CloseItemDetail(): void;
|
|
384
|
+
/** Open the audit/analytics drilldown slide-in for a content item. */
|
|
385
|
+
OpenItemDrilldown(itemID: string): void;
|
|
386
|
+
CloseItemDrilldown(): void;
|
|
387
|
+
/**
|
|
388
|
+
* Handle a record-open intent bubbled up from the drilldown (item record,
|
|
389
|
+
* source, prompt run, entity record document). The host owns NavigationService.
|
|
390
|
+
*/
|
|
391
|
+
OpenDrilldownRecord(event: {
|
|
392
|
+
entityName: string;
|
|
393
|
+
recordID: string;
|
|
394
|
+
}): void;
|
|
812
395
|
OpenRecordFromItem(item: ContentItemDetail): void;
|
|
813
396
|
/** Cache: EntityRecordDocument ID → RecordID */
|
|
814
397
|
private entityRecordDocCache;
|
|
@@ -823,215 +406,6 @@ export declare class AutotaggingPipelineResourceComponent extends BaseResourceCo
|
|
|
823
406
|
private inferPipelineStatuses;
|
|
824
407
|
/** Map a raw status string to the ItemPipelineStatus union */
|
|
825
408
|
private mapStatusString;
|
|
826
|
-
OpenSourceDetail(card: SourceCard): Promise<void>;
|
|
827
|
-
CloseSourceDetail(): void;
|
|
828
|
-
OpenRecordFromSource(source: SourceDetailInfo): void;
|
|
829
|
-
OpenEditSourceFromDetail(): void;
|
|
830
|
-
RunSourceFromDetail(): Promise<void>;
|
|
831
|
-
DeleteSourceFromDetail(): Promise<void>;
|
|
832
|
-
private loadContentItemsForSource;
|
|
833
|
-
private loadRunHistoryForSource;
|
|
834
|
-
private resolveEmbeddingModelName;
|
|
835
|
-
private resolveVectorIndexName;
|
|
836
|
-
/** Taxonomy sub-tabs as `TabConfig[]` for `<mj-tab-nav>`. */
|
|
837
|
-
get taxSubTabsConfig(): TabConfig[];
|
|
838
|
-
/** Adapter for `<mj-tab-nav>`'s string-typed `(TabChange)` output. */
|
|
839
|
-
onTaxSubTabChange(key: string): void;
|
|
840
|
-
SwitchTaxSubTab(sub: TaxonomySubTab): void;
|
|
841
|
-
/**
|
|
842
|
-
* Loads all data needed by the Taxonomy Governance sub-tabs:
|
|
843
|
-
* Tags, Tagged Items, Tag Audit Logs, and cross-references content item tags.
|
|
844
|
-
*/
|
|
845
|
-
private loadTaxonomyData;
|
|
846
|
-
/**
|
|
847
|
-
* Builds the taxonomy tree from raw tag data, wiring up parent-child
|
|
848
|
-
* relationships and attaching item counts and average weights.
|
|
849
|
-
*/
|
|
850
|
-
private buildTaxTree;
|
|
851
|
-
private computeTreeDepths;
|
|
852
|
-
private propagateItemCounts;
|
|
853
|
-
private sortTreeNodes;
|
|
854
|
-
private flattenTree;
|
|
855
|
-
private computeTagHealth;
|
|
856
|
-
/**
|
|
857
|
-
* Counts the number of items referencing each tag, combining both
|
|
858
|
-
* Tagged Items and Content Item Tags. Uses NormalizeUUID for
|
|
859
|
-
* cross-platform UUID case consistency.
|
|
860
|
-
*/
|
|
861
|
-
private countItemsByTag;
|
|
862
|
-
/**
|
|
863
|
-
* Loads per-tag average weights and item counts via a server-side SQL aggregation.
|
|
864
|
-
* This avoids loading all 17K+ TaggedItem rows to the browser.
|
|
865
|
-
*/
|
|
866
|
-
/**
|
|
867
|
-
* Loads per-tag average weights and item counts via the "Tag Aggregates" saved query.
|
|
868
|
-
* This runs a SQL GROUP BY on the server, avoiding loading 17K+ TaggedItem rows to the browser.
|
|
869
|
-
*/
|
|
870
|
-
private loadTagAggregates;
|
|
871
|
-
ToggleTaxNode(node: TaxTreeNode): void;
|
|
872
|
-
SelectTaxNode(node: TaxTreeNode): void;
|
|
873
|
-
FilterTaxTree(): void;
|
|
874
|
-
private applyTaxTreeFilter;
|
|
875
|
-
GetTaxBreadcrumb(node: TaxTreeNode): {
|
|
876
|
-
ID: string;
|
|
877
|
-
Name: string;
|
|
878
|
-
}[];
|
|
879
|
-
NavigateToBreadcrumb(tagId: string): void;
|
|
880
|
-
private loadRecentItemsForTag;
|
|
881
|
-
StartEditTag(): void;
|
|
882
|
-
CancelEditTag(): void;
|
|
883
|
-
SaveEditTag(): Promise<void>;
|
|
884
|
-
MoveTag(node: TaxTreeNode, newParentId: string | null): Promise<void>;
|
|
885
|
-
DeleteTag(node: TaxTreeNode): void;
|
|
886
|
-
/** Open create tag dialog for a root-level tag */
|
|
887
|
-
OpenCreateRootTag(): void;
|
|
888
|
-
/** Open create tag dialog as child of the selected node */
|
|
889
|
-
OpenCreateChildTag(): void;
|
|
890
|
-
/** Open create tag dialog as child of a specific node */
|
|
891
|
-
OpenCreateChildTagFor(node: TaxTreeNode): void;
|
|
892
|
-
/** Close create tag dialog */
|
|
893
|
-
CloseCreateTagDialog(): void;
|
|
894
|
-
/** Save the new tag */
|
|
895
|
-
SaveNewTag(): Promise<void>;
|
|
896
|
-
/** Toggle multi-select mode on/off */
|
|
897
|
-
ToggleMultiSelectMode(): void;
|
|
898
|
-
/** Toggle a node's selection in multi-select mode */
|
|
899
|
-
ToggleNodeSelection(node: TaxTreeNode, event: Event): void;
|
|
900
|
-
/** Check if a node is selected in multi-select mode */
|
|
901
|
-
IsNodeMultiSelected(nodeID: string): boolean;
|
|
902
|
-
/** Handle drag start on a tree node */
|
|
903
|
-
OnTreeNodeDragStart(event: DragEvent, node: TaxTreeNode): void;
|
|
904
|
-
/** Handle drag over a tree node (drop target) */
|
|
905
|
-
OnTreeNodeDragOver(event: DragEvent, node: TaxTreeNode): void;
|
|
906
|
-
/** Handle drag leave */
|
|
907
|
-
OnTreeNodeDragLeave(): void;
|
|
908
|
-
/** Handle drop — reparent dragged node(s) under the drop target */
|
|
909
|
-
OnTreeNodeDrop(event: DragEvent, targetNode: TaxTreeNode): Promise<void>;
|
|
910
|
-
/** Handle drop on the "Root" drop zone (make root-level) */
|
|
911
|
-
OnDropToRoot(event: DragEvent): Promise<void>;
|
|
912
|
-
IsMerging: boolean;
|
|
913
|
-
MergeTags(sourceTagId: string, targetTagId: string, sourceName: string, targetName: string): Promise<void>;
|
|
914
|
-
MakeChildTag(childTagId: string, parentTagId: string): Promise<void>;
|
|
915
|
-
DismissDuplicate(pair: TaxDuplicatePair): void;
|
|
916
|
-
private buildTaxDuplicates;
|
|
917
|
-
/** Group tags by case-insensitive name, returning only groups with 2+ members */
|
|
918
|
-
private groupExactNameDuplicates;
|
|
919
|
-
/**
|
|
920
|
-
* Enhanced string similarity: separator normalization, abbreviation,
|
|
921
|
-
* pluralization, token-overlap Jaccard, containment, and Levenshtein.
|
|
922
|
-
* Returns the highest score among all heuristics.
|
|
923
|
-
*/
|
|
924
|
-
private computeStringSimilarity;
|
|
925
|
-
/** Scores simple English pluralization differences */
|
|
926
|
-
private computePluralizationScore;
|
|
927
|
-
/** Jaccard similarity on word tokens */
|
|
928
|
-
private computeTokenJaccardSimilarity;
|
|
929
|
-
private isAbbreviationOf;
|
|
930
|
-
private levenshteinDistance;
|
|
931
|
-
/**
|
|
932
|
-
* Finds orphan tags: no parent, no children, and zero usage.
|
|
933
|
-
* A tag with even 1 connection is not orphaned — it's just a leaf.
|
|
934
|
-
* Uses NormalizeUUID for consistent cross-platform UUID comparisons.
|
|
935
|
-
*/
|
|
936
|
-
private buildTaxOrphans;
|
|
937
|
-
ToggleOrphanSelection(orphan: TaxOrphanCard): void;
|
|
938
|
-
ToggleAllOrphans(): void;
|
|
939
|
-
/**
|
|
940
|
-
* Clean up TagCoOccurrence records that reference a tag before deleting it.
|
|
941
|
-
* Without this, the FK constraint on TagCoOccurrence blocks the delete.
|
|
942
|
-
*/
|
|
943
|
-
private cleanupTagReferences;
|
|
944
|
-
DeleteOrphan(orphan: TaxOrphanCard): void;
|
|
945
|
-
BulkDeleteOrphans(): void;
|
|
946
|
-
/** Delete all orphan tags at once with a styled confirmation dialog */
|
|
947
|
-
DeleteAllOrphans(): void;
|
|
948
|
-
private buildTaxTreemap;
|
|
949
|
-
/**
|
|
950
|
-
* Builds the audit timeline from the MJ: Tag Audit Logs entity.
|
|
951
|
-
* Falls back to synthesizing "created" events from tag creation dates
|
|
952
|
-
* if no real audit log records exist yet.
|
|
953
|
-
*/
|
|
954
|
-
private buildTaxAuditLog;
|
|
955
|
-
/**
|
|
956
|
-
* Maps real Tag Audit Log records into TaxAuditEvent objects.
|
|
957
|
-
* Uses the view's denormalized Tag, PerformedByUser, and RelatedTag fields.
|
|
958
|
-
*/
|
|
959
|
-
private buildAuditEventsFromLogs;
|
|
960
|
-
/**
|
|
961
|
-
* Synthesizes audit events from tag __mj_CreatedAt dates when no
|
|
962
|
-
* real audit log records exist. Used as a fallback only.
|
|
963
|
-
*/
|
|
964
|
-
private synthesizeAuditEventsFromTags;
|
|
965
|
-
/**
|
|
966
|
-
* Maps a PascalCase DB Action value (e.g. "Renamed") to the lowercase
|
|
967
|
-
* TaxAuditAction type used in the UI. Returns null for unrecognized values.
|
|
968
|
-
*/
|
|
969
|
-
private mapAuditActionToType;
|
|
970
|
-
/**
|
|
971
|
-
* Safely parses the JSON Details column from a Tag Audit Log record.
|
|
972
|
-
* Returns an empty object on parse failure.
|
|
973
|
-
*/
|
|
974
|
-
private parseAuditDetails;
|
|
975
|
-
/**
|
|
976
|
-
* Builds a human-readable description for an audit event based on the
|
|
977
|
-
* action type and any additional context from the related tag or details JSON.
|
|
978
|
-
*/
|
|
979
|
-
private buildAuditDescription;
|
|
980
|
-
/**
|
|
981
|
-
* Adds a local-only audit entry to the top of the timeline for
|
|
982
|
-
* immediate UI feedback after a user action (merge, delete, etc.).
|
|
983
|
-
*/
|
|
984
|
-
private addTaxAuditEntry;
|
|
985
|
-
ToggleTaxAuditFilter(type: string): void;
|
|
986
|
-
GetFilteredAuditEvents(): TaxAuditEvent[];
|
|
987
|
-
private formatDayHeader;
|
|
988
|
-
private buildTaxHealth;
|
|
989
|
-
/** Returns the Font Awesome icon class for an audit event action type. */
|
|
990
|
-
GetTaxAuditIcon(type: string): string;
|
|
991
|
-
/** Opens a styled confirmation dialog, replacing browser `confirm()`. */
|
|
992
|
-
OpenConfirmDialog(title: string, message: string, action: () => Promise<void>): void;
|
|
993
|
-
/** User confirmed the dialog action */
|
|
994
|
-
ConfirmDialogAccept(): Promise<void>;
|
|
995
|
-
/** User cancelled the confirmation dialog */
|
|
996
|
-
ConfirmDialogCancel(): void;
|
|
997
|
-
/** Opens the split-tag dialog for a given tree node */
|
|
998
|
-
OpenSplitDialog(node: TaxTreeNode): void;
|
|
999
|
-
/** Closes the split-tag dialog without action */
|
|
1000
|
-
CloseSplitDialog(): void;
|
|
1001
|
-
/** Executes the split operation, creating child tags from comma-separated names */
|
|
1002
|
-
ExecuteSplit(): Promise<void>;
|
|
1003
|
-
/** Opens the move-tag dialog for a given tree node */
|
|
1004
|
-
OpenMoveDialog(node: TaxTreeNode): void;
|
|
1005
|
-
/** Closes the move-tag dialog without action */
|
|
1006
|
-
CloseMoveDialog(): void;
|
|
1007
|
-
/** Returns flat list of tags eligible as move targets (excludes the node being moved and its descendants) */
|
|
1008
|
-
GetMoveTargetOptions(): {
|
|
1009
|
-
ID: string;
|
|
1010
|
-
Name: string;
|
|
1011
|
-
Depth: number;
|
|
1012
|
-
}[];
|
|
1013
|
-
/** Collects IDs of all descendants of a node */
|
|
1014
|
-
private collectDescendantIds;
|
|
1015
|
-
/** Executes the move operation */
|
|
1016
|
-
ExecuteMove(): Promise<void>;
|
|
1017
|
-
OpenMergeIntoDialog(node: TaxTreeNode): void;
|
|
1018
|
-
OnMergeTargetSelected(value: unknown): void;
|
|
1019
|
-
CloseMergeIntoDialog(): void;
|
|
1020
|
-
/** Returns flat list of tags eligible as merge targets (excludes the source tag) */
|
|
1021
|
-
GetMergeTargetOptions(): {
|
|
1022
|
-
ID: string;
|
|
1023
|
-
Name: string;
|
|
1024
|
-
Depth: number;
|
|
1025
|
-
ItemCount: number;
|
|
1026
|
-
}[];
|
|
1027
|
-
ExecuteMergeInto(): Promise<void>;
|
|
1028
|
-
/** Opens treemap drill-in panel for the given cell */
|
|
1029
|
-
OpenTreemapDrillIn(cell: TaxTreemapCell): void;
|
|
1030
|
-
/** Closes treemap drill-in panel */
|
|
1031
|
-
CloseTreemapDrillIn(): void;
|
|
1032
|
-
/** Navigate from treemap drill-in to the tag in the tree view */
|
|
1033
|
-
DrillInToTreeView(node: TaxTreeNode): void;
|
|
1034
|
-
RefreshTaxonomyData(): Promise<void>;
|
|
1035
409
|
/** Load pending content item duplicates for review */
|
|
1036
410
|
LoadContentDuplicates(): Promise<void>;
|
|
1037
411
|
/** Resolve content source names for a list of content item IDs */
|
|
@@ -1044,21 +418,4 @@ export declare class AutotaggingPipelineResourceComponent extends BaseResourceCo
|
|
|
1044
418
|
static ɵcmp: i0.ɵɵComponentDeclaration<AutotaggingPipelineResourceComponent, "app-autotagging-pipeline-resource", never, {}, {}, never, never, false, never>;
|
|
1045
419
|
}
|
|
1046
420
|
export declare function LoadAutotaggingPipelineResource(): void;
|
|
1047
|
-
/**
|
|
1048
|
-
* Converts a 5-part or 6-part cron expression to a human-readable English string.
|
|
1049
|
-
*
|
|
1050
|
-
* Handles common patterns:
|
|
1051
|
-
* `0 * * * *` -> "Every hour"
|
|
1052
|
-
* `0 2 * * *` -> "Daily at 2:00 AM"
|
|
1053
|
-
* `0 2 * * 1` -> "Weekly on Monday at 2:00 AM"
|
|
1054
|
-
* `star/15 * * * *` -> "Every 15 minutes" (where star = asterisk)
|
|
1055
|
-
* `0 0 1 * *` -> "Monthly on day 1 at 12:00 AM"
|
|
1056
|
-
*
|
|
1057
|
-
* Falls back to returning the raw cron string for unrecognized patterns.
|
|
1058
|
-
*
|
|
1059
|
-
* @param cron A cron expression string (5 or 6 parts)
|
|
1060
|
-
* @returns A human-readable description or the raw cron if unrecognized
|
|
1061
|
-
*/
|
|
1062
|
-
export declare function CronToHumanReadable(cron: string): string;
|
|
1063
|
-
export {};
|
|
1064
421
|
//# sourceMappingURL=autotagging-pipeline-resource.component.d.ts.map
|