@memberjunction/ng-dashboards 6.2.0-edge.6 → 6.2.0-edge.7
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 +23 -16
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +2 -2
- package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-management.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-management.component.js +3 -1
- package/dist/AI/components/analytics/realtime/realtime-management.component.js.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-overview.component.d.ts +1 -1
- package/dist/AI/components/analytics/realtime/realtime-overview.component.js +3 -3
- package/dist/AI/components/analytics/realtime/realtime-overview.component.js.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-session-data.d.ts +6 -4
- package/dist/AI/components/analytics/realtime/realtime-session-data.d.ts.map +1 -1
- package/dist/AI/components/analytics/realtime/realtime-session-data.js +8 -2
- package/dist/AI/components/analytics/realtime/realtime-session-data.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +6 -6
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js +1 -1
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -1
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -1
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -1
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +1 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +2 -2
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +3 -2
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +12 -6
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.js +4 -2
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
- package/dist/Actions/action-result-code.d.ts +80 -0
- package/dist/Actions/action-result-code.d.ts.map +1 -0
- package/dist/Actions/action-result-code.js +163 -0
- package/dist/Actions/action-result-code.js.map +1 -0
- package/dist/Actions/components/actions-overview.component.d.ts +8 -0
- package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +12 -9
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.d.ts +29 -9
- package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +65 -42
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-card.component.js +5 -4
- package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
- package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts +92 -130
- package/dist/ChiefOfStaff/chief-of-staff-agent-context.d.ts.map +1 -1
- package/dist/ChiefOfStaff/chief-of-staff-agent-context.js +189 -274
- package/dist/ChiefOfStaff/chief-of-staff-agent-context.js.map +1 -1
- package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts +29 -0
- package/dist/ChiefOfStaff/chief-of-staff-approvals.component.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js +666 -0
- package/dist/ChiefOfStaff/chief-of-staff-approvals.component.js.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts +56 -0
- package/dist/ChiefOfStaff/chief-of-staff-governance.component.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-governance.component.js +515 -0
- package/dist/ChiefOfStaff/chief-of-staff-governance.component.js.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts +14 -0
- package/dist/ChiefOfStaff/chief-of-staff-live-refresh.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js +39 -0
- package/dist/ChiefOfStaff/chief-of-staff-live-refresh.js.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts +17 -0
- package/dist/ChiefOfStaff/chief-of-staff-overview.component.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-overview.component.js +485 -0
- package/dist/ChiefOfStaff/chief-of-staff-overview.component.js.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts +139 -0
- package/dist/ChiefOfStaff/chief-of-staff-page-base.d.ts.map +1 -0
- package/dist/ChiefOfStaff/chief-of-staff-page-base.js +602 -0
- package/dist/ChiefOfStaff/chief-of-staff-page-base.js.map +1 -0
- package/dist/ChiefOfStaff/index.d.ts +4 -1
- package/dist/ChiefOfStaff/index.d.ts.map +1 -1
- package/dist/ChiefOfStaff/index.js +4 -1
- package/dist/ChiefOfStaff/index.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +3 -3
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +3 -3
- package/dist/Communication/communication-runs-resource.component.js.map +1 -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/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +2 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
- package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -1
- package/dist/ComponentStudio/services/component-version.service.js +3 -0
- package/dist/ComponentStudio/services/component-version.service.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +21 -2
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +32 -5
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DevTools/graphql-console.component.js +2 -2
- package/dist/DevTools/lazy-module-status.component.js +2 -2
- package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
- package/dist/FormBuilder/form-builder-resource.component.js +5 -0
- package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +2 -2
- package/dist/Integration/services/integration-data.service.d.ts +1 -1
- package/dist/Integration/services/integration-data.service.d.ts.map +1 -1
- package/dist/Integration/services/integration-data.service.js +4 -3
- package/dist/Integration/services/integration-data.service.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/LoginStudio/login-studio-resource.component.d.ts.map +1 -1
- package/dist/LoginStudio/login-studio-resource.component.js +1 -0
- package/dist/LoginStudio/login-studio-resource.component.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-experiments.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/components/ps-experiments.component.js +1 -0
- package/dist/PredictiveStudio/components/ps-experiments.component.js.map +1 -1
- package/dist/PredictiveStudio/components/ps-pipeline-wizard.component.js +2 -2
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.js +3 -0
- package/dist/PredictiveStudio/components/ps-predictions-grid.component.js.map +1 -1
- package/dist/PredictiveStudio/engine/predictive-studio.engine.d.ts.map +1 -1
- package/dist/PredictiveStudio/engine/predictive-studio.engine.js +1 -0
- package/dist/PredictiveStudio/engine/predictive-studio.engine.js.map +1 -1
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.d.ts.map +1 -1
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js +1 -0
- package/dist/PredictiveStudio/resources/ps-predictions-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts +26 -0
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +375 -252
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/UserRoutines/user-routines-resource.component.d.ts +8 -1
- package/dist/UserRoutines/user-routines-resource.component.d.ts.map +1 -1
- package/dist/UserRoutines/user-routines-resource.component.js +22 -4
- package/dist/UserRoutines/user-routines-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/diff-resource.component.js +1 -0
- package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
- package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts +162 -0
- package/dist/VideoStudio/components/vs-archetype-editor.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-archetype-editor.component.js +1105 -0
- package/dist/VideoStudio/components/vs-archetype-editor.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-audio-options.component.d.ts +27 -0
- package/dist/VideoStudio/components/vs-audio-options.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-audio-options.component.js +119 -0
- package/dist/VideoStudio/components/vs-audio-options.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts +105 -0
- package/dist/VideoStudio/components/vs-copilot-panel.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-copilot-panel.component.js +560 -0
- package/dist/VideoStudio/components/vs-copilot-panel.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-production-brief.component.d.ts +163 -0
- package/dist/VideoStudio/components/vs-production-brief.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-production-brief.component.js +1054 -0
- package/dist/VideoStudio/components/vs-production-brief.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts +43 -0
- package/dist/VideoStudio/components/vs-setup-health-card.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-setup-health-card.component.js +412 -0
- package/dist/VideoStudio/components/vs-setup-health-card.component.js.map +1 -0
- package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts +73 -0
- package/dist/VideoStudio/components/vs-studio-slide-in.component.d.ts.map +1 -0
- package/dist/VideoStudio/components/vs-studio-slide-in.component.js +271 -0
- package/dist/VideoStudio/components/vs-studio-slide-in.component.js.map +1 -0
- package/dist/VideoStudio/index.d.ts +12 -0
- package/dist/VideoStudio/index.d.ts.map +1 -0
- package/dist/VideoStudio/index.js +12 -0
- package/dist/VideoStudio/index.js.map +1 -0
- package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts +118 -0
- package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.d.ts.map +1 -0
- package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js +964 -0
- package/dist/VideoStudio/resources/video-studio-archetypes-resource.component.js.map +1 -0
- package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts +70 -0
- package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.d.ts.map +1 -0
- package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js +600 -0
- package/dist/VideoStudio/resources/video-studio-brand-kits-resource.component.js.map +1 -0
- package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts +182 -0
- package/dist/VideoStudio/resources/video-studio-productions-resource.component.d.ts.map +1 -0
- package/dist/VideoStudio/resources/video-studio-productions-resource.component.js +1481 -0
- package/dist/VideoStudio/resources/video-studio-productions-resource.component.js.map +1 -0
- package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts +102 -0
- package/dist/VideoStudio/services/vs-studio-slide-in-state.service.d.ts.map +1 -0
- package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js +240 -0
- package/dist/VideoStudio/services/vs-studio-slide-in-state.service.js.map +1 -0
- package/dist/VideoStudio/video-studio-agent-context.d.ts +495 -0
- package/dist/VideoStudio/video-studio-agent-context.d.ts.map +1 -0
- package/dist/VideoStudio/video-studio-agent-context.js +992 -0
- package/dist/VideoStudio/video-studio-agent-context.js.map +1 -0
- package/dist/ai-dashboards.module.d.ts +25 -22
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +23 -7
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/module.d.ts +13 -12
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +7 -0
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +7 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +9 -2
- package/dist/public-api.js.map +1 -1
- package/dist/shared/action-scheduled-job.d.ts.map +1 -1
- package/dist/shared/action-scheduled-job.js +2 -0
- package/dist/shared/action-scheduled-job.js.map +1 -1
- package/dist/video-studio-dashboards.module.d.ts +40 -0
- package/dist/video-studio-dashboards.module.d.ts.map +1 -0
- package/dist/video-studio-dashboards.module.js +159 -0
- package/dist/video-studio-dashboards.module.js.map +1 -0
- package/package.json +77 -71
- package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts +0 -195
- package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.d.ts.map +0 -1
- package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js +0 -2910
- package/dist/ChiefOfStaff/chief-of-staff-dashboard.component.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predictive-studio.engine.d.ts","sourceRoot":"","sources":["../../../src/PredictiveStudio/engine/predictive-studio.engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"predictive-studio.engine.d.ts","sourceRoot":"","sources":["../../../src/PredictiveStudio/engine/predictive-studio.engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -287,6 +287,7 @@ export class PredictiveStudioEngine extends BaseEngine {
|
|
|
287
287
|
ExtraFilter: `ProcessRunID = '${EscapeSQLString(runId)}'`,
|
|
288
288
|
Fields: ['ID'],
|
|
289
289
|
MaxRows: 1,
|
|
290
|
+
SkipTotalRowCount: true,
|
|
290
291
|
AfterKey: CompositeKey.FromEntityRecord(entityInfo, page.Results[page.Results.length - 1]),
|
|
291
292
|
ResultType: 'simple',
|
|
292
293
|
}, user);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predictive-studio.engine.js","sourceRoot":"","sources":["../../../src/PredictiveStudio/engine/predictive-studio.engine.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BaseEngine,\n BaseEnginePropertyConfig,\n CompositeKey,\n IMetadataProvider,\n Metadata,\n RunView,\n UserInfo,\n} from '@memberjunction/core';\nimport { EscapeSQLString, UUIDsEqual } from '@memberjunction/global';\nimport {\n MJMLAlgorithmEntity,\n MJMLAlgorithmUseCaseEntity,\n MJMLAlgorithmUseCaseRankingEntity,\n MJMLModelEntity,\n MJMLModelScoringBindingEntity,\n MJMLTrainingPipelineEntity,\n MJMLTrainingRunEntity,\n MJExperimentEntity,\n MJExperimentSessionEntity,\n MJExperimentSessionIterationEntity,\n MJProcessRunDetailEntity,\n MJProcessRunEntity,\n MJRecordProcessEntity,\n} from '@memberjunction/core-entities';\nimport { PSIterationRow, PSProcessRunRow } from '../predictive-studio.view-models';\n\n/** The columns of a scored Process Run Detail the Predictive Studio surfaces read; `ID` is the keyset paging cursor. */\nexport type PSRunDetailRow = Pick<MJProcessRunDetailEntity, 'ID' | 'RecordID' | 'ResultPayload' | 'Status' | 'CompletedAt' | '__mj_CreatedAt'>;\n\n/** A run's details as read by {@link PredictiveStudioEngine.LoadRunDetails}; `Capped` is true when the run has more. */\nexport interface PSRunDetails {\n Rows: PSRunDetailRow[];\n Capped: boolean;\n}\n\n/**\n * Recommendation levels used by the Algorithm Use Case Rankings matrix, ordered weakest → strongest.\n * Used to rank algorithms within a chosen scenario in the catalog \"Guide me\" picker.\n */\nexport type RecommendationLevel = 'NotRecommended' | 'Weak' | 'Viable' | 'Strong' | 'Primary';\n\n/** Numeric rank for each {@link RecommendationLevel} (higher = better fit). */\nexport const RECOMMENDATION_RANK: Record<RecommendationLevel, number> = {\n NotRecommended: 0,\n Weak: 1,\n Viable: 2,\n Strong: 3,\n Primary: 4,\n};\n\n/** Minimal shape of a ranking row consumed by {@link computeBestLevels} (decoupled from the entity). */\nexport interface RankingRow {\n MLAlgorithmID: string;\n MLAlgorithmUseCaseID: string;\n RecommendationLevel: RecommendationLevel;\n}\n\n/**\n * Pure ranking-matrix reducer: given ranking rows and a set of selected use-case IDs, returns each\n * algorithm's BEST recommendation level (max by rank) across those scenarios. Extracted from the\n * engine so it is unit-testable without a metadata provider / DB.\n */\nexport function ComputeBestLevels(rankings: RankingRow[], useCaseIds: string[]): Map<string, RecommendationLevel> {\n const out = new Map<string, RecommendationLevel>();\n if (useCaseIds.length === 0) return out;\n for (const ranking of rankings) {\n if (!useCaseIds.some((id) => UUIDsEqual(id, ranking.MLAlgorithmUseCaseID))) continue;\n const current = out.get(ranking.MLAlgorithmID);\n if (!current || RECOMMENDATION_RANK[ranking.RecommendationLevel] > RECOMMENDATION_RANK[current]) {\n out.set(ranking.MLAlgorithmID, ranking.RecommendationLevel);\n }\n }\n return out;\n}\n\n/** @deprecated Use {@link ComputeBestLevels}. */\nexport function computeBestLevels(rankings: RankingRow[], useCaseIds: string[]): Map<string, RecommendationLevel> {\n return ComputeBestLevels(rankings, useCaseIds);\n}\n\n/**\n * PredictiveStudioEngine — the single, process-wide cache + domain-logic layer for the Predictive\n * Studio dashboard. Follows the canonical MJ BaseEngine pattern (Config() declaring\n * BaseEnginePropertyConfig[], lazy-loaded, ObserveProperty reactivity for free).\n *\n * It caches the SMALL Predictive Studio reference entities (algorithms, use cases, the rankings\n * matrix, models, pipelines, training runs, experiments + sessions + iterations) via RunView so\n * the panels bind to in-memory arrays and stay reactive to saves/deletes. Large columns\n * (serialized model artifacts, feature schemas) live on the entities themselves but these tables\n * are small enough to fully cache.\n */\nexport class PredictiveStudioEngine extends BaseEngine<PredictiveStudioEngine> {\n /** Singleton accessor — never `new` this class directly. */\n public static get Instance(): PredictiveStudioEngine {\n return super.getInstance<PredictiveStudioEngine>();\n }\n\n private _algorithms: MJMLAlgorithmEntity[] = [];\n private _useCases: MJMLAlgorithmUseCaseEntity[] = [];\n private _rankings: MJMLAlgorithmUseCaseRankingEntity[] = [];\n private _models: MJMLModelEntity[] = [];\n private _scoringBindings: MJMLModelScoringBindingEntity[] = [];\n private _recordProcesses: MJRecordProcessEntity[] = [];\n private _pipelines: MJMLTrainingPipelineEntity[] = [];\n private _trainingRuns: MJMLTrainingRunEntity[] = [];\n private _experiments: MJExperimentEntity[] = [];\n private _sessions: MJExperimentSessionEntity[] = [];\n private _iterations: MJExperimentSessionIterationEntity[] = [];\n\n public async Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void> {\n const c: Partial<BaseEnginePropertyConfig>[] = [\n { Type: 'entity', EntityName: 'MJ: ML Algorithms', PropertyName: '_algorithms', OrderBy: 'Name' },\n { Type: 'entity', EntityName: 'MJ: ML Algorithm Use Cases', PropertyName: '_useCases', OrderBy: 'DisplayOrder' },\n { Type: 'entity', EntityName: 'MJ: ML Algorithm Use Case Rankings', PropertyName: '_rankings' },\n { Type: 'entity', EntityName: 'MJ: ML Models', PropertyName: '_models', OrderBy: '__mj_UpdatedAt DESC' },\n { Type: 'entity', EntityName: 'MJ: ML Model Scoring Bindings', PropertyName: '_scoringBindings', OrderBy: '__mj_UpdatedAt DESC' },\n { Type: 'entity', EntityName: 'MJ: Record Processes', PropertyName: '_recordProcesses', OrderBy: 'Name' },\n { Type: 'entity', EntityName: 'MJ: ML Training Pipelines', PropertyName: '_pipelines', OrderBy: 'Name' },\n { Type: 'entity', EntityName: 'MJ: ML Training Runs', PropertyName: '_trainingRuns', OrderBy: '__mj_CreatedAt DESC' },\n { Type: 'entity', EntityName: 'MJ: Experiments', PropertyName: '_experiments', OrderBy: 'Name' },\n { Type: 'entity', EntityName: 'MJ: Experiment Sessions', PropertyName: '_sessions', OrderBy: '__mj_CreatedAt DESC' },\n { Type: 'entity', EntityName: 'MJ: Experiment Session Iterations', PropertyName: '_iterations', OrderBy: 'Sequence' },\n ];\n await super.Load(c, provider ?? Metadata.Provider, forceRefresh, contextUser);\n }\n\n // ---- Cached arrays (sync getters; observe via ObserveProperty for reactive UI) ----\n\n public get Algorithms(): MJMLAlgorithmEntity[] {\n return this._algorithms ?? [];\n }\n public get UseCases(): MJMLAlgorithmUseCaseEntity[] {\n return this._useCases ?? [];\n }\n public get Rankings(): MJMLAlgorithmUseCaseRankingEntity[] {\n return this._rankings ?? [];\n }\n public get Models(): MJMLModelEntity[] {\n return this._models ?? [];\n }\n /** Scoring bindings — a model → (target entity + column, optional Record Process) deployment link. */\n public get ScoringBindings(): MJMLModelScoringBindingEntity[] {\n return this._scoringBindings ?? [];\n }\n /** Record Processes — used to resolve the schedule (cron) + status of a binding's bound process. */\n public get RecordProcesses(): MJRecordProcessEntity[] {\n return this._recordProcesses ?? [];\n }\n public get Pipelines(): MJMLTrainingPipelineEntity[] {\n return this._pipelines ?? [];\n }\n public get TrainingRuns(): MJMLTrainingRunEntity[] {\n return this._trainingRuns ?? [];\n }\n public get Experiments(): MJExperimentEntity[] {\n return this._experiments ?? [];\n }\n public get Sessions(): MJExperimentSessionEntity[] {\n return this._sessions ?? [];\n }\n public get Iterations(): MJExperimentSessionIterationEntity[] {\n return this._iterations ?? [];\n }\n\n // ---- Domain helpers ----\n\n /** Look up an ML Model by ID (for joining a scoring binding to its model). */\n public ModelByID(modelId: string | null | undefined): MJMLModelEntity | undefined {\n if (!modelId) return undefined;\n return this.Models.find((m) => UUIDsEqual(m.ID, modelId));\n }\n\n /** Look up a Record Process by ID (for resolving a binding's schedule/status). */\n public RecordProcessByID(processId: string | null | undefined): MJRecordProcessEntity | undefined {\n if (!processId) return undefined;\n return this.RecordProcesses.find((p) => UUIDsEqual(p.ID, processId));\n }\n\n /** Look up an algorithm name by ID (for joining iterations/runs/models to a display name). */\n public AlgorithmName(algorithmId: string | null | undefined): string {\n if (!algorithmId) return 'Unknown';\n return this.Algorithms.find((a) => UUIDsEqual(a.ID, algorithmId))?.Name ?? 'Unknown';\n }\n\n /** All ranking rows for a given use case, joined to their algorithm and ranked best-first. */\n public RankingsForUseCase(useCaseId: string): MJMLAlgorithmUseCaseRankingEntity[] {\n return this.Rankings.filter((r) => UUIDsEqual(r.MLAlgorithmUseCaseID, useCaseId)).sort(\n (a, b) => RECOMMENDATION_RANK[b.RecommendationLevel] - RECOMMENDATION_RANK[a.RecommendationLevel],\n );\n }\n\n /**\n * Given a set of selected use-case IDs, compute each algorithm's BEST recommendation level\n * across those scenarios (max by rank) — the core of the catalog \"Guide me\" picker.\n * Returns a map of algorithmId → best level, omitting algorithms with no ranking row.\n */\n public BestLevelsForScenarios(useCaseIds: string[]): Map<string, RecommendationLevel> {\n return ComputeBestLevels(this.Rankings, useCaseIds);\n }\n\n /** Iterations belonging to a session, in sequence order. */\n public IterationsForSession(sessionId: string): MJExperimentSessionIterationEntity[] {\n return this.Iterations.filter((i) => UUIDsEqual(i.ExperimentSessionID, sessionId)).sort(\n (a, b) => a.Sequence - b.Sequence,\n );\n }\n\n /** Published models only — the production-quality set used for headline KPIs. */\n public get PublishedModels(): MJMLModelEntity[] {\n return this.Models.filter((m) => m.Status === 'Published');\n }\n\n /** Sessions whose status is `Running` — the active experiment count. */\n public get RunningSessions(): MJExperimentSessionEntity[] {\n return this.Sessions.filter((s) => s.Status === 'Running');\n }\n\n /**\n * Resolve a model's human-readable display name generically: the producing pipeline's name when\n * available (the most meaningful label — what the model predicts), else the model's denormalized\n * `Pipeline` view field, else a version-stamped fallback. Entity-agnostic — never hardcodes any\n * business entity.\n */\n public ModelDisplayName(model: MJMLModelEntity): string {\n const pipeline = this.Pipelines.find((p) => UUIDsEqual(p.ID, model.PipelineID));\n return pipeline?.Name ?? model.Pipeline ?? `Model v${model.Version}`;\n }\n\n /**\n * Map the engine's cached iterations for a session into the pure {@link PSIterationRow} shape the\n * view-model derivations consume — joining each iteration to its algorithm name via the resulting\n * training run (iteration → run → algorithm), since iterations don't carry the algorithm directly.\n */\n public IterationRowsForSession(sessionId: string): PSIterationRow[] {\n return this.IterationsForSession(sessionId).map((it) => ({\n ID: it.ID,\n ExperimentSessionID: it.ExperimentSessionID,\n Sequence: it.Sequence,\n Label: it.Label,\n Status: it.Status,\n Score: it.Score,\n ComputeCost: it.ComputeCost,\n TokensUsed: it.TokensUsed,\n Rationale: it.Rationale,\n AlgorithmName: this.AlgorithmForIteration(it.ID),\n }));\n }\n\n /** Resolve an iteration's algorithm display name via its training run (or 'Unknown'). */\n public AlgorithmForIteration(iterationId: string): string {\n const run = this.TrainingRuns.find((r) => UUIDsEqual(r.ExperimentSessionIterationID, iterationId));\n return run ? this.AlgorithmName(run.AlgorithmID) : 'Unknown';\n }\n\n /**\n * The `MJ: Record Processes` IDs that ML scoring write-backs run through — every scoring binding's\n * bound Record Process. Used to scope the Home activity feed to ML-scoring runs without depending\n * on a typed `WorkType='ML Model'` enum value (which is registered at runtime, not in the type).\n */\n public get ScoringRecordProcessIDs(): string[] {\n const ids = this.ScoringBindings.map((b) => b.RecordProcessID).filter((id): id is string => !!id);\n return [...new Set(ids)];\n }\n\n /**\n * Load recent ML-scoring process runs on demand (NOT bulk-cached — `MJ: Process Runs` grows\n * unbounded). Scopes to runs whose `RecordProcessID` is one of the ML scoring bindings'\n * processes, optionally to the last `sinceDays`, capped at `maxRows`, newest first. Returns the\n * pure {@link PSProcessRunRow} shape for the Home derivations. Returns `[]` (never throws) on any\n * failure or when there are no scoring bindings to scope to.\n *\n * @param provider The provider to run against (multi-provider correctness).\n * @param user The acting user (server-side audit/security).\n * @param options.sinceDays Only runs started within this many days (default 7).\n * @param options.maxRows Row cap (default 50).\n */\n public async LoadRecentScoringRuns(\n provider: IMetadataProvider,\n user: UserInfo | undefined,\n options?: { sinceDays?: number; maxRows?: number },\n ): Promise<PSProcessRunRow[]> {\n return this.loadRunsForProcessIds(this.ScoringRecordProcessIDs, provider, user, options);\n }\n\n /**\n * Record Processes (`WorkType='ML Model'`) configured to score with `modelId` — the cached link from a\n * model to the processes that run it, idle/scheduled/bound alike (no DB hit). The `modelId` is read from\n * each Record Process's stored `Configuration` JSON.\n */\n public RecordProcessesForModel(modelId: string): MJRecordProcessEntity[] {\n return this.RecordProcesses.filter((rp) => {\n const id = this.recordProcessModelId(rp);\n return id != null && UUIDsEqual(id, modelId);\n });\n }\n\n /** The cached Record-Process ids scoring with `modelId`. */\n public RecordProcessIDsForModel(modelId: string): string[] {\n return this.RecordProcessesForModel(modelId).map((rp) => rp.ID);\n }\n\n /** Parse a Record Process's stored `modelId` (the `WorkType='ML Model'` config), or null. */\n private recordProcessModelId(rp: MJRecordProcessEntity): string | null {\n try {\n const cfg: unknown = JSON.parse(rp.Configuration ?? '{}');\n const id = (cfg as { modelId?: unknown })?.modelId;\n return typeof id === 'string' ? id : null;\n } catch {\n return null;\n }\n }\n\n /**\n * Load recent process runs for ONE model's Record Processes — same DB-light, on-demand contract as\n * {@link LoadRecentScoringRuns}, scoped to a single model. Powers the \"Models in Production\" per-model\n * run history (a model needs no scoring binding to have runs — any `WorkType='ML Model'` Record Process\n * run persists here).\n */\n public async LoadRecentRunsForModel(\n modelId: string,\n provider: IMetadataProvider,\n user: UserInfo | undefined,\n options?: { sinceDays?: number; maxRows?: number },\n ): Promise<PSProcessRunRow[]> {\n return this.loadRunsForProcessIds(this.RecordProcessIDsForModel(modelId), provider, user, options);\n }\n\n /** The most run details one read returns; a larger run is read up to this many and reported {@link PSRunDetails.Capped}. */\n public static readonly MaxRunDetailRows = 50_000;\n /** {@link MaxRunDetailRows} formatted for the notices that tell a user a run was capped (\"50,000\"). */\n public static readonly MaxRunDetailRowsLabel = PredictiveStudioEngine.MaxRunDetailRows.toLocaleString('en-US');\n private static readonly runDetailPageSize = 1000;\n\n /**\n * Reads a run's process run details one keyset page at a time (read-only, only the columns the surfaces use), up to\n * {@link PredictiveStudioEngine.MaxRunDetailRows}. Throws, with the provider's error message, when a page fails to load,\n * so the caller shows the failure instead of an empty run.\n */\n public async LoadRunDetails(runId: string, provider: IMetadataProvider, user: UserInfo | undefined): Promise<PSRunDetails> {\n const entityInfo = provider.EntityByName('MJ: Process Run Details');\n if (!entityInfo) {\n throw new Error(\"The 'MJ: Process Run Details' entity is not in this provider's metadata.\");\n }\n const rv = RunView.FromMetadataProvider(provider);\n const rows: PSRunDetailRow[] = [];\n let lastKey: CompositeKey | undefined;\n while (true) {\n const page = await rv.RunView<PSRunDetailRow>(\n {\n EntityName: 'MJ: Process Run Details',\n ExtraFilter: `ProcessRunID = '${EscapeSQLString(runId)}'`,\n Fields: ['ID', 'RecordID', 'ResultPayload', 'Status', 'CompletedAt', '__mj_CreatedAt'],\n MaxRows: PredictiveStudioEngine.runDetailPageSize,\n AfterKey: lastKey,\n ResultType: 'simple',\n },\n user,\n );\n if (!page.Success || !page.Results) {\n throw new Error(`Could not read the predictions of run ${runId}: ${page.ErrorMessage || 'the request failed'}`);\n }\n rows.push(...page.Results);\n if (page.Results.length < PredictiveStudioEngine.runDetailPageSize) {\n return { Rows: rows, Capped: false };\n }\n if (rows.length >= PredictiveStudioEngine.MaxRunDetailRows) {\n // Capped only when the run really has more: a run of exactly the cap is complete.\n const probe = await rv.RunView<Pick<PSRunDetailRow, 'ID'>>(\n {\n EntityName: 'MJ: Process Run Details',\n ExtraFilter: `ProcessRunID = '${EscapeSQLString(runId)}'`,\n Fields: ['ID'],\n MaxRows: 1,\n AfterKey: CompositeKey.FromEntityRecord(entityInfo, page.Results[page.Results.length - 1]),\n ResultType: 'simple',\n },\n user,\n );\n return { Rows: rows, Capped: probe.Success && probe.Results.length > 0 };\n }\n lastKey = CompositeKey.FromEntityRecord(entityInfo, page.Results[page.Results.length - 1]);\n }\n }\n\n /** Shared run-loader: recent `MJ: Process Runs` for a set of Record-Process ids (capped, newest-first). */\n private async loadRunsForProcessIds(\n processIds: string[],\n provider: IMetadataProvider,\n user: UserInfo | undefined,\n options?: { sinceDays?: number; maxRows?: number },\n ): Promise<PSProcessRunRow[]> {\n if (processIds.length === 0) return [];\n const sinceDays = options?.sinceDays ?? 7;\n const maxRows = options?.maxRows ?? 50;\n const sinceIso = new Date(Date.now() - sinceDays * 24 * 60 * 60 * 1000).toISOString();\n const idList = processIds.map((id) => `'${id}'`).join(',');\n\n const rv = RunView.FromMetadataProvider(provider);\n const result = await rv.RunView<MJProcessRunEntity>(\n {\n EntityName: 'MJ: Process Runs',\n ExtraFilter: `RecordProcessID IN (${idList}) AND __mj_CreatedAt >= '${sinceIso}'`,\n OrderBy: '__mj_CreatedAt DESC',\n MaxRows: maxRows,\n ResultType: 'entity_object',\n },\n user,\n );\n if (!result.Success) return [];\n return (result.Results ?? []).map((r) => ({\n ID: r.ID,\n Status: r.Status,\n StartTime: r.StartTime,\n CreatedAt: r.__mj_CreatedAt,\n SuccessCount: r.SuccessCount,\n TotalItemCount: r.TotalItemCount,\n ProcessName: r.RecordProcess,\n EntityName: r.Entity,\n DryRun: r.DryRun,\n }));\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"predictive-studio.engine.js","sourceRoot":"","sources":["../../../src/PredictiveStudio/engine/predictive-studio.engine.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BaseEngine,\n BaseEnginePropertyConfig,\n CompositeKey,\n IMetadataProvider,\n Metadata,\n RunView,\n UserInfo,\n} from '@memberjunction/core';\nimport { EscapeSQLString, UUIDsEqual } from '@memberjunction/global';\nimport {\n MJMLAlgorithmEntity,\n MJMLAlgorithmUseCaseEntity,\n MJMLAlgorithmUseCaseRankingEntity,\n MJMLModelEntity,\n MJMLModelScoringBindingEntity,\n MJMLTrainingPipelineEntity,\n MJMLTrainingRunEntity,\n MJExperimentEntity,\n MJExperimentSessionEntity,\n MJExperimentSessionIterationEntity,\n MJProcessRunDetailEntity,\n MJProcessRunEntity,\n MJRecordProcessEntity,\n} from '@memberjunction/core-entities';\nimport { PSIterationRow, PSProcessRunRow } from '../predictive-studio.view-models';\n\n/** The columns of a scored Process Run Detail the Predictive Studio surfaces read; `ID` is the keyset paging cursor. */\nexport type PSRunDetailRow = Pick<MJProcessRunDetailEntity, 'ID' | 'RecordID' | 'ResultPayload' | 'Status' | 'CompletedAt' | '__mj_CreatedAt'>;\n\n/** A run's details as read by {@link PredictiveStudioEngine.LoadRunDetails}; `Capped` is true when the run has more. */\nexport interface PSRunDetails {\n Rows: PSRunDetailRow[];\n Capped: boolean;\n}\n\n/**\n * Recommendation levels used by the Algorithm Use Case Rankings matrix, ordered weakest → strongest.\n * Used to rank algorithms within a chosen scenario in the catalog \"Guide me\" picker.\n */\nexport type RecommendationLevel = 'NotRecommended' | 'Weak' | 'Viable' | 'Strong' | 'Primary';\n\n/** Numeric rank for each {@link RecommendationLevel} (higher = better fit). */\nexport const RECOMMENDATION_RANK: Record<RecommendationLevel, number> = {\n NotRecommended: 0,\n Weak: 1,\n Viable: 2,\n Strong: 3,\n Primary: 4,\n};\n\n/** Minimal shape of a ranking row consumed by {@link computeBestLevels} (decoupled from the entity). */\nexport interface RankingRow {\n MLAlgorithmID: string;\n MLAlgorithmUseCaseID: string;\n RecommendationLevel: RecommendationLevel;\n}\n\n/**\n * Pure ranking-matrix reducer: given ranking rows and a set of selected use-case IDs, returns each\n * algorithm's BEST recommendation level (max by rank) across those scenarios. Extracted from the\n * engine so it is unit-testable without a metadata provider / DB.\n */\nexport function ComputeBestLevels(rankings: RankingRow[], useCaseIds: string[]): Map<string, RecommendationLevel> {\n const out = new Map<string, RecommendationLevel>();\n if (useCaseIds.length === 0) return out;\n for (const ranking of rankings) {\n if (!useCaseIds.some((id) => UUIDsEqual(id, ranking.MLAlgorithmUseCaseID))) continue;\n const current = out.get(ranking.MLAlgorithmID);\n if (!current || RECOMMENDATION_RANK[ranking.RecommendationLevel] > RECOMMENDATION_RANK[current]) {\n out.set(ranking.MLAlgorithmID, ranking.RecommendationLevel);\n }\n }\n return out;\n}\n\n/** @deprecated Use {@link ComputeBestLevels}. */\nexport function computeBestLevels(rankings: RankingRow[], useCaseIds: string[]): Map<string, RecommendationLevel> {\n return ComputeBestLevels(rankings, useCaseIds);\n}\n\n/**\n * PredictiveStudioEngine — the single, process-wide cache + domain-logic layer for the Predictive\n * Studio dashboard. Follows the canonical MJ BaseEngine pattern (Config() declaring\n * BaseEnginePropertyConfig[], lazy-loaded, ObserveProperty reactivity for free).\n *\n * It caches the SMALL Predictive Studio reference entities (algorithms, use cases, the rankings\n * matrix, models, pipelines, training runs, experiments + sessions + iterations) via RunView so\n * the panels bind to in-memory arrays and stay reactive to saves/deletes. Large columns\n * (serialized model artifacts, feature schemas) live on the entities themselves but these tables\n * are small enough to fully cache.\n */\nexport class PredictiveStudioEngine extends BaseEngine<PredictiveStudioEngine> {\n /** Singleton accessor — never `new` this class directly. */\n public static get Instance(): PredictiveStudioEngine {\n return super.getInstance<PredictiveStudioEngine>();\n }\n\n private _algorithms: MJMLAlgorithmEntity[] = [];\n private _useCases: MJMLAlgorithmUseCaseEntity[] = [];\n private _rankings: MJMLAlgorithmUseCaseRankingEntity[] = [];\n private _models: MJMLModelEntity[] = [];\n private _scoringBindings: MJMLModelScoringBindingEntity[] = [];\n private _recordProcesses: MJRecordProcessEntity[] = [];\n private _pipelines: MJMLTrainingPipelineEntity[] = [];\n private _trainingRuns: MJMLTrainingRunEntity[] = [];\n private _experiments: MJExperimentEntity[] = [];\n private _sessions: MJExperimentSessionEntity[] = [];\n private _iterations: MJExperimentSessionIterationEntity[] = [];\n\n public async Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void> {\n const c: Partial<BaseEnginePropertyConfig>[] = [\n { Type: 'entity', EntityName: 'MJ: ML Algorithms', PropertyName: '_algorithms', OrderBy: 'Name' },\n { Type: 'entity', EntityName: 'MJ: ML Algorithm Use Cases', PropertyName: '_useCases', OrderBy: 'DisplayOrder' },\n { Type: 'entity', EntityName: 'MJ: ML Algorithm Use Case Rankings', PropertyName: '_rankings' },\n { Type: 'entity', EntityName: 'MJ: ML Models', PropertyName: '_models', OrderBy: '__mj_UpdatedAt DESC' },\n { Type: 'entity', EntityName: 'MJ: ML Model Scoring Bindings', PropertyName: '_scoringBindings', OrderBy: '__mj_UpdatedAt DESC' },\n { Type: 'entity', EntityName: 'MJ: Record Processes', PropertyName: '_recordProcesses', OrderBy: 'Name' },\n { Type: 'entity', EntityName: 'MJ: ML Training Pipelines', PropertyName: '_pipelines', OrderBy: 'Name' },\n { Type: 'entity', EntityName: 'MJ: ML Training Runs', PropertyName: '_trainingRuns', OrderBy: '__mj_CreatedAt DESC' },\n { Type: 'entity', EntityName: 'MJ: Experiments', PropertyName: '_experiments', OrderBy: 'Name' },\n { Type: 'entity', EntityName: 'MJ: Experiment Sessions', PropertyName: '_sessions', OrderBy: '__mj_CreatedAt DESC' },\n { Type: 'entity', EntityName: 'MJ: Experiment Session Iterations', PropertyName: '_iterations', OrderBy: 'Sequence' },\n ];\n await super.Load(c, provider ?? Metadata.Provider, forceRefresh, contextUser);\n }\n\n // ---- Cached arrays (sync getters; observe via ObserveProperty for reactive UI) ----\n\n public get Algorithms(): MJMLAlgorithmEntity[] {\n return this._algorithms ?? [];\n }\n public get UseCases(): MJMLAlgorithmUseCaseEntity[] {\n return this._useCases ?? [];\n }\n public get Rankings(): MJMLAlgorithmUseCaseRankingEntity[] {\n return this._rankings ?? [];\n }\n public get Models(): MJMLModelEntity[] {\n return this._models ?? [];\n }\n /** Scoring bindings — a model → (target entity + column, optional Record Process) deployment link. */\n public get ScoringBindings(): MJMLModelScoringBindingEntity[] {\n return this._scoringBindings ?? [];\n }\n /** Record Processes — used to resolve the schedule (cron) + status of a binding's bound process. */\n public get RecordProcesses(): MJRecordProcessEntity[] {\n return this._recordProcesses ?? [];\n }\n public get Pipelines(): MJMLTrainingPipelineEntity[] {\n return this._pipelines ?? [];\n }\n public get TrainingRuns(): MJMLTrainingRunEntity[] {\n return this._trainingRuns ?? [];\n }\n public get Experiments(): MJExperimentEntity[] {\n return this._experiments ?? [];\n }\n public get Sessions(): MJExperimentSessionEntity[] {\n return this._sessions ?? [];\n }\n public get Iterations(): MJExperimentSessionIterationEntity[] {\n return this._iterations ?? [];\n }\n\n // ---- Domain helpers ----\n\n /** Look up an ML Model by ID (for joining a scoring binding to its model). */\n public ModelByID(modelId: string | null | undefined): MJMLModelEntity | undefined {\n if (!modelId) return undefined;\n return this.Models.find((m) => UUIDsEqual(m.ID, modelId));\n }\n\n /** Look up a Record Process by ID (for resolving a binding's schedule/status). */\n public RecordProcessByID(processId: string | null | undefined): MJRecordProcessEntity | undefined {\n if (!processId) return undefined;\n return this.RecordProcesses.find((p) => UUIDsEqual(p.ID, processId));\n }\n\n /** Look up an algorithm name by ID (for joining iterations/runs/models to a display name). */\n public AlgorithmName(algorithmId: string | null | undefined): string {\n if (!algorithmId) return 'Unknown';\n return this.Algorithms.find((a) => UUIDsEqual(a.ID, algorithmId))?.Name ?? 'Unknown';\n }\n\n /** All ranking rows for a given use case, joined to their algorithm and ranked best-first. */\n public RankingsForUseCase(useCaseId: string): MJMLAlgorithmUseCaseRankingEntity[] {\n return this.Rankings.filter((r) => UUIDsEqual(r.MLAlgorithmUseCaseID, useCaseId)).sort(\n (a, b) => RECOMMENDATION_RANK[b.RecommendationLevel] - RECOMMENDATION_RANK[a.RecommendationLevel],\n );\n }\n\n /**\n * Given a set of selected use-case IDs, compute each algorithm's BEST recommendation level\n * across those scenarios (max by rank) — the core of the catalog \"Guide me\" picker.\n * Returns a map of algorithmId → best level, omitting algorithms with no ranking row.\n */\n public BestLevelsForScenarios(useCaseIds: string[]): Map<string, RecommendationLevel> {\n return ComputeBestLevels(this.Rankings, useCaseIds);\n }\n\n /** Iterations belonging to a session, in sequence order. */\n public IterationsForSession(sessionId: string): MJExperimentSessionIterationEntity[] {\n return this.Iterations.filter((i) => UUIDsEqual(i.ExperimentSessionID, sessionId)).sort(\n (a, b) => a.Sequence - b.Sequence,\n );\n }\n\n /** Published models only — the production-quality set used for headline KPIs. */\n public get PublishedModels(): MJMLModelEntity[] {\n return this.Models.filter((m) => m.Status === 'Published');\n }\n\n /** Sessions whose status is `Running` — the active experiment count. */\n public get RunningSessions(): MJExperimentSessionEntity[] {\n return this.Sessions.filter((s) => s.Status === 'Running');\n }\n\n /**\n * Resolve a model's human-readable display name generically: the producing pipeline's name when\n * available (the most meaningful label — what the model predicts), else the model's denormalized\n * `Pipeline` view field, else a version-stamped fallback. Entity-agnostic — never hardcodes any\n * business entity.\n */\n public ModelDisplayName(model: MJMLModelEntity): string {\n const pipeline = this.Pipelines.find((p) => UUIDsEqual(p.ID, model.PipelineID));\n return pipeline?.Name ?? model.Pipeline ?? `Model v${model.Version}`;\n }\n\n /**\n * Map the engine's cached iterations for a session into the pure {@link PSIterationRow} shape the\n * view-model derivations consume — joining each iteration to its algorithm name via the resulting\n * training run (iteration → run → algorithm), since iterations don't carry the algorithm directly.\n */\n public IterationRowsForSession(sessionId: string): PSIterationRow[] {\n return this.IterationsForSession(sessionId).map((it) => ({\n ID: it.ID,\n ExperimentSessionID: it.ExperimentSessionID,\n Sequence: it.Sequence,\n Label: it.Label,\n Status: it.Status,\n Score: it.Score,\n ComputeCost: it.ComputeCost,\n TokensUsed: it.TokensUsed,\n Rationale: it.Rationale,\n AlgorithmName: this.AlgorithmForIteration(it.ID),\n }));\n }\n\n /** Resolve an iteration's algorithm display name via its training run (or 'Unknown'). */\n public AlgorithmForIteration(iterationId: string): string {\n const run = this.TrainingRuns.find((r) => UUIDsEqual(r.ExperimentSessionIterationID, iterationId));\n return run ? this.AlgorithmName(run.AlgorithmID) : 'Unknown';\n }\n\n /**\n * The `MJ: Record Processes` IDs that ML scoring write-backs run through — every scoring binding's\n * bound Record Process. Used to scope the Home activity feed to ML-scoring runs without depending\n * on a typed `WorkType='ML Model'` enum value (which is registered at runtime, not in the type).\n */\n public get ScoringRecordProcessIDs(): string[] {\n const ids = this.ScoringBindings.map((b) => b.RecordProcessID).filter((id): id is string => !!id);\n return [...new Set(ids)];\n }\n\n /**\n * Load recent ML-scoring process runs on demand (NOT bulk-cached — `MJ: Process Runs` grows\n * unbounded). Scopes to runs whose `RecordProcessID` is one of the ML scoring bindings'\n * processes, optionally to the last `sinceDays`, capped at `maxRows`, newest first. Returns the\n * pure {@link PSProcessRunRow} shape for the Home derivations. Returns `[]` (never throws) on any\n * failure or when there are no scoring bindings to scope to.\n *\n * @param provider The provider to run against (multi-provider correctness).\n * @param user The acting user (server-side audit/security).\n * @param options.sinceDays Only runs started within this many days (default 7).\n * @param options.maxRows Row cap (default 50).\n */\n public async LoadRecentScoringRuns(\n provider: IMetadataProvider,\n user: UserInfo | undefined,\n options?: { sinceDays?: number; maxRows?: number },\n ): Promise<PSProcessRunRow[]> {\n return this.loadRunsForProcessIds(this.ScoringRecordProcessIDs, provider, user, options);\n }\n\n /**\n * Record Processes (`WorkType='ML Model'`) configured to score with `modelId` — the cached link from a\n * model to the processes that run it, idle/scheduled/bound alike (no DB hit). The `modelId` is read from\n * each Record Process's stored `Configuration` JSON.\n */\n public RecordProcessesForModel(modelId: string): MJRecordProcessEntity[] {\n return this.RecordProcesses.filter((rp) => {\n const id = this.recordProcessModelId(rp);\n return id != null && UUIDsEqual(id, modelId);\n });\n }\n\n /** The cached Record-Process ids scoring with `modelId`. */\n public RecordProcessIDsForModel(modelId: string): string[] {\n return this.RecordProcessesForModel(modelId).map((rp) => rp.ID);\n }\n\n /** Parse a Record Process's stored `modelId` (the `WorkType='ML Model'` config), or null. */\n private recordProcessModelId(rp: MJRecordProcessEntity): string | null {\n try {\n const cfg: unknown = JSON.parse(rp.Configuration ?? '{}');\n const id = (cfg as { modelId?: unknown })?.modelId;\n return typeof id === 'string' ? id : null;\n } catch {\n return null;\n }\n }\n\n /**\n * Load recent process runs for ONE model's Record Processes — same DB-light, on-demand contract as\n * {@link LoadRecentScoringRuns}, scoped to a single model. Powers the \"Models in Production\" per-model\n * run history (a model needs no scoring binding to have runs — any `WorkType='ML Model'` Record Process\n * run persists here).\n */\n public async LoadRecentRunsForModel(\n modelId: string,\n provider: IMetadataProvider,\n user: UserInfo | undefined,\n options?: { sinceDays?: number; maxRows?: number },\n ): Promise<PSProcessRunRow[]> {\n return this.loadRunsForProcessIds(this.RecordProcessIDsForModel(modelId), provider, user, options);\n }\n\n /** The most run details one read returns; a larger run is read up to this many and reported {@link PSRunDetails.Capped}. */\n public static readonly MaxRunDetailRows = 50_000;\n /** {@link MaxRunDetailRows} formatted for the notices that tell a user a run was capped (\"50,000\"). */\n public static readonly MaxRunDetailRowsLabel = PredictiveStudioEngine.MaxRunDetailRows.toLocaleString('en-US');\n private static readonly runDetailPageSize = 1000;\n\n /**\n * Reads a run's process run details one keyset page at a time (read-only, only the columns the surfaces use), up to\n * {@link PredictiveStudioEngine.MaxRunDetailRows}. Throws, with the provider's error message, when a page fails to load,\n * so the caller shows the failure instead of an empty run.\n */\n public async LoadRunDetails(runId: string, provider: IMetadataProvider, user: UserInfo | undefined): Promise<PSRunDetails> {\n const entityInfo = provider.EntityByName('MJ: Process Run Details');\n if (!entityInfo) {\n throw new Error(\"The 'MJ: Process Run Details' entity is not in this provider's metadata.\");\n }\n const rv = RunView.FromMetadataProvider(provider);\n const rows: PSRunDetailRow[] = [];\n let lastKey: CompositeKey | undefined;\n while (true) {\n const page = await rv.RunView<PSRunDetailRow>(\n {\n EntityName: 'MJ: Process Run Details',\n ExtraFilter: `ProcessRunID = '${EscapeSQLString(runId)}'`,\n Fields: ['ID', 'RecordID', 'ResultPayload', 'Status', 'CompletedAt', '__mj_CreatedAt'],\n MaxRows: PredictiveStudioEngine.runDetailPageSize,\n AfterKey: lastKey,\n ResultType: 'simple',\n },\n user,\n );\n if (!page.Success || !page.Results) {\n throw new Error(`Could not read the predictions of run ${runId}: ${page.ErrorMessage || 'the request failed'}`);\n }\n rows.push(...page.Results);\n if (page.Results.length < PredictiveStudioEngine.runDetailPageSize) {\n return { Rows: rows, Capped: false };\n }\n if (rows.length >= PredictiveStudioEngine.MaxRunDetailRows) {\n // Capped only when the run really has more: a run of exactly the cap is complete.\n const probe = await rv.RunView<Pick<PSRunDetailRow, 'ID'>>(\n {\n EntityName: 'MJ: Process Run Details',\n ExtraFilter: `ProcessRunID = '${EscapeSQLString(runId)}'`,\n Fields: ['ID'],\n MaxRows: 1,\n SkipTotalRowCount: true,\n AfterKey: CompositeKey.FromEntityRecord(entityInfo, page.Results[page.Results.length - 1]),\n ResultType: 'simple',\n },\n user,\n );\n return { Rows: rows, Capped: probe.Success && probe.Results.length > 0 };\n }\n lastKey = CompositeKey.FromEntityRecord(entityInfo, page.Results[page.Results.length - 1]);\n }\n }\n\n /** Shared run-loader: recent `MJ: Process Runs` for a set of Record-Process ids (capped, newest-first). */\n private async loadRunsForProcessIds(\n processIds: string[],\n provider: IMetadataProvider,\n user: UserInfo | undefined,\n options?: { sinceDays?: number; maxRows?: number },\n ): Promise<PSProcessRunRow[]> {\n if (processIds.length === 0) return [];\n const sinceDays = options?.sinceDays ?? 7;\n const maxRows = options?.maxRows ?? 50;\n const sinceIso = new Date(Date.now() - sinceDays * 24 * 60 * 60 * 1000).toISOString();\n const idList = processIds.map((id) => `'${id}'`).join(',');\n\n const rv = RunView.FromMetadataProvider(provider);\n const result = await rv.RunView<MJProcessRunEntity>(\n {\n EntityName: 'MJ: Process Runs',\n ExtraFilter: `RecordProcessID IN (${idList}) AND __mj_CreatedAt >= '${sinceIso}'`,\n OrderBy: '__mj_CreatedAt DESC',\n MaxRows: maxRows,\n ResultType: 'entity_object',\n },\n user,\n );\n if (!result.Success) return [];\n return (result.Results ?? []).map((r) => ({\n ID: r.ID,\n Status: r.Status,\n StartTime: r.StartTime,\n CreatedAt: r.__mj_CreatedAt,\n SuccessCount: r.SuccessCount,\n TotalItemCount: r.TotalItemCount,\n ProcessName: r.RecordProcess,\n EntityName: r.Entity,\n DryRun: r.DryRun,\n }));\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ps-predictions-resource.component.d.ts","sourceRoot":"","sources":["../../../src/PredictiveStudio/resources/ps-predictions-resource.component.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ps-predictions-resource.component.d.ts","sourceRoot":"","sources":["../../../src/PredictiveStudio/resources/ps-predictions-resource.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -884,6 +884,7 @@ let PSPredictionsResourceComponent = class PSPredictionsResourceComponent extend
|
|
|
884
884
|
...(labelFields.length > 0 ? { Fields: [...pkNames, ...labelFields] } : {}),
|
|
885
885
|
ResultType: 'simple',
|
|
886
886
|
MaxRows: ids.length,
|
|
887
|
+
SkipTotalRowCount: true,
|
|
887
888
|
}, this.ProviderToUse.CurrentUser ?? undefined);
|
|
888
889
|
if (!res.Success)
|
|
889
890
|
return;
|