@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.
Files changed (275) hide show
  1. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +1 -1
  2. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +2 -2
  3. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
  4. package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
  5. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +90 -16
  6. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
  7. package/dist/lib/custom/AIAgents/add-action-dialog.component.js +218 -70
  8. package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
  9. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +80 -16
  10. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  11. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +146 -46
  12. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  13. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +329 -27
  14. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  15. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +794 -262
  16. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  17. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +76 -0
  18. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
  19. package/dist/lib/custom/AIAgents/ai-agent-management.service.js +77 -33
  20. package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
  21. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +69 -15
  22. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  23. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +182 -74
  24. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  25. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +105 -25
  26. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  27. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +272 -112
  28. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  29. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +32 -6
  30. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  31. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +71 -19
  32. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  33. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +10 -0
  34. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
  35. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +27 -7
  36. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
  37. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +65 -15
  38. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  39. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +152 -52
  40. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  41. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +81 -15
  42. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  43. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +145 -45
  44. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  45. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +71 -17
  46. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  47. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +175 -67
  48. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  49. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +173 -27
  50. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  51. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +385 -93
  52. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  53. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts +64 -4
  54. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
  55. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +129 -29
  56. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  57. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +260 -27
  58. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  59. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +686 -238
  60. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  61. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +10 -0
  62. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
  63. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +17 -9
  64. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
  65. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +74 -16
  66. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
  67. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +174 -58
  68. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  69. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +108 -14
  70. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
  71. package/dist/lib/custom/Actions/action-execution-log-form.component.js +258 -70
  72. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  73. package/dist/lib/custom/Actions/action-form.component.d.ts +198 -14
  74. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  75. package/dist/lib/custom/Actions/action-form.component.js +387 -107
  76. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  77. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts +12 -6
  78. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts.map +1 -1
  79. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js +41 -29
  80. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js.map +1 -1
  81. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js +14 -14
  82. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js.map +1 -1
  83. package/dist/lib/custom/Companies/company-overview.panel.d.ts +1 -1
  84. package/dist/lib/custom/Companies/company-overview.panel.js +2 -2
  85. package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
  86. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +1 -1
  87. package/dist/lib/custom/Conversations/conversation-overview.panel.js +2 -2
  88. package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
  89. package/dist/lib/custom/Employees/employee-overview.panel.d.ts +1 -1
  90. package/dist/lib/custom/Employees/employee-overview.panel.js +2 -2
  91. package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
  92. package/dist/lib/custom/Entities/entity-form.component.d.ts +209 -28
  93. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  94. package/dist/lib/custom/Entities/entity-form.component.js +494 -138
  95. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  96. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +5 -1
  97. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
  98. package/dist/lib/custom/EntityActions/entityaction.form.component.js +10 -2
  99. package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
  100. package/dist/lib/custom/Files/file-form.component.d.ts +1 -1
  101. package/dist/lib/custom/Files/file-form.component.js +2 -2
  102. package/dist/lib/custom/Files/file-form.component.js.map +1 -1
  103. package/dist/lib/custom/Lists/list-form.component.d.ts +300 -36
  104. package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
  105. package/dist/lib/custom/Lists/list-form.component.js +664 -208
  106. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  107. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +31 -0
  108. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -1
  109. package/dist/lib/custom/MLModels/ml-model-view-models.js +52 -16
  110. package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -1
  111. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +107 -10
  112. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -1
  113. package/dist/lib/custom/MLModels/ps-model-detail.component.js +291 -101
  114. package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -1
  115. package/dist/lib/custom/Queries/query-form.component.d.ts +201 -26
  116. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  117. package/dist/lib/custom/Queries/query-form.component.js +429 -109
  118. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  119. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +107 -14
  120. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
  121. package/dist/lib/custom/Queries/query-run-dialog.component.js +249 -79
  122. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  123. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +110 -4
  124. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
  125. package/dist/lib/custom/RecordProcesses/record-process-form.component.js +858 -86
  126. package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
  127. package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +1 -1
  128. package/dist/lib/custom/SearchScopes/searchscope-form.component.js +4 -4
  129. package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
  130. package/dist/lib/custom/SessionBridges/session-bridge-form.component.js.map +1 -1
  131. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts +77 -13
  132. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
  133. package/dist/lib/custom/Templates/template-param-dialog.component.js +196 -78
  134. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  135. package/dist/lib/custom/Templates/template-params-grid.component.d.ts +49 -7
  136. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  137. package/dist/lib/custom/Templates/template-params-grid.component.js +132 -44
  138. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  139. package/dist/lib/custom/Templates/templates-form.component.d.ts +142 -17
  140. package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
  141. package/dist/lib/custom/Templates/templates-form.component.js +333 -113
  142. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  143. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +24 -4
  144. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
  145. package/dist/lib/custom/Tests/entity-link-pill.component.js +64 -20
  146. package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
  147. package/dist/lib/custom/Tests/test-form.component.d.ts +217 -27
  148. package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
  149. package/dist/lib/custom/Tests/test-form.component.js +549 -169
  150. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  151. package/dist/lib/custom/Tests/test-run-checks.d.ts +2 -0
  152. package/dist/lib/custom/Tests/test-run-checks.d.ts.map +1 -1
  153. package/dist/lib/custom/Tests/test-run-checks.js +5 -1
  154. package/dist/lib/custom/Tests/test-run-checks.js.map +1 -1
  155. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +2 -0
  156. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
  157. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +5 -1
  158. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  159. package/dist/lib/custom/Tests/test-run-form.component.d.ts +146 -18
  160. package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
  161. package/dist/lib/custom/Tests/test-run-form.component.js +362 -106
  162. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  163. package/dist/lib/custom/Tests/test-suite-form.component.d.ts +390 -47
  164. package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
  165. package/dist/lib/custom/Tests/test-suite-form.component.js +1015 -343
  166. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  167. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +214 -26
  168. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
  169. package/dist/lib/custom/Tests/test-suite-run-form.component.js +535 -159
  170. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  171. package/dist/lib/custom/Users/user-overview.panel.d.ts +1 -1
  172. package/dist/lib/custom/Users/user-overview.panel.js +2 -2
  173. package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
  174. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +208 -29
  175. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
  176. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +446 -138
  177. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  178. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +6 -0
  179. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -1
  180. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +16 -4
  181. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -1
  182. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +50 -6
  183. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
  184. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +84 -12
  185. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
  186. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +89 -5
  187. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  188. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +216 -70
  189. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  190. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +62 -3
  191. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
  192. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +140 -42
  193. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
  194. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +81 -10
  195. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  196. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +165 -37
  197. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  198. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +140 -15
  199. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  200. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +326 -100
  201. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  202. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +101 -15
  203. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -1
  204. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +281 -97
  205. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -1
  206. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +43 -25
  207. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -1
  208. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +100 -64
  209. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -1
  210. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +14 -2
  211. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -1
  212. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +71 -53
  213. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -1
  214. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +14 -2
  215. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -1
  216. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +70 -52
  217. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -1
  218. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +8 -0
  219. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -1
  220. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +22 -6
  221. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -1
  222. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +24 -2
  223. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -1
  224. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +91 -59
  225. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -1
  226. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +10 -2
  227. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -1
  228. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +33 -17
  229. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -1
  230. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts +2 -0
  231. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts.map +1 -1
  232. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js +34 -30
  233. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js.map +1 -1
  234. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +14 -2
  235. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -1
  236. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +69 -51
  237. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -1
  238. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +38 -12
  239. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  240. package/dist/lib/custom/shared/entity-selector-dialog.component.js +103 -51
  241. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  242. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
  243. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +59 -51
  244. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  245. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +76 -74
  246. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
  247. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +27 -25
  248. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
  249. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
  250. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +155 -119
  251. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  252. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts +5 -1
  253. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -1
  254. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +11 -3
  255. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
  256. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +2 -0
  257. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -1
  258. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +16 -12
  259. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
  260. package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +1 -1
  261. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +2 -2
  262. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
  263. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +45 -19
  264. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
  265. package/dist/lib/panels/model-predictions/model-prediction.logic.js +95 -43
  266. package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
  267. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +20 -16
  268. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
  269. package/dist/lib/panels/model-predictions/model-prediction.panel.js +73 -65
  270. package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
  271. package/dist/lib/shared/components/template-editor.component.d.ts +133 -14
  272. package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
  273. package/dist/lib/shared/components/template-editor.component.js +322 -124
  274. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  275. package/package.json +43 -42
@@ -19,10 +19,28 @@ export type PSMetricMap = Partial<Record<PSMetricKey, number>>;
19
19
  export declare const PS_KNOWN_METRIC_KEYS: readonly PSMetricKey[];
20
20
  export declare const METRIC_LABELS: Record<PSMetricKey, string>;
21
21
  export declare const PS_FEATURE_DOMINANCE_THRESHOLD = 0.6;
22
+ export declare function HumanizeFeatureName(name: string): string;
23
+ /** @deprecated Use {@link HumanizeFeatureName}. */
22
24
  export declare function humanizeFeatureName(name: string): string;
25
+ export declare function ParseMetrics(json: string | null | undefined): PSMetricMap;
26
+ /** @deprecated Use {@link ParseMetrics}. */
23
27
  export declare function parseMetrics(json: string | null | undefined): PSMetricMap;
28
+ export declare function CanonicalMetricKey(rawKey: string): PSMetricKey | null;
29
+ /** @deprecated Use {@link CanonicalMetricKey}. */
24
30
  export declare function canonicalMetricKey(rawKey: string): PSMetricKey | null;
31
+ export declare function FormatMetricValue(key: PSMetricKey | string, val: number): string;
32
+ /** @deprecated Use {@link FormatMetricValue}. */
25
33
  export declare function formatMetricValue(key: PSMetricKey | string, val: number): string;
34
+ export declare function PrimaryModelScore(model: {
35
+ Metrics?: string | null;
36
+ HoldoutMetrics?: string | null;
37
+ ProblemType?: string | null;
38
+ }): {
39
+ key: PSMetricKey;
40
+ label: string;
41
+ value: number;
42
+ } | null;
43
+ /** @deprecated Use {@link PrimaryModelScore}. */
26
44
  export declare function primaryModelScore(model: {
27
45
  Metrics?: string | null;
28
46
  HoldoutMetrics?: string | null;
@@ -32,11 +50,24 @@ export declare function primaryModelScore(model: {
32
50
  label: string;
33
51
  value: number;
34
52
  } | null;
53
+ export declare function MetricsToDisplay(metrics: PSMetricMap, options?: {
54
+ excludeAuc?: boolean;
55
+ }): PSMetricDisplay[];
56
+ /** @deprecated Use {@link MetricsToDisplay}. */
35
57
  export declare function metricsToDisplay(metrics: PSMetricMap, options?: {
36
58
  excludeAuc?: boolean;
37
59
  }): PSMetricDisplay[];
60
+ export declare function ParseFeatureImportance(raw: string | null | undefined, topN?: number): PSFeatureBar[];
61
+ /** @deprecated Use {@link ParseFeatureImportance}. */
38
62
  export declare function parseFeatureImportance(raw: string | null | undefined, topN?: number): PSFeatureBar[];
63
+ export declare function MaxFeatureImportance(raw: string | null | undefined): number | null;
64
+ /** @deprecated Use {@link MaxFeatureImportance}. */
39
65
  export declare function maxFeatureImportance(raw: string | null | undefined): number | null;
66
+ export declare function OverfitGap(model: {
67
+ Metrics?: string | null;
68
+ HoldoutMetrics?: string | null;
69
+ }): number | null;
70
+ /** @deprecated Use {@link OverfitGap}. */
40
71
  export declare function overfitGap(model: {
41
72
  Metrics?: string | null;
42
73
  HoldoutMetrics?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"ml-model-view-models.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ml-model-view-models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,UAAU,GACV,WAAW,GACX,QAAQ,GACR,IAAI,GACJ,SAAS,GACT,IAAI,GACJ,MAAM,GACN,KAAK,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/D,eAAO,MAAM,oBAAoB,EAAE,SAAS,WAAW,EAU7C,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAUrD,CAAC;AAyBF,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAiBzE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAIrE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAiBhF;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC9F;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqB3D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,eAAe,EAAE,CAehH;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,GAAE,MAAU,GAAG,YAAY,EAAE,CAyCvG;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKlF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAU5G"}
1
+ {"version":3,"file":"ml-model-view-models.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ml-model-view-models.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ const METRIC_ALIASES = {
47
47
  mae: 'MAE',
48
48
  };
49
49
  export const PS_FEATURE_DOMINANCE_THRESHOLD = 0.6;
50
- export function humanizeFeatureName(name) {
50
+ export function HumanizeFeatureName(name) {
51
51
  if (!name)
52
52
  return '';
53
53
  return name
@@ -57,7 +57,11 @@ export function humanizeFeatureName(name) {
57
57
  .trim()
58
58
  .replace(/\b[a-z]/g, (c) => c.toUpperCase());
59
59
  }
60
- export function parseMetrics(json) {
60
+ /** @deprecated Use {@link HumanizeFeatureName}. */
61
+ export function humanizeFeatureName(name) {
62
+ return HumanizeFeatureName(name);
63
+ }
64
+ export function ParseMetrics(json) {
61
65
  if (!json)
62
66
  return {};
63
67
  let parsed;
@@ -74,19 +78,27 @@ export function parseMetrics(json) {
74
78
  const value = typeof rawVal === 'number' && Number.isFinite(rawVal) ? rawVal : null;
75
79
  if (value == null)
76
80
  continue;
77
- const canonical = canonicalMetricKey(rawKey);
81
+ const canonical = CanonicalMetricKey(rawKey);
78
82
  if (canonical && out[canonical] == null)
79
83
  out[canonical] = value;
80
84
  }
81
85
  return out;
82
86
  }
83
- export function canonicalMetricKey(rawKey) {
87
+ /** @deprecated Use {@link ParseMetrics}. */
88
+ export function parseMetrics(json) {
89
+ return ParseMetrics(json);
90
+ }
91
+ export function CanonicalMetricKey(rawKey) {
84
92
  const exact = PS_KNOWN_METRIC_KEYS.find((k) => k === rawKey);
85
93
  if (exact)
86
94
  return exact;
87
95
  return METRIC_ALIASES[rawKey.trim().toLowerCase()] ?? null;
88
96
  }
89
- export function formatMetricValue(key, val) {
97
+ /** @deprecated Use {@link CanonicalMetricKey}. */
98
+ export function canonicalMetricKey(rawKey) {
99
+ return CanonicalMetricKey(rawKey);
100
+ }
101
+ export function FormatMetricValue(key, val) {
90
102
  if (!Number.isFinite(val))
91
103
  return '—';
92
104
  switch (key) {
@@ -105,10 +117,14 @@ export function formatMetricValue(key, val) {
105
117
  return val.toFixed(3);
106
118
  }
107
119
  }
108
- export function primaryModelScore(model) {
120
+ /** @deprecated Use {@link FormatMetricValue}. */
121
+ export function formatMetricValue(key, val) {
122
+ return FormatMetricValue(key, val);
123
+ }
124
+ export function PrimaryModelScore(model) {
109
125
  const isReg = (model.ProblemType ?? '').toLowerCase() === 'regression';
110
- const holdout = parseMetrics(model.HoldoutMetrics);
111
- const train = parseMetrics(model.Metrics);
126
+ const holdout = ParseMetrics(model.HoldoutMetrics);
127
+ const train = ParseMetrics(model.Metrics);
112
128
  if (isReg) {
113
129
  for (const k of ['R2', 'RMSE', 'MAE']) {
114
130
  if (holdout[k] != null)
@@ -129,7 +145,11 @@ export function primaryModelScore(model) {
129
145
  }
130
146
  return null;
131
147
  }
132
- export function metricsToDisplay(metrics, options = {}) {
148
+ /** @deprecated Use {@link PrimaryModelScore}. */
149
+ export function primaryModelScore(model) {
150
+ return PrimaryModelScore(model);
151
+ }
152
+ export function MetricsToDisplay(metrics, options = {}) {
133
153
  const out = [];
134
154
  for (const k of PS_KNOWN_METRIC_KEYS) {
135
155
  if (options.excludeAuc && k === 'AUC')
@@ -139,14 +159,18 @@ export function metricsToDisplay(metrics, options = {}) {
139
159
  out.push({
140
160
  key: k,
141
161
  label: METRIC_LABELS[k] ?? k,
142
- value: formatMetricValue(k, v),
162
+ value: FormatMetricValue(k, v),
143
163
  raw: v,
144
164
  });
145
165
  }
146
166
  }
147
167
  return out;
148
168
  }
149
- export function parseFeatureImportance(raw, topN = 6) {
169
+ /** @deprecated Use {@link MetricsToDisplay}. */
170
+ export function metricsToDisplay(metrics, options = {}) {
171
+ return MetricsToDisplay(metrics, options);
172
+ }
173
+ export function ParseFeatureImportance(raw, topN = 6) {
150
174
  if (!raw)
151
175
  return [];
152
176
  let parsed;
@@ -187,16 +211,24 @@ export function parseFeatureImportance(raw, topN = 6) {
187
211
  warning: e.val >= PS_FEATURE_DOMINANCE_THRESHOLD,
188
212
  }));
189
213
  }
190
- export function maxFeatureImportance(raw) {
191
- const bars = parseFeatureImportance(raw, 1);
214
+ /** @deprecated Use {@link ParseFeatureImportance}. */
215
+ export function parseFeatureImportance(raw, topN = 6) {
216
+ return ParseFeatureImportance(raw, topN);
217
+ }
218
+ export function MaxFeatureImportance(raw) {
219
+ const bars = ParseFeatureImportance(raw, 1);
192
220
  if (bars.length === 0)
193
221
  return null;
194
222
  const num = parseFloat(bars[0].value);
195
223
  return Number.isFinite(num) ? num : null;
196
224
  }
197
- export function overfitGap(model) {
198
- const train = parseMetrics(model.Metrics);
199
- const holdout = parseMetrics(model.HoldoutMetrics);
225
+ /** @deprecated Use {@link MaxFeatureImportance}. */
226
+ export function maxFeatureImportance(raw) {
227
+ return MaxFeatureImportance(raw);
228
+ }
229
+ export function OverfitGap(model) {
230
+ const train = ParseMetrics(model.Metrics);
231
+ const holdout = ParseMetrics(model.HoldoutMetrics);
200
232
  if (train.AUC != null && holdout.AUC != null) {
201
233
  return train.AUC - holdout.AUC;
202
234
  }
@@ -205,4 +237,8 @@ export function overfitGap(model) {
205
237
  }
206
238
  return null;
207
239
  }
240
+ /** @deprecated Use {@link OverfitGap}. */
241
+ export function overfitGap(model) {
242
+ return OverfitGap(model);
243
+ }
208
244
  //# sourceMappingURL=ml-model-view-models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ml-model-view-models.js","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ml-model-view-models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6BH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,KAAK;IACL,UAAU;IACV,WAAW;IACX,QAAQ;IACR,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,MAAM;IACN,KAAK;CACG,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,GAAG,EAAE,WAAW;IAChB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,UAAU;IACnB,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,cAAc,GAAgC;IAClD,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,UAAU;IACf,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,SAAS;IACnB,EAAE,EAAE,IAAI;IACR,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI;SACR,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;SAC3B,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,IAAI,EAAE;SACN,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAA+B;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9E,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QACjF,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,KAAK,IAAI,IAAI;YAAE,SAAS;QAC5B,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI;YAAE,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IAC7D,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAyB,EAAE,GAAW;IACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,IAAI;YACP,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC;QACjG;YACE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAA+F;IAE/F,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC;IACvE,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAU,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI;gBAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC;QACzF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAU,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;gBAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAU,EAAE,CAAC;QACjE,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC;IACzF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAU,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;IACrF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAoB,EAAE,UAAoC,EAAE;IAC3F,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,KAAK,KAAK;YAAE,SAAS;QAChD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9B,GAAG,EAAE,CAAC;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAA8B,EAAE,OAAe,CAAC;IACrF,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAoC,EAAE,CAAC;IAEpD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,MAA+G,EAAE,CAAC;YACnI,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChH,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5K,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;YACvE,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5E,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAEhC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,8BAA8B;KACjD,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAA8B;IACjE,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAkE;IAC3F,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/**\n * Pure view-model functions and types for ML Model detail and metrics rendering.\n * Framework-free, deterministic calculations over plain model entity data.\n */\n\nexport interface PSFeatureBar {\n name: string;\n value: string;\n pct: number;\n warning: boolean;\n}\n\nexport interface PSMetricDisplay {\n key: string;\n label: string;\n value: string;\n raw: number;\n}\n\nexport type PSMetricKey =\n | 'AUC'\n | 'Accuracy'\n | 'Precision'\n | 'Recall'\n | 'F1'\n | 'LogLoss'\n | 'R2'\n | 'RMSE'\n | 'MAE';\n\nexport type PSMetricMap = Partial<Record<PSMetricKey, number>>;\n\nexport const PS_KNOWN_METRIC_KEYS: readonly PSMetricKey[] = [\n 'AUC',\n 'Accuracy',\n 'Precision',\n 'Recall',\n 'F1',\n 'LogLoss',\n 'R2',\n 'RMSE',\n 'MAE',\n] as const;\n\nexport const METRIC_LABELS: Record<PSMetricKey, string> = {\n AUC: 'AUC (ROC)',\n Accuracy: 'Accuracy',\n Precision: 'Precision',\n Recall: 'Recall',\n F1: 'F1 Score',\n LogLoss: 'Log Loss',\n R2: 'R² (Fit)',\n RMSE: 'RMSE',\n MAE: 'MAE',\n};\n\nconst METRIC_ALIASES: Record<string, PSMetricKey> = {\n auc: 'AUC',\n 'roc-auc': 'AUC',\n roc_auc: 'AUC',\n acc: 'Accuracy',\n accuracy: 'Accuracy',\n prec: 'Precision',\n precision: 'Precision',\n rec: 'Recall',\n recall: 'Recall',\n f1: 'F1',\n 'f1-score': 'F1',\n f1_score: 'F1',\n logloss: 'LogLoss',\n 'log-loss': 'LogLoss',\n log_loss: 'LogLoss',\n r2: 'R2',\n 'r-squared': 'R2',\n r_squared: 'R2',\n rmse: 'RMSE',\n mae: 'MAE',\n};\n\nexport const PS_FEATURE_DOMINANCE_THRESHOLD = 0.6;\n\nexport function humanizeFeatureName(name: string): string {\n if (!name) return '';\n return name\n .replace(/^Is([A-Z])/, '$1')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/_/g, ' ')\n .trim()\n .replace(/\\b[a-z]/g, (c) => c.toUpperCase());\n}\n\nexport function parseMetrics(json: string | null | undefined): PSMetricMap {\n if (!json) return {};\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch {\n return {};\n }\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) return {};\n const out: PSMetricMap = {};\n for (const [rawKey, rawVal] of Object.entries(parsed as Record<string, unknown>)) {\n const value = typeof rawVal === 'number' && Number.isFinite(rawVal) ? rawVal : null;\n if (value == null) continue;\n const canonical = canonicalMetricKey(rawKey);\n if (canonical && out[canonical] == null) out[canonical] = value;\n }\n return out;\n}\n\nexport function canonicalMetricKey(rawKey: string): PSMetricKey | null {\n const exact = PS_KNOWN_METRIC_KEYS.find((k) => k === rawKey);\n if (exact) return exact;\n return METRIC_ALIASES[rawKey.trim().toLowerCase()] ?? null;\n}\n\nexport function formatMetricValue(key: PSMetricKey | string, val: number): string {\n if (!Number.isFinite(val)) return '—';\n switch (key) {\n case 'AUC':\n case 'Accuracy':\n case 'Precision':\n case 'Recall':\n case 'F1':\n case 'R2':\n return val.toFixed(3);\n case 'LogLoss':\n case 'RMSE':\n case 'MAE':\n return val < 10 ? val.toFixed(3) : val.toLocaleString(undefined, { maximumFractionDigits: 2 });\n default:\n return val.toFixed(3);\n }\n}\n\nexport function primaryModelScore(\n model: { Metrics?: string | null; HoldoutMetrics?: string | null; ProblemType?: string | null },\n): { key: PSMetricKey; label: string; value: number } | null {\n const isReg = (model.ProblemType ?? '').toLowerCase() === 'regression';\n const holdout = parseMetrics(model.HoldoutMetrics);\n const train = parseMetrics(model.Metrics);\n\n if (isReg) {\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n }\n\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n return null;\n}\n\nexport function metricsToDisplay(metrics: PSMetricMap, options: { excludeAuc?: boolean } = {}): PSMetricDisplay[] {\n const out: PSMetricDisplay[] = [];\n for (const k of PS_KNOWN_METRIC_KEYS) {\n if (options.excludeAuc && k === 'AUC') continue;\n const v = metrics[k];\n if (v != null) {\n out.push({\n key: k,\n label: METRIC_LABELS[k] ?? k,\n value: formatMetricValue(k, v),\n raw: v,\n });\n }\n }\n return out;\n}\n\nexport function parseFeatureImportance(raw: string | null | undefined, topN: number = 6): PSFeatureBar[] {\n if (!raw) return [];\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n return [];\n }\n\n const entries: { name: string; val: number }[] = [];\n\n if (Array.isArray(parsed)) {\n for (const item of parsed as Array<{ feature?: unknown; name?: unknown; importance?: unknown; weight?: unknown; value?: unknown }>) {\n const name = typeof item?.feature === 'string' ? item.feature : typeof item?.name === 'string' ? item.name : '';\n const rawVal = typeof item?.importance === 'number' ? item.importance : typeof item?.weight === 'number' ? item.weight : typeof item?.value === 'number' ? item.value : NaN;\n const val = Number(rawVal);\n if (name && Number.isFinite(val)) {\n entries.push({ name, val: Math.abs(val) });\n }\n }\n } else if (parsed && typeof parsed === 'object') {\n for (const [k, v] of Object.entries(parsed as Record<string, unknown>)) {\n const val = typeof v === 'number' && Number.isFinite(v) ? Math.abs(v) : NaN;\n if (k && Number.isFinite(val)) {\n entries.push({ name: k, val });\n }\n }\n }\n\n if (entries.length === 0) return [];\n\n entries.sort((a, b) => b.val - a.val);\n const sliced = entries.slice(0, topN);\n const max = sliced[0]?.val ?? 1;\n\n return sliced.map((e) => ({\n name: e.name,\n value: e.val < 1 ? e.val.toFixed(3) : e.val.toFixed(1),\n pct: max > 0 ? Math.round((e.val / max) * 100) : 0,\n warning: e.val >= PS_FEATURE_DOMINANCE_THRESHOLD,\n }));\n}\n\nexport function maxFeatureImportance(raw: string | null | undefined): number | null {\n const bars = parseFeatureImportance(raw, 1);\n if (bars.length === 0) return null;\n const num = parseFloat(bars[0].value);\n return Number.isFinite(num) ? num : null;\n}\n\nexport function overfitGap(model: { Metrics?: string | null; HoldoutMetrics?: string | null }): number | null {\n const train = parseMetrics(model.Metrics);\n const holdout = parseMetrics(model.HoldoutMetrics);\n if (train.AUC != null && holdout.AUC != null) {\n return train.AUC - holdout.AUC;\n }\n if (train.R2 != null && holdout.R2 != null) {\n return train.R2 - holdout.R2;\n }\n return null;\n}\n"]}
1
+ {"version":3,"file":"ml-model-view-models.js","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ml-model-view-models.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Pure view-model functions and types for ML Model detail and metrics rendering.\n * Framework-free, deterministic calculations over plain model entity data.\n */\n\nexport interface PSFeatureBar {\n name: string;\n value: string;\n pct: number;\n warning: boolean;\n}\n\nexport interface PSMetricDisplay {\n key: string;\n label: string;\n value: string;\n raw: number;\n}\n\nexport type PSMetricKey =\n | 'AUC'\n | 'Accuracy'\n | 'Precision'\n | 'Recall'\n | 'F1'\n | 'LogLoss'\n | 'R2'\n | 'RMSE'\n | 'MAE';\n\nexport type PSMetricMap = Partial<Record<PSMetricKey, number>>;\n\nexport const PS_KNOWN_METRIC_KEYS: readonly PSMetricKey[] = [\n 'AUC',\n 'Accuracy',\n 'Precision',\n 'Recall',\n 'F1',\n 'LogLoss',\n 'R2',\n 'RMSE',\n 'MAE',\n] as const;\n\nexport const METRIC_LABELS: Record<PSMetricKey, string> = {\n AUC: 'AUC (ROC)',\n Accuracy: 'Accuracy',\n Precision: 'Precision',\n Recall: 'Recall',\n F1: 'F1 Score',\n LogLoss: 'Log Loss',\n R2: 'R² (Fit)',\n RMSE: 'RMSE',\n MAE: 'MAE',\n};\n\nconst METRIC_ALIASES: Record<string, PSMetricKey> = {\n auc: 'AUC',\n 'roc-auc': 'AUC',\n roc_auc: 'AUC',\n acc: 'Accuracy',\n accuracy: 'Accuracy',\n prec: 'Precision',\n precision: 'Precision',\n rec: 'Recall',\n recall: 'Recall',\n f1: 'F1',\n 'f1-score': 'F1',\n f1_score: 'F1',\n logloss: 'LogLoss',\n 'log-loss': 'LogLoss',\n log_loss: 'LogLoss',\n r2: 'R2',\n 'r-squared': 'R2',\n r_squared: 'R2',\n rmse: 'RMSE',\n mae: 'MAE',\n};\n\nexport const PS_FEATURE_DOMINANCE_THRESHOLD = 0.6;\n\nexport function HumanizeFeatureName(name: string): string {\n if (!name) return '';\n return name\n .replace(/^Is([A-Z])/, '$1')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/_/g, ' ')\n .trim()\n .replace(/\\b[a-z]/g, (c) => c.toUpperCase());\n}\n\n/** @deprecated Use {@link HumanizeFeatureName}. */\nexport function humanizeFeatureName(name: string): string {\n return HumanizeFeatureName(name);\n}\n\nexport function ParseMetrics(json: string | null | undefined): PSMetricMap {\n if (!json) return {};\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch {\n return {};\n }\n if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) return {};\n const out: PSMetricMap = {};\n for (const [rawKey, rawVal] of Object.entries(parsed as Record<string, unknown>)) {\n const value = typeof rawVal === 'number' && Number.isFinite(rawVal) ? rawVal : null;\n if (value == null) continue;\n const canonical = CanonicalMetricKey(rawKey);\n if (canonical && out[canonical] == null) out[canonical] = value;\n }\n return out;\n}\n\n/** @deprecated Use {@link ParseMetrics}. */\nexport function parseMetrics(json: string | null | undefined): PSMetricMap {\n return ParseMetrics(json);\n}\n\nexport function CanonicalMetricKey(rawKey: string): PSMetricKey | null {\n const exact = PS_KNOWN_METRIC_KEYS.find((k) => k === rawKey);\n if (exact) return exact;\n return METRIC_ALIASES[rawKey.trim().toLowerCase()] ?? null;\n}\n\n/** @deprecated Use {@link CanonicalMetricKey}. */\nexport function canonicalMetricKey(rawKey: string): PSMetricKey | null {\n return CanonicalMetricKey(rawKey);\n}\n\nexport function FormatMetricValue(key: PSMetricKey | string, val: number): string {\n if (!Number.isFinite(val)) return '—';\n switch (key) {\n case 'AUC':\n case 'Accuracy':\n case 'Precision':\n case 'Recall':\n case 'F1':\n case 'R2':\n return val.toFixed(3);\n case 'LogLoss':\n case 'RMSE':\n case 'MAE':\n return val < 10 ? val.toFixed(3) : val.toLocaleString(undefined, { maximumFractionDigits: 2 });\n default:\n return val.toFixed(3);\n }\n}\n\n/** @deprecated Use {@link FormatMetricValue}. */\nexport function formatMetricValue(key: PSMetricKey | string, val: number): string {\n return FormatMetricValue(key, val);\n}\n\nexport function PrimaryModelScore(\n model: { Metrics?: string | null; HoldoutMetrics?: string | null; ProblemType?: string | null },\n): { key: PSMetricKey; label: string; value: number } | null {\n const isReg = (model.ProblemType ?? '').toLowerCase() === 'regression';\n const holdout = ParseMetrics(model.HoldoutMetrics);\n const train = ParseMetrics(model.Metrics);\n\n if (isReg) {\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['R2', 'RMSE', 'MAE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n }\n\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (holdout[k] != null) return { key: k, label: METRIC_LABELS[k], value: holdout[k]! };\n }\n for (const k of ['AUC', 'Accuracy', 'F1', 'R2', 'RMSE'] as const) {\n if (train[k] != null) return { key: k, label: METRIC_LABELS[k], value: train[k]! };\n }\n return null;\n}\n\n/** @deprecated Use {@link PrimaryModelScore}. */\nexport function primaryModelScore(\n model: { Metrics?: string | null; HoldoutMetrics?: string | null; ProblemType?: string | null },\n): { key: PSMetricKey; label: string; value: number } | null {\n return PrimaryModelScore(model);\n}\n\nexport function MetricsToDisplay(metrics: PSMetricMap, options: { excludeAuc?: boolean } = {}): PSMetricDisplay[] {\n const out: PSMetricDisplay[] = [];\n for (const k of PS_KNOWN_METRIC_KEYS) {\n if (options.excludeAuc && k === 'AUC') continue;\n const v = metrics[k];\n if (v != null) {\n out.push({\n key: k,\n label: METRIC_LABELS[k] ?? k,\n value: FormatMetricValue(k, v),\n raw: v,\n });\n }\n }\n return out;\n}\n\n/** @deprecated Use {@link MetricsToDisplay}. */\nexport function metricsToDisplay(metrics: PSMetricMap, options: { excludeAuc?: boolean } = {}): PSMetricDisplay[] {\n return MetricsToDisplay(metrics, options);\n}\n\nexport function ParseFeatureImportance(raw: string | null | undefined, topN: number = 6): PSFeatureBar[] {\n if (!raw) return [];\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n return [];\n }\n\n const entries: { name: string; val: number }[] = [];\n\n if (Array.isArray(parsed)) {\n for (const item of parsed as Array<{ feature?: unknown; name?: unknown; importance?: unknown; weight?: unknown; value?: unknown }>) {\n const name = typeof item?.feature === 'string' ? item.feature : typeof item?.name === 'string' ? item.name : '';\n const rawVal = typeof item?.importance === 'number' ? item.importance : typeof item?.weight === 'number' ? item.weight : typeof item?.value === 'number' ? item.value : NaN;\n const val = Number(rawVal);\n if (name && Number.isFinite(val)) {\n entries.push({ name, val: Math.abs(val) });\n }\n }\n } else if (parsed && typeof parsed === 'object') {\n for (const [k, v] of Object.entries(parsed as Record<string, unknown>)) {\n const val = typeof v === 'number' && Number.isFinite(v) ? Math.abs(v) : NaN;\n if (k && Number.isFinite(val)) {\n entries.push({ name: k, val });\n }\n }\n }\n\n if (entries.length === 0) return [];\n\n entries.sort((a, b) => b.val - a.val);\n const sliced = entries.slice(0, topN);\n const max = sliced[0]?.val ?? 1;\n\n return sliced.map((e) => ({\n name: e.name,\n value: e.val < 1 ? e.val.toFixed(3) : e.val.toFixed(1),\n pct: max > 0 ? Math.round((e.val / max) * 100) : 0,\n warning: e.val >= PS_FEATURE_DOMINANCE_THRESHOLD,\n }));\n}\n\n/** @deprecated Use {@link ParseFeatureImportance}. */\nexport function parseFeatureImportance(raw: string | null | undefined, topN: number = 6): PSFeatureBar[] {\n return ParseFeatureImportance(raw, topN);\n}\n\nexport function MaxFeatureImportance(raw: string | null | undefined): number | null {\n const bars = ParseFeatureImportance(raw, 1);\n if (bars.length === 0) return null;\n const num = parseFloat(bars[0].value);\n return Number.isFinite(num) ? num : null;\n}\n\n/** @deprecated Use {@link MaxFeatureImportance}. */\nexport function maxFeatureImportance(raw: string | null | undefined): number | null {\n return MaxFeatureImportance(raw);\n}\n\nexport function OverfitGap(model: { Metrics?: string | null; HoldoutMetrics?: string | null }): number | null {\n const train = ParseMetrics(model.Metrics);\n const holdout = ParseMetrics(model.HoldoutMetrics);\n if (train.AUC != null && holdout.AUC != null) {\n return train.AUC - holdout.AUC;\n }\n if (train.R2 != null && holdout.R2 != null) {\n return train.R2 - holdout.R2;\n }\n return null;\n}\n\n/** @deprecated Use {@link OverfitGap}. */\nexport function overfitGap(model: { Metrics?: string | null; HoldoutMetrics?: string | null }): number | null {\n return OverfitGap(model);\n}\n"]}
@@ -25,52 +25,149 @@ interface PendingPromotion {
25
25
  * - Remote Operation lifecycle promotion (Validate, Publish, Archive)
26
26
  */
27
27
  export declare class PSModelDetailComponent {
28
- model: MJMLModelEntity | null;
29
- provider: IMetadataProvider | null;
30
- currentUser: UserInfo | null;
31
- showActions: boolean;
28
+ Model: MJMLModelEntity | null;
29
+ /** @deprecated Use {@link Model}. */
30
+ set model(value: MJMLModelEntity | null);
31
+ /** @deprecated Use {@link Model}. */
32
+ get model(): MJMLModelEntity | null;
33
+ Provider: IMetadataProvider | null;
34
+ /** @deprecated Use {@link Provider}. */
35
+ set provider(value: IMetadataProvider | null);
36
+ /** @deprecated Use {@link Provider}. */
37
+ get provider(): IMetadataProvider | null;
38
+ CurrentUser: UserInfo | null;
39
+ /** @deprecated Use {@link CurrentUser}. */
40
+ set currentUser(value: UserInfo | null);
41
+ /** @deprecated Use {@link CurrentUser}. */
42
+ get currentUser(): UserInfo | null;
43
+ ShowActions: boolean;
44
+ /** @deprecated Use {@link ShowActions}. */
45
+ set showActions(value: PSModelDetailComponent['ShowActions']);
46
+ /** @deprecated Use {@link ShowActions}. */
47
+ get showActions(): PSModelDetailComponent['ShowActions'];
48
+ StatusChanged: EventEmitter<{
49
+ modelId: string;
50
+ newStatus: string;
51
+ }>;
52
+ /**
53
+ * @deprecated Use {@link StatusChanged}.
54
+ *
55
+ * The same emitter under the old binding name, so a template still binding
56
+ * (statusChanged) keeps working. Must stay AFTER StatusChanged: class fields
57
+ * initialise in order, and the other way round this captures undefined.
58
+ */
32
59
  statusChanged: EventEmitter<{
33
60
  modelId: string;
34
61
  newStatus: string;
35
62
  }>;
36
63
  private readonly cdr;
37
64
  private readonly notifications;
38
- readonly lifecycleSteps: readonly ["Draft", "Validated", "Published", "Archived"];
39
- readonly dominanceThreshold: string;
40
- pending: PendingPromotion | null;
41
- pendingReason: string;
42
- busy: boolean;
65
+ readonly LifecycleSteps: readonly ["Draft", "Validated", "Published", "Archived"];
66
+ /** @deprecated Use {@link LifecycleSteps}. */
67
+ get lifecycleSteps(): readonly ["Draft", "Validated", "Published", "Archived"];
68
+ readonly DominanceThreshold: string;
69
+ /** @deprecated Use {@link DominanceThreshold}. */
70
+ get dominanceThreshold(): string;
71
+ Pending: PendingPromotion | null;
72
+ /** @deprecated Use {@link Pending}. */
73
+ get pending(): PendingPromotion | null;
74
+ /** @deprecated Use {@link Pending}. */
75
+ set pending(value: PendingPromotion | null);
76
+ PendingReason: string;
77
+ /** @deprecated Use {@link PendingReason}. */
78
+ get pendingReason(): string;
79
+ /** @deprecated Use {@link PendingReason}. */
80
+ set pendingReason(value: string);
81
+ Busy: boolean;
82
+ /** @deprecated Use {@link Busy}. */
83
+ get busy(): boolean;
84
+ /** @deprecated Use {@link Busy}. */
85
+ set busy(value: boolean);
43
86
  displayName?: string;
87
+ get ModelDisplayName(): string;
88
+ /** @deprecated Use {@link ModelDisplayName}. */
44
89
  get modelDisplayName(): string;
90
+ StatusBadgeClass(status: string | null | undefined): string;
91
+ /** @deprecated Use {@link StatusBadgeClass}. */
45
92
  statusBadgeClass(status: string | null | undefined): string;
93
+ StepState(step: string): 'done' | 'curr' | 'todo';
94
+ /** @deprecated Use {@link StepState}. */
46
95
  stepState(step: string): 'done' | 'curr' | 'todo';
96
+ get TargetSuffix(): string;
97
+ /** @deprecated Use {@link TargetSuffix}. */
47
98
  get targetSuffix(): string;
99
+ get PrimaryScoreLabel(): string;
100
+ /** @deprecated Use {@link PrimaryScoreLabel}. */
48
101
  get primaryScoreLabel(): string;
102
+ get TrainPrimaryScore(): string;
103
+ /** @deprecated Use {@link TrainPrimaryScore}. */
49
104
  get trainPrimaryScore(): string;
105
+ get HoldoutPrimaryScore(): string;
106
+ /** @deprecated Use {@link HoldoutPrimaryScore}. */
50
107
  get holdoutPrimaryScore(): string;
108
+ get SecondaryMetrics(): PSMetricDisplay[];
109
+ /** @deprecated Use {@link SecondaryMetrics}. */
51
110
  get secondaryMetrics(): PSMetricDisplay[];
111
+ get GapText(): string;
112
+ /** @deprecated Use {@link GapText}. */
52
113
  get gapText(): string;
114
+ get GapVerdict(): string;
115
+ /** @deprecated Use {@link GapVerdict}. */
53
116
  get gapVerdict(): string;
117
+ get Importance(): PSFeatureBar[];
118
+ /** @deprecated Use {@link Importance}. */
54
119
  get importance(): PSFeatureBar[];
120
+ get ImportanceCaption(): string;
121
+ /** @deprecated Use {@link ImportanceCaption}. */
55
122
  get importanceCaption(): string;
123
+ get TopFeatureName(): string;
124
+ /** @deprecated Use {@link TopFeatureName}. */
56
125
  get topFeatureName(): string;
126
+ get TopFeatureValue(): string;
127
+ /** @deprecated Use {@link TopFeatureValue}. */
57
128
  get topFeatureValue(): string;
129
+ get LeakageFlagged(): boolean;
130
+ /** @deprecated Use {@link LeakageFlagged}. */
58
131
  get leakageFlagged(): boolean;
132
+ get CanValidate(): boolean;
133
+ /** @deprecated Use {@link CanValidate}. */
59
134
  get canValidate(): boolean;
135
+ get CanPublish(): boolean;
136
+ /** @deprecated Use {@link CanPublish}. */
60
137
  get canPublish(): boolean;
138
+ get CanArchive(): boolean;
139
+ /** @deprecated Use {@link CanArchive}. */
61
140
  get canArchive(): boolean;
141
+ get ActionHint(): string;
142
+ /** @deprecated Use {@link ActionHint}. */
62
143
  get actionHint(): string;
144
+ RequestPromote(targetStatus: PredictiveStudioModelTargetStatus): void;
145
+ /** @deprecated Use {@link RequestPromote}. */
63
146
  requestPromote(targetStatus: PredictiveStudioModelTargetStatus): void;
147
+ CancelPromote(): void;
148
+ /** @deprecated Use {@link CancelPromote}. */
64
149
  cancelPromote(): void;
150
+ get PendingTitle(): string;
151
+ /** @deprecated Use {@link PendingTitle}. */
65
152
  get pendingTitle(): string;
153
+ get PendingIcon(): string;
154
+ /** @deprecated Use {@link PendingIcon}. */
66
155
  get pendingIcon(): string;
156
+ get PendingConfirmLabel(): string;
157
+ /** @deprecated Use {@link PendingConfirmLabel}. */
67
158
  get pendingConfirmLabel(): string;
159
+ get PendingVariant(): 'info' | 'warn' | 'danger';
160
+ /** @deprecated Use {@link PendingVariant}. */
68
161
  get pendingVariant(): 'info' | 'warn' | 'danger';
162
+ get PendingMessage(): string;
163
+ /** @deprecated Use {@link PendingMessage}. */
69
164
  get pendingMessage(): string;
165
+ ConfirmPromote(reason: string): Promise<void>;
166
+ /** @deprecated Use {@link ConfirmPromote}. */
70
167
  confirmPromote(reason: string): Promise<void>;
71
168
  private escapeHtml;
72
169
  static ɵfac: i0.ɵɵFactoryDeclaration<PSModelDetailComponent, never>;
73
- static ɵcmp: i0.ɵɵComponentDeclaration<PSModelDetailComponent, "ps-model-detail", never, { "model": { "alias": "model"; "required": false; }; "provider": { "alias": "provider"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "showActions": { "alias": "showActions"; "required": false; }; "displayName": { "alias": "displayName"; "required": false; }; }, { "statusChanged": "statusChanged"; }, never, never, true, never>;
170
+ static ɵcmp: i0.ɵɵComponentDeclaration<PSModelDetailComponent, "ps-model-detail", never, { "Model": { "alias": "Model"; "required": false; }; "model": { "alias": "model"; "required": false; }; "Provider": { "alias": "Provider"; "required": false; }; "provider": { "alias": "provider"; "required": false; }; "CurrentUser": { "alias": "CurrentUser"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; "ShowActions": { "alias": "ShowActions"; "required": false; }; "showActions": { "alias": "showActions"; "required": false; }; "displayName": { "alias": "displayName"; "required": false; }; }, { "StatusChanged": "StatusChanged"; "statusChanged": "statusChanged"; }, never, never, true, never>;
74
171
  }
75
172
  export {};
76
173
  //# sourceMappingURL=ps-model-detail.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ps-model-detail.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ps-model-detail.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAIb,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,eAAe,EAEf,iCAAiC,EAClC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,YAAY,EACZ,eAAe,EAUhB,MAAM,wBAAwB,CAAC;;AAEhC,mEAAmE;AACnE,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,iCAAiC,CAAC;IAChD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAQa,sBAAsB;IACxB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAQ;IACrC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAC1C,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACpC,WAAW,UAAQ;IAElB,aAAa;iBAA+B,MAAM;mBAAa,MAAM;OAAM;IAErF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAE/D,SAAgB,cAAc,2DAA4D;IAC1F,SAAgB,kBAAkB,SAA6C;IAExE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACxC,aAAa,SAAM;IACnB,IAAI,UAAS;IAEX,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,IAAW,gBAAgB,IAAI,MAAM,CAIpC;IAIM,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;IAe3D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IASxD,IAAW,YAAY,IAAI,MAAM,CAGhC;IAID,IAAW,iBAAiB,IAAI,MAAM,CAIrC;IAED,IAAW,iBAAiB,IAAI,MAAM,CAQrC;IAED,IAAW,mBAAmB,IAAI,MAAM,CAQvC;IAED,IAAW,gBAAgB,IAAI,eAAe,EAAE,CAO/C;IAED,IAAW,OAAO,IAAI,MAAM,CAI3B;IAED,IAAW,UAAU,IAAI,MAAM,CAK9B;IAID,IAAW,UAAU,IAAI,YAAY,EAAE,CAMtC;IAED,IAAW,iBAAiB,IAAI,MAAM,CAGrC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,cAAc,IAAI,OAAO,CAInC;IAID,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,IAAI,MAAM,CAa9B;IAEM,cAAc,CAAC,YAAY,EAAE,iCAAiC,GAAG,IAAI;IAYrE,aAAa,IAAI,IAAI;IAO5B,IAAW,YAAY,IAAI,MAAM,CAGhC;IAED,IAAW,WAAW,IAAI,MAAM,CAG/B;IAED,IAAW,mBAAmB,IAAI,MAAM,CAGvC;IAED,IAAW,cAAc,IAAI,MAAM,GAAG,MAAM,GAAG,QAAQ,CAItD;IAED,IAAW,cAAc,IAAI,MAAM,CAUlC;IAEY,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C1D,OAAO,CAAC,UAAU;yCAtQP,sBAAsB;2CAAtB,sBAAsB;CA6QlC"}
1
+ {"version":3,"file":"ps-model-detail.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/MLModels/ps-model-detail.component.ts"],"names":[],"mappings":"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"}