@memberjunction/ng-core-entity-forms 6.2.0-edge.0 → 6.2.0-edge.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +1 -1
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +2 -2
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
- package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +90 -16
- package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js +218 -70
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +80 -16
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +146 -46
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +329 -27
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +794 -262
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +76 -0
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.js +77 -33
- package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +69 -15
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +182 -74
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +105 -25
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +272 -112
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +32 -6
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +71 -19
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +10 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +27 -7
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +65 -15
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +152 -52
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +81 -15
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +145 -45
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +71 -17
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +175 -67
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +173 -27
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +385 -93
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts +64 -4
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +129 -29
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +260 -27
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +686 -238
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +10 -0
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +17 -9
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +74 -16
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +174 -58
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +108 -14
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +258 -70
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.d.ts +198 -14
- package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +387 -107
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts +12 -6
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts.map +1 -1
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.js +41 -29
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.js.map +1 -1
- package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js +14 -14
- package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js.map +1 -1
- package/dist/lib/custom/Companies/company-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Companies/company-overview.panel.js +2 -2
- package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.js +2 -2
- package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
- package/dist/lib/custom/Employees/employee-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Employees/employee-overview.panel.js +2 -2
- package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +209 -28
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +494 -138
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +5 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.js +10 -2
- package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
- package/dist/lib/custom/Files/file-form.component.d.ts +1 -1
- package/dist/lib/custom/Files/file-form.component.js +2 -2
- package/dist/lib/custom/Files/file-form.component.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.d.ts +300 -36
- package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +664 -208
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +31 -0
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -1
- package/dist/lib/custom/MLModels/ml-model-view-models.js +52 -16
- package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -1
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +107 -10
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -1
- package/dist/lib/custom/MLModels/ps-model-detail.component.js +291 -101
- package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.d.ts +201 -26
- package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +429 -109
- package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +107 -14
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.js +249 -79
- package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +110 -4
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js +858 -86
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js +4 -4
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
- package/dist/lib/custom/SessionBridges/session-bridge-form.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-param-dialog.component.d.ts +77 -13
- package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/template-param-dialog.component.js +196 -78
- package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-params-grid.component.d.ts +49 -7
- package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/template-params-grid.component.js +132 -44
- package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts +142 -17
- package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +333 -113
- package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +24 -4
- package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.js +64 -20
- package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.d.ts +217 -27
- package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +549 -169
- package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-checks.d.ts +2 -0
- package/dist/lib/custom/Tests/test-run-checks.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-checks.js +5 -1
- package/dist/lib/custom/Tests/test-run-checks.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +2 -0
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js +5 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.d.ts +146 -18
- package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.js +362 -106
- package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts +390 -47
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.js +1015 -343
- package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +214 -26
- package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.js +535 -159
- package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
- package/dist/lib/custom/Users/user-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Users/user-overview.panel.js +2 -2
- package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +208 -29
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +446 -138
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +6 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +16 -4
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +50 -6
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +84 -12
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +89 -5
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +216 -70
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +62 -3
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +140 -42
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +81 -10
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +165 -37
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +140 -15
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +326 -100
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +101 -15
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +281 -97
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +43 -25
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +100 -64
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +14 -2
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +71 -53
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +14 -2
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +70 -52
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +8 -0
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +22 -6
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +24 -2
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +91 -59
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +10 -2
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +33 -17
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts +2 -0
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js +34 -30
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +14 -2
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +69 -51
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +38 -12
- package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.js +103 -51
- package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +59 -51
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +76 -74
- package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +27 -25
- package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +155 -119
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts +5 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +11 -3
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +2 -0
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -1
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +16 -12
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +1 -1
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +2 -2
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +45 -19
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.js +95 -43
- package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +20 -16
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.js +73 -65
- package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
- package/dist/lib/shared/components/template-editor.component.d.ts +133 -14
- package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
- package/dist/lib/shared/components/template-editor.component.js +322 -124
- package/dist/lib/shared/components/template-editor.component.js.map +1 -1
- package/package.json +43 -42
|
@@ -15,7 +15,7 @@ import { ApplicationManager } from '@memberjunction/ng-base-application';
|
|
|
15
15
|
import { MJTestRunFormComponent } from '../../generated/Entities/MJTestRun/mjtestrun.form.component';
|
|
16
16
|
import { TestingDialogService, TagsHelper } from '@memberjunction/ng-testing';
|
|
17
17
|
import { createCopyOnlyToolbar } from '@memberjunction/ng-code-editor';
|
|
18
|
-
import {
|
|
18
|
+
import { ParseCheckResults } from './test-run-checks';
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
20
|
import * as i1 from "@angular/common";
|
|
21
21
|
import * as i2 from "@angular/forms";
|
|
@@ -813,34 +813,34 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
813
813
|
super(...arguments);
|
|
814
814
|
this.destroy$ = new Subject();
|
|
815
815
|
// UI state
|
|
816
|
-
this.
|
|
817
|
-
this.
|
|
818
|
-
this.
|
|
819
|
-
this.
|
|
816
|
+
this.ActiveTab = 'overview';
|
|
817
|
+
this.Loading = false;
|
|
818
|
+
this.LoadingAIRuns = false;
|
|
819
|
+
this.LoadingFeedback = false;
|
|
820
820
|
this.error = null;
|
|
821
|
-
this.
|
|
822
|
-
this.
|
|
823
|
-
this.isRefreshing = false;
|
|
824
|
-
this.
|
|
821
|
+
this.AiRunsLoaded = false;
|
|
822
|
+
this.FeedbackLoaded = false;
|
|
823
|
+
this.isRefreshing = false; // case-violation-ok-legacy-back-compat: an ancestor class already declares the PascalCase name
|
|
824
|
+
this.AutoRefreshEnabled = false;
|
|
825
825
|
// Related entities
|
|
826
826
|
this.test = null;
|
|
827
|
-
this.
|
|
828
|
-
this.
|
|
829
|
-
this.
|
|
830
|
-
this.
|
|
827
|
+
this.TestSuiteRun = null;
|
|
828
|
+
this.AiAgentRuns = [];
|
|
829
|
+
this.AiPromptRuns = [];
|
|
830
|
+
this.Feedbacks = [];
|
|
831
831
|
// Parsed JSON data
|
|
832
|
-
this.
|
|
832
|
+
this.ParsedData = {};
|
|
833
833
|
// Active comparison view
|
|
834
|
-
this.
|
|
834
|
+
this.ComparisonView = 'input';
|
|
835
835
|
// Code editor configuration
|
|
836
|
-
this.
|
|
836
|
+
this.JsonToolbar = createCopyOnlyToolbar();
|
|
837
837
|
// Keyboard shortcuts active
|
|
838
|
-
this.
|
|
838
|
+
this.KeyboardShortcutsEnabled = true;
|
|
839
839
|
// Tags management
|
|
840
840
|
this.tags = [];
|
|
841
|
-
this.
|
|
842
|
-
this.
|
|
843
|
-
this.
|
|
841
|
+
this.NewTag = '';
|
|
842
|
+
this.EditingTags = false;
|
|
843
|
+
this.SavingTags = false;
|
|
844
844
|
this.originalTags = [];
|
|
845
845
|
// Service injections
|
|
846
846
|
this.navigationService = inject(NavigationService);
|
|
@@ -848,6 +848,150 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
848
848
|
this.appManager = inject(ApplicationManager);
|
|
849
849
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
850
850
|
}
|
|
851
|
+
/** @deprecated Use {@link ActiveTab}. */
|
|
852
|
+
get activeTab() {
|
|
853
|
+
return this.ActiveTab;
|
|
854
|
+
}
|
|
855
|
+
/** @deprecated Use {@link ActiveTab}. */
|
|
856
|
+
set activeTab(value) {
|
|
857
|
+
this.ActiveTab = value;
|
|
858
|
+
}
|
|
859
|
+
/** @deprecated Use {@link Loading}. */
|
|
860
|
+
get loading() {
|
|
861
|
+
return this.Loading;
|
|
862
|
+
}
|
|
863
|
+
/** @deprecated Use {@link Loading}. */
|
|
864
|
+
set loading(value) {
|
|
865
|
+
this.Loading = value;
|
|
866
|
+
}
|
|
867
|
+
/** @deprecated Use {@link LoadingAIRuns}. */
|
|
868
|
+
get loadingAIRuns() {
|
|
869
|
+
return this.LoadingAIRuns;
|
|
870
|
+
}
|
|
871
|
+
/** @deprecated Use {@link LoadingAIRuns}. */
|
|
872
|
+
set loadingAIRuns(value) {
|
|
873
|
+
this.LoadingAIRuns = value;
|
|
874
|
+
}
|
|
875
|
+
/** @deprecated Use {@link LoadingFeedback}. */
|
|
876
|
+
get loadingFeedback() {
|
|
877
|
+
return this.LoadingFeedback;
|
|
878
|
+
}
|
|
879
|
+
/** @deprecated Use {@link LoadingFeedback}. */
|
|
880
|
+
set loadingFeedback(value) {
|
|
881
|
+
this.LoadingFeedback = value;
|
|
882
|
+
}
|
|
883
|
+
/** @deprecated Use {@link AiRunsLoaded}. */
|
|
884
|
+
get aiRunsLoaded() {
|
|
885
|
+
return this.AiRunsLoaded;
|
|
886
|
+
}
|
|
887
|
+
/** @deprecated Use {@link AiRunsLoaded}. */
|
|
888
|
+
set aiRunsLoaded(value) {
|
|
889
|
+
this.AiRunsLoaded = value;
|
|
890
|
+
}
|
|
891
|
+
/** @deprecated Use {@link FeedbackLoaded}. */
|
|
892
|
+
get feedbackLoaded() {
|
|
893
|
+
return this.FeedbackLoaded;
|
|
894
|
+
}
|
|
895
|
+
/** @deprecated Use {@link FeedbackLoaded}. */
|
|
896
|
+
set feedbackLoaded(value) {
|
|
897
|
+
this.FeedbackLoaded = value;
|
|
898
|
+
}
|
|
899
|
+
/** @deprecated Use {@link AutoRefreshEnabled}. */
|
|
900
|
+
get autoRefreshEnabled() {
|
|
901
|
+
return this.AutoRefreshEnabled;
|
|
902
|
+
}
|
|
903
|
+
/** @deprecated Use {@link AutoRefreshEnabled}. */
|
|
904
|
+
set autoRefreshEnabled(value) {
|
|
905
|
+
this.AutoRefreshEnabled = value;
|
|
906
|
+
}
|
|
907
|
+
/** @deprecated Use {@link TestSuiteRun}. */
|
|
908
|
+
get testSuiteRun() {
|
|
909
|
+
return this.TestSuiteRun;
|
|
910
|
+
}
|
|
911
|
+
/** @deprecated Use {@link TestSuiteRun}. */
|
|
912
|
+
set testSuiteRun(value) {
|
|
913
|
+
this.TestSuiteRun = value;
|
|
914
|
+
}
|
|
915
|
+
/** @deprecated Use {@link AiAgentRuns}. */
|
|
916
|
+
get aiAgentRuns() {
|
|
917
|
+
return this.AiAgentRuns;
|
|
918
|
+
}
|
|
919
|
+
/** @deprecated Use {@link AiAgentRuns}. */
|
|
920
|
+
set aiAgentRuns(value) {
|
|
921
|
+
this.AiAgentRuns = value;
|
|
922
|
+
}
|
|
923
|
+
/** @deprecated Use {@link AiPromptRuns}. */
|
|
924
|
+
get aiPromptRuns() {
|
|
925
|
+
return this.AiPromptRuns;
|
|
926
|
+
}
|
|
927
|
+
/** @deprecated Use {@link AiPromptRuns}. */
|
|
928
|
+
set aiPromptRuns(value) {
|
|
929
|
+
this.AiPromptRuns = value;
|
|
930
|
+
}
|
|
931
|
+
/** @deprecated Use {@link Feedbacks}. */
|
|
932
|
+
get feedbacks() {
|
|
933
|
+
return this.Feedbacks;
|
|
934
|
+
}
|
|
935
|
+
/** @deprecated Use {@link Feedbacks}. */
|
|
936
|
+
set feedbacks(value) {
|
|
937
|
+
this.Feedbacks = value;
|
|
938
|
+
}
|
|
939
|
+
/** @deprecated Use {@link ParsedData}. */
|
|
940
|
+
get parsedData() {
|
|
941
|
+
return this.ParsedData;
|
|
942
|
+
}
|
|
943
|
+
/** @deprecated Use {@link ParsedData}. */
|
|
944
|
+
set parsedData(value) {
|
|
945
|
+
this.ParsedData = value;
|
|
946
|
+
}
|
|
947
|
+
/** @deprecated Use {@link ComparisonView}. */
|
|
948
|
+
get comparisonView() {
|
|
949
|
+
return this.ComparisonView;
|
|
950
|
+
}
|
|
951
|
+
/** @deprecated Use {@link ComparisonView}. */
|
|
952
|
+
set comparisonView(value) {
|
|
953
|
+
this.ComparisonView = value;
|
|
954
|
+
}
|
|
955
|
+
/** @deprecated Use {@link JsonToolbar}. */
|
|
956
|
+
get jsonToolbar() {
|
|
957
|
+
return this.JsonToolbar;
|
|
958
|
+
}
|
|
959
|
+
/** @deprecated Use {@link JsonToolbar}. */
|
|
960
|
+
set jsonToolbar(value) {
|
|
961
|
+
this.JsonToolbar = value;
|
|
962
|
+
}
|
|
963
|
+
/** @deprecated Use {@link KeyboardShortcutsEnabled}. */
|
|
964
|
+
get keyboardShortcutsEnabled() {
|
|
965
|
+
return this.KeyboardShortcutsEnabled;
|
|
966
|
+
}
|
|
967
|
+
/** @deprecated Use {@link KeyboardShortcutsEnabled}. */
|
|
968
|
+
set keyboardShortcutsEnabled(value) {
|
|
969
|
+
this.KeyboardShortcutsEnabled = value;
|
|
970
|
+
}
|
|
971
|
+
/** @deprecated Use {@link NewTag}. */
|
|
972
|
+
get newTag() {
|
|
973
|
+
return this.NewTag;
|
|
974
|
+
}
|
|
975
|
+
/** @deprecated Use {@link NewTag}. */
|
|
976
|
+
set newTag(value) {
|
|
977
|
+
this.NewTag = value;
|
|
978
|
+
}
|
|
979
|
+
/** @deprecated Use {@link EditingTags}. */
|
|
980
|
+
get editingTags() {
|
|
981
|
+
return this.EditingTags;
|
|
982
|
+
}
|
|
983
|
+
/** @deprecated Use {@link EditingTags}. */
|
|
984
|
+
set editingTags(value) {
|
|
985
|
+
this.EditingTags = value;
|
|
986
|
+
}
|
|
987
|
+
/** @deprecated Use {@link SavingTags}. */
|
|
988
|
+
get savingTags() {
|
|
989
|
+
return this.SavingTags;
|
|
990
|
+
}
|
|
991
|
+
/** @deprecated Use {@link SavingTags}. */
|
|
992
|
+
set savingTags(value) {
|
|
993
|
+
this.SavingTags = value;
|
|
994
|
+
}
|
|
851
995
|
async ngOnInit() {
|
|
852
996
|
await super.ngOnInit();
|
|
853
997
|
if (this.record && this.record.ID) {
|
|
@@ -864,44 +1008,60 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
864
1008
|
this.tags = TagsHelper.parseTags(this.record.Tags);
|
|
865
1009
|
this.originalTags = [...this.tags];
|
|
866
1010
|
}
|
|
867
|
-
|
|
1011
|
+
StartEditingTags() {
|
|
868
1012
|
this.originalTags = [...this.tags];
|
|
869
|
-
this.
|
|
1013
|
+
this.EditingTags = true;
|
|
870
1014
|
this.cdr.markForCheck();
|
|
871
1015
|
}
|
|
872
|
-
|
|
1016
|
+
/** @deprecated Use {@link StartEditingTags}. */
|
|
1017
|
+
startEditingTags() {
|
|
1018
|
+
return this.StartEditingTags();
|
|
1019
|
+
}
|
|
1020
|
+
CancelEditingTags() {
|
|
873
1021
|
this.tags = [...this.originalTags];
|
|
874
|
-
this.
|
|
875
|
-
this.
|
|
1022
|
+
this.NewTag = '';
|
|
1023
|
+
this.EditingTags = false;
|
|
876
1024
|
this.cdr.markForCheck();
|
|
877
1025
|
}
|
|
878
|
-
|
|
879
|
-
|
|
1026
|
+
/** @deprecated Use {@link CancelEditingTags}. */
|
|
1027
|
+
cancelEditingTags() {
|
|
1028
|
+
return this.CancelEditingTags();
|
|
1029
|
+
}
|
|
1030
|
+
AddTag() {
|
|
1031
|
+
const tag = this.NewTag.trim();
|
|
880
1032
|
if (tag && !this.tags.includes(tag)) {
|
|
881
1033
|
this.tags = [...this.tags, tag];
|
|
882
|
-
this.
|
|
1034
|
+
this.NewTag = '';
|
|
883
1035
|
this.cdr.markForCheck();
|
|
884
1036
|
}
|
|
885
1037
|
}
|
|
886
|
-
|
|
1038
|
+
/** @deprecated Use {@link AddTag}. */
|
|
1039
|
+
addTag() {
|
|
1040
|
+
return this.AddTag();
|
|
1041
|
+
}
|
|
1042
|
+
RemoveTag(tag) {
|
|
887
1043
|
this.tags = this.tags.filter(t => t !== tag);
|
|
888
1044
|
this.cdr.markForCheck();
|
|
889
1045
|
}
|
|
890
|
-
|
|
1046
|
+
/** @deprecated Use {@link RemoveTag}. */
|
|
1047
|
+
removeTag(tag) {
|
|
1048
|
+
return this.RemoveTag(tag);
|
|
1049
|
+
}
|
|
1050
|
+
async SaveTags() {
|
|
891
1051
|
// Auto-add any pending tag in the input before saving
|
|
892
|
-
const pendingTag = this.
|
|
1052
|
+
const pendingTag = this.NewTag.trim();
|
|
893
1053
|
if (pendingTag && !this.tags.includes(pendingTag)) {
|
|
894
1054
|
this.tags = [...this.tags, pendingTag];
|
|
895
|
-
this.
|
|
1055
|
+
this.NewTag = '';
|
|
896
1056
|
}
|
|
897
|
-
this.
|
|
1057
|
+
this.SavingTags = true;
|
|
898
1058
|
this.cdr.markForCheck();
|
|
899
1059
|
try {
|
|
900
1060
|
this.record.Tags = TagsHelper.toJson(this.tags);
|
|
901
1061
|
const result = await this.record.Save();
|
|
902
1062
|
if (result) {
|
|
903
1063
|
this.originalTags = [...this.tags];
|
|
904
|
-
this.
|
|
1064
|
+
this.EditingTags = false;
|
|
905
1065
|
SharedService.Instance.CreateSimpleNotification('Tags saved', 'success', 2000);
|
|
906
1066
|
}
|
|
907
1067
|
else {
|
|
@@ -912,62 +1072,66 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
912
1072
|
SharedService.Instance.CreateSimpleNotification('Failed to save tags', 'error', 3000);
|
|
913
1073
|
}
|
|
914
1074
|
finally {
|
|
915
|
-
this.
|
|
1075
|
+
this.SavingTags = false;
|
|
916
1076
|
this.cdr.markForCheck();
|
|
917
1077
|
}
|
|
918
1078
|
}
|
|
1079
|
+
/** @deprecated Use {@link SaveTags}. */
|
|
1080
|
+
async saveTags() {
|
|
1081
|
+
return this.SaveTags();
|
|
1082
|
+
}
|
|
919
1083
|
ngOnDestroy() {
|
|
920
1084
|
this.destroy$.next();
|
|
921
1085
|
this.destroy$.complete();
|
|
922
1086
|
}
|
|
923
1087
|
// Keyboard shortcuts
|
|
924
1088
|
handleKeyboardShortcut(event) {
|
|
925
|
-
if (!this.
|
|
1089
|
+
if (!this.KeyboardShortcutsEnabled)
|
|
926
1090
|
return;
|
|
927
1091
|
// Cmd/Ctrl + R: Refresh
|
|
928
1092
|
if ((event.metaKey || event.ctrlKey) && event.key === 'r' && !event.shiftKey) {
|
|
929
1093
|
event.preventDefault();
|
|
930
|
-
this.
|
|
1094
|
+
this.Refresh();
|
|
931
1095
|
return;
|
|
932
1096
|
}
|
|
933
1097
|
// Cmd/Ctrl + Shift + R: Re-run test
|
|
934
1098
|
if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.key === 'r') {
|
|
935
1099
|
event.preventDefault();
|
|
936
|
-
this.
|
|
1100
|
+
this.ReRunTest();
|
|
937
1101
|
return;
|
|
938
1102
|
}
|
|
939
1103
|
// Number keys for tabs (1-5)
|
|
940
1104
|
if (!event.metaKey && !event.ctrlKey && !event.altKey) {
|
|
941
1105
|
switch (event.key) {
|
|
942
1106
|
case '1':
|
|
943
|
-
this.
|
|
1107
|
+
this.ChangeTab('overview');
|
|
944
1108
|
break;
|
|
945
1109
|
case '2':
|
|
946
|
-
this.
|
|
1110
|
+
this.ChangeTab('details');
|
|
947
1111
|
break;
|
|
948
1112
|
case '3':
|
|
949
|
-
this.
|
|
1113
|
+
this.ChangeTab('ai-runs');
|
|
950
1114
|
break;
|
|
951
1115
|
case '4':
|
|
952
|
-
this.
|
|
1116
|
+
this.ChangeTab('feedback');
|
|
953
1117
|
break;
|
|
954
1118
|
case '5':
|
|
955
1119
|
if (this.record.Log)
|
|
956
|
-
this.
|
|
1120
|
+
this.ChangeTab('log');
|
|
957
1121
|
break;
|
|
958
1122
|
}
|
|
959
1123
|
}
|
|
960
1124
|
}
|
|
961
1125
|
startAutoRefresh() {
|
|
962
|
-
this.
|
|
1126
|
+
this.AutoRefreshEnabled = true;
|
|
963
1127
|
interval(5000)
|
|
964
1128
|
.pipe(takeUntil(this.destroy$))
|
|
965
1129
|
.subscribe(() => {
|
|
966
|
-
if (this.
|
|
1130
|
+
if (this.AutoRefreshEnabled && (this.record.Status === 'Running' || this.record.Status === 'Pending')) {
|
|
967
1131
|
this.silentRefresh();
|
|
968
1132
|
}
|
|
969
1133
|
else {
|
|
970
|
-
this.
|
|
1134
|
+
this.AutoRefreshEnabled = false;
|
|
971
1135
|
}
|
|
972
1136
|
});
|
|
973
1137
|
}
|
|
@@ -982,7 +1146,7 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
982
1146
|
}
|
|
983
1147
|
}
|
|
984
1148
|
async loadRelatedData() {
|
|
985
|
-
this.
|
|
1149
|
+
this.Loading = true;
|
|
986
1150
|
this.error = null;
|
|
987
1151
|
try {
|
|
988
1152
|
// Load test
|
|
@@ -998,7 +1162,7 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
998
1162
|
const md = this.ProviderToUse;
|
|
999
1163
|
const suiteRun = await md.GetEntityObject('MJ: Test Suite Runs');
|
|
1000
1164
|
if (suiteRun && await suiteRun.Load(this.record.TestSuiteRunID)) {
|
|
1001
|
-
this.
|
|
1165
|
+
this.TestSuiteRun = suiteRun;
|
|
1002
1166
|
}
|
|
1003
1167
|
}
|
|
1004
1168
|
this.cdr.markForCheck();
|
|
@@ -1008,7 +1172,7 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1008
1172
|
this.error = 'Failed to load related data. Click to retry.';
|
|
1009
1173
|
}
|
|
1010
1174
|
finally {
|
|
1011
|
-
this.
|
|
1175
|
+
this.Loading = false;
|
|
1012
1176
|
this.cdr.markForCheck();
|
|
1013
1177
|
}
|
|
1014
1178
|
}
|
|
@@ -1017,9 +1181,9 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1017
1181
|
await this.loadRelatedData();
|
|
1018
1182
|
}
|
|
1019
1183
|
async loadAIRuns() {
|
|
1020
|
-
if (this.
|
|
1184
|
+
if (this.AiRunsLoaded)
|
|
1021
1185
|
return;
|
|
1022
|
-
this.
|
|
1186
|
+
this.LoadingAIRuns = true;
|
|
1023
1187
|
this.cdr.markForCheck();
|
|
1024
1188
|
try {
|
|
1025
1189
|
const rv = RunView.FromMetadataProvider(this.ProviderToUse);
|
|
@@ -1038,26 +1202,26 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1038
1202
|
}
|
|
1039
1203
|
]);
|
|
1040
1204
|
if (agentRuns.Success) {
|
|
1041
|
-
this.
|
|
1205
|
+
this.AiAgentRuns = agentRuns.Results || [];
|
|
1042
1206
|
}
|
|
1043
1207
|
if (promptRuns.Success) {
|
|
1044
|
-
this.
|
|
1208
|
+
this.AiPromptRuns = promptRuns.Results || [];
|
|
1045
1209
|
}
|
|
1046
|
-
this.
|
|
1210
|
+
this.AiRunsLoaded = true;
|
|
1047
1211
|
}
|
|
1048
1212
|
catch (error) {
|
|
1049
1213
|
console.error('Error loading AI runs:', error);
|
|
1050
1214
|
SharedService.Instance.CreateSimpleNotification('Failed to load AI runs', 'error', 3000);
|
|
1051
1215
|
}
|
|
1052
1216
|
finally {
|
|
1053
|
-
this.
|
|
1217
|
+
this.LoadingAIRuns = false;
|
|
1054
1218
|
this.cdr.markForCheck();
|
|
1055
1219
|
}
|
|
1056
1220
|
}
|
|
1057
1221
|
async loadFeedback() {
|
|
1058
|
-
if (this.
|
|
1222
|
+
if (this.FeedbackLoaded)
|
|
1059
1223
|
return;
|
|
1060
|
-
this.
|
|
1224
|
+
this.LoadingFeedback = true;
|
|
1061
1225
|
this.cdr.markForCheck();
|
|
1062
1226
|
try {
|
|
1063
1227
|
const rv = RunView.FromMetadataProvider(this.ProviderToUse);
|
|
@@ -1068,54 +1232,62 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1068
1232
|
ResultType: 'entity_object'
|
|
1069
1233
|
});
|
|
1070
1234
|
if (result.Success) {
|
|
1071
|
-
this.
|
|
1235
|
+
this.Feedbacks = result.Results || [];
|
|
1072
1236
|
}
|
|
1073
|
-
this.
|
|
1237
|
+
this.FeedbackLoaded = true;
|
|
1074
1238
|
}
|
|
1075
1239
|
catch (error) {
|
|
1076
1240
|
console.error('Error loading feedback:', error);
|
|
1077
1241
|
SharedService.Instance.CreateSimpleNotification('Failed to load feedback', 'error', 3000);
|
|
1078
1242
|
}
|
|
1079
1243
|
finally {
|
|
1080
|
-
this.
|
|
1244
|
+
this.LoadingFeedback = false;
|
|
1081
1245
|
this.cdr.markForCheck();
|
|
1082
1246
|
}
|
|
1083
1247
|
}
|
|
1084
1248
|
parseJsonFields() {
|
|
1085
1249
|
try {
|
|
1086
1250
|
if (this.record.InputData) {
|
|
1087
|
-
this.
|
|
1251
|
+
this.ParsedData.input = JSON.parse(this.record.InputData);
|
|
1088
1252
|
}
|
|
1089
1253
|
if (this.record.ExpectedOutputData) {
|
|
1090
|
-
this.
|
|
1254
|
+
this.ParsedData.expected = JSON.parse(this.record.ExpectedOutputData);
|
|
1091
1255
|
}
|
|
1092
1256
|
if (this.record.ActualOutputData) {
|
|
1093
|
-
this.
|
|
1257
|
+
this.ParsedData.actual = JSON.parse(this.record.ActualOutputData);
|
|
1094
1258
|
}
|
|
1095
1259
|
if (this.record.ResultDetails) {
|
|
1096
|
-
this.
|
|
1260
|
+
this.ParsedData.resultDetails = JSON.parse(this.record.ResultDetails);
|
|
1097
1261
|
}
|
|
1098
1262
|
}
|
|
1099
1263
|
catch (error) {
|
|
1100
1264
|
console.error('Error parsing JSON fields:', error);
|
|
1101
1265
|
}
|
|
1102
1266
|
}
|
|
1103
|
-
|
|
1104
|
-
this.
|
|
1267
|
+
ChangeTab(tab) {
|
|
1268
|
+
this.ActiveTab = tab;
|
|
1105
1269
|
// Lazy load tabs
|
|
1106
|
-
if (tab === 'ai-runs' && !this.
|
|
1270
|
+
if (tab === 'ai-runs' && !this.AiRunsLoaded) {
|
|
1107
1271
|
this.loadAIRuns();
|
|
1108
1272
|
}
|
|
1109
|
-
if (tab === 'feedback' && !this.
|
|
1273
|
+
if (tab === 'feedback' && !this.FeedbackLoaded) {
|
|
1110
1274
|
this.loadFeedback();
|
|
1111
1275
|
}
|
|
1112
1276
|
this.cdr.markForCheck();
|
|
1113
1277
|
}
|
|
1114
|
-
|
|
1115
|
-
|
|
1278
|
+
/** @deprecated Use {@link ChangeTab}. */
|
|
1279
|
+
changeTab(tab) {
|
|
1280
|
+
return this.ChangeTab(tab);
|
|
1281
|
+
}
|
|
1282
|
+
SetComparisonView(view) {
|
|
1283
|
+
this.ComparisonView = view;
|
|
1116
1284
|
this.cdr.markForCheck();
|
|
1117
1285
|
}
|
|
1118
|
-
|
|
1286
|
+
/** @deprecated Use {@link SetComparisonView}. */
|
|
1287
|
+
setComparisonView(view) {
|
|
1288
|
+
return this.SetComparisonView(view);
|
|
1289
|
+
}
|
|
1290
|
+
GetStatusColor() {
|
|
1119
1291
|
switch (this.record.Status) {
|
|
1120
1292
|
case 'Passed': return '#10b981';
|
|
1121
1293
|
case 'Failed': return '#ef4444';
|
|
@@ -1127,7 +1299,11 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1127
1299
|
default: return '#9ca3af';
|
|
1128
1300
|
}
|
|
1129
1301
|
}
|
|
1130
|
-
|
|
1302
|
+
/** @deprecated Use {@link GetStatusColor}. */
|
|
1303
|
+
getStatusColor() {
|
|
1304
|
+
return this.GetStatusColor();
|
|
1305
|
+
}
|
|
1306
|
+
GetStatusIcon() {
|
|
1131
1307
|
switch (this.record.Status) {
|
|
1132
1308
|
case 'Passed': return 'fa-check-circle';
|
|
1133
1309
|
case 'Failed': return 'fa-times-circle';
|
|
@@ -1139,10 +1315,18 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1139
1315
|
default: return 'fa-question-circle';
|
|
1140
1316
|
}
|
|
1141
1317
|
}
|
|
1142
|
-
|
|
1318
|
+
/** @deprecated Use {@link GetStatusIcon}. */
|
|
1319
|
+
getStatusIcon() {
|
|
1320
|
+
return this.GetStatusIcon();
|
|
1321
|
+
}
|
|
1322
|
+
GetStatusClass() {
|
|
1143
1323
|
return `status-${this.record.Status?.toLowerCase() || 'unknown'}`;
|
|
1144
1324
|
}
|
|
1145
|
-
|
|
1325
|
+
/** @deprecated Use {@link GetStatusClass}. */
|
|
1326
|
+
getStatusClass() {
|
|
1327
|
+
return this.GetStatusClass();
|
|
1328
|
+
}
|
|
1329
|
+
CalculateDuration() {
|
|
1146
1330
|
if (!this.record.DurationSeconds)
|
|
1147
1331
|
return 'N/A';
|
|
1148
1332
|
const seconds = this.record.DurationSeconds;
|
|
@@ -1157,58 +1341,102 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1157
1341
|
const mins = Math.floor((seconds % 3600) / 60);
|
|
1158
1342
|
return `${hours}h ${mins}m`;
|
|
1159
1343
|
}
|
|
1160
|
-
|
|
1344
|
+
/** @deprecated Use {@link CalculateDuration}. */
|
|
1345
|
+
calculateDuration() {
|
|
1346
|
+
return this.CalculateDuration();
|
|
1347
|
+
}
|
|
1348
|
+
FormatScore(score) {
|
|
1161
1349
|
if (score === null || score === undefined)
|
|
1162
1350
|
return 'N/A';
|
|
1163
1351
|
return score.toFixed(4);
|
|
1164
1352
|
}
|
|
1165
|
-
|
|
1353
|
+
/** @deprecated Use {@link FormatScore}. */
|
|
1354
|
+
formatScore(score) {
|
|
1355
|
+
return this.FormatScore(score);
|
|
1356
|
+
}
|
|
1357
|
+
FormatCost(cost) {
|
|
1166
1358
|
if (cost === null || cost === undefined)
|
|
1167
1359
|
return 'N/A';
|
|
1168
1360
|
return `$${cost.toFixed(6)}`;
|
|
1169
1361
|
}
|
|
1170
|
-
|
|
1362
|
+
/** @deprecated Use {@link FormatCost}. */
|
|
1363
|
+
formatCost(cost) {
|
|
1364
|
+
return this.FormatCost(cost);
|
|
1365
|
+
}
|
|
1366
|
+
GetScorePercentage() {
|
|
1171
1367
|
if (this.record.Score === null || this.record.Score === undefined)
|
|
1172
1368
|
return 0;
|
|
1173
1369
|
return Math.round(this.record.Score * 100);
|
|
1174
1370
|
}
|
|
1175
|
-
|
|
1371
|
+
/** @deprecated Use {@link GetScorePercentage}. */
|
|
1372
|
+
getScorePercentage() {
|
|
1373
|
+
return this.GetScorePercentage();
|
|
1374
|
+
}
|
|
1375
|
+
GetPassRatePercentage() {
|
|
1176
1376
|
const total = this.record.TotalChecks || 0;
|
|
1177
1377
|
const passed = this.record.PassedChecks || 0;
|
|
1178
1378
|
if (total === 0)
|
|
1179
1379
|
return 0;
|
|
1180
1380
|
return Math.round((passed / total) * 100);
|
|
1181
1381
|
}
|
|
1182
|
-
|
|
1382
|
+
/** @deprecated Use {@link GetPassRatePercentage}. */
|
|
1383
|
+
getPassRatePercentage() {
|
|
1384
|
+
return this.GetPassRatePercentage();
|
|
1385
|
+
}
|
|
1386
|
+
OpenTest() {
|
|
1183
1387
|
if (this.test) {
|
|
1184
1388
|
SharedService.Instance.OpenEntityRecord('MJ: Tests', CompositeKey.FromID(this.test.ID));
|
|
1185
1389
|
}
|
|
1186
1390
|
}
|
|
1187
|
-
|
|
1391
|
+
/** @deprecated Use {@link OpenTest}. */
|
|
1392
|
+
openTest() {
|
|
1393
|
+
return this.OpenTest();
|
|
1394
|
+
}
|
|
1395
|
+
NavigateToTestingDashboard() {
|
|
1188
1396
|
const testingApp = this.appManager.GetAppByName('Testing');
|
|
1189
1397
|
if (testingApp) {
|
|
1190
1398
|
this.navigationService.SwitchToApp(testingApp.ID);
|
|
1191
1399
|
}
|
|
1192
1400
|
}
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1401
|
+
/** @deprecated Use {@link NavigateToTestingDashboard}. */
|
|
1402
|
+
navigateToTestingDashboard() {
|
|
1403
|
+
return this.NavigateToTestingDashboard();
|
|
1404
|
+
}
|
|
1405
|
+
OpenTestSuiteRun() {
|
|
1406
|
+
if (this.TestSuiteRun) {
|
|
1407
|
+
SharedService.Instance.OpenEntityRecord('MJ: Test Suite Runs', CompositeKey.FromID(this.TestSuiteRun.ID));
|
|
1196
1408
|
}
|
|
1197
1409
|
}
|
|
1198
|
-
|
|
1410
|
+
/** @deprecated Use {@link OpenTestSuiteRun}. */
|
|
1411
|
+
openTestSuiteRun() {
|
|
1412
|
+
return this.OpenTestSuiteRun();
|
|
1413
|
+
}
|
|
1414
|
+
OpenAIAgentRun(runId) {
|
|
1199
1415
|
SharedService.Instance.OpenEntityRecord('MJ: AI Agent Runs', CompositeKey.FromID(runId));
|
|
1200
1416
|
}
|
|
1201
|
-
|
|
1417
|
+
/** @deprecated Use {@link OpenAIAgentRun}. */
|
|
1418
|
+
openAIAgentRun(runId) {
|
|
1419
|
+
return this.OpenAIAgentRun(runId);
|
|
1420
|
+
}
|
|
1421
|
+
OpenAIPromptRun(runId) {
|
|
1202
1422
|
SharedService.Instance.OpenEntityRecord('MJ: AI Prompt Runs', CompositeKey.FromID(runId));
|
|
1203
1423
|
}
|
|
1204
|
-
|
|
1424
|
+
/** @deprecated Use {@link OpenAIPromptRun}. */
|
|
1425
|
+
openAIPromptRun(runId) {
|
|
1426
|
+
return this.OpenAIPromptRun(runId);
|
|
1427
|
+
}
|
|
1428
|
+
async ReRunTest() {
|
|
1205
1429
|
if (!this.record.TestID) {
|
|
1206
1430
|
SharedService.Instance.CreateSimpleNotification('Cannot re-run: Test ID not available', 'error', 3000);
|
|
1207
1431
|
return;
|
|
1208
1432
|
}
|
|
1209
1433
|
this.testingDialogService.OpenTestPanel(this.record.TestID);
|
|
1210
1434
|
}
|
|
1211
|
-
|
|
1435
|
+
/** @deprecated Use {@link ReRunTest}. */
|
|
1436
|
+
async reRunTest() {
|
|
1437
|
+
return this.ReRunTest();
|
|
1438
|
+
}
|
|
1439
|
+
async Refresh() {
|
|
1212
1440
|
this.isRefreshing = true;
|
|
1213
1441
|
this.cdr.markForCheck();
|
|
1214
1442
|
try {
|
|
@@ -1216,16 +1444,16 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1216
1444
|
await this.loadRelatedData();
|
|
1217
1445
|
this.parseJsonFields();
|
|
1218
1446
|
// Reset lazy-loaded data to force reload
|
|
1219
|
-
this.
|
|
1220
|
-
this.
|
|
1221
|
-
this.
|
|
1222
|
-
this.
|
|
1223
|
-
this.
|
|
1447
|
+
this.AiRunsLoaded = false;
|
|
1448
|
+
this.FeedbackLoaded = false;
|
|
1449
|
+
this.AiAgentRuns = [];
|
|
1450
|
+
this.AiPromptRuns = [];
|
|
1451
|
+
this.Feedbacks = [];
|
|
1224
1452
|
// Reload current tab data if needed
|
|
1225
|
-
if (this.
|
|
1453
|
+
if (this.ActiveTab === 'ai-runs') {
|
|
1226
1454
|
await this.loadAIRuns();
|
|
1227
1455
|
}
|
|
1228
|
-
else if (this.
|
|
1456
|
+
else if (this.ActiveTab === 'feedback') {
|
|
1229
1457
|
await this.loadFeedback();
|
|
1230
1458
|
}
|
|
1231
1459
|
SharedService.Instance.CreateSimpleNotification('Refreshed successfully', 'success', 2000);
|
|
@@ -1238,32 +1466,48 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1238
1466
|
this.cdr.markForCheck();
|
|
1239
1467
|
}
|
|
1240
1468
|
}
|
|
1241
|
-
|
|
1469
|
+
/** @deprecated Use {@link Refresh}. */
|
|
1470
|
+
async refresh() {
|
|
1471
|
+
return this.Refresh();
|
|
1472
|
+
}
|
|
1473
|
+
GetComparisonData() {
|
|
1242
1474
|
let data;
|
|
1243
|
-
switch (this.
|
|
1475
|
+
switch (this.ComparisonView) {
|
|
1244
1476
|
case 'input':
|
|
1245
|
-
data = this.
|
|
1477
|
+
data = this.ParsedData.input;
|
|
1246
1478
|
break;
|
|
1247
1479
|
case 'expected':
|
|
1248
|
-
data = this.
|
|
1480
|
+
data = this.ParsedData.expected;
|
|
1249
1481
|
break;
|
|
1250
1482
|
case 'actual':
|
|
1251
|
-
data = this.
|
|
1483
|
+
data = this.ParsedData.actual;
|
|
1252
1484
|
break;
|
|
1253
1485
|
}
|
|
1254
1486
|
return data ? JSON.stringify(data, null, 2) : '// No data available';
|
|
1255
1487
|
}
|
|
1488
|
+
/** @deprecated Use {@link GetComparisonData}. */
|
|
1489
|
+
getComparisonData() {
|
|
1490
|
+
return this.GetComparisonData();
|
|
1491
|
+
}
|
|
1492
|
+
GetCheckResults() {
|
|
1493
|
+
return ParseCheckResults(this.ParsedData.resultDetails);
|
|
1494
|
+
}
|
|
1495
|
+
/** @deprecated Use {@link GetCheckResults}. */
|
|
1256
1496
|
getCheckResults() {
|
|
1257
|
-
return
|
|
1497
|
+
return this.GetCheckResults();
|
|
1258
1498
|
}
|
|
1259
|
-
|
|
1499
|
+
GetPassRate() {
|
|
1260
1500
|
const total = this.record.TotalChecks || 0;
|
|
1261
1501
|
const passed = this.record.PassedChecks || 0;
|
|
1262
1502
|
if (total === 0)
|
|
1263
1503
|
return 0;
|
|
1264
1504
|
return (passed / total) * 100;
|
|
1265
1505
|
}
|
|
1266
|
-
|
|
1506
|
+
/** @deprecated Use {@link GetPassRate}. */
|
|
1507
|
+
getPassRate() {
|
|
1508
|
+
return this.GetPassRate();
|
|
1509
|
+
}
|
|
1510
|
+
async CopyLogToClipboard() {
|
|
1267
1511
|
if (this.record.Log) {
|
|
1268
1512
|
try {
|
|
1269
1513
|
await navigator.clipboard.writeText(this.record.Log);
|
|
@@ -1274,13 +1518,21 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1274
1518
|
}
|
|
1275
1519
|
}
|
|
1276
1520
|
}
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1521
|
+
/** @deprecated Use {@link CopyLogToClipboard}. */
|
|
1522
|
+
async copyLogToClipboard() {
|
|
1523
|
+
return this.CopyLogToClipboard();
|
|
1524
|
+
}
|
|
1525
|
+
GetFormattedResultDetails() {
|
|
1526
|
+
return this.ParsedData.resultDetails
|
|
1527
|
+
? JSON.stringify(this.ParsedData.resultDetails, null, 2)
|
|
1280
1528
|
: '// No result details available';
|
|
1281
1529
|
}
|
|
1530
|
+
/** @deprecated Use {@link GetFormattedResultDetails}. */
|
|
1531
|
+
getFormattedResultDetails() {
|
|
1532
|
+
return this.GetFormattedResultDetails();
|
|
1533
|
+
}
|
|
1282
1534
|
// Helper for relative time display
|
|
1283
|
-
|
|
1535
|
+
GetRelativeTime(date) {
|
|
1284
1536
|
if (!date)
|
|
1285
1537
|
return 'N/A';
|
|
1286
1538
|
const d = new Date(date);
|
|
@@ -1299,6 +1551,10 @@ let MJTestRunFormComponentExtended = class MJTestRunFormComponentExtended extend
|
|
|
1299
1551
|
return `${diffDays}d ago`;
|
|
1300
1552
|
return d.toLocaleDateString();
|
|
1301
1553
|
}
|
|
1554
|
+
/** @deprecated Use {@link GetRelativeTime}. */
|
|
1555
|
+
getRelativeTime(date) {
|
|
1556
|
+
return this.GetRelativeTime(date);
|
|
1557
|
+
}
|
|
1302
1558
|
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵMJTestRunFormComponentExtended_BaseFactory; return function MJTestRunFormComponentExtended_Factory(__ngFactoryType__) { return (ɵMJTestRunFormComponentExtended_BaseFactory || (ɵMJTestRunFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(MJTestRunFormComponentExtended)))(__ngFactoryType__ || MJTestRunFormComponentExtended); }; })(); }
|
|
1303
1559
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJTestRunFormComponentExtended, selectors: [["mj-test-run-form"]], hostBindings: function MJTestRunFormComponentExtended_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1304
1560
|
i0.ɵɵlistener("keydown", function MJTestRunFormComponentExtended_keydown_HostBindingHandler($event) { return ctx.handleKeyboardShortcut($event); }, i0.ɵɵresolveDocument);
|