@memberjunction/ng-dashboards 5.23.0 → 5.25.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/dist/AI/components/agents/agent-configuration.component.d.ts +15 -33
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +233 -493
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.d.ts +2 -2
- package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-editor.component.js +7 -7
- package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +717 -8
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +7166 -1889
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +50 -4
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +759 -491
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/execution-monitoring.component.d.ts +4 -5
- package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +14 -15
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.d.ts +4 -4
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +5 -5
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.d.ts +4 -4
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +5 -5
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts +2 -1
- package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +1 -0
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.d.ts +2 -3
- package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +9 -11
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +62 -7
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +825 -359
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.d.ts +2 -1
- package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.js +2 -0
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.d.ts +4 -5
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +11 -12
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/code-management.component.d.ts +2 -3
- package/dist/Actions/components/code-management.component.d.ts.map +1 -1
- package/dist/Actions/components/code-management.component.js +4 -6
- package/dist/Actions/components/code-management.component.js.map +1 -1
- package/dist/Actions/components/entity-integration.component.d.ts +2 -3
- package/dist/Actions/components/entity-integration.component.d.ts.map +1 -1
- package/dist/Actions/components/entity-integration.component.js +4 -6
- package/dist/Actions/components/entity-integration.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +4 -5
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +10 -11
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +13 -12
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +39 -66
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.d.ts +2 -3
- package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -1
- package/dist/Actions/components/scheduled-actions.component.js +4 -6
- package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
- package/dist/Actions/components/security-permissions.component.d.ts +2 -3
- package/dist/Actions/components/security-permissions.component.d.ts.map +1 -1
- package/dist/Actions/components/security-permissions.component.js +4 -6
- package/dist/Actions/components/security-permissions.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.d.ts +112 -0
- package/dist/ApplicationRoles/application-roles-resource.component.d.ts.map +1 -0
- package/dist/ApplicationRoles/application-roles-resource.component.js +532 -0
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -0
- package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
- package/dist/Communication/communication-dashboard.component.js +1 -0
- package/dist/Communication/communication-dashboard.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +4 -1
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +4 -1
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +4 -1
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +4 -1
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +4 -1
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +2 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +1 -0
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +2 -0
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts +2 -3
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +10 -11
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +2 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +2 -0
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.d.ts +4 -4
- package/dist/Credentials/components/credentials-overview-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +8 -9
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +2 -3
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +11 -12
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/Credentials/credentials-dashboard.component.d.ts.map +1 -1
- package/dist/Credentials/credentials-dashboard.component.js +1 -0
- package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +2 -3
- package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js +9 -10
- package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +2 -2
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +23 -15
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +167 -213
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +68 -32
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +470 -437
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts +10 -3
- package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.js +35 -11
- package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
- package/dist/DataExplorer/models/explorer-state.interface.d.ts +12 -3
- package/dist/DataExplorer/models/explorer-state.interface.d.ts.map +1 -1
- package/dist/DataExplorer/models/explorer-state.interface.js +5 -1
- package/dist/DataExplorer/models/explorer-state.interface.js.map +1 -1
- package/dist/Home/home-dashboard.component.d.ts +4 -4
- package/dist/Home/home-dashboard.component.d.ts.map +1 -1
- package/dist/Home/home-dashboard.component.js +4 -5
- package/dist/Home/home-dashboard.component.js.map +1 -1
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +2 -0
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.d.ts.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +3 -0
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.d.ts.map +1 -1
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +2 -0
- package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.d.ts.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +3 -0
- package/dist/Integration/components/overview/overview.component.js.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
- package/dist/Integration/components/pipelines/pipelines.component.js +3 -0
- package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
- package/dist/Integration/components/schedules/schedules.component.d.ts.map +1 -1
- package/dist/Integration/components/schedules/schedules.component.js +3 -0
- package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts +412 -0
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +4267 -0
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -0
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +39 -4
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +187 -13
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +13 -2
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +329 -224
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +76 -0
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +602 -0
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -0
- package/dist/KnowledgeHub/index.d.ts +2 -1
- package/dist/KnowledgeHub/index.d.ts.map +1 -1
- package/dist/KnowledgeHub/index.js +2 -1
- package/dist/KnowledgeHub/index.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +2 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +2 -0
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts +2 -1
- package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +2 -0
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts +2 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +2 -0
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts +2 -1
- package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-operations-resource.component.js +2 -0
- package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.d.ts +7 -28
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +25 -107
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/MCP/mcp-resource.component.d.ts.map +1 -1
- package/dist/MCP/mcp-resource.component.js +1 -0
- package/dist/MCP/mcp-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts +10 -23
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +41 -103
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +1 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +1 -0
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +1 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +1 -0
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +4 -4
- package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
- package/dist/SystemDiagnostics/system-diagnostics.component.js +9 -10
- package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +2 -0
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +2 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer-resource.component.js +2 -0
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-review-resource.component.js +2 -0
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +2 -0
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.d.ts +2 -1
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +1 -0
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.d.ts +4 -4
- package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.js +9 -10
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.d.ts +2 -1
- package/dist/VersionHistory/components/graph-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/graph-resource.component.js +2 -0
- package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.d.ts +4 -4
- package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +10 -11
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.d.ts +2 -1
- package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +2 -0
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/__tests__/analytics-resource.test.d.ts +2 -0
- package/dist/__tests__/analytics-resource.test.d.ts.map +1 -0
- package/dist/__tests__/analytics-resource.test.js +181 -0
- package/dist/__tests__/analytics-resource.test.js.map +1 -0
- package/dist/__tests__/scheduling.test.d.ts +2 -0
- package/dist/__tests__/scheduling.test.d.ts.map +1 -0
- package/dist/__tests__/scheduling.test.js +205 -0
- package/dist/__tests__/scheduling.test.js.map +1 -0
- package/dist/ai-dashboards.module.d.ts +22 -18
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +29 -10
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/core-dashboards.module.d.ts +19 -18
- package/dist/core-dashboards.module.d.ts.map +1 -1
- package/dist/core-dashboards.module.js +8 -0
- package/dist/core-dashboards.module.js.map +1 -1
- package/dist/data-explorer-dashboards.module.d.ts +2 -1
- package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
- package/dist/data-explorer-dashboards.module.js +7 -3
- package/dist/data-explorer-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +2 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -1
- package/dist/public-api.js.map +1 -1
- package/dist/shared/entity-field-display.d.ts +44 -0
- package/dist/shared/entity-field-display.d.ts.map +1 -0
- package/dist/shared/entity-field-display.js +118 -0
- package/dist/shared/entity-field-display.js.map +1 -0
- package/package.json +47 -46
- package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.d.ts +0 -85
- package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.d.ts.map +0 -1
- package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.js +0 -461
- package/dist/KnowledgeHub/components/search/knowledge-search-resource.component.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-resource.test.js","sourceRoot":"","sources":["../../src/__tests__/analytics-resource.test.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Tests for analytics resource component logic:\n * - AN-1: Drill-down Open Record\n * - AN-3: CSV Export\n * - SR-6: Preference persistence\n */\nimport { describe, it, expect, beforeEach, vi, afterEach } from 'vitest';\n\n// ── Test the pure-logic utility functions extracted from the component ──\n\ndescribe('Analytics Resource — CSV Export (AN-3)', () => {\n // Test the CSV generation logic independently\n function buildCSV(\n columns: string[],\n data: Record<string, string | number | null>[],\n ): string {\n const escape = (v: string | number | null): string => {\n const s = String(v ?? '');\n return s.includes(',') || s.includes('\"') || s.includes('\\n')\n ? `\"${s.replace(/\"/g, '\"\"')}\"` : s;\n };\n const header = columns.map(escape).join(',');\n const rows = data.map(row => columns.map(c => escape(row[c])).join(','));\n return [header, ...rows].join('\\n');\n }\n\n it('should generate valid CSV header', () => {\n const csv = buildCSV(['Name', 'Count'], []);\n expect(csv).toBe('Name,Count');\n });\n\n it('should generate CSV with data rows', () => {\n const csv = buildCSV(\n ['Name', 'Score'],\n [\n { Name: 'Tag A', Score: 42 },\n { Name: 'Tag B', Score: 18 },\n ]\n );\n const lines = csv.split('\\n');\n expect(lines).toHaveLength(3);\n expect(lines[0]).toBe('Name,Score');\n expect(lines[1]).toBe('Tag A,42');\n expect(lines[2]).toBe('Tag B,18');\n });\n\n it('should escape values containing commas', () => {\n const csv = buildCSV(\n ['Name'],\n [{ Name: 'Doe, John' }]\n );\n expect(csv).toContain('\"Doe, John\"');\n });\n\n it('should escape values containing quotes', () => {\n const csv = buildCSV(\n ['Name'],\n [{ Name: 'He said \"hello\"' }]\n );\n expect(csv).toContain('\"He said \"\"hello\"\"\"');\n });\n\n it('should handle null values', () => {\n const csv = buildCSV(\n ['Name', 'Value'],\n [{ Name: 'Test', Value: null }]\n );\n const lines = csv.split('\\n');\n expect(lines[1]).toBe('Test,');\n });\n\n it('should not include hidden _RecordID/_EntityName columns', () => {\n // Columns array should NOT include _RecordID/_EntityName\n const columns = ['Tag', 'Usage Count'];\n const data = [\n { Tag: 'CRM', 'Usage Count': 42, _RecordID: 'abc-123', _EntityName: 'MJ: Tags' },\n ];\n\n const csv = buildCSV(columns, data);\n expect(csv).not.toContain('_RecordID');\n expect(csv).not.toContain('abc-123');\n expect(csv).toContain('CRM');\n expect(csv).toContain('42');\n });\n});\n\ndescribe('Analytics Resource — Drill-Down Actions (AN-1)', () => {\n it('should include _RecordID and _EntityName in drill-down data for navigable rows', () => {\n // Simulating what loadDrillDownData produces for kpi-totalTags\n const rawTag = { ID: 'tag-1', Name: 'CRM', DisplayName: 'CRM', Description: 'Customer RM', Parent: 'Root' };\n const drillDownRow = {\n 'Name': String(rawTag.Name),\n 'Display Name': String(rawTag.DisplayName),\n 'Description': String(rawTag.Description),\n 'Parent': String(rawTag.Parent),\n '_RecordID': String(rawTag.ID),\n '_EntityName': 'MJ: Tags',\n };\n\n expect(drillDownRow['_RecordID']).toBe('tag-1');\n expect(drillDownRow['_EntityName']).toBe('MJ: Tags');\n });\n\n it('should not include _RecordID for aggregate-only drill-downs', () => {\n // contentCoverage and qualityScore don't have individual records\n const coverageRow = {\n 'Content Type': 'Articles',\n 'Total Items': 100,\n 'Tagged Items': 85,\n 'Coverage %': '85%',\n };\n\n expect(coverageRow).not.toHaveProperty('_RecordID');\n expect(coverageRow).not.toHaveProperty('_EntityName');\n });\n});\n\ndescribe('Analytics Resource — Cost Aggregation (D1)', () => {\n // Re-implement the static SumField method from the component for testing\n function sumField(records: Record<string, unknown>[], fieldName: string): number {\n return records.reduce((sum, r) => sum + Number(r[fieldName] || 0), 0);\n }\n\n const mockDetails: Record<string, unknown>[] = [\n { ContentProcessRunID: 'run-1', TotalTokensUsed: 1500, TotalCost: 0.0045 },\n { ContentProcessRunID: 'run-1', TotalTokensUsed: 2500, TotalCost: 0.0075 },\n { ContentProcessRunID: 'run-2', TotalTokensUsed: 3000, TotalCost: 0.009 },\n ];\n\n it('should sum total tokens across all detail records', () => {\n const totalTokens = sumField(mockDetails, 'TotalTokensUsed');\n expect(totalTokens).toBe(7000);\n });\n\n it('should sum total cost across all detail records', () => {\n const totalCost = sumField(mockDetails, 'TotalCost');\n expect(totalCost).toBeCloseTo(0.021, 4);\n });\n\n it('should calculate average cost per run', () => {\n const totalCost = sumField(mockDetails, 'TotalCost');\n const runCount = 2; // Two unique runs\n const avgCostPerRun = runCount > 0 ? totalCost / runCount : 0;\n expect(avgCostPerRun).toBeCloseTo(0.0105, 4);\n });\n\n it('should handle empty records gracefully', () => {\n const totalTokens = sumField([], 'TotalTokensUsed');\n const totalCost = sumField([], 'TotalCost');\n expect(totalTokens).toBe(0);\n expect(totalCost).toBe(0);\n });\n\n it('should handle records with missing/null fields', () => {\n const records: Record<string, unknown>[] = [\n { ContentProcessRunID: 'run-1', TotalTokensUsed: null, TotalCost: undefined },\n { ContentProcessRunID: 'run-2' },\n ];\n expect(sumField(records, 'TotalTokensUsed')).toBe(0);\n expect(sumField(records, 'TotalCost')).toBe(0);\n });\n\n it('should filter details by run ID correctly', () => {\n const filteredRunIds = new Set(['run-1']);\n const filteredDetails = mockDetails.filter(\n d => filteredRunIds.has(String(d['ContentProcessRunID'] || ''))\n );\n const tokens = sumField(filteredDetails, 'TotalTokensUsed');\n expect(tokens).toBe(4000); // 1500 + 2500\n });\n});\n\ndescribe('Analytics Resource — Preference Persistence (SR-6)', () => {\n let mockStorage: Record<string, string>;\n\n beforeEach(() => {\n mockStorage = {};\n vi.stubGlobal('localStorage', {\n getItem: vi.fn((key: string) => mockStorage[key] ?? null),\n setItem: vi.fn((key: string, value: string) => { mockStorage[key] = value; }),\n removeItem: vi.fn((key: string) => { delete mockStorage[key]; }),\n });\n });\n\n afterEach(() => {\n vi.unstubAllGlobals();\n });\n\n it('should persist preferences to localStorage', () => {\n const prefs = {\n ActiveTab: 'tags',\n ActiveDateRange: '90D',\n EntityFilter: 'Contacts',\n };\n localStorage.setItem('KH_AnalyticsPreferences', JSON.stringify(prefs));\n\n const stored = JSON.parse(localStorage.getItem('KH_AnalyticsPreferences')!);\n expect(stored.ActiveTab).toBe('tags');\n expect(stored.ActiveDateRange).toBe('90D');\n expect(stored.EntityFilter).toBe('Contacts');\n });\n\n it('should load preferences from localStorage', () => {\n const prefs = { ActiveTab: 'pipeline', ActiveDateRange: '7D', EntityFilter: 'All Entities' };\n mockStorage['KH_AnalyticsPreferences'] = JSON.stringify(prefs);\n\n const raw = localStorage.getItem('KH_AnalyticsPreferences');\n expect(raw).not.toBeNull();\n const parsed = JSON.parse(raw!);\n expect(parsed.ActiveTab).toBe('pipeline');\n });\n\n it('should handle missing localStorage gracefully', () => {\n const raw = localStorage.getItem('KH_AnalyticsPreferences');\n expect(raw).toBeNull();\n // Component should use defaults when no stored prefs\n });\n\n it('should store search preferences separately', () => {\n const searchPrefs = { ShowFilters: true, MinScoreThreshold: 0.5 };\n localStorage.setItem('KH_SearchPreferences', JSON.stringify(searchPrefs));\n\n const analyticsPrefs = localStorage.getItem('KH_AnalyticsPreferences');\n expect(analyticsPrefs).toBeNull(); // Should not cross-pollinate\n\n const searchStored = JSON.parse(localStorage.getItem('KH_SearchPreferences')!);\n expect(searchStored.MinScoreThreshold).toBe(0.5);\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduling.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/scheduling.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
+
// Mock Angular core to avoid JIT compilation errors
|
|
3
|
+
vi.mock('@angular/core', () => ({
|
|
4
|
+
Injectable: () => (target) => target,
|
|
5
|
+
Component: () => (target) => target,
|
|
6
|
+
Directive: () => (target) => target,
|
|
7
|
+
NgModule: () => (target) => target,
|
|
8
|
+
Input: () => () => { },
|
|
9
|
+
Output: () => () => { },
|
|
10
|
+
EventEmitter: class {
|
|
11
|
+
emit() { }
|
|
12
|
+
},
|
|
13
|
+
ChangeDetectorRef: class {
|
|
14
|
+
detectChanges() { }
|
|
15
|
+
markForCheck() { }
|
|
16
|
+
},
|
|
17
|
+
ChangeDetectionStrategy: { OnPush: 1 },
|
|
18
|
+
ViewChild: () => () => { },
|
|
19
|
+
ElementRef: class {
|
|
20
|
+
},
|
|
21
|
+
OnInit: class {
|
|
22
|
+
},
|
|
23
|
+
OnDestroy: class {
|
|
24
|
+
},
|
|
25
|
+
AfterViewInit: class {
|
|
26
|
+
},
|
|
27
|
+
Injector: class {
|
|
28
|
+
},
|
|
29
|
+
ViewEncapsulation: { None: 0 },
|
|
30
|
+
inject: () => ({}),
|
|
31
|
+
}));
|
|
32
|
+
// Mock other Angular and MJ dependencies
|
|
33
|
+
vi.mock('@angular/forms', () => ({}));
|
|
34
|
+
vi.mock('rxjs', () => ({
|
|
35
|
+
Subject: class {
|
|
36
|
+
next() { }
|
|
37
|
+
complete() { }
|
|
38
|
+
pipe() { return this; }
|
|
39
|
+
subscribe() { return this; }
|
|
40
|
+
},
|
|
41
|
+
BehaviorSubject: class {
|
|
42
|
+
next() { }
|
|
43
|
+
pipe() { return this; }
|
|
44
|
+
subscribe() { return this; }
|
|
45
|
+
getValue() { }
|
|
46
|
+
},
|
|
47
|
+
}));
|
|
48
|
+
vi.mock('rxjs/operators', () => ({
|
|
49
|
+
takeUntil: () => (source) => source,
|
|
50
|
+
}));
|
|
51
|
+
vi.mock('@memberjunction/core', () => ({
|
|
52
|
+
BaseEntity: class {
|
|
53
|
+
},
|
|
54
|
+
CompositeKey: class {
|
|
55
|
+
},
|
|
56
|
+
Metadata: class {
|
|
57
|
+
},
|
|
58
|
+
RunView: class {
|
|
59
|
+
RunView() { return { Success: false, Results: [] }; }
|
|
60
|
+
RunViews() { return []; }
|
|
61
|
+
},
|
|
62
|
+
}));
|
|
63
|
+
vi.mock('@memberjunction/core-entities', () => ({
|
|
64
|
+
ResourceData: class {
|
|
65
|
+
},
|
|
66
|
+
KnowledgeHubMetadataEngine: { Instance: {} },
|
|
67
|
+
MJContentSourceEntity: class {
|
|
68
|
+
},
|
|
69
|
+
MJContentSourceTypeEntity_IContentSourceTypeField: class {
|
|
70
|
+
},
|
|
71
|
+
MJScheduledActionEntity: class {
|
|
72
|
+
},
|
|
73
|
+
MJScheduledActionParamEntity: class {
|
|
74
|
+
},
|
|
75
|
+
MJContentItemDuplicateEntity: class {
|
|
76
|
+
},
|
|
77
|
+
UserInfoEngine: { Instance: { Config: vi.fn() } },
|
|
78
|
+
}));
|
|
79
|
+
vi.mock('@memberjunction/global', () => ({
|
|
80
|
+
RegisterClass: () => (target) => target,
|
|
81
|
+
UUIDsEqual: vi.fn(),
|
|
82
|
+
NormalizeUUID: vi.fn((x) => x),
|
|
83
|
+
}));
|
|
84
|
+
vi.mock('@memberjunction/ng-shared', () => ({
|
|
85
|
+
BaseResourceComponent: class {
|
|
86
|
+
},
|
|
87
|
+
NavigationService: class {
|
|
88
|
+
},
|
|
89
|
+
}));
|
|
90
|
+
vi.mock('@memberjunction/graphql-dataprovider', () => ({
|
|
91
|
+
GraphQLDataProvider: class {
|
|
92
|
+
},
|
|
93
|
+
GraphQLAIClient: class {
|
|
94
|
+
},
|
|
95
|
+
}));
|
|
96
|
+
vi.mock('@memberjunction/ng-notifications', () => ({
|
|
97
|
+
MJNotificationService: { Instance: { CreateSimpleNotification: vi.fn() } },
|
|
98
|
+
}));
|
|
99
|
+
vi.mock('@memberjunction/ai-engine-base', () => ({
|
|
100
|
+
AIEngineBase: { Instance: { Prompts: [] } },
|
|
101
|
+
}));
|
|
102
|
+
vi.mock('@memberjunction/ng-word-cloud', () => ({
|
|
103
|
+
WordCloudItem: class {
|
|
104
|
+
},
|
|
105
|
+
}));
|
|
106
|
+
vi.mock('@memberjunction/ng-trees', () => ({
|
|
107
|
+
TreeBranchConfig: class {
|
|
108
|
+
},
|
|
109
|
+
TreeLeafConfig: class {
|
|
110
|
+
},
|
|
111
|
+
}));
|
|
112
|
+
import { CronToHumanReadable } from '../AI/components/autotagging/autotagging-pipeline-resource.component';
|
|
113
|
+
describe('CronToHumanReadable', () => {
|
|
114
|
+
describe('every N minutes patterns', () => {
|
|
115
|
+
it('should parse "every minute" pattern', () => {
|
|
116
|
+
expect(CronToHumanReadable('*/1 * * * *')).toBe('Every minute');
|
|
117
|
+
});
|
|
118
|
+
it('should parse "every 15 minutes" pattern', () => {
|
|
119
|
+
expect(CronToHumanReadable('*/15 * * * *')).toBe('Every 15 minutes');
|
|
120
|
+
});
|
|
121
|
+
it('should parse "every 5 minutes" pattern', () => {
|
|
122
|
+
expect(CronToHumanReadable('*/5 * * * *')).toBe('Every 5 minutes');
|
|
123
|
+
});
|
|
124
|
+
it('should parse "every 30 minutes" pattern', () => {
|
|
125
|
+
expect(CronToHumanReadable('*/30 * * * *')).toBe('Every 30 minutes');
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
describe('hourly patterns', () => {
|
|
129
|
+
it('should parse "every hour" pattern (minute 0)', () => {
|
|
130
|
+
expect(CronToHumanReadable('0 * * * *')).toBe('Every hour');
|
|
131
|
+
});
|
|
132
|
+
it('should parse "every hour" pattern (minute 30)', () => {
|
|
133
|
+
expect(CronToHumanReadable('30 * * * *')).toBe('Every hour');
|
|
134
|
+
});
|
|
135
|
+
it('should parse "every 2 hours" pattern', () => {
|
|
136
|
+
expect(CronToHumanReadable('0 */2 * * *')).toBe('Every 2 hours');
|
|
137
|
+
});
|
|
138
|
+
it('should parse "every 6 hours" pattern', () => {
|
|
139
|
+
expect(CronToHumanReadable('0 */6 * * *')).toBe('Every 6 hours');
|
|
140
|
+
});
|
|
141
|
+
it('should parse "every 1 hour" as "every hour"', () => {
|
|
142
|
+
expect(CronToHumanReadable('0 */1 * * *')).toBe('Every hour');
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
describe('daily patterns', () => {
|
|
146
|
+
it('should parse "daily at 2:00 AM"', () => {
|
|
147
|
+
expect(CronToHumanReadable('0 2 * * *')).toBe('Daily at 2:00 AM');
|
|
148
|
+
});
|
|
149
|
+
it('should parse "daily at 12:00 PM"', () => {
|
|
150
|
+
expect(CronToHumanReadable('0 12 * * *')).toBe('Daily at 12:00 PM');
|
|
151
|
+
});
|
|
152
|
+
it('should parse "daily at 12:00 AM" (midnight)', () => {
|
|
153
|
+
expect(CronToHumanReadable('0 0 * * *')).toBe('Daily at 12:00 AM');
|
|
154
|
+
});
|
|
155
|
+
it('should parse "daily at 11:30 PM"', () => {
|
|
156
|
+
expect(CronToHumanReadable('30 23 * * *')).toBe('Daily at 11:30 PM');
|
|
157
|
+
});
|
|
158
|
+
it('should parse "daily at 5:15 AM"', () => {
|
|
159
|
+
expect(CronToHumanReadable('15 5 * * *')).toBe('Daily at 5:15 AM');
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
describe('weekly patterns', () => {
|
|
163
|
+
it('should parse "weekly on Monday at 2:00 AM"', () => {
|
|
164
|
+
expect(CronToHumanReadable('0 2 * * 1')).toBe('Weekly on Monday at 2:00 AM');
|
|
165
|
+
});
|
|
166
|
+
it('should parse "weekly on Sunday at 12:00 AM"', () => {
|
|
167
|
+
expect(CronToHumanReadable('0 0 * * 0')).toBe('Weekly on Sunday at 12:00 AM');
|
|
168
|
+
});
|
|
169
|
+
it('should parse "weekly on Friday at 6:00 PM"', () => {
|
|
170
|
+
expect(CronToHumanReadable('0 18 * * 5')).toBe('Weekly on Friday at 6:00 PM');
|
|
171
|
+
});
|
|
172
|
+
it('should handle day-of-week 7 as Sunday', () => {
|
|
173
|
+
expect(CronToHumanReadable('0 9 * * 7')).toBe('Weekly on Sunday at 9:00 AM');
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
describe('monthly patterns', () => {
|
|
177
|
+
it('should parse "monthly on day 1 at 12:00 AM"', () => {
|
|
178
|
+
expect(CronToHumanReadable('0 0 1 * *')).toBe('Monthly on day 1 at 12:00 AM');
|
|
179
|
+
});
|
|
180
|
+
it('should parse "monthly on day 15 at 3:00 AM"', () => {
|
|
181
|
+
expect(CronToHumanReadable('0 3 15 * *')).toBe('Monthly on day 15 at 3:00 AM');
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
describe('6-part cron expressions (with seconds)', () => {
|
|
185
|
+
it('should handle 6-part cron by discarding seconds field', () => {
|
|
186
|
+
expect(CronToHumanReadable('0 0 2 * * *')).toBe('Daily at 2:00 AM');
|
|
187
|
+
});
|
|
188
|
+
it('should handle 6-part weekly cron', () => {
|
|
189
|
+
expect(CronToHumanReadable('0 0 9 * * 1')).toBe('Weekly on Monday at 9:00 AM');
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
describe('fallback behavior', () => {
|
|
193
|
+
it('should return raw cron for unrecognized patterns', () => {
|
|
194
|
+
const raw = '*/5 */2 1 6 3';
|
|
195
|
+
expect(CronToHumanReadable(raw)).toBe(raw);
|
|
196
|
+
});
|
|
197
|
+
it('should return "No schedule" for empty string', () => {
|
|
198
|
+
expect(CronToHumanReadable('')).toBe('No schedule');
|
|
199
|
+
});
|
|
200
|
+
it('should return raw cron for invalid part count', () => {
|
|
201
|
+
expect(CronToHumanReadable('* * *')).toBe('* * *');
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
//# sourceMappingURL=scheduling.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduling.test.js","sourceRoot":"","sources":["../../src/__tests__/scheduling.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect, vi, beforeAll } from 'vitest';\n\n// Mock Angular core to avoid JIT compilation errors\nvi.mock('@angular/core', () => ({\n Injectable: () => (target: Function) => target,\n Component: () => (target: Function) => target,\n Directive: () => (target: Function) => target,\n NgModule: () => (target: Function) => target,\n Input: () => () => {},\n Output: () => () => {},\n EventEmitter: class { emit() {} },\n ChangeDetectorRef: class { detectChanges() {} markForCheck() {} },\n ChangeDetectionStrategy: { OnPush: 1 },\n ViewChild: () => () => {},\n ElementRef: class {},\n OnInit: class {},\n OnDestroy: class {},\n AfterViewInit: class {},\n Injector: class {},\n ViewEncapsulation: { None: 0 },\n inject: () => ({}),\n}));\n\n// Mock other Angular and MJ dependencies\nvi.mock('@angular/forms', () => ({}));\nvi.mock('rxjs', () => ({\n Subject: class { next() {} complete() {} pipe() { return this; } subscribe() { return this; } },\n BehaviorSubject: class { next() {} pipe() { return this; } subscribe() { return this; } getValue() {} },\n}));\nvi.mock('rxjs/operators', () => ({\n takeUntil: () => (source: unknown) => source,\n}));\nvi.mock('@memberjunction/core', () => ({\n BaseEntity: class {},\n CompositeKey: class {},\n Metadata: class {},\n RunView: class { RunView() { return { Success: false, Results: [] }; } RunViews() { return []; } },\n}));\nvi.mock('@memberjunction/core-entities', () => ({\n ResourceData: class {},\n KnowledgeHubMetadataEngine: { Instance: {} },\n MJContentSourceEntity: class {},\n MJContentSourceTypeEntity_IContentSourceTypeField: class {},\n MJScheduledActionEntity: class {},\n MJScheduledActionParamEntity: class {},\n MJContentItemDuplicateEntity: class {},\n UserInfoEngine: { Instance: { Config: vi.fn() } },\n}));\nvi.mock('@memberjunction/global', () => ({\n RegisterClass: () => (target: Function) => target,\n UUIDsEqual: vi.fn(),\n NormalizeUUID: vi.fn((x: string) => x),\n}));\nvi.mock('@memberjunction/ng-shared', () => ({\n BaseResourceComponent: class {},\n NavigationService: class {},\n}));\nvi.mock('@memberjunction/graphql-dataprovider', () => ({\n GraphQLDataProvider: class {},\n GraphQLAIClient: class {},\n}));\nvi.mock('@memberjunction/ng-notifications', () => ({\n MJNotificationService: { Instance: { CreateSimpleNotification: vi.fn() } },\n}));\nvi.mock('@memberjunction/ai-engine-base', () => ({\n AIEngineBase: { Instance: { Prompts: [] } },\n}));\nvi.mock('@memberjunction/ng-word-cloud', () => ({\n WordCloudItem: class {},\n}));\nvi.mock('@memberjunction/ng-trees', () => ({\n TreeBranchConfig: class {},\n TreeLeafConfig: class {},\n}));\n\nimport { CronToHumanReadable } from '../AI/components/autotagging/autotagging-pipeline-resource.component';\n\ndescribe('CronToHumanReadable', () => {\n describe('every N minutes patterns', () => {\n it('should parse \"every minute\" pattern', () => {\n expect(CronToHumanReadable('*/1 * * * *')).toBe('Every minute');\n });\n\n it('should parse \"every 15 minutes\" pattern', () => {\n expect(CronToHumanReadable('*/15 * * * *')).toBe('Every 15 minutes');\n });\n\n it('should parse \"every 5 minutes\" pattern', () => {\n expect(CronToHumanReadable('*/5 * * * *')).toBe('Every 5 minutes');\n });\n\n it('should parse \"every 30 minutes\" pattern', () => {\n expect(CronToHumanReadable('*/30 * * * *')).toBe('Every 30 minutes');\n });\n });\n\n describe('hourly patterns', () => {\n it('should parse \"every hour\" pattern (minute 0)', () => {\n expect(CronToHumanReadable('0 * * * *')).toBe('Every hour');\n });\n\n it('should parse \"every hour\" pattern (minute 30)', () => {\n expect(CronToHumanReadable('30 * * * *')).toBe('Every hour');\n });\n\n it('should parse \"every 2 hours\" pattern', () => {\n expect(CronToHumanReadable('0 */2 * * *')).toBe('Every 2 hours');\n });\n\n it('should parse \"every 6 hours\" pattern', () => {\n expect(CronToHumanReadable('0 */6 * * *')).toBe('Every 6 hours');\n });\n\n it('should parse \"every 1 hour\" as \"every hour\"', () => {\n expect(CronToHumanReadable('0 */1 * * *')).toBe('Every hour');\n });\n });\n\n describe('daily patterns', () => {\n it('should parse \"daily at 2:00 AM\"', () => {\n expect(CronToHumanReadable('0 2 * * *')).toBe('Daily at 2:00 AM');\n });\n\n it('should parse \"daily at 12:00 PM\"', () => {\n expect(CronToHumanReadable('0 12 * * *')).toBe('Daily at 12:00 PM');\n });\n\n it('should parse \"daily at 12:00 AM\" (midnight)', () => {\n expect(CronToHumanReadable('0 0 * * *')).toBe('Daily at 12:00 AM');\n });\n\n it('should parse \"daily at 11:30 PM\"', () => {\n expect(CronToHumanReadable('30 23 * * *')).toBe('Daily at 11:30 PM');\n });\n\n it('should parse \"daily at 5:15 AM\"', () => {\n expect(CronToHumanReadable('15 5 * * *')).toBe('Daily at 5:15 AM');\n });\n });\n\n describe('weekly patterns', () => {\n it('should parse \"weekly on Monday at 2:00 AM\"', () => {\n expect(CronToHumanReadable('0 2 * * 1')).toBe('Weekly on Monday at 2:00 AM');\n });\n\n it('should parse \"weekly on Sunday at 12:00 AM\"', () => {\n expect(CronToHumanReadable('0 0 * * 0')).toBe('Weekly on Sunday at 12:00 AM');\n });\n\n it('should parse \"weekly on Friday at 6:00 PM\"', () => {\n expect(CronToHumanReadable('0 18 * * 5')).toBe('Weekly on Friday at 6:00 PM');\n });\n\n it('should handle day-of-week 7 as Sunday', () => {\n expect(CronToHumanReadable('0 9 * * 7')).toBe('Weekly on Sunday at 9:00 AM');\n });\n });\n\n describe('monthly patterns', () => {\n it('should parse \"monthly on day 1 at 12:00 AM\"', () => {\n expect(CronToHumanReadable('0 0 1 * *')).toBe('Monthly on day 1 at 12:00 AM');\n });\n\n it('should parse \"monthly on day 15 at 3:00 AM\"', () => {\n expect(CronToHumanReadable('0 3 15 * *')).toBe('Monthly on day 15 at 3:00 AM');\n });\n });\n\n describe('6-part cron expressions (with seconds)', () => {\n it('should handle 6-part cron by discarding seconds field', () => {\n expect(CronToHumanReadable('0 0 2 * * *')).toBe('Daily at 2:00 AM');\n });\n\n it('should handle 6-part weekly cron', () => {\n expect(CronToHumanReadable('0 0 9 * * 1')).toBe('Weekly on Monday at 9:00 AM');\n });\n });\n\n describe('fallback behavior', () => {\n it('should return raw cron for unrecognized patterns', () => {\n const raw = '*/5 */2 1 6 3';\n expect(CronToHumanReadable(raw)).toBe(raw);\n });\n\n it('should return \"No schedule\" for empty string', () => {\n expect(CronToHumanReadable('')).toBe('No schedule');\n });\n\n it('should return raw cron for invalid part count', () => {\n expect(CronToHumanReadable('* * *')).toBe('* * *');\n });\n });\n});\n"]}
|
|
@@ -16,23 +16,27 @@ import * as i14 from "./AI/components/requests/agent-requests-resource.component
|
|
|
16
16
|
import * as i15 from "./AI/components/autotagging/autotagging-pipeline-resource.component";
|
|
17
17
|
import * as i16 from "./AI/components/duplicates/duplicate-detection-resource.component";
|
|
18
18
|
import * as i17 from "./AI/components/vectors/vector-management-resource.component";
|
|
19
|
-
import * as i18 from "./KnowledgeHub/components/
|
|
20
|
-
import * as i19 from "./KnowledgeHub/components/
|
|
21
|
-
import * as i20 from "./KnowledgeHub/components/
|
|
22
|
-
import * as i21 from "./KnowledgeHub/components/
|
|
23
|
-
import * as i22 from "
|
|
24
|
-
import * as i23 from "@angular/
|
|
25
|
-
import * as i24 from "angular
|
|
26
|
-
import * as i25 from "
|
|
27
|
-
import * as i26 from "@memberjunction/ng-
|
|
28
|
-
import * as i27 from "@memberjunction/ng-
|
|
29
|
-
import * as i28 from "@memberjunction/ng-
|
|
30
|
-
import * as i29 from "@memberjunction/ng-
|
|
31
|
-
import * as i30 from "@memberjunction/ng-
|
|
32
|
-
import * as i31 from "
|
|
33
|
-
import * as i32 from "./shared/shared-
|
|
34
|
-
import * as i33 from "
|
|
35
|
-
import * as i34 from "@memberjunction/ng-
|
|
19
|
+
import * as i18 from "./KnowledgeHub/components/config/knowledge-config-resource.component";
|
|
20
|
+
import * as i19 from "./KnowledgeHub/components/results-detail/search-result-detail.component";
|
|
21
|
+
import * as i20 from "./KnowledgeHub/components/clusters/cluster-visualization-resource.component";
|
|
22
|
+
import * as i21 from "./KnowledgeHub/components/scheduling/scheduling-resource.component";
|
|
23
|
+
import * as i22 from "./KnowledgeHub/components/analytics/analytics-resource.component";
|
|
24
|
+
import * as i23 from "@angular/common";
|
|
25
|
+
import * as i24 from "@angular/forms";
|
|
26
|
+
import * as i25 from "angular-split";
|
|
27
|
+
import * as i26 from "@memberjunction/ng-container-directives";
|
|
28
|
+
import * as i27 from "@memberjunction/ng-code-editor";
|
|
29
|
+
import * as i28 from "@memberjunction/ng-shared-generic";
|
|
30
|
+
import * as i29 from "@memberjunction/ng-agents";
|
|
31
|
+
import * as i30 from "@memberjunction/ng-agent-requests";
|
|
32
|
+
import * as i31 from "@memberjunction/ng-trees";
|
|
33
|
+
import * as i32 from "./shared/shared-dashboard-widgets.module";
|
|
34
|
+
import * as i33 from "./shared/shared-pipes.module";
|
|
35
|
+
import * as i34 from "@memberjunction/ng-search";
|
|
36
|
+
import * as i35 from "@memberjunction/ng-ui-components";
|
|
37
|
+
import * as i36 from "@memberjunction/ng-clustering";
|
|
38
|
+
import * as i37 from "@memberjunction/ng-scheduling";
|
|
39
|
+
import * as i38 from "@memberjunction/ng-word-cloud";
|
|
36
40
|
/**
|
|
37
41
|
* AIDashboardsModule — AI feature area: models, prompts, agents,
|
|
38
42
|
* execution monitoring, system configuration, and instrumentation widgets.
|
|
@@ -40,7 +44,7 @@ import * as i34 from "@memberjunction/ng-clustering";
|
|
|
40
44
|
export declare class AIDashboardsModule {
|
|
41
45
|
constructor();
|
|
42
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<AIDashboardsModule, never>;
|
|
43
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AIDashboardsModule, [typeof i1.ModelManagementComponent, typeof i2.PromptManagementComponent, typeof i3.PromptFilterPanelComponent, typeof i4.AgentConfigurationComponent, typeof i5.AgentFilterPanelComponent, typeof i6.AgentEditorComponent, typeof i7.ExecutionMonitoringComponent, typeof i8.SystemConfigurationComponent, typeof i9.SystemConfigFilterPanelComponent, typeof i10.ModelPromptPriorityMatrixComponent, typeof i11.PromptVersionControlComponent, typeof i12.LiveExecutionWidgetComponent, typeof i13.PerformanceHeatmapComponent, typeof i14.AgentRequestsResourceComponent, typeof i15.AutotaggingPipelineResourceComponent, typeof i16.DuplicateDetectionResourceComponent, typeof i17.VectorManagementResourceComponent, typeof i18.
|
|
47
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AIDashboardsModule, [typeof i1.ModelManagementComponent, typeof i2.PromptManagementComponent, typeof i3.PromptFilterPanelComponent, typeof i4.AgentConfigurationComponent, typeof i5.AgentFilterPanelComponent, typeof i6.AgentEditorComponent, typeof i7.ExecutionMonitoringComponent, typeof i8.SystemConfigurationComponent, typeof i9.SystemConfigFilterPanelComponent, typeof i10.ModelPromptPriorityMatrixComponent, typeof i11.PromptVersionControlComponent, typeof i12.LiveExecutionWidgetComponent, typeof i13.PerformanceHeatmapComponent, typeof i14.AgentRequestsResourceComponent, typeof i15.AutotaggingPipelineResourceComponent, typeof i16.DuplicateDetectionResourceComponent, typeof i17.VectorManagementResourceComponent, typeof i18.KnowledgeConfigResourceComponent, typeof i19.SearchResultDetailComponent, typeof i20.ClusterVisualizationResourceComponent, typeof i21.SchedulingResourceComponent, typeof i22.AnalyticsResourceComponent], [typeof i23.CommonModule, typeof i24.FormsModule, typeof i24.ReactiveFormsModule, typeof i25.AngularSplitModule, typeof i26.ContainerDirectivesModule, typeof i27.CodeEditorModule, typeof i28.SharedGenericModule, typeof i29.AgentsModule, typeof i30.AgentRequestsModule, typeof i31.NgTreesModule, typeof i32.SharedDashboardWidgetsModule, typeof i33.SharedPipesModule, typeof i34.SearchModule, typeof i35.MJComboboxComponent, typeof i36.ClusteringModule, typeof i37.SchedulingModule, typeof i38.MJWordCloudComponent], [typeof i1.ModelManagementComponent, typeof i2.PromptManagementComponent, typeof i4.AgentConfigurationComponent, typeof i7.ExecutionMonitoringComponent, typeof i8.SystemConfigurationComponent, typeof i12.LiveExecutionWidgetComponent, typeof i13.PerformanceHeatmapComponent, typeof i14.AgentRequestsResourceComponent, typeof i15.AutotaggingPipelineResourceComponent, typeof i16.DuplicateDetectionResourceComponent, typeof i17.VectorManagementResourceComponent, typeof i18.KnowledgeConfigResourceComponent, typeof i19.SearchResultDetailComponent, typeof i20.ClusterVisualizationResourceComponent, typeof i21.SchedulingResourceComponent, typeof i22.AnalyticsResourceComponent, typeof i32.SharedDashboardWidgetsModule]>;
|
|
44
48
|
static ɵinj: i0.ɵɵInjectorDeclaration<AIDashboardsModule>;
|
|
45
49
|
}
|
|
46
50
|
//# sourceMappingURL=ai-dashboards.module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-dashboards.module.d.ts","sourceRoot":"","sources":["../src/ai-dashboards.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-dashboards.module.d.ts","sourceRoot":"","sources":["../src/ai-dashboards.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA;;;GAGG;AACH,qBAmEa,kBAAkB;;yCAAlB,kBAAkB;0CAAlB,kBAAkB;0CAAlB,kBAAkB;CAO9B"}
|
|
@@ -11,6 +11,7 @@ import { NgTreesModule } from '@memberjunction/ng-trees';
|
|
|
11
11
|
import { SharedDashboardWidgetsModule } from './shared/shared-dashboard-widgets.module';
|
|
12
12
|
import { SharedPipesModule } from './shared/shared-pipes.module';
|
|
13
13
|
import { SearchModule } from '@memberjunction/ng-search';
|
|
14
|
+
import { MJComboboxComponent } from '@memberjunction/ng-ui-components';
|
|
14
15
|
// AI Components
|
|
15
16
|
import { ModelManagementComponent } from './AI/components/models/model-management.component';
|
|
16
17
|
import { PromptManagementComponent } from './AI/components/prompts/prompt-management.component';
|
|
@@ -32,11 +33,14 @@ import { DuplicateDetectionResourceComponent } from './AI/components/duplicates/
|
|
|
32
33
|
import { VectorManagementResourceComponent } from './AI/components/vectors/vector-management-resource.component';
|
|
33
34
|
import { AIInstrumentationService } from './AI/services/ai-instrumentation.service';
|
|
34
35
|
// Knowledge Hub components
|
|
35
|
-
import { KnowledgeSearchResourceComponent } from './KnowledgeHub/components/search/knowledge-search-resource.component';
|
|
36
36
|
import { KnowledgeConfigResourceComponent } from './KnowledgeHub/components/config/knowledge-config-resource.component';
|
|
37
37
|
import { SearchResultDetailComponent } from './KnowledgeHub/components/results-detail/search-result-detail.component';
|
|
38
38
|
import { ClusterVisualizationResourceComponent, LoadClusterVisualizationResource } from './KnowledgeHub/components/clusters/cluster-visualization-resource.component';
|
|
39
|
+
import { SchedulingResourceComponent, LoadSchedulingResource } from './KnowledgeHub/components/scheduling/scheduling-resource.component';
|
|
40
|
+
import { AnalyticsResourceComponent, LoadAnalyticsResource } from './KnowledgeHub/components/analytics/analytics-resource.component';
|
|
39
41
|
import { ClusteringModule } from '@memberjunction/ng-clustering';
|
|
42
|
+
import { SchedulingModule } from '@memberjunction/ng-scheduling';
|
|
43
|
+
import { MJWordCloudComponent } from '@memberjunction/ng-word-cloud';
|
|
40
44
|
import * as i0 from "@angular/core";
|
|
41
45
|
/**
|
|
42
46
|
* AIDashboardsModule — AI feature area: models, prompts, agents,
|
|
@@ -46,6 +50,8 @@ export class AIDashboardsModule {
|
|
|
46
50
|
constructor() {
|
|
47
51
|
// Ensure tree-shaking prevention loaders are called
|
|
48
52
|
LoadClusterVisualizationResource();
|
|
53
|
+
LoadSchedulingResource();
|
|
54
|
+
LoadAnalyticsResource();
|
|
49
55
|
}
|
|
50
56
|
static ɵfac = function AIDashboardsModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AIDashboardsModule)(); };
|
|
51
57
|
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AIDashboardsModule });
|
|
@@ -64,7 +70,10 @@ export class AIDashboardsModule {
|
|
|
64
70
|
SharedDashboardWidgetsModule,
|
|
65
71
|
SharedPipesModule,
|
|
66
72
|
SearchModule,
|
|
67
|
-
|
|
73
|
+
MJComboboxComponent,
|
|
74
|
+
ClusteringModule,
|
|
75
|
+
SchedulingModule,
|
|
76
|
+
MJWordCloudComponent, SharedDashboardWidgetsModule] });
|
|
68
77
|
}
|
|
69
78
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIDashboardsModule, [{
|
|
70
79
|
type: NgModule,
|
|
@@ -87,10 +96,11 @@ export class AIDashboardsModule {
|
|
|
87
96
|
AutotaggingPipelineResourceComponent,
|
|
88
97
|
DuplicateDetectionResourceComponent,
|
|
89
98
|
VectorManagementResourceComponent,
|
|
90
|
-
KnowledgeSearchResourceComponent,
|
|
91
99
|
KnowledgeConfigResourceComponent,
|
|
92
100
|
SearchResultDetailComponent,
|
|
93
|
-
ClusterVisualizationResourceComponent
|
|
101
|
+
ClusterVisualizationResourceComponent,
|
|
102
|
+
SchedulingResourceComponent,
|
|
103
|
+
AnalyticsResourceComponent
|
|
94
104
|
],
|
|
95
105
|
imports: [
|
|
96
106
|
CommonModule,
|
|
@@ -106,7 +116,10 @@ export class AIDashboardsModule {
|
|
|
106
116
|
SharedDashboardWidgetsModule,
|
|
107
117
|
SharedPipesModule,
|
|
108
118
|
SearchModule,
|
|
109
|
-
|
|
119
|
+
MJComboboxComponent,
|
|
120
|
+
ClusteringModule,
|
|
121
|
+
SchedulingModule,
|
|
122
|
+
MJWordCloudComponent
|
|
110
123
|
],
|
|
111
124
|
providers: [
|
|
112
125
|
AIInstrumentationService
|
|
@@ -123,10 +136,11 @@ export class AIDashboardsModule {
|
|
|
123
136
|
AutotaggingPipelineResourceComponent,
|
|
124
137
|
DuplicateDetectionResourceComponent,
|
|
125
138
|
VectorManagementResourceComponent,
|
|
126
|
-
KnowledgeSearchResourceComponent,
|
|
127
139
|
KnowledgeConfigResourceComponent,
|
|
128
140
|
SearchResultDetailComponent,
|
|
129
141
|
ClusterVisualizationResourceComponent,
|
|
142
|
+
SchedulingResourceComponent,
|
|
143
|
+
AnalyticsResourceComponent,
|
|
130
144
|
SharedDashboardWidgetsModule
|
|
131
145
|
]
|
|
132
146
|
}]
|
|
@@ -148,10 +162,11 @@ export class AIDashboardsModule {
|
|
|
148
162
|
AutotaggingPipelineResourceComponent,
|
|
149
163
|
DuplicateDetectionResourceComponent,
|
|
150
164
|
VectorManagementResourceComponent,
|
|
151
|
-
KnowledgeSearchResourceComponent,
|
|
152
165
|
KnowledgeConfigResourceComponent,
|
|
153
166
|
SearchResultDetailComponent,
|
|
154
|
-
ClusterVisualizationResourceComponent
|
|
167
|
+
ClusterVisualizationResourceComponent,
|
|
168
|
+
SchedulingResourceComponent,
|
|
169
|
+
AnalyticsResourceComponent], imports: [CommonModule,
|
|
155
170
|
FormsModule,
|
|
156
171
|
ReactiveFormsModule,
|
|
157
172
|
AngularSplitModule,
|
|
@@ -164,7 +179,10 @@ export class AIDashboardsModule {
|
|
|
164
179
|
SharedDashboardWidgetsModule,
|
|
165
180
|
SharedPipesModule,
|
|
166
181
|
SearchModule,
|
|
167
|
-
|
|
182
|
+
MJComboboxComponent,
|
|
183
|
+
ClusteringModule,
|
|
184
|
+
SchedulingModule,
|
|
185
|
+
MJWordCloudComponent], exports: [ModelManagementComponent,
|
|
168
186
|
PromptManagementComponent,
|
|
169
187
|
AgentConfigurationComponent,
|
|
170
188
|
ExecutionMonitoringComponent,
|
|
@@ -175,9 +193,10 @@ export class AIDashboardsModule {
|
|
|
175
193
|
AutotaggingPipelineResourceComponent,
|
|
176
194
|
DuplicateDetectionResourceComponent,
|
|
177
195
|
VectorManagementResourceComponent,
|
|
178
|
-
KnowledgeSearchResourceComponent,
|
|
179
196
|
KnowledgeConfigResourceComponent,
|
|
180
197
|
SearchResultDetailComponent,
|
|
181
198
|
ClusterVisualizationResourceComponent,
|
|
199
|
+
SchedulingResourceComponent,
|
|
200
|
+
AnalyticsResourceComponent,
|
|
182
201
|
SharedDashboardWidgetsModule] }); })();
|
|
183
202
|
//# sourceMappingURL=ai-dashboards.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-dashboards.module.js","sourceRoot":"","sources":["../src/ai-dashboards.module.ts"],"names":[],"mappings":"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","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AngularSplitModule } from 'angular-split';\nimport { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';\nimport { CodeEditorModule } from '@memberjunction/ng-code-editor';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\nimport { AgentsModule } from '@memberjunction/ng-agents';\nimport { AgentRequestsModule } from '@memberjunction/ng-agent-requests';\nimport { NgTreesModule } from '@memberjunction/ng-trees';\nimport { SharedDashboardWidgetsModule } from './shared/shared-dashboard-widgets.module';\nimport { SharedPipesModule } from './shared/shared-pipes.module';\nimport { SearchModule } from '@memberjunction/ng-search';\n\n// AI Components\nimport { ModelManagementComponent } from './AI/components/models/model-management.component';\nimport { PromptManagementComponent } from './AI/components/prompts/prompt-management.component';\nimport { PromptFilterPanelComponent } from './AI/components/prompts/prompt-filter-panel.component';\nimport { AgentConfigurationComponent } from './AI/components/agents/agent-configuration.component';\nimport { AgentFilterPanelComponent } from './AI/components/agents/agent-filter-panel.component';\nimport { AgentEditorComponent } from './AI/components/agents/agent-editor.component';\nimport { ExecutionMonitoringComponent } from './AI/components/execution-monitoring.component';\nimport { SystemConfigurationComponent } from './AI/components/system/system-configuration.component';\nimport { SystemConfigFilterPanelComponent } from './AI/components/system/system-config-filter-panel.component';\nimport { ModelPromptPriorityMatrixComponent } from './AI/components/prompts/model-prompt-priority-matrix.component';\nimport { PromptVersionControlComponent } from './AI/components/prompts/prompt-version-control.component';\n// AI Instrumentation Widgets (KPICard and TimeSeriesChart are in SharedDashboardWidgetsModule)\nimport { LiveExecutionWidgetComponent } from './AI/components/widgets/live-execution-widget.component';\nimport { PerformanceHeatmapComponent } from './AI/components/charts/performance-heatmap.component';\nimport { AgentRequestsResourceComponent } from './AI/components/requests/agent-requests-resource.component';\nimport { AutotaggingPipelineResourceComponent } from './AI/components/autotagging/autotagging-pipeline-resource.component';\nimport { DuplicateDetectionResourceComponent } from './AI/components/duplicates/duplicate-detection-resource.component';\nimport { VectorManagementResourceComponent } from './AI/components/vectors/vector-management-resource.component';\nimport { AIInstrumentationService } from './AI/services/ai-instrumentation.service';\n\n// Knowledge Hub components\nimport {\n KnowledgeSearchResourceComponent,\n LoadKnowledgeSearchResource\n} from './KnowledgeHub/components/search/knowledge-search-resource.component';\nimport {\n KnowledgeConfigResourceComponent,\n LoadKnowledgeConfigResource\n} from './KnowledgeHub/components/config/knowledge-config-resource.component';\nimport { SearchResultDetailComponent } from './KnowledgeHub/components/results-detail/search-result-detail.component';\nimport {\n ClusterVisualizationResourceComponent,\n LoadClusterVisualizationResource\n} from './KnowledgeHub/components/clusters/cluster-visualization-resource.component';\nimport { ClusteringModule } from '@memberjunction/ng-clustering';\n\n/**\n * AIDashboardsModule — AI feature area: models, prompts, agents,\n * execution monitoring, system configuration, and instrumentation widgets.\n */\n@NgModule({\n declarations: [\n ModelManagementComponent,\n PromptManagementComponent,\n PromptFilterPanelComponent,\n AgentConfigurationComponent,\n AgentFilterPanelComponent,\n AgentEditorComponent,\n ExecutionMonitoringComponent,\n SystemConfigurationComponent,\n SystemConfigFilterPanelComponent,\n ModelPromptPriorityMatrixComponent,\n PromptVersionControlComponent,\n LiveExecutionWidgetComponent,\n PerformanceHeatmapComponent,\n AgentRequestsResourceComponent,\n AutotaggingPipelineResourceComponent,\n DuplicateDetectionResourceComponent,\n VectorManagementResourceComponent,\n KnowledgeSearchResourceComponent,\n KnowledgeConfigResourceComponent,\n SearchResultDetailComponent,\n ClusterVisualizationResourceComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n AngularSplitModule,\n ContainerDirectivesModule,\n CodeEditorModule,\n SharedGenericModule,\n AgentsModule,\n AgentRequestsModule,\n NgTreesModule,\n SharedDashboardWidgetsModule,\n SharedPipesModule,\n SearchModule,\n ClusteringModule\n ],\n providers: [\n AIInstrumentationService\n ],\n exports: [\n ModelManagementComponent,\n PromptManagementComponent,\n AgentConfigurationComponent,\n ExecutionMonitoringComponent,\n SystemConfigurationComponent,\n LiveExecutionWidgetComponent,\n PerformanceHeatmapComponent,\n AgentRequestsResourceComponent,\n AutotaggingPipelineResourceComponent,\n DuplicateDetectionResourceComponent,\n VectorManagementResourceComponent,\n KnowledgeSearchResourceComponent,\n KnowledgeConfigResourceComponent,\n SearchResultDetailComponent,\n ClusterVisualizationResourceComponent,\n SharedDashboardWidgetsModule\n ]\n})\nexport class AIDashboardsModule {\n constructor() {\n // Ensure tree-shaking prevention loaders are called\n LoadClusterVisualizationResource();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ai-dashboards.module.js","sourceRoot":"","sources":["../src/ai-dashboards.module.ts"],"names":[],"mappings":"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","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AngularSplitModule } from 'angular-split';\nimport { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';\nimport { CodeEditorModule } from '@memberjunction/ng-code-editor';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\nimport { AgentsModule } from '@memberjunction/ng-agents';\nimport { AgentRequestsModule } from '@memberjunction/ng-agent-requests';\nimport { NgTreesModule } from '@memberjunction/ng-trees';\nimport { SharedDashboardWidgetsModule } from './shared/shared-dashboard-widgets.module';\nimport { SharedPipesModule } from './shared/shared-pipes.module';\nimport { SearchModule } from '@memberjunction/ng-search';\nimport { MJComboboxComponent } from '@memberjunction/ng-ui-components';\n\n// AI Components\nimport { ModelManagementComponent } from './AI/components/models/model-management.component';\nimport { PromptManagementComponent } from './AI/components/prompts/prompt-management.component';\nimport { PromptFilterPanelComponent } from './AI/components/prompts/prompt-filter-panel.component';\nimport { AgentConfigurationComponent } from './AI/components/agents/agent-configuration.component';\nimport { AgentFilterPanelComponent } from './AI/components/agents/agent-filter-panel.component';\nimport { AgentEditorComponent } from './AI/components/agents/agent-editor.component';\nimport { ExecutionMonitoringComponent } from './AI/components/execution-monitoring.component';\nimport { SystemConfigurationComponent } from './AI/components/system/system-configuration.component';\nimport { SystemConfigFilterPanelComponent } from './AI/components/system/system-config-filter-panel.component';\nimport { ModelPromptPriorityMatrixComponent } from './AI/components/prompts/model-prompt-priority-matrix.component';\nimport { PromptVersionControlComponent } from './AI/components/prompts/prompt-version-control.component';\n// AI Instrumentation Widgets (KPICard and TimeSeriesChart are in SharedDashboardWidgetsModule)\nimport { LiveExecutionWidgetComponent } from './AI/components/widgets/live-execution-widget.component';\nimport { PerformanceHeatmapComponent } from './AI/components/charts/performance-heatmap.component';\nimport { AgentRequestsResourceComponent } from './AI/components/requests/agent-requests-resource.component';\nimport { AutotaggingPipelineResourceComponent } from './AI/components/autotagging/autotagging-pipeline-resource.component';\nimport { DuplicateDetectionResourceComponent } from './AI/components/duplicates/duplicate-detection-resource.component';\nimport { VectorManagementResourceComponent } from './AI/components/vectors/vector-management-resource.component';\nimport { AIInstrumentationService } from './AI/services/ai-instrumentation.service';\n\n// Knowledge Hub components\nimport {\n KnowledgeConfigResourceComponent,\n LoadKnowledgeConfigResource\n} from './KnowledgeHub/components/config/knowledge-config-resource.component';\nimport { SearchResultDetailComponent } from './KnowledgeHub/components/results-detail/search-result-detail.component';\nimport {\n ClusterVisualizationResourceComponent,\n LoadClusterVisualizationResource\n} from './KnowledgeHub/components/clusters/cluster-visualization-resource.component';\nimport {\n SchedulingResourceComponent,\n LoadSchedulingResource\n} from './KnowledgeHub/components/scheduling/scheduling-resource.component';\nimport {\n AnalyticsResourceComponent,\n LoadAnalyticsResource\n} from './KnowledgeHub/components/analytics/analytics-resource.component';\nimport { ClusteringModule } from '@memberjunction/ng-clustering';\nimport { SchedulingModule } from '@memberjunction/ng-scheduling';\nimport { MJWordCloudComponent } from '@memberjunction/ng-word-cloud';\n\n/**\n * AIDashboardsModule — AI feature area: models, prompts, agents,\n * execution monitoring, system configuration, and instrumentation widgets.\n */\n@NgModule({\n declarations: [\n ModelManagementComponent,\n PromptManagementComponent,\n PromptFilterPanelComponent,\n AgentConfigurationComponent,\n AgentFilterPanelComponent,\n AgentEditorComponent,\n ExecutionMonitoringComponent,\n SystemConfigurationComponent,\n SystemConfigFilterPanelComponent,\n ModelPromptPriorityMatrixComponent,\n PromptVersionControlComponent,\n LiveExecutionWidgetComponent,\n PerformanceHeatmapComponent,\n AgentRequestsResourceComponent,\n AutotaggingPipelineResourceComponent,\n DuplicateDetectionResourceComponent,\n VectorManagementResourceComponent,\n KnowledgeConfigResourceComponent,\n SearchResultDetailComponent,\n ClusterVisualizationResourceComponent,\n SchedulingResourceComponent,\n AnalyticsResourceComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n AngularSplitModule,\n ContainerDirectivesModule,\n CodeEditorModule,\n SharedGenericModule,\n AgentsModule,\n AgentRequestsModule,\n NgTreesModule,\n SharedDashboardWidgetsModule,\n SharedPipesModule,\n SearchModule,\n MJComboboxComponent,\n ClusteringModule,\n SchedulingModule,\n MJWordCloudComponent\n ],\n providers: [\n AIInstrumentationService\n ],\n exports: [\n ModelManagementComponent,\n PromptManagementComponent,\n AgentConfigurationComponent,\n ExecutionMonitoringComponent,\n SystemConfigurationComponent,\n LiveExecutionWidgetComponent,\n PerformanceHeatmapComponent,\n AgentRequestsResourceComponent,\n AutotaggingPipelineResourceComponent,\n DuplicateDetectionResourceComponent,\n VectorManagementResourceComponent,\n KnowledgeConfigResourceComponent,\n SearchResultDetailComponent,\n ClusterVisualizationResourceComponent,\n SchedulingResourceComponent,\n AnalyticsResourceComponent,\n SharedDashboardWidgetsModule\n ]\n})\nexport class AIDashboardsModule {\n constructor() {\n // Ensure tree-shaking prevention loaders are called\n LoadClusterVisualizationResource();\n LoadSchedulingResource();\n LoadAnalyticsResource();\n }\n}\n"]}
|
|
@@ -12,30 +12,31 @@ import * as i10 from "./APIKeys/api-key-list.component";
|
|
|
12
12
|
import * as i11 from "./APIKeys/api-applications-panel.component";
|
|
13
13
|
import * as i12 from "./APIKeys/api-scopes-panel.component";
|
|
14
14
|
import * as i13 from "./APIKeys/api-usage-panel.component";
|
|
15
|
-
import * as i14 from "./
|
|
16
|
-
import * as i15 from "./VersionHistory/components/
|
|
17
|
-
import * as i16 from "./VersionHistory/components/
|
|
18
|
-
import * as i17 from "./VersionHistory/components/
|
|
19
|
-
import * as i18 from "
|
|
20
|
-
import * as i19 from "@angular/
|
|
21
|
-
import * as i20 from "@
|
|
22
|
-
import * as i21 from "@memberjunction/ng-
|
|
23
|
-
import * as i22 from "@memberjunction/ng-
|
|
24
|
-
import * as i23 from "@memberjunction/ng-
|
|
25
|
-
import * as i24 from "@memberjunction/ng-
|
|
26
|
-
import * as i25 from "@memberjunction/ng-
|
|
27
|
-
import * as i26 from "@memberjunction/ng-
|
|
28
|
-
import * as i27 from "@memberjunction/ng-
|
|
29
|
-
import * as i28 from "@memberjunction/ng-
|
|
30
|
-
import * as i29 from "@memberjunction/ng-
|
|
31
|
-
import * as i30 from "
|
|
15
|
+
import * as i14 from "./ApplicationRoles/application-roles-resource.component";
|
|
16
|
+
import * as i15 from "./VersionHistory/components/labels-resource.component";
|
|
17
|
+
import * as i16 from "./VersionHistory/components/diff-resource.component";
|
|
18
|
+
import * as i17 from "./VersionHistory/components/restore-resource.component";
|
|
19
|
+
import * as i18 from "./VersionHistory/components/graph-resource.component";
|
|
20
|
+
import * as i19 from "@angular/common";
|
|
21
|
+
import * as i20 from "@angular/forms";
|
|
22
|
+
import * as i21 from "@memberjunction/ng-ui-components";
|
|
23
|
+
import * as i22 from "@memberjunction/ng-container-directives";
|
|
24
|
+
import * as i23 from "@memberjunction/ng-shared-generic";
|
|
25
|
+
import * as i24 from "@memberjunction/ng-code-editor";
|
|
26
|
+
import * as i25 from "@memberjunction/ng-explorer-settings";
|
|
27
|
+
import * as i26 from "@memberjunction/ng-entity-relationship-diagram";
|
|
28
|
+
import * as i27 from "@memberjunction/ng-query-viewer";
|
|
29
|
+
import * as i28 from "@memberjunction/ng-dashboard-viewer";
|
|
30
|
+
import * as i29 from "@memberjunction/ng-versions";
|
|
31
|
+
import * as i30 from "@memberjunction/ng-export-service";
|
|
32
|
+
import * as i31 from "./shared/shared-pipes.module";
|
|
32
33
|
/**
|
|
33
34
|
* CoreDashboardsModule — eagerly loaded core features: Home, EntityAdmin,
|
|
34
35
|
* SystemDiagnostics, QueryBrowser, DashboardBrowser, APIKeys, VersionHistory.
|
|
35
36
|
*/
|
|
36
37
|
export declare class CoreDashboardsModule {
|
|
37
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<CoreDashboardsModule, never>;
|
|
38
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreDashboardsModule, [typeof i1.EntityAdminDashboardComponent, typeof i2.HomeDashboardComponent, typeof i3.SystemDiagnosticsComponent, typeof i4.QueryBrowserResourceComponent, typeof i5.DashboardBrowserResourceComponent, typeof i6.DashboardShareDialogComponent, typeof i7.APIKeysResourceComponent, typeof i8.APIKeyCreateDialogComponent, typeof i9.APIKeyEditPanelComponent, typeof i10.APIKeyListComponent, typeof i11.APIApplicationsPanelComponent, typeof i12.APIScopesPanelComponent, typeof i13.APIUsagePanelComponent, typeof i14.
|
|
39
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CoreDashboardsModule, [typeof i1.EntityAdminDashboardComponent, typeof i2.HomeDashboardComponent, typeof i3.SystemDiagnosticsComponent, typeof i4.QueryBrowserResourceComponent, typeof i5.DashboardBrowserResourceComponent, typeof i6.DashboardShareDialogComponent, typeof i7.APIKeysResourceComponent, typeof i8.APIKeyCreateDialogComponent, typeof i9.APIKeyEditPanelComponent, typeof i10.APIKeyListComponent, typeof i11.APIApplicationsPanelComponent, typeof i12.APIScopesPanelComponent, typeof i13.APIUsagePanelComponent, typeof i14.ApplicationRolesResourceComponent, typeof i15.VersionHistoryLabelsResourceComponent, typeof i16.VersionHistoryDiffResourceComponent, typeof i17.VersionHistoryRestoreResourceComponent, typeof i18.VersionHistoryGraphResourceComponent], [typeof i19.CommonModule, typeof i20.FormsModule, typeof i20.ReactiveFormsModule, typeof i21.MJButtonDirective, typeof i21.MJDatepickerComponent, typeof i21.MJWindowComponent, typeof i21.MJWindowTitlebarComponent, typeof i21.MJDropdownComponent, typeof i22.ContainerDirectivesModule, typeof i23.SharedGenericModule, typeof i24.CodeEditorModule, typeof i25.ExplorerSettingsModule, typeof i26.EntityRelationshipDiagramModule, typeof i27.QueryViewerModule, typeof i28.DashboardViewerModule, typeof i29.VersionsModule, typeof i30.ExportServiceModule, typeof i31.SharedPipesModule], [typeof i1.EntityAdminDashboardComponent, typeof i2.HomeDashboardComponent, typeof i3.SystemDiagnosticsComponent, typeof i4.QueryBrowserResourceComponent, typeof i5.DashboardBrowserResourceComponent, typeof i6.DashboardShareDialogComponent, typeof i7.APIKeysResourceComponent, typeof i8.APIKeyCreateDialogComponent, typeof i9.APIKeyEditPanelComponent, typeof i10.APIKeyListComponent, typeof i11.APIApplicationsPanelComponent, typeof i12.APIScopesPanelComponent, typeof i13.APIUsagePanelComponent, typeof i14.ApplicationRolesResourceComponent, typeof i15.VersionHistoryLabelsResourceComponent, typeof i16.VersionHistoryDiffResourceComponent, typeof i17.VersionHistoryRestoreResourceComponent, typeof i18.VersionHistoryGraphResourceComponent, typeof i31.SharedPipesModule]>;
|
|
39
40
|
static ɵinj: i0.ɵɵInjectorDeclaration<CoreDashboardsModule>;
|
|
40
41
|
}
|
|
41
42
|
export type { ShareDialogResult, UserSharePermission } from './DashboardBrowser/dashboard-share-dialog.component';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-dashboards.module.d.ts","sourceRoot":"","sources":["../src/core-dashboards.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core-dashboards.module.d.ts","sourceRoot":"","sources":["../src/core-dashboards.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA;;;GAGG;AACH,qBAkEa,oBAAoB;yCAApB,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CAAI;AAGrC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAClH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AAIpG,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
|