@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify-setup-wizard.component.js","sourceRoot":"","sources":["../../../../../src/AI/components/autotagging/dialogs/classify-setup-wizard.component.ts","../../../../../src/AI/components/autotagging/dialogs/classify-setup-wizard.component.html"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Classify · Guided source setup wizard.\n *\n * A multi-step `mj-dialog` that walks an operator through standing up a new\n * content source: Source Type → Entity → Entity Document → Content Type →\n * Taxonomy Strategy → Domain Context → Review & Create. Steps whose prerequisite\n * already exists (e.g. a content type is already configured, or the chosen\n * entity already has an Entity Document) are auto-skipped.\n *\n * The wizard reuses the inline Entity Document create and the seed-taxonomy\n * review components, and the domain-context fields. It owns no business logic\n * beyond assembling the records — persistence is via the entity API\n * (`GetEntityObject` + `Save()` with result checking) threaded through\n * `ProviderToUse`.\n */\nimport { Component, ChangeDetectorRef, EventEmitter, Output, inject } from '@angular/core';\nimport { RunView } from '@memberjunction/core';\nimport { UUIDsEqual } from '@memberjunction/global';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport {\n KnowledgeHubMetadataEngine,\n MJContentSourceEntity,\n MJEntityDocumentEntity,\n} from '@memberjunction/core-entities';\nimport { DropdownOption } from '../shared/classify.types';\nimport {\n IContentSourceClassificationConfiguration,\n ClassificationContextMode,\n} from './source-type-form.dialog.component';\n\n/** The ordered wizard steps. Some are conditionally skipped at run time. */\ntype WizardStep =\n | 'source-type'\n | 'entity'\n | 'entity-doc'\n | 'content-type'\n | 'taxonomy'\n | 'domain-context'\n | 'review';\n\n@Component({\n standalone: false,\n selector: 'classify-setup-wizard',\n templateUrl: './classify-setup-wizard.component.html',\n styleUrls: ['./classify-setup-wizard.component.css']\n})\nexport class ClassifySetupWizardComponent extends BaseAngularComponent {\n private cdr = inject(ChangeDetectorRef);\n\n /** Emitted after the wizard creates a source, so the host reloads. */\n @Output() Created = new EventEmitter<{ SourceID: string }>();\n /** Emitted when the wizard is dismissed without creating anything. */\n @Output() Cancelled = new EventEmitter<void>();\n\n public Visible = false;\n public CurrentStep: WizardStep = 'source-type';\n public Saving = false;\n\n // ── Collected selections ──\n public SourceName = '';\n public SourceTypeID = '';\n public EntityID = '';\n public EntityDocID = '';\n public ContentTypeID = '';\n public SourceURL = '';\n\n // Domain context (source scope)\n public ClassificationContext = '';\n public ClassificationContextMode: ClassificationContextMode = 'additive';\n\n // ── Dropdown options ──\n public SourceTypeOptions: DropdownOption[] = [];\n public ContentTypeOptions: DropdownOption[] = [];\n public EntityOptions: { ID: string; Name: string }[] = [];\n\n /** A pending source ID is created up-front when we reach the taxonomy step so\n * the embedded seed-taxonomy generator has a real source to sample. */\n public PendingSourceID: string | null = null;\n\n public get IsSubstitutiveMode(): boolean {\n return this.ClassificationContextMode === 'substitutive';\n }\n public set IsSubstitutiveMode(v: boolean) {\n this.ClassificationContextMode = v ? 'substitutive' : 'additive';\n }\n\n // ════════════════════════════════════════════\n // OPEN / CLOSE\n // ════════════════════════════════════════════\n\n public async Open(): Promise<void> {\n await this.loadOptions();\n this.resetState();\n this.Visible = true;\n this.cdr.detectChanges();\n }\n\n public Close(): void {\n this.Visible = false;\n this.Cancelled.emit();\n this.cdr.detectChanges();\n }\n\n private resetState(): void {\n this.CurrentStep = 'source-type';\n this.SourceName = '';\n this.SourceTypeID = '';\n this.EntityID = '';\n this.EntityDocID = '';\n // Preserve the auto-selected content type when only one exists (set in\n // loadOptions), so the wizard can skip the content-type step.\n this.ContentTypeID = this.ContentTypeOptions.length === 1 ? this.ContentTypeOptions[0].ID : '';\n this.SourceURL = '';\n this.ClassificationContext = '';\n this.ClassificationContextMode = 'additive';\n this.PendingSourceID = null;\n }\n\n private async loadOptions(): Promise<void> {\n try {\n const p = this.ProviderToUse;\n const engine = KnowledgeHubMetadataEngine.Instance;\n await engine.Config(false, p.CurrentUser, p);\n this.SourceTypeOptions = engine.ContentSourceTypes.map(t => ({ ID: t.ID, Name: t.Name }));\n this.ContentTypeOptions = engine.ContentTypes.map(t => ({ ID: t.ID, Name: t.Name }));\n // When exactly one content type exists, auto-select it so the wizard can\n // skip the content-type step entirely (see ActiveSteps).\n if (this.ContentTypeOptions.length === 1) {\n this.ContentTypeID = this.ContentTypeOptions[0].ID;\n }\n // Entities that have active documents — the safe default for entity sources.\n const entityMap = new Map<string, string>();\n for (const doc of engine.GetActiveEntityDocuments()) {\n const info = doc.Entity ? p.Entities.find(e => e.Name === doc.Entity) : undefined;\n if (info && !entityMap.has(info.ID)) entityMap.set(info.ID, info.Name);\n }\n // Also include all entities so a brand-new entity (no doc yet) can be picked.\n for (const e of p.Entities) {\n if (!entityMap.has(e.ID)) entityMap.set(e.ID, e.Name);\n }\n this.EntityOptions = Array.from(entityMap.entries())\n .map(([ID, Name]) => ({ ID, Name }))\n .sort((a, b) => a.Name.localeCompare(b.Name));\n } catch (error) {\n console.error('[Classify Wizard] Error loading options:', error);\n }\n }\n\n // ════════════════════════════════════════════\n // STEP LOGIC\n // ════════════════════════════════════════════\n\n /** Whether the selected source type is the Entity type (name-based check). */\n public get IsEntitySource(): boolean {\n if (!this.SourceTypeID) return false;\n const t = this.SourceTypeOptions.find(o => UUIDsEqual(o.ID, this.SourceTypeID));\n return t?.Name?.toLowerCase() === 'entity';\n }\n\n /** EntityInfo for the selected entity, or null. */\n private get selectedEntityInfo() {\n if (!this.EntityID) return null;\n return this.ProviderToUse.Entities.find(e => UUIDsEqual(e.ID, this.EntityID)) ?? null;\n }\n\n public get SelectedEntityName(): string {\n return this.selectedEntityInfo?.Name ?? '';\n }\n\n /** True when the selected entity has no active Entity Document. */\n public get SelectedEntityHasNoDocument(): boolean {\n const info = this.selectedEntityInfo;\n if (!info) return false;\n try {\n return KnowledgeHubMetadataEngine.Instance.GetActiveEntityDocuments()\n .filter(d => d.Entity === info.Name).length === 0;\n } catch {\n return false;\n }\n }\n\n /** Whether any content type exists (drives the content-type step skip). */\n public get HasAnyContentType(): boolean {\n return this.ContentTypeOptions.length > 0;\n }\n\n /**\n * The ordered list of steps relevant to the current selections. Steps whose\n * prerequisite already exists are filtered out, so the progress UI + next/back\n * navigation only ever traverse meaningful steps.\n */\n public get ActiveSteps(): WizardStep[] {\n const steps: WizardStep[] = ['source-type'];\n if (this.IsEntitySource) {\n steps.push('entity');\n // Entity Document step only when the chosen entity lacks one.\n if (this.EntityID && this.SelectedEntityHasNoDocument) steps.push('entity-doc');\n }\n // Content type only matters for non-entity sources. When exactly one content\n // type exists it is auto-selected (see loadOptions) and the step is skipped —\n // there's nothing to choose. The step is shown for 0 (n/a path) or 2+ options.\n if (!this.IsEntitySource && this.ContentTypeOptions.length !== 1) steps.push('content-type');\n steps.push('taxonomy');\n steps.push('domain-context');\n steps.push('review');\n return steps;\n }\n\n public get StepIndex(): number {\n return Math.max(0, this.ActiveSteps.indexOf(this.CurrentStep));\n }\n\n public get TotalSteps(): number {\n return this.ActiveSteps.length;\n }\n\n public get StepLabel(): string {\n switch (this.CurrentStep) {\n case 'source-type': return 'Source type';\n case 'entity': return 'Entity';\n case 'entity-doc': return 'Entity document';\n case 'content-type': return 'Content type';\n case 'taxonomy': return 'Taxonomy strategy';\n case 'domain-context': return 'Domain context';\n case 'review': return 'Review & create';\n }\n }\n\n public get CanGoNext(): boolean {\n switch (this.CurrentStep) {\n case 'source-type': return !!this.SourceName.trim() && !!this.SourceTypeID;\n case 'entity': return !!this.EntityID;\n case 'entity-doc': return !this.SelectedEntityHasNoDocument; // advance once a doc exists\n case 'content-type': return !!this.ContentTypeID;\n default: return true;\n }\n }\n\n public get IsLastStep(): boolean {\n return this.CurrentStep === 'review';\n }\n\n public async Next(): Promise<void> {\n if (!this.CanGoNext) return;\n const steps = this.ActiveSteps;\n const idx = steps.indexOf(this.CurrentStep);\n const nextStep = steps[idx + 1];\n if (!nextStep) return;\n\n // When advancing into the taxonomy step, create the source up front so the\n // seed generator has a real source to sample. If it fails, stay put.\n if (nextStep === 'taxonomy' && !this.PendingSourceID) {\n const ok = await this.ensurePendingSource();\n if (!ok) return;\n }\n\n if (nextStep === 'entity-doc') {\n this.PrimeEntityDocDefaults();\n }\n\n this.CurrentStep = nextStep;\n this.cdr.detectChanges();\n }\n\n public Back(): void {\n const steps = this.ActiveSteps;\n const idx = steps.indexOf(this.CurrentStep);\n if (idx > 0) {\n this.CurrentStep = steps[idx - 1];\n this.cdr.detectChanges();\n }\n }\n\n // ── Inline Entity Document creation (entity-doc step) ──\n public EntityDocSaving = false;\n public NewEntityDocName = '';\n public NewEntityDocSelectedFields: Record<string, boolean> = {};\n\n /** Fields of the selected entity, for the field-picker in the inline create. */\n public get SelectedEntityFields(): { Name: string; DisplayName: string }[] {\n const info = this.selectedEntityInfo;\n if (!info) return [];\n return info.Fields\n .filter(f => !f.IsVirtual)\n .map(f => ({ Name: f.Name, DisplayName: f.DisplayName || f.Name }));\n }\n\n public get SelectedEntityDocFieldCount(): number {\n return Object.values(this.NewEntityDocSelectedFields).filter(Boolean).length;\n }\n\n /** Prime the inline-create defaults when entering the entity-doc step. */\n public PrimeEntityDocDefaults(): void {\n const info = this.selectedEntityInfo;\n if (!info || this.NewEntityDocName) return;\n this.NewEntityDocName = `${info.Name} Document`;\n this.NewEntityDocSelectedFields = {};\n const preferred = ['Name', 'Title', 'Description', 'Notes', 'Body', 'Content'];\n for (const f of this.SelectedEntityFields) {\n if (preferred.includes(f.Name)) this.NewEntityDocSelectedFields[f.Name] = true;\n }\n }\n\n /** Create the Entity Document for the selected entity, then refresh + select it. */\n public async CreateEntityDocument(): Promise<void> {\n if (this.EntityDocSaving) return;\n const info = this.selectedEntityInfo;\n if (!info) return;\n if (!this.NewEntityDocName.trim()) {\n MJNotificationService.Instance.CreateSimpleNotification('Enter a document name.', 'warning', 3000);\n return;\n }\n this.EntityDocSaving = true;\n this.cdr.detectChanges();\n try {\n const p = this.ProviderToUse;\n const doc = await p.GetEntityObject<MJEntityDocumentEntity>('MJ: Entity Documents', p.CurrentUser);\n doc.NewRecord();\n doc.Name = this.NewEntityDocName.trim();\n doc.EntityID = info.ID;\n doc.Status = 'Active';\n const selectedFields = this.SelectedEntityFields\n .filter(f => this.NewEntityDocSelectedFields[f.Name])\n .map(f => f.Name);\n doc.Configuration = JSON.stringify({ Fields: selectedFields });\n const saved = await doc.Save();\n if (saved) {\n await KnowledgeHubMetadataEngine.Instance.Config(true, p.CurrentUser, p);\n this.EntityDocID = doc.ID;\n MJNotificationService.Instance.CreateSimpleNotification('Entity Document created', 'success', 2500);\n } else {\n const detail = doc.LatestResult?.CompleteMessage ?? 'Unknown error';\n MJNotificationService.Instance.CreateSimpleNotification(`Failed to create Entity Document: ${detail}`, 'error', 5000);\n }\n } catch (error) {\n const msg = error instanceof Error ? error.message : String(error);\n MJNotificationService.Instance.CreateSimpleNotification(`Error: ${msg}`, 'error', 5000);\n } finally {\n this.EntityDocSaving = false;\n this.cdr.detectChanges();\n }\n }\n\n /** Called by the embedded seed-taxonomy after it persists tags. */\n public OnTaxonomyAccepted(_event: { Created: number }): void {\n this.cdr.detectChanges();\n }\n\n // ════════════════════════════════════════════\n // PERSISTENCE\n // ════════════════════════════════════════════\n\n /**\n * Create (once) the content source record so the taxonomy step can sample it.\n * Subsequent edits (domain context) are applied to this same record on Finish.\n */\n private async ensurePendingSource(): Promise<boolean> {\n this.Saving = true;\n this.cdr.detectChanges();\n try {\n const id = await this.saveSource();\n if (id) {\n this.PendingSourceID = id;\n return true;\n }\n return false;\n } finally {\n this.Saving = false;\n this.cdr.detectChanges();\n }\n }\n\n /**\n * Create or update the content source from the collected selections. Returns\n * the saved ID, or null on failure. Defaults required NOT NULL columns for\n * entity sources the same way the quick-edit form does.\n */\n private async saveSource(): Promise<string | null> {\n try {\n const p = this.ProviderToUse;\n const entity = await p.GetEntityObject<MJContentSourceEntity>('MJ: Content Sources', p.CurrentUser);\n if (this.PendingSourceID) {\n const loaded = await entity.Load(this.PendingSourceID);\n if (!loaded) {\n entity.NewRecord();\n }\n } else {\n entity.NewRecord();\n }\n\n entity.Name = this.SourceName.trim();\n entity.ContentSourceTypeID = this.SourceTypeID;\n\n const engine = KnowledgeHubMetadataEngine.Instance;\n if (this.IsEntitySource) {\n entity.EntityID = this.EntityID || null;\n entity.EntityDocumentID = this.resolveEntityDocID();\n entity.URL = '';\n // NOT NULL columns: default to first available.\n if (!entity.ContentTypeID) {\n if (engine.ContentTypes.length === 0) {\n MJNotificationService.Instance.CreateSimpleNotification(\n 'No content types exist. Create one before adding an entity source.', 'warning', 5000\n );\n return null;\n }\n entity.ContentTypeID = engine.ContentTypes[0].ID;\n }\n if (!entity.ContentFileTypeID && engine.ContentFileTypes.length > 0) {\n entity.ContentFileTypeID = engine.ContentFileTypes[0].ID;\n }\n } else {\n entity.EntityID = null;\n entity.EntityDocumentID = null;\n entity.ContentTypeID = this.ContentTypeID;\n if (!entity.ContentFileTypeID && engine.ContentFileTypes.length > 0) {\n entity.ContentFileTypeID = engine.ContentFileTypes[0].ID;\n }\n entity.URL = this.SourceURL || '';\n }\n\n // Merge the domain-context fields into the typed Configuration JSON.\n const config: IContentSourceClassificationConfiguration = entity.ConfigurationObject ?? {};\n if (this.ClassificationContext.trim()) {\n config.ClassificationContext = this.ClassificationContext;\n config.ClassificationContextMode = this.ClassificationContextMode;\n } else {\n delete config.ClassificationContext;\n delete config.ClassificationContextMode;\n }\n entity.ConfigurationObject = config;\n\n const saved = await entity.Save();\n if (saved) return entity.ID;\n const detail = entity.LatestResult?.CompleteMessage ?? 'Unknown error';\n MJNotificationService.Instance.CreateSimpleNotification(`Failed to save source: ${detail}`, 'error', 5000);\n return null;\n } catch (error) {\n const msg = error instanceof Error ? error.message : String(error);\n MJNotificationService.Instance.CreateSimpleNotification(`Error: ${msg}`, 'error', 5000);\n return null;\n }\n }\n\n /** Resolve the entity document ID to store (explicit choice or the entity's only doc). */\n private resolveEntityDocID(): string | null {\n if (this.EntityDocID) return this.EntityDocID;\n const info = this.selectedEntityInfo;\n if (!info) return null;\n const docs = KnowledgeHubMetadataEngine.Instance.GetActiveEntityDocuments()\n .filter(d => d.Entity === info.Name);\n return docs.length > 0 ? docs[0].ID : null;\n }\n\n /** Finish the wizard: persist the (final) source and emit Created. */\n public async Finish(): Promise<void> {\n if (this.Saving) return;\n this.Saving = true;\n this.cdr.detectChanges();\n try {\n const id = await this.saveSource();\n if (id) {\n MJNotificationService.Instance.CreateSimpleNotification('Source created', 'success', 2500);\n this.Visible = false;\n this.Created.emit({ SourceID: id });\n }\n } finally {\n this.Saving = false;\n this.cdr.detectChanges();\n }\n }\n\n // ── Entity-doc options for the review/entity-doc step ──\n public get EntityDocOptions(): { ID: string; Name: string }[] {\n const info = this.selectedEntityInfo;\n if (!info) return [];\n try {\n return KnowledgeHubMetadataEngine.Instance.GetActiveEntityDocuments()\n .filter(d => d.Entity === info.Name)\n .map(d => ({ ID: d.ID, Name: d.Name }));\n } catch {\n return [];\n }\n }\n\n // ── Review labels ──\n public get SourceTypeName(): string {\n return this.SourceTypeOptions.find(o => UUIDsEqual(o.ID, this.SourceTypeID))?.Name ?? '—';\n }\n public get ContentTypeName(): string {\n return this.ContentTypeOptions.find(o => UUIDsEqual(o.ID, this.ContentTypeID))?.Name ?? '—';\n }\n public get EntityDocName(): string {\n const id = this.resolveEntityDocID();\n if (!id) return '—';\n return this.EntityDocOptions.find(o => UUIDsEqual(o.ID, id))?.Name ?? '—';\n }\n}\n","<mj-dialog [Visible]=\"Visible\" Title=\"Add Source (Guided)\" [Width]=\"660\" (Close)=\"Close()\">\n <div class=\"wiz\">\n <!-- Step progress -->\n <div class=\"wiz-progress\">\n @for (s of ActiveSteps; track s; let i = $index) {\n <div class=\"wiz-step-dot\"\n [class.active]=\"i === StepIndex\"\n [class.done]=\"i < StepIndex\">\n <span class=\"wiz-step-num\">{{ i + 1 }}</span>\n </div>\n }\n </div>\n <div class=\"wiz-step-title\">\n <span class=\"wiz-step-counter\">Step {{ StepIndex + 1 }} of {{ TotalSteps }}</span>{{ StepLabel }}\n </div>\n\n <div class=\"wiz-body\">\n <!-- Source Type -->\n @if (CurrentStep === 'source-type') {\n <div class=\"at-form-group\">\n <label class=\"at-form-label\">Source name</label>\n <input type=\"text\" class=\"mj-input\" [(ngModel)]=\"SourceName\" placeholder=\"Source name\">\n </div>\n <div class=\"at-form-group\">\n <label class=\"at-form-label\">Source type</label>\n <select class=\"mj-input\" [(ngModel)]=\"SourceTypeID\">\n <option value=\"\">Select source type…</option>\n @for (opt of SourceTypeOptions; track opt.ID) {\n <option [value]=\"opt.ID\">{{ opt.Name }}</option>\n }\n </select>\n </div>\n @if (!IsEntitySource && SourceTypeID) {\n <div class=\"at-form-group\">\n <label class=\"at-form-label\">URL (if applicable)</label>\n <input type=\"url\" class=\"mj-input\" [(ngModel)]=\"SourceURL\" placeholder=\"https://…\">\n </div>\n }\n }\n\n <!-- Entity -->\n @if (CurrentStep === 'entity') {\n <div class=\"at-form-group\">\n <label class=\"at-form-label\">Entity</label>\n <select class=\"mj-input\" [(ngModel)]=\"EntityID\">\n <option value=\"\">Select entity…</option>\n @for (opt of EntityOptions; track opt.ID) {\n <option [value]=\"opt.ID\">{{ opt.Name }}</option>\n }\n </select>\n </div>\n @if (EntityID && !SelectedEntityHasNoDocument) {\n <div class=\"wiz-callout ok\">\n <i class=\"fa-solid fa-circle-check\"></i>\n <strong>{{ SelectedEntityName }}</strong> already has an Entity Document — the next step is skipped.\n </div>\n }\n }\n\n <!-- Entity Document (inline create) -->\n @if (CurrentStep === 'entity-doc') {\n <div class=\"wiz-callout\">\n <i class=\"fa-solid fa-circle-info\"></i>\n <strong>{{ SelectedEntityName }}</strong> has no Entity Document. Create one to continue.\n </div>\n <div class=\"at-form-group\">\n <label class=\"at-form-label\">Document name</label>\n <input type=\"text\" class=\"mj-input\" [(ngModel)]=\"NewEntityDocName\" placeholder=\"Document name\">\n </div>\n <div class=\"at-form-group\">\n <label class=\"at-form-label\">Fields to include ({{ SelectedEntityDocFieldCount }} selected)</label>\n <div class=\"wiz-field-list\">\n @for (f of SelectedEntityFields; track f.Name) {\n <label class=\"wiz-field-row\">\n <input type=\"checkbox\" [(ngModel)]=\"NewEntityDocSelectedFields[f.Name]\">\n <span>{{ f.DisplayName }}</span>\n </label>\n }\n </div>\n </div>\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"CreateEntityDocument()\" [disabled]=\"EntityDocSaving\">\n @if (EntityDocSaving) { <i class=\"fa-solid fa-spinner fa-spin\"></i> Creating… }\n @else { <i class=\"fa-solid fa-check\"></i> Create Entity Document }\n </button>\n }\n\n <!-- Content Type -->\n @if (CurrentStep === 'content-type') {\n @if (HasAnyContentType) {\n <div class=\"at-form-group\">\n <label class=\"at-form-label\">Content type</label>\n <select class=\"mj-input\" [(ngModel)]=\"ContentTypeID\">\n <option value=\"\">Select content type…</option>\n @for (opt of ContentTypeOptions; track opt.ID) {\n <option [value]=\"opt.ID\">{{ opt.Name }}</option>\n }\n </select>\n </div>\n } @else {\n <div class=\"wiz-callout\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n No content types exist yet. Create one from the Content Types tab, then return to this wizard.\n </div>\n }\n }\n\n <!-- Taxonomy Strategy -->\n @if (CurrentStep === 'taxonomy') {\n <p class=\"wiz-help\">\n Optionally generate a starter tag taxonomy by sampling this source's content.\n You can skip this and refine the taxonomy later.\n </p>\n <classify-seed-taxonomy\n [SourceID]=\"PendingSourceID\"\n [Provider]=\"Provider\"\n (Accepted)=\"OnTaxonomyAccepted($event)\">\n </classify-seed-taxonomy>\n }\n\n <!-- Domain Context -->\n @if (CurrentStep === 'domain-context') {\n <div class=\"at-form-group\">\n <label class=\"at-form-label\">Source guidance</label>\n <textarea class=\"mj-textarea\" rows=\"4\" [(ngModel)]=\"ClassificationContext\"\n placeholder=\"Free-text guidance for the classifier about this source's domain…\"></textarea>\n </div>\n <div class=\"wiz-toggle-row\">\n <div>\n <div class=\"wiz-toggle-t\">Substitutive mode</div>\n <div class=\"wiz-toggle-d\">When on, this source's guidance replaces org/content-type context; off = added.</div>\n </div>\n <mj-switch [(ngModel)]=\"IsSubstitutiveMode\"></mj-switch>\n </div>\n }\n\n <!-- Review -->\n @if (CurrentStep === 'review') {\n <div class=\"wiz-review\">\n <div class=\"wiz-review-row\"><span>Name</span><strong>{{ SourceName || '—' }}</strong></div>\n <div class=\"wiz-review-row\"><span>Source type</span><strong>{{ SourceTypeName }}</strong></div>\n @if (IsEntitySource) {\n <div class=\"wiz-review-row\"><span>Entity</span><strong>{{ SelectedEntityName || '—' }}</strong></div>\n <div class=\"wiz-review-row\"><span>Entity document</span><strong>{{ EntityDocName }}</strong></div>\n } @else {\n <div class=\"wiz-review-row\"><span>Content type</span><strong>{{ ContentTypeName }}</strong></div>\n @if (SourceURL) {\n <div class=\"wiz-review-row\"><span>URL</span><strong>{{ SourceURL }}</strong></div>\n }\n }\n <div class=\"wiz-review-row\"><span>Domain context</span><strong>{{ ClassificationContext.trim() ? (ClassificationContextMode + ' · set') : 'none' }}</strong></div>\n </div>\n }\n </div>\n </div>\n\n <mj-dialog-actions>\n <div class=\"wiz-actions\">\n @if (IsLastStep) {\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"Finish()\" [disabled]=\"Saving\">\n @if (Saving) { <i class=\"fa-solid fa-spinner fa-spin\"></i> Creating… }\n @else { <i class=\"fa-solid fa-check\"></i> Create source }\n </button>\n } @else {\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"Next()\" [disabled]=\"!CanGoNext || Saving\">\n @if (Saving) { <i class=\"fa-solid fa-spinner fa-spin\"></i> Working… }\n @else { Next <i class=\"fa-solid fa-arrow-right\"></i> }\n </button>\n }\n @if (StepIndex > 0) {\n <button mjButton variant=\"secondary\" size=\"sm\" (click)=\"Back()\" [disabled]=\"Saving\">Back</button>\n }\n <span class=\"wiz-actions-spacer\"></span>\n <button mjButton variant=\"flat\" size=\"sm\" (click)=\"Close()\">Cancel</button>\n </div>\n </mj-dialog-actions>\n</mj-dialog>\n"]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Classify · Dry-run / disposition PREVIEW dialog.
|
|
3
|
+
*
|
|
4
|
+
* Honest, client-side, in-memory preview of how a source's EXISTING extracted
|
|
5
|
+
* ContentItemTags would be dispositioned under its current taxonomy mode +
|
|
6
|
+
* thresholds. This is NOT a fresh LLM run and NOTHING is persisted — it samples
|
|
7
|
+
* up to N existing tags, resolves each against the cached taxonomy
|
|
8
|
+
* (Tags / TagSynonyms) client-side, and replays the deterministic routing via the
|
|
9
|
+
* pure `previewDispositions` helper.
|
|
10
|
+
*
|
|
11
|
+
* It is hosted by the Sources tab (which already hosts its own dialogs): data
|
|
12
|
+
* DOWN via `[SourceCard]` / `[Show]`, intent UP via `(Closed)`. On open it loads
|
|
13
|
+
* the sample itself (read-only RunView, `ResultType: 'simple'`).
|
|
14
|
+
*
|
|
15
|
+
* NOTE: the server also has a semantic/embedding match tier not reproducible
|
|
16
|
+
* client-side, so borderline rows may resolve differently in a real run. The
|
|
17
|
+
* template states this explicitly.
|
|
18
|
+
*/
|
|
19
|
+
import { EventEmitter } from '@angular/core';
|
|
20
|
+
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
21
|
+
import { SourceCard, DryRunDispositionCount, DryRunEstimate } from '../shared/classify.types';
|
|
22
|
+
import { DryRunConfig, DryRunRow, Disposition } from '../shared/classify.dryrun';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
export declare class ClassifyDryRunPreviewDialogComponent extends BaseAngularComponent {
|
|
25
|
+
private cdr;
|
|
26
|
+
/** Whether the dialog is visible. */
|
|
27
|
+
private _show;
|
|
28
|
+
set Show(value: boolean);
|
|
29
|
+
get Show(): boolean;
|
|
30
|
+
/** The source being previewed; supplied by the Sources tab when opening. */
|
|
31
|
+
private _sourceCard;
|
|
32
|
+
set SourceCard(value: SourceCard | null);
|
|
33
|
+
get SourceCard(): SourceCard | null;
|
|
34
|
+
/** Emitted when the user dismisses the dialog. */
|
|
35
|
+
Closed: EventEmitter<void>;
|
|
36
|
+
Loading: boolean;
|
|
37
|
+
Rows: DryRunRow[];
|
|
38
|
+
Counts: DryRunDispositionCount;
|
|
39
|
+
Estimate: DryRunEstimate;
|
|
40
|
+
/** Effective config used for this preview (mirrored for the "effective values" line). */
|
|
41
|
+
EffectiveMode: DryRunConfig['mode'];
|
|
42
|
+
EffectiveMatchThreshold: number;
|
|
43
|
+
EffectiveSuggestThreshold: number;
|
|
44
|
+
/** True when the sampled source has no extracted tags yet. */
|
|
45
|
+
NoTagsSampled: boolean;
|
|
46
|
+
close(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Load a sample of the source's existing extracted tags, resolve each against
|
|
49
|
+
* the cached taxonomy, and produce the preview rows + summary. Read-only —
|
|
50
|
+
* nothing is written.
|
|
51
|
+
*/
|
|
52
|
+
private runPreview;
|
|
53
|
+
/**
|
|
54
|
+
* Sample up to SAMPLE_SIZE existing ContentItemTags for the source. We first
|
|
55
|
+
* pull a handful of the source's items, then their tags — the simplest path
|
|
56
|
+
* that avoids depending on a direct source-level filter on ContentItemTags.
|
|
57
|
+
*/
|
|
58
|
+
private loadSampleTags;
|
|
59
|
+
/**
|
|
60
|
+
* Read the source's effective taxonomy config from its ConfigurationObject,
|
|
61
|
+
* falling back to documented runtime defaults. SuggestThreshold defaults to
|
|
62
|
+
* matchThreshold − 0.05 (matches the server's runtime default).
|
|
63
|
+
*/
|
|
64
|
+
private resolveSourceConfig;
|
|
65
|
+
/**
|
|
66
|
+
* Build the client-side resolver closure over the cached taxonomy.
|
|
67
|
+
* tier 'synonym' if the tag matches a TagSynonym (case-insensitive),
|
|
68
|
+
* 'exact' if it matches a Tag Name (case-insensitive), 'fuzzy' if a
|
|
69
|
+
* normalized match (lowercase, strip plurals/hyphens) hits, else 'none'.
|
|
70
|
+
*/
|
|
71
|
+
private buildResolver;
|
|
72
|
+
/** Lowercase, strip hyphens/underscores/whitespace and a trailing plural 's'. */
|
|
73
|
+
private normalize;
|
|
74
|
+
private tally;
|
|
75
|
+
private estimate;
|
|
76
|
+
/** Status-token-backed CSS class for a disposition pill. */
|
|
77
|
+
DispositionClass(d: Disposition): string;
|
|
78
|
+
/** Human label for a disposition pill. */
|
|
79
|
+
DispositionLabel(d: Disposition): string;
|
|
80
|
+
FormatScore(score: number | null): string;
|
|
81
|
+
FormatTokens(tokens: number): string;
|
|
82
|
+
FormatCost(cost: number): string;
|
|
83
|
+
ModeLabel(mode: DryRunConfig['mode']): string;
|
|
84
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClassifyDryRunPreviewDialogComponent, never>;
|
|
85
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClassifyDryRunPreviewDialogComponent, "classify-dry-run-preview", never, { "Show": { "alias": "Show"; "required": false; }; "SourceCard": { "alias": "SourceCard"; "required": false; }; }, { "Closed": "Closed"; }, never, never, false, never>;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=dry-run-preview.dialog.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dry-run-preview.dialog.component.d.ts","sourceRoot":"","sources":["../../../../../src/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAgC,YAAY,EAAyB,MAAM,eAAe,CAAC;AAGlG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAC+B,YAAY,EAAE,SAAS,EAAiB,WAAW,EACxF,MAAM,2BAA2B,CAAC;;AAYnC,qBAMa,oCAAqC,SAAQ,oBAAoB;IAC1E,OAAO,CAAC,GAAG,CAA6B;IAExC,qCAAqC;IACrC,OAAO,CAAC,KAAK,CAAS;IACtB,IACI,IAAI,CAAC,KAAK,EAAE,OAAO,EAMtB;IACD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,4EAA4E;IAC5E,OAAO,CAAC,WAAW,CAA2B;IAC9C,IACI,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,EAKtC;IACD,IAAI,UAAU,IAAI,UAAU,GAAG,IAAI,CAElC;IAED,kDAAkD;IACxC,MAAM,qBAA4B;IAIrC,OAAO,UAAS;IAChB,IAAI,EAAE,SAAS,EAAE,CAAM;IACvB,MAAM,EAAE,sBAAsB,CAA8D;IAC5F,QAAQ,EAAE,cAAc,CAA6D;IAC5F,yFAAyF;IAClF,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAgB;IACnD,uBAAuB,SAA2B;IAClD,yBAAyB,SAAkC;IAClE,8DAA8D;IACvD,aAAa,UAAS;IAEtB,KAAK,IAAI,IAAI;IAIpB;;;;OAIG;YACW,UAAU;IAmCxB;;;;OAIG;YACW,cAAc;IAkC5B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IA6CrB,iFAAiF;IACjF,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,QAAQ;IAQhB,4DAA4D;IACrD,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM;IAS/C,0CAA0C;IACnC,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM;IASxC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAIzC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIpC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIhC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM;yCAhQ3C,oCAAoC;2CAApC,oCAAoC;CAuQhD"}
|