@memberjunction/ng-core-entity-forms 5.37.0 → 5.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (701) hide show
  1. package/README.md +23 -2
  2. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +20 -20
  3. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  4. package/dist/lib/custom/Queries/query-category-dialog.component.d.ts +2 -2
  5. package/dist/lib/custom/Queries/query-category-dialog.component.d.ts.map +1 -1
  6. package/dist/lib/custom/Queries/query-category-dialog.component.js +8 -21
  7. package/dist/lib/custom/Queries/query-category-dialog.component.js.map +1 -1
  8. package/dist/lib/custom/Queries/query-form.component.d.ts +11 -15
  9. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  10. package/dist/lib/custom/Queries/query-form.component.js +52 -152
  11. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  12. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +1 -8
  13. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  14. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +4 -64
  15. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  16. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +20 -1
  17. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  18. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +152 -14
  19. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  20. package/dist/lib/custom/custom-forms.module.d.ts +31 -30
  21. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  22. package/dist/lib/custom/custom-forms.module.js +17 -5
  23. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  24. package/dist/lib/generated/Entities/MJAIAction/mjaiaction.form.component.js +32 -22
  25. package/dist/lib/generated/Entities/MJAIAction/mjaiaction.form.component.js.map +1 -1
  26. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.d.ts.map +1 -1
  27. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +185 -157
  28. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
  29. package/dist/lib/generated/Entities/MJAIAgentAction/mjaiagentaction.form.component.js +23 -14
  30. package/dist/lib/generated/Entities/MJAIAgentAction/mjaiagentaction.form.component.js.map +1 -1
  31. package/dist/lib/generated/Entities/MJAIAgentArtifactType/mjaiagentartifacttype.form.component.js +18 -9
  32. package/dist/lib/generated/Entities/MJAIAgentArtifactType/mjaiagentartifacttype.form.component.js.map +1 -1
  33. package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js +34 -24
  34. package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js.map +1 -1
  35. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.js +19 -10
  36. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.js.map +1 -1
  37. package/dist/lib/generated/Entities/MJAIAgentConfiguration/mjaiagentconfiguration.form.component.js +19 -10
  38. package/dist/lib/generated/Entities/MJAIAgentConfiguration/mjaiagentconfiguration.form.component.js.map +1 -1
  39. package/dist/lib/generated/Entities/MJAIAgentDataSource/mjaiagentdatasource.form.component.js +23 -14
  40. package/dist/lib/generated/Entities/MJAIAgentDataSource/mjaiagentdatasource.form.component.js.map +1 -1
  41. package/dist/lib/generated/Entities/MJAIAgentExample/mjaiagentexample.form.component.js +25 -16
  42. package/dist/lib/generated/Entities/MJAIAgentExample/mjaiagentexample.form.component.js.map +1 -1
  43. package/dist/lib/generated/Entities/MJAIAgentLearningCycle/mjaiagentlearningcycle.form.component.js +21 -12
  44. package/dist/lib/generated/Entities/MJAIAgentLearningCycle/mjaiagentlearningcycle.form.component.js.map +1 -1
  45. package/dist/lib/generated/Entities/MJAIAgentModality/mjaiagentmodality.form.component.js +19 -10
  46. package/dist/lib/generated/Entities/MJAIAgentModality/mjaiagentmodality.form.component.js.map +1 -1
  47. package/dist/lib/generated/Entities/MJAIAgentModel/mjaiagentmodel.form.component.js +19 -10
  48. package/dist/lib/generated/Entities/MJAIAgentModel/mjaiagentmodel.form.component.js.map +1 -1
  49. package/dist/lib/generated/Entities/MJAIAgentNote/mjaiagentnote.form.component.js +32 -22
  50. package/dist/lib/generated/Entities/MJAIAgentNote/mjaiagentnote.form.component.js.map +1 -1
  51. package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js +24 -15
  52. package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js.map +1 -1
  53. package/dist/lib/generated/Entities/MJAIAgentPermission/mjaiagentpermission.form.component.js +21 -12
  54. package/dist/lib/generated/Entities/MJAIAgentPermission/mjaiagentpermission.form.component.js.map +1 -1
  55. package/dist/lib/generated/Entities/MJAIAgentPrompt/mjaiagentprompt.form.component.js +20 -11
  56. package/dist/lib/generated/Entities/MJAIAgentPrompt/mjaiagentprompt.form.component.js.map +1 -1
  57. package/dist/lib/generated/Entities/MJAIAgentRelationship/mjaiagentrelationship.form.component.js +21 -12
  58. package/dist/lib/generated/Entities/MJAIAgentRelationship/mjaiagentrelationship.form.component.js.map +1 -1
  59. package/dist/lib/generated/Entities/MJAIAgentRequest/mjaiagentrequest.form.component.js +21 -12
  60. package/dist/lib/generated/Entities/MJAIAgentRequest/mjaiagentrequest.form.component.js.map +1 -1
  61. package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js +26 -16
  62. package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js.map +1 -1
  63. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +79 -69
  64. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
  65. package/dist/lib/generated/Entities/MJAIAgentRunMedia/mjaiagentrunmedia.form.component.js +21 -12
  66. package/dist/lib/generated/Entities/MJAIAgentRunMedia/mjaiagentrunmedia.form.component.js.map +1 -1
  67. package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js +36 -26
  68. package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js.map +1 -1
  69. package/dist/lib/generated/Entities/MJAIAgentSearchScope/mjaiagentsearchscope.form.component.js +23 -14
  70. package/dist/lib/generated/Entities/MJAIAgentSearchScope/mjaiagentsearchscope.form.component.js.map +1 -1
  71. package/dist/lib/generated/Entities/MJAIAgentStep/mjaiagentstep.form.component.js +36 -26
  72. package/dist/lib/generated/Entities/MJAIAgentStep/mjaiagentstep.form.component.js.map +1 -1
  73. package/dist/lib/generated/Entities/MJAIAgentStepPath/mjaiagentsteppath.form.component.js +19 -10
  74. package/dist/lib/generated/Entities/MJAIAgentStepPath/mjaiagentsteppath.form.component.js.map +1 -1
  75. package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js +30 -20
  76. package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js.map +1 -1
  77. package/dist/lib/generated/Entities/MJAIArchitecture/mjaiarchitecture.form.component.js +34 -24
  78. package/dist/lib/generated/Entities/MJAIArchitecture/mjaiarchitecture.form.component.js.map +1 -1
  79. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js +26 -16
  80. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js.map +1 -1
  81. package/dist/lib/generated/Entities/MJAIConfiguration/mjaiconfiguration.form.component.js +64 -54
  82. package/dist/lib/generated/Entities/MJAIConfiguration/mjaiconfiguration.form.component.js.map +1 -1
  83. package/dist/lib/generated/Entities/MJAIConfigurationParam/mjaiconfigurationparam.form.component.js +19 -10
  84. package/dist/lib/generated/Entities/MJAIConfigurationParam/mjaiconfigurationparam.form.component.js.map +1 -1
  85. package/dist/lib/generated/Entities/MJAICredentialBinding/mjaicredentialbinding.form.component.js +19 -10
  86. package/dist/lib/generated/Entities/MJAICredentialBinding/mjaicredentialbinding.form.component.js.map +1 -1
  87. package/dist/lib/generated/Entities/MJAIModality/mjaimodality.form.component.js +57 -47
  88. package/dist/lib/generated/Entities/MJAIModality/mjaimodality.form.component.js.map +1 -1
  89. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js +149 -139
  90. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js.map +1 -1
  91. package/dist/lib/generated/Entities/MJAIModelAction/mjaimodelaction.form.component.js +19 -10
  92. package/dist/lib/generated/Entities/MJAIModelAction/mjaimodelaction.form.component.js.map +1 -1
  93. package/dist/lib/generated/Entities/MJAIModelArchitecture/mjaimodelarchitecture.form.component.js +19 -10
  94. package/dist/lib/generated/Entities/MJAIModelArchitecture/mjaimodelarchitecture.form.component.js.map +1 -1
  95. package/dist/lib/generated/Entities/MJAIModelCost/mjaimodelcost.form.component.js +21 -12
  96. package/dist/lib/generated/Entities/MJAIModelCost/mjaimodelcost.form.component.js.map +1 -1
  97. package/dist/lib/generated/Entities/MJAIModelModality/mjaimodelmodality.form.component.js +21 -12
  98. package/dist/lib/generated/Entities/MJAIModelModality/mjaimodelmodality.form.component.js.map +1 -1
  99. package/dist/lib/generated/Entities/MJAIModelPriceType/mjaimodelpricetype.form.component.js +24 -14
  100. package/dist/lib/generated/Entities/MJAIModelPriceType/mjaimodelpricetype.form.component.js.map +1 -1
  101. package/dist/lib/generated/Entities/MJAIModelPriceUnitType/mjaimodelpriceunittype.form.component.js +24 -14
  102. package/dist/lib/generated/Entities/MJAIModelPriceUnitType/mjaimodelpriceunittype.form.component.js.map +1 -1
  103. package/dist/lib/generated/Entities/MJAIModelType/mjaimodeltype.form.component.js +34 -24
  104. package/dist/lib/generated/Entities/MJAIModelType/mjaimodeltype.form.component.js.map +1 -1
  105. package/dist/lib/generated/Entities/MJAIModelVendor/mjaimodelvendor.form.component.js +26 -16
  106. package/dist/lib/generated/Entities/MJAIModelVendor/mjaimodelvendor.form.component.js.map +1 -1
  107. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js +98 -88
  108. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js.map +1 -1
  109. package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.js +32 -22
  110. package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.js.map +1 -1
  111. package/dist/lib/generated/Entities/MJAIPromptModel/mjaipromptmodel.form.component.js +30 -20
  112. package/dist/lib/generated/Entities/MJAIPromptModel/mjaipromptmodel.form.component.js.map +1 -1
  113. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +53 -43
  114. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  115. package/dist/lib/generated/Entities/MJAIPromptRunMedia/mjaipromptrunmedia.form.component.js +28 -18
  116. package/dist/lib/generated/Entities/MJAIPromptRunMedia/mjaipromptrunmedia.form.component.js.map +1 -1
  117. package/dist/lib/generated/Entities/MJAIPromptType/mjaiprompttype.form.component.js +24 -14
  118. package/dist/lib/generated/Entities/MJAIPromptType/mjaiprompttype.form.component.js.map +1 -1
  119. package/dist/lib/generated/Entities/MJAIResultCache/mjairesultcache.form.component.js +23 -14
  120. package/dist/lib/generated/Entities/MJAIResultCache/mjairesultcache.form.component.js.map +1 -1
  121. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +62 -52
  122. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
  123. package/dist/lib/generated/Entities/MJAIVendorType/mjaivendortype.form.component.js +21 -12
  124. package/dist/lib/generated/Entities/MJAIVendorType/mjaivendortype.form.component.js.map +1 -1
  125. package/dist/lib/generated/Entities/MJAIVendorTypeDefinition/mjaivendortypedefinition.form.component.js +30 -20
  126. package/dist/lib/generated/Entities/MJAIVendorTypeDefinition/mjaivendortypedefinition.form.component.js.map +1 -1
  127. package/dist/lib/generated/Entities/MJAPIApplication/mjapiapplication.form.component.js +37 -27
  128. package/dist/lib/generated/Entities/MJAPIApplication/mjapiapplication.form.component.js.map +1 -1
  129. package/dist/lib/generated/Entities/MJAPIApplicationScope/mjapiapplicationscope.form.component.js +19 -10
  130. package/dist/lib/generated/Entities/MJAPIApplicationScope/mjapiapplicationscope.form.component.js.map +1 -1
  131. package/dist/lib/generated/Entities/MJAPIKey/mjapikey.form.component.js +39 -29
  132. package/dist/lib/generated/Entities/MJAPIKey/mjapikey.form.component.js.map +1 -1
  133. package/dist/lib/generated/Entities/MJAPIKeyApplication/mjapikeyapplication.form.component.js +17 -8
  134. package/dist/lib/generated/Entities/MJAPIKeyApplication/mjapikeyapplication.form.component.js.map +1 -1
  135. package/dist/lib/generated/Entities/MJAPIKeyScope/mjapikeyscope.form.component.js +19 -10
  136. package/dist/lib/generated/Entities/MJAPIKeyScope/mjapikeyscope.form.component.js.map +1 -1
  137. package/dist/lib/generated/Entities/MJAPIKeyUsageLog/mjapikeyusagelog.form.component.js +21 -12
  138. package/dist/lib/generated/Entities/MJAPIKeyUsageLog/mjapikeyusagelog.form.component.js.map +1 -1
  139. package/dist/lib/generated/Entities/MJAPIScope/mjapiscope.form.component.js +37 -27
  140. package/dist/lib/generated/Entities/MJAPIScope/mjapiscope.form.component.js.map +1 -1
  141. package/dist/lib/generated/Entities/MJAccessControlRule/mjaccesscontrolrule.form.component.js +21 -12
  142. package/dist/lib/generated/Entities/MJAccessControlRule/mjaccesscontrolrule.form.component.js.map +1 -1
  143. package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js +86 -76
  144. package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js.map +1 -1
  145. package/dist/lib/generated/Entities/MJActionAuthorization/mjactionauthorization.form.component.js +19 -10
  146. package/dist/lib/generated/Entities/MJActionAuthorization/mjactionauthorization.form.component.js.map +1 -1
  147. package/dist/lib/generated/Entities/MJActionCategory/mjactioncategory.form.component.js +37 -27
  148. package/dist/lib/generated/Entities/MJActionCategory/mjactioncategory.form.component.js.map +1 -1
  149. package/dist/lib/generated/Entities/MJActionContext/mjactioncontext.form.component.js +19 -10
  150. package/dist/lib/generated/Entities/MJActionContext/mjactioncontext.form.component.js.map +1 -1
  151. package/dist/lib/generated/Entities/MJActionContextType/mjactioncontexttype.form.component.js +24 -14
  152. package/dist/lib/generated/Entities/MJActionContextType/mjactioncontexttype.form.component.js.map +1 -1
  153. package/dist/lib/generated/Entities/MJActionExecutionLog/mjactionexecutionlog.form.component.js +21 -12
  154. package/dist/lib/generated/Entities/MJActionExecutionLog/mjactionexecutionlog.form.component.js.map +1 -1
  155. package/dist/lib/generated/Entities/MJActionFilter/mjactionfilter.form.component.js +24 -14
  156. package/dist/lib/generated/Entities/MJActionFilter/mjactionfilter.form.component.js.map +1 -1
  157. package/dist/lib/generated/Entities/MJActionLibrary/mjactionlibrary.form.component.js +19 -10
  158. package/dist/lib/generated/Entities/MJActionLibrary/mjactionlibrary.form.component.js.map +1 -1
  159. package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js +32 -22
  160. package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js.map +1 -1
  161. package/dist/lib/generated/Entities/MJActionResultCode/mjactionresultcode.form.component.js +19 -10
  162. package/dist/lib/generated/Entities/MJActionResultCode/mjactionresultcode.form.component.js.map +1 -1
  163. package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.d.ts.map +1 -1
  164. package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js +73 -45
  165. package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js.map +1 -1
  166. package/dist/lib/generated/Entities/MJApplicationEntity/mjapplicationentity.form.component.js +19 -10
  167. package/dist/lib/generated/Entities/MJApplicationEntity/mjapplicationentity.form.component.js.map +1 -1
  168. package/dist/lib/generated/Entities/MJApplicationRole/mjapplicationrole.form.component.js +19 -10
  169. package/dist/lib/generated/Entities/MJApplicationRole/mjapplicationrole.form.component.js.map +1 -1
  170. package/dist/lib/generated/Entities/MJApplicationSetting/mjapplicationsetting.form.component.js +19 -10
  171. package/dist/lib/generated/Entities/MJApplicationSetting/mjapplicationsetting.form.component.js.map +1 -1
  172. package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js +34 -24
  173. package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js.map +1 -1
  174. package/dist/lib/generated/Entities/MJArchiveConfigurationEntity/mjarchiveconfigurationentity.form.component.js +21 -12
  175. package/dist/lib/generated/Entities/MJArchiveConfigurationEntity/mjarchiveconfigurationentity.form.component.js.map +1 -1
  176. package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js +30 -20
  177. package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js.map +1 -1
  178. package/dist/lib/generated/Entities/MJArchiveRunDetail/mjarchiverundetail.form.component.js +21 -12
  179. package/dist/lib/generated/Entities/MJArchiveRunDetail/mjarchiverundetail.form.component.js.map +1 -1
  180. package/dist/lib/generated/Entities/MJArtifact/mjartifact.form.component.js +32 -22
  181. package/dist/lib/generated/Entities/MJArtifact/mjartifact.form.component.js.map +1 -1
  182. package/dist/lib/generated/Entities/MJArtifactPermission/mjartifactpermission.form.component.js +19 -10
  183. package/dist/lib/generated/Entities/MJArtifactPermission/mjartifactpermission.form.component.js.map +1 -1
  184. package/dist/lib/generated/Entities/MJArtifactType/mjartifacttype.form.component.js +47 -37
  185. package/dist/lib/generated/Entities/MJArtifactType/mjartifacttype.form.component.js.map +1 -1
  186. package/dist/lib/generated/Entities/MJArtifactUse/mjartifactuse.form.component.js +19 -10
  187. package/dist/lib/generated/Entities/MJArtifactUse/mjartifactuse.form.component.js.map +1 -1
  188. package/dist/lib/generated/Entities/MJArtifactVersion/mjartifactversion.form.component.js +51 -41
  189. package/dist/lib/generated/Entities/MJArtifactVersion/mjartifactversion.form.component.js.map +1 -1
  190. package/dist/lib/generated/Entities/MJArtifactVersionAttribute/mjartifactversionattribute.form.component.js +21 -12
  191. package/dist/lib/generated/Entities/MJArtifactVersionAttribute/mjartifactversionattribute.form.component.js.map +1 -1
  192. package/dist/lib/generated/Entities/MJAuditLog/mjauditlog.form.component.js +19 -10
  193. package/dist/lib/generated/Entities/MJAuditLog/mjauditlog.form.component.js.map +1 -1
  194. package/dist/lib/generated/Entities/MJAuditLogType/mjauditlogtype.form.component.js +32 -22
  195. package/dist/lib/generated/Entities/MJAuditLogType/mjauditlogtype.form.component.js.map +1 -1
  196. package/dist/lib/generated/Entities/MJAuthorization/mjauthorization.form.component.js +47 -37
  197. package/dist/lib/generated/Entities/MJAuthorization/mjauthorization.form.component.js.map +1 -1
  198. package/dist/lib/generated/Entities/MJAuthorizationRole/mjauthorizationrole.form.component.js +19 -10
  199. package/dist/lib/generated/Entities/MJAuthorizationRole/mjauthorizationrole.form.component.js.map +1 -1
  200. package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js +39 -29
  201. package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js.map +1 -1
  202. package/dist/lib/generated/Entities/MJCollectionArtifact/mjcollectionartifact.form.component.js +19 -10
  203. package/dist/lib/generated/Entities/MJCollectionArtifact/mjcollectionartifact.form.component.js.map +1 -1
  204. package/dist/lib/generated/Entities/MJCollectionPermission/mjcollectionpermission.form.component.js +19 -10
  205. package/dist/lib/generated/Entities/MJCollectionPermission/mjcollectionpermission.form.component.js.map +1 -1
  206. package/dist/lib/generated/Entities/MJCommunicationBaseMessageType/mjcommunicationbasemessagetype.form.component.js +32 -22
  207. package/dist/lib/generated/Entities/MJCommunicationBaseMessageType/mjcommunicationbasemessagetype.form.component.js.map +1 -1
  208. package/dist/lib/generated/Entities/MJCommunicationLog/mjcommunicationlog.form.component.js +20 -11
  209. package/dist/lib/generated/Entities/MJCommunicationLog/mjcommunicationlog.form.component.js.map +1 -1
  210. package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js +33 -23
  211. package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js.map +1 -1
  212. package/dist/lib/generated/Entities/MJCommunicationProviderMessageType/mjcommunicationprovidermessagetype.form.component.js +26 -16
  213. package/dist/lib/generated/Entities/MJCommunicationProviderMessageType/mjcommunicationprovidermessagetype.form.component.js.map +1 -1
  214. package/dist/lib/generated/Entities/MJCommunicationRun/mjcommunicationrun.form.component.js +28 -18
  215. package/dist/lib/generated/Entities/MJCommunicationRun/mjcommunicationrun.form.component.js.map +1 -1
  216. package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js +47 -37
  217. package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js.map +1 -1
  218. package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js +53 -43
  219. package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js.map +1 -1
  220. package/dist/lib/generated/Entities/MJCompanyIntegrationEntityMap/mjcompanyintegrationentitymap.form.component.js +34 -24
  221. package/dist/lib/generated/Entities/MJCompanyIntegrationEntityMap/mjcompanyintegrationentitymap.form.component.js.map +1 -1
  222. package/dist/lib/generated/Entities/MJCompanyIntegrationFieldMap/mjcompanyintegrationfieldmap.form.component.js +19 -10
  223. package/dist/lib/generated/Entities/MJCompanyIntegrationFieldMap/mjcompanyintegrationfieldmap.form.component.js.map +1 -1
  224. package/dist/lib/generated/Entities/MJCompanyIntegrationRecordMap/mjcompanyintegrationrecordmap.form.component.js +19 -10
  225. package/dist/lib/generated/Entities/MJCompanyIntegrationRecordMap/mjcompanyintegrationrecordmap.form.component.js.map +1 -1
  226. package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.js +39 -29
  227. package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.js.map +1 -1
  228. package/dist/lib/generated/Entities/MJCompanyIntegrationRunAPILog/mjcompanyintegrationrunapilog.form.component.js +20 -11
  229. package/dist/lib/generated/Entities/MJCompanyIntegrationRunAPILog/mjcompanyintegrationrunapilog.form.component.js.map +1 -1
  230. package/dist/lib/generated/Entities/MJCompanyIntegrationRunDetail/mjcompanyintegrationrundetail.form.component.js +28 -18
  231. package/dist/lib/generated/Entities/MJCompanyIntegrationRunDetail/mjcompanyintegrationrundetail.form.component.js.map +1 -1
  232. package/dist/lib/generated/Entities/MJCompanyIntegrationSyncWatermark/mjcompanyintegrationsyncwatermark.form.component.js +19 -10
  233. package/dist/lib/generated/Entities/MJCompanyIntegrationSyncWatermark/mjcompanyintegrationsyncwatermark.form.component.js.map +1 -1
  234. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.d.ts.map +1 -1
  235. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js +60 -32
  236. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js.map +1 -1
  237. package/dist/lib/generated/Entities/MJComponentDependency/mjcomponentdependency.form.component.js +17 -8
  238. package/dist/lib/generated/Entities/MJComponentDependency/mjcomponentdependency.form.component.js.map +1 -1
  239. package/dist/lib/generated/Entities/MJComponentLibrary/mjcomponentlibrary.form.component.js +28 -18
  240. package/dist/lib/generated/Entities/MJComponentLibrary/mjcomponentlibrary.form.component.js.map +1 -1
  241. package/dist/lib/generated/Entities/MJComponentLibraryLink/mjcomponentlibrarylink.form.component.js +19 -10
  242. package/dist/lib/generated/Entities/MJComponentLibraryLink/mjcomponentlibrarylink.form.component.js.map +1 -1
  243. package/dist/lib/generated/Entities/MJComponentRegistry/mjcomponentregistry.form.component.js +26 -16
  244. package/dist/lib/generated/Entities/MJComponentRegistry/mjcomponentregistry.form.component.js.map +1 -1
  245. package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js +28 -18
  246. package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js.map +1 -1
  247. package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js +49 -39
  248. package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js.map +1 -1
  249. package/dist/lib/generated/Entities/MJContentItemAttribute/mjcontentitemattribute.form.component.js +13 -6
  250. package/dist/lib/generated/Entities/MJContentItemAttribute/mjcontentitemattribute.form.component.js.map +1 -1
  251. package/dist/lib/generated/Entities/MJContentItemDuplicate/mjcontentitemduplicate.form.component.js +19 -10
  252. package/dist/lib/generated/Entities/MJContentItemDuplicate/mjcontentitemduplicate.form.component.js.map +1 -1
  253. package/dist/lib/generated/Entities/MJContentItemTag/mjcontentitemtag.form.component.js +17 -8
  254. package/dist/lib/generated/Entities/MJContentItemTag/mjcontentitemtag.form.component.js.map +1 -1
  255. package/dist/lib/generated/Entities/MJContentProcessRun/mjcontentprocessrun.form.component.js +26 -16
  256. package/dist/lib/generated/Entities/MJContentProcessRun/mjcontentprocessrun.form.component.js.map +1 -1
  257. package/dist/lib/generated/Entities/MJContentProcessRunDetail/mjcontentprocessrundetail.form.component.js +28 -18
  258. package/dist/lib/generated/Entities/MJContentProcessRunDetail/mjcontentprocessrundetail.form.component.js.map +1 -1
  259. package/dist/lib/generated/Entities/MJContentProcessRunPromptRun/mjcontentprocessrunpromptrun.form.component.js +17 -8
  260. package/dist/lib/generated/Entities/MJContentProcessRunPromptRun/mjcontentprocessrunpromptrun.form.component.js.map +1 -1
  261. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js +51 -41
  262. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js.map +1 -1
  263. package/dist/lib/generated/Entities/MJContentSourceParam/mjcontentsourceparam.form.component.js +13 -6
  264. package/dist/lib/generated/Entities/MJContentSourceParam/mjcontentsourceparam.form.component.js.map +1 -1
  265. package/dist/lib/generated/Entities/MJContentSourceType/mjcontentsourcetype.form.component.js +35 -25
  266. package/dist/lib/generated/Entities/MJContentSourceType/mjcontentsourcetype.form.component.js.map +1 -1
  267. package/dist/lib/generated/Entities/MJContentSourceTypeParam/mjcontentsourcetypeparam.form.component.js +15 -6
  268. package/dist/lib/generated/Entities/MJContentSourceTypeParam/mjcontentsourcetypeparam.form.component.js.map +1 -1
  269. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js +36 -26
  270. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js.map +1 -1
  271. package/dist/lib/generated/Entities/MJContentTypeAttribute/mjcontenttypeattribute.form.component.js +15 -6
  272. package/dist/lib/generated/Entities/MJContentTypeAttribute/mjcontenttypeattribute.form.component.js.map +1 -1
  273. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.d.ts.map +1 -1
  274. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js +74 -50
  275. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js.map +1 -1
  276. package/dist/lib/generated/Entities/MJConversationArtifact/mjconversationartifact.form.component.js +37 -27
  277. package/dist/lib/generated/Entities/MJConversationArtifact/mjconversationartifact.form.component.js.map +1 -1
  278. package/dist/lib/generated/Entities/MJConversationArtifactPermission/mjconversationartifactpermission.form.component.js +18 -9
  279. package/dist/lib/generated/Entities/MJConversationArtifactPermission/mjconversationartifactpermission.form.component.js.map +1 -1
  280. package/dist/lib/generated/Entities/MJConversationArtifactVersion/mjconversationartifactversion.form.component.js +26 -16
  281. package/dist/lib/generated/Entities/MJConversationArtifactVersion/mjconversationartifactversion.form.component.js.map +1 -1
  282. package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js +72 -62
  283. package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js.map +1 -1
  284. package/dist/lib/generated/Entities/MJConversationDetailArtifact/mjconversationdetailartifact.form.component.js +19 -10
  285. package/dist/lib/generated/Entities/MJConversationDetailArtifact/mjconversationdetailartifact.form.component.js.map +1 -1
  286. package/dist/lib/generated/Entities/MJConversationDetailAttachment/mjconversationdetailattachment.form.component.js +21 -12
  287. package/dist/lib/generated/Entities/MJConversationDetailAttachment/mjconversationdetailattachment.form.component.js.map +1 -1
  288. package/dist/lib/generated/Entities/MJConversationDetailRating/mjconversationdetailrating.form.component.js +19 -10
  289. package/dist/lib/generated/Entities/MJConversationDetailRating/mjconversationdetailrating.form.component.js.map +1 -1
  290. package/dist/lib/generated/Entities/MJCountry/mjcountry.form.component.js +32 -22
  291. package/dist/lib/generated/Entities/MJCountry/mjcountry.form.component.js.map +1 -1
  292. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js +59 -49
  293. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
  294. package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.js +32 -22
  295. package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.js.map +1 -1
  296. package/dist/lib/generated/Entities/MJCredentialType/mjcredentialtype.form.component.js +42 -32
  297. package/dist/lib/generated/Entities/MJCredentialType/mjcredentialtype.form.component.js.map +1 -1
  298. package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js +44 -34
  299. package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js.map +1 -1
  300. package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.js +42 -32
  301. package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.js.map +1 -1
  302. package/dist/lib/generated/Entities/MJDashboardCategoryLink/mjdashboardcategorylink.form.component.js +19 -10
  303. package/dist/lib/generated/Entities/MJDashboardCategoryLink/mjdashboardcategorylink.form.component.js.map +1 -1
  304. package/dist/lib/generated/Entities/MJDashboardCategoryPermission/mjdashboardcategorypermission.form.component.js +21 -12
  305. package/dist/lib/generated/Entities/MJDashboardCategoryPermission/mjdashboardcategorypermission.form.component.js.map +1 -1
  306. package/dist/lib/generated/Entities/MJDashboardPartType/mjdashboardparttype.form.component.js +19 -10
  307. package/dist/lib/generated/Entities/MJDashboardPartType/mjdashboardparttype.form.component.js.map +1 -1
  308. package/dist/lib/generated/Entities/MJDashboardPermission/mjdashboardpermission.form.component.js +19 -10
  309. package/dist/lib/generated/Entities/MJDashboardPermission/mjdashboardpermission.form.component.js.map +1 -1
  310. package/dist/lib/generated/Entities/MJDashboardUserPreference/mjdashboarduserpreference.form.component.js +21 -12
  311. package/dist/lib/generated/Entities/MJDashboardUserPreference/mjdashboarduserpreference.form.component.js.map +1 -1
  312. package/dist/lib/generated/Entities/MJDashboardUserState/mjdashboarduserstate.form.component.js +19 -10
  313. package/dist/lib/generated/Entities/MJDashboardUserState/mjdashboarduserstate.form.component.js.map +1 -1
  314. package/dist/lib/generated/Entities/MJDataContext/mjdatacontext.form.component.js +37 -27
  315. package/dist/lib/generated/Entities/MJDataContext/mjdatacontext.form.component.js.map +1 -1
  316. package/dist/lib/generated/Entities/MJDataContextItem/mjdatacontextitem.form.component.js +21 -12
  317. package/dist/lib/generated/Entities/MJDataContextItem/mjdatacontextitem.form.component.js.map +1 -1
  318. package/dist/lib/generated/Entities/MJDataset/mjdataset.form.component.js +24 -14
  319. package/dist/lib/generated/Entities/MJDataset/mjdataset.form.component.js.map +1 -1
  320. package/dist/lib/generated/Entities/MJDatasetItem/mjdatasetitem.form.component.js +21 -12
  321. package/dist/lib/generated/Entities/MJDatasetItem/mjdatasetitem.form.component.js.map +1 -1
  322. package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js +28 -18
  323. package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js.map +1 -1
  324. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js +26 -16
  325. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js.map +1 -1
  326. package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.js +19 -10
  327. package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.js.map +1 -1
  328. package/dist/lib/generated/Entities/MJEmployee/mjemployee.form.component.js +49 -39
  329. package/dist/lib/generated/Entities/MJEmployee/mjemployee.form.component.js.map +1 -1
  330. package/dist/lib/generated/Entities/MJEmployeeCompanyIntegration/mjemployeecompanyintegration.form.component.js +19 -10
  331. package/dist/lib/generated/Entities/MJEmployeeCompanyIntegration/mjemployeecompanyintegration.form.component.js.map +1 -1
  332. package/dist/lib/generated/Entities/MJEmployeeRole/mjemployeerole.form.component.js +18 -9
  333. package/dist/lib/generated/Entities/MJEmployeeRole/mjemployeerole.form.component.js.map +1 -1
  334. package/dist/lib/generated/Entities/MJEmployeeSkill/mjemployeeskill.form.component.js +17 -8
  335. package/dist/lib/generated/Entities/MJEmployeeSkill/mjemployeeskill.form.component.js.map +1 -1
  336. package/dist/lib/generated/Entities/MJEncryptionAlgorithm/mjencryptionalgorithm.form.component.js +22 -12
  337. package/dist/lib/generated/Entities/MJEncryptionAlgorithm/mjencryptionalgorithm.form.component.js.map +1 -1
  338. package/dist/lib/generated/Entities/MJEncryptionKey/mjencryptionkey.form.component.js +22 -12
  339. package/dist/lib/generated/Entities/MJEncryptionKey/mjencryptionkey.form.component.js.map +1 -1
  340. package/dist/lib/generated/Entities/MJEncryptionKeySource/mjencryptionkeysource.form.component.js +22 -12
  341. package/dist/lib/generated/Entities/MJEncryptionKeySource/mjencryptionkeysource.form.component.js.map +1 -1
  342. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
  343. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +346 -318
  344. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
  345. package/dist/lib/generated/Entities/MJEntityAIAction/mjentityaiaction.form.component.js +21 -12
  346. package/dist/lib/generated/Entities/MJEntityAIAction/mjentityaiaction.form.component.js.map +1 -1
  347. package/dist/lib/generated/Entities/MJEntityAction/mjentityaction.form.component.js +37 -27
  348. package/dist/lib/generated/Entities/MJEntityAction/mjentityaction.form.component.js.map +1 -1
  349. package/dist/lib/generated/Entities/MJEntityActionFilter/mjentityactionfilter.form.component.js +19 -10
  350. package/dist/lib/generated/Entities/MJEntityActionFilter/mjentityactionfilter.form.component.js.map +1 -1
  351. package/dist/lib/generated/Entities/MJEntityActionInvocation/mjentityactioninvocation.form.component.js +19 -10
  352. package/dist/lib/generated/Entities/MJEntityActionInvocation/mjentityactioninvocation.form.component.js.map +1 -1
  353. package/dist/lib/generated/Entities/MJEntityActionInvocationType/mjentityactioninvocationtype.form.component.js +24 -14
  354. package/dist/lib/generated/Entities/MJEntityActionInvocationType/mjentityactioninvocationtype.form.component.js.map +1 -1
  355. package/dist/lib/generated/Entities/MJEntityActionParam/mjentityactionparam.form.component.js +19 -10
  356. package/dist/lib/generated/Entities/MJEntityActionParam/mjentityactionparam.form.component.js.map +1 -1
  357. package/dist/lib/generated/Entities/MJEntityCommunicationField/mjentitycommunicationfield.form.component.js +17 -9
  358. package/dist/lib/generated/Entities/MJEntityCommunicationField/mjentitycommunicationfield.form.component.js.map +1 -1
  359. package/dist/lib/generated/Entities/MJEntityCommunicationMessageType/mjentitycommunicationmessagetype.form.component.js +26 -16
  360. package/dist/lib/generated/Entities/MJEntityCommunicationMessageType/mjentitycommunicationmessagetype.form.component.js.map +1 -1
  361. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js +44 -34
  362. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js.map +1 -1
  363. package/dist/lib/generated/Entities/MJEntityDocumentRun/mjentitydocumentrun.form.component.js +19 -10
  364. package/dist/lib/generated/Entities/MJEntityDocumentRun/mjentitydocumentrun.form.component.js.map +1 -1
  365. package/dist/lib/generated/Entities/MJEntityDocumentSetting/mjentitydocumentsetting.form.component.js +19 -10
  366. package/dist/lib/generated/Entities/MJEntityDocumentSetting/mjentitydocumentsetting.form.component.js.map +1 -1
  367. package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js +24 -15
  368. package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js.map +1 -1
  369. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +34 -24
  370. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
  371. package/dist/lib/generated/Entities/MJEntityFieldValue/mjentityfieldvalue.form.component.js +19 -10
  372. package/dist/lib/generated/Entities/MJEntityFieldValue/mjentityfieldvalue.form.component.js.map +1 -1
  373. package/dist/lib/generated/Entities/MJEntityFormOverride/mjentityformoverride.form.component.d.ts +10 -0
  374. package/dist/lib/generated/Entities/MJEntityFormOverride/mjentityformoverride.form.component.d.ts.map +1 -0
  375. package/dist/lib/generated/Entities/MJEntityFormOverride/mjentityformoverride.form.component.js +92 -0
  376. package/dist/lib/generated/Entities/MJEntityFormOverride/mjentityformoverride.form.component.js.map +1 -0
  377. package/dist/lib/generated/Entities/MJEntityOrganicKey/mjentityorganickey.form.component.js +28 -18
  378. package/dist/lib/generated/Entities/MJEntityOrganicKey/mjentityorganickey.form.component.js.map +1 -1
  379. package/dist/lib/generated/Entities/MJEntityOrganicKeyRelatedEntity/mjentityorganickeyrelatedentity.form.component.js +21 -12
  380. package/dist/lib/generated/Entities/MJEntityOrganicKeyRelatedEntity/mjentityorganickeyrelatedentity.form.component.js.map +1 -1
  381. package/dist/lib/generated/Entities/MJEntityPermission/mjentitypermission.form.component.js +21 -12
  382. package/dist/lib/generated/Entities/MJEntityPermission/mjentitypermission.form.component.js.map +1 -1
  383. package/dist/lib/generated/Entities/MJEntityRecordDocument/mjentityrecorddocument.form.component.js +30 -20
  384. package/dist/lib/generated/Entities/MJEntityRecordDocument/mjentityrecorddocument.form.component.js.map +1 -1
  385. package/dist/lib/generated/Entities/MJEntityRelationship/mjentityrelationship.form.component.js +23 -14
  386. package/dist/lib/generated/Entities/MJEntityRelationship/mjentityrelationship.form.component.js.map +1 -1
  387. package/dist/lib/generated/Entities/MJEntityRelationshipDisplayComponent/mjentityrelationshipdisplaycomponent.form.component.js +24 -14
  388. package/dist/lib/generated/Entities/MJEntityRelationshipDisplayComponent/mjentityrelationshipdisplaycomponent.form.component.js.map +1 -1
  389. package/dist/lib/generated/Entities/MJEntitySetting/mjentitysetting.form.component.js +17 -8
  390. package/dist/lib/generated/Entities/MJEntitySetting/mjentitysetting.form.component.js.map +1 -1
  391. package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js +57 -48
  392. package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js.map +1 -1
  393. package/dist/lib/generated/Entities/MJErrorLog/mjerrorlog.form.component.js +21 -12
  394. package/dist/lib/generated/Entities/MJErrorLog/mjerrorlog.form.component.js.map +1 -1
  395. package/dist/lib/generated/Entities/MJExplorerNavigationItem/mjexplorernavigationitem.form.component.js +21 -12
  396. package/dist/lib/generated/Entities/MJExplorerNavigationItem/mjexplorernavigationitem.form.component.js.map +1 -1
  397. package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js +49 -39
  398. package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js.map +1 -1
  399. package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.js +32 -22
  400. package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.js.map +1 -1
  401. package/dist/lib/generated/Entities/MJFileEntityRecordLink/mjfileentityrecordlink.form.component.js +19 -10
  402. package/dist/lib/generated/Entities/MJFileEntityRecordLink/mjfileentityrecordlink.form.component.js.map +1 -1
  403. package/dist/lib/generated/Entities/MJFileStorageAccount/mjfilestorageaccount.form.component.js +52 -42
  404. package/dist/lib/generated/Entities/MJFileStorageAccount/mjfilestorageaccount.form.component.js.map +1 -1
  405. package/dist/lib/generated/Entities/MJFileStorageAccountPermission/mjfilestorageaccountpermission.form.component.js +19 -10
  406. package/dist/lib/generated/Entities/MJFileStorageAccountPermission/mjfilestorageaccountpermission.form.component.js.map +1 -1
  407. package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js +46 -36
  408. package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js.map +1 -1
  409. package/dist/lib/generated/Entities/MJGeneratedCode/mjgeneratedcode.form.component.js +23 -14
  410. package/dist/lib/generated/Entities/MJGeneratedCode/mjgeneratedcode.form.component.js.map +1 -1
  411. package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.js +32 -22
  412. package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.js.map +1 -1
  413. package/dist/lib/generated/Entities/MJInstanceConfiguration/mjinstanceconfiguration.form.component.js +19 -10
  414. package/dist/lib/generated/Entities/MJInstanceConfiguration/mjinstanceconfiguration.form.component.js.map +1 -1
  415. package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js +44 -34
  416. package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js.map +1 -1
  417. package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js +36 -26
  418. package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js.map +1 -1
  419. package/dist/lib/generated/Entities/MJIntegrationObjectField/mjintegrationobjectfield.form.component.js +21 -12
  420. package/dist/lib/generated/Entities/MJIntegrationObjectField/mjintegrationobjectfield.form.component.js.map +1 -1
  421. package/dist/lib/generated/Entities/MJIntegrationSourceType/mjintegrationsourcetype.form.component.js +26 -16
  422. package/dist/lib/generated/Entities/MJIntegrationSourceType/mjintegrationsourcetype.form.component.js.map +1 -1
  423. package/dist/lib/generated/Entities/MJIntegrationURLFormat/mjintegrationurlformat.form.component.js +21 -12
  424. package/dist/lib/generated/Entities/MJIntegrationURLFormat/mjintegrationurlformat.form.component.js.map +1 -1
  425. package/dist/lib/generated/Entities/MJKnowledgeHubSavedSearch/mjknowledgehubsavedsearch.form.component.js +21 -12
  426. package/dist/lib/generated/Entities/MJKnowledgeHubSavedSearch/mjknowledgehubsavedsearch.form.component.js.map +1 -1
  427. package/dist/lib/generated/Entities/MJLibrary/mjlibrary.form.component.js +32 -22
  428. package/dist/lib/generated/Entities/MJLibrary/mjlibrary.form.component.js.map +1 -1
  429. package/dist/lib/generated/Entities/MJLibraryItem/mjlibraryitem.form.component.js +17 -8
  430. package/dist/lib/generated/Entities/MJLibraryItem/mjlibraryitem.form.component.js.map +1 -1
  431. package/dist/lib/generated/Entities/MJList/mjlist.form.component.js +45 -35
  432. package/dist/lib/generated/Entities/MJList/mjlist.form.component.js.map +1 -1
  433. package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.js +34 -24
  434. package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.js.map +1 -1
  435. package/dist/lib/generated/Entities/MJListDetail/mjlistdetail.form.component.js +19 -10
  436. package/dist/lib/generated/Entities/MJListDetail/mjlistdetail.form.component.js.map +1 -1
  437. package/dist/lib/generated/Entities/MJListInvitation/mjlistinvitation.form.component.js +17 -8
  438. package/dist/lib/generated/Entities/MJListInvitation/mjlistinvitation.form.component.js.map +1 -1
  439. package/dist/lib/generated/Entities/MJListShare/mjlistshare.form.component.js +17 -8
  440. package/dist/lib/generated/Entities/MJListShare/mjlistshare.form.component.js.map +1 -1
  441. package/dist/lib/generated/Entities/MJMCPServer/mjmcpserver.form.component.js +43 -33
  442. package/dist/lib/generated/Entities/MJMCPServer/mjmcpserver.form.component.js.map +1 -1
  443. package/dist/lib/generated/Entities/MJMCPServerConnection/mjmcpserverconnection.form.component.js +54 -44
  444. package/dist/lib/generated/Entities/MJMCPServerConnection/mjmcpserverconnection.form.component.js.map +1 -1
  445. package/dist/lib/generated/Entities/MJMCPServerConnectionPermission/mjmcpserverconnectionpermission.form.component.js +19 -10
  446. package/dist/lib/generated/Entities/MJMCPServerConnectionPermission/mjmcpserverconnectionpermission.form.component.js.map +1 -1
  447. package/dist/lib/generated/Entities/MJMCPServerConnectionTool/mjmcpserverconnectiontool.form.component.js +19 -10
  448. package/dist/lib/generated/Entities/MJMCPServerConnectionTool/mjmcpserverconnectiontool.form.component.js.map +1 -1
  449. package/dist/lib/generated/Entities/MJMCPServerTool/mjmcpservertool.form.component.js +39 -29
  450. package/dist/lib/generated/Entities/MJMCPServerTool/mjmcpservertool.form.component.js.map +1 -1
  451. package/dist/lib/generated/Entities/MJMCPToolExecutionLog/mjmcptoolexecutionlog.form.component.js +23 -14
  452. package/dist/lib/generated/Entities/MJMCPToolExecutionLog/mjmcptoolexecutionlog.form.component.js.map +1 -1
  453. package/dist/lib/generated/Entities/MJMCPToolFavorite/mjmcptoolfavorite.form.component.js +17 -8
  454. package/dist/lib/generated/Entities/MJMCPToolFavorite/mjmcptoolfavorite.form.component.js.map +1 -1
  455. package/dist/lib/generated/Entities/MJOAuthAuthServerMetadataCache/mjoauthauthservermetadatacache.form.component.js +15 -6
  456. package/dist/lib/generated/Entities/MJOAuthAuthServerMetadataCache/mjoauthauthservermetadatacache.form.component.js.map +1 -1
  457. package/dist/lib/generated/Entities/MJOAuthAuthorizationState/mjoauthauthorizationstate.form.component.js +15 -6
  458. package/dist/lib/generated/Entities/MJOAuthAuthorizationState/mjoauthauthorizationstate.form.component.js.map +1 -1
  459. package/dist/lib/generated/Entities/MJOAuthClientRegistration/mjoauthclientregistration.form.component.js +15 -6
  460. package/dist/lib/generated/Entities/MJOAuthClientRegistration/mjoauthclientregistration.form.component.js.map +1 -1
  461. package/dist/lib/generated/Entities/MJOAuthToken/mjoauthtoken.form.component.js +15 -6
  462. package/dist/lib/generated/Entities/MJOAuthToken/mjoauthtoken.form.component.js.map +1 -1
  463. package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js +33 -23
  464. package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js.map +1 -1
  465. package/dist/lib/generated/Entities/MJOpenAppDependency/mjopenappdependency.form.component.js +15 -6
  466. package/dist/lib/generated/Entities/MJOpenAppDependency/mjopenappdependency.form.component.js.map +1 -1
  467. package/dist/lib/generated/Entities/MJOpenAppInstallHistory/mjopenappinstallhistory.form.component.js +15 -6
  468. package/dist/lib/generated/Entities/MJOpenAppInstallHistory/mjopenappinstallhistory.form.component.js.map +1 -1
  469. package/dist/lib/generated/Entities/MJOutputDeliveryType/mjoutputdeliverytype.form.component.js +24 -14
  470. package/dist/lib/generated/Entities/MJOutputDeliveryType/mjoutputdeliverytype.form.component.js.map +1 -1
  471. package/dist/lib/generated/Entities/MJOutputFormatType/mjoutputformattype.form.component.js +24 -14
  472. package/dist/lib/generated/Entities/MJOutputFormatType/mjoutputformattype.form.component.js.map +1 -1
  473. package/dist/lib/generated/Entities/MJOutputTriggerType/mjoutputtriggertype.form.component.js +24 -14
  474. package/dist/lib/generated/Entities/MJOutputTriggerType/mjoutputtriggertype.form.component.js.map +1 -1
  475. package/dist/lib/generated/Entities/MJPermissionDomain/mjpermissiondomain.form.component.js +21 -12
  476. package/dist/lib/generated/Entities/MJPermissionDomain/mjpermissiondomain.form.component.js.map +1 -1
  477. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +39 -29
  478. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
  479. package/dist/lib/generated/Entities/MJPublicLink/mjpubliclink.form.component.js +21 -12
  480. package/dist/lib/generated/Entities/MJPublicLink/mjpubliclink.form.component.js.map +1 -1
  481. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js +66 -56
  482. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js.map +1 -1
  483. package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.js +32 -22
  484. package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.js.map +1 -1
  485. package/dist/lib/generated/Entities/MJQueryDependency/mjquerydependency.form.component.js +19 -10
  486. package/dist/lib/generated/Entities/MJQueryDependency/mjquerydependency.form.component.js.map +1 -1
  487. package/dist/lib/generated/Entities/MJQueryEntity/mjqueryentity.form.component.js +19 -10
  488. package/dist/lib/generated/Entities/MJQueryEntity/mjqueryentity.form.component.js.map +1 -1
  489. package/dist/lib/generated/Entities/MJQueryField/mjqueryfield.form.component.js +19 -10
  490. package/dist/lib/generated/Entities/MJQueryField/mjqueryfield.form.component.js.map +1 -1
  491. package/dist/lib/generated/Entities/MJQueryParameter/mjqueryparameter.form.component.js +19 -10
  492. package/dist/lib/generated/Entities/MJQueryParameter/mjqueryparameter.form.component.js.map +1 -1
  493. package/dist/lib/generated/Entities/MJQueryPermission/mjquerypermission.form.component.js +18 -9
  494. package/dist/lib/generated/Entities/MJQueryPermission/mjquerypermission.form.component.js.map +1 -1
  495. package/dist/lib/generated/Entities/MJQuerySQL/mjquerysql.form.component.js +19 -10
  496. package/dist/lib/generated/Entities/MJQuerySQL/mjquerysql.form.component.js.map +1 -1
  497. package/dist/lib/generated/Entities/MJQueue/mjqueue.form.component.js +28 -18
  498. package/dist/lib/generated/Entities/MJQueue/mjqueue.form.component.js.map +1 -1
  499. package/dist/lib/generated/Entities/MJQueueTask/mjqueuetask.form.component.js +21 -12
  500. package/dist/lib/generated/Entities/MJQueueTask/mjqueuetask.form.component.js.map +1 -1
  501. package/dist/lib/generated/Entities/MJQueueType/mjqueuetype.form.component.js +26 -16
  502. package/dist/lib/generated/Entities/MJQueueType/mjqueuetype.form.component.js.map +1 -1
  503. package/dist/lib/generated/Entities/MJRecommendation/mjrecommendation.form.component.js +24 -14
  504. package/dist/lib/generated/Entities/MJRecommendation/mjrecommendation.form.component.js.map +1 -1
  505. package/dist/lib/generated/Entities/MJRecommendationItem/mjrecommendationitem.form.component.js +17 -9
  506. package/dist/lib/generated/Entities/MJRecommendationItem/mjrecommendationitem.form.component.js.map +1 -1
  507. package/dist/lib/generated/Entities/MJRecommendationProvider/mjrecommendationprovider.form.component.js +24 -14
  508. package/dist/lib/generated/Entities/MJRecommendationProvider/mjrecommendationprovider.form.component.js.map +1 -1
  509. package/dist/lib/generated/Entities/MJRecommendationRun/mjrecommendationrun.form.component.js +28 -18
  510. package/dist/lib/generated/Entities/MJRecommendationRun/mjrecommendationrun.form.component.js.map +1 -1
  511. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js +36 -26
  512. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js.map +1 -1
  513. package/dist/lib/generated/Entities/MJRecordChangeReplayRun/mjrecordchangereplayrun.form.component.js +26 -16
  514. package/dist/lib/generated/Entities/MJRecordChangeReplayRun/mjrecordchangereplayrun.form.component.js.map +1 -1
  515. package/dist/lib/generated/Entities/MJRecordGeoCode/mjrecordgeocode.form.component.js +21 -12
  516. package/dist/lib/generated/Entities/MJRecordGeoCode/mjrecordgeocode.form.component.js.map +1 -1
  517. package/dist/lib/generated/Entities/MJRecordLink/mjrecordlink.form.component.js +21 -12
  518. package/dist/lib/generated/Entities/MJRecordLink/mjrecordlink.form.component.js.map +1 -1
  519. package/dist/lib/generated/Entities/MJRecordMergeDeletionLog/mjrecordmergedeletionlog.form.component.js +17 -8
  520. package/dist/lib/generated/Entities/MJRecordMergeDeletionLog/mjrecordmergedeletionlog.form.component.js.map +1 -1
  521. package/dist/lib/generated/Entities/MJRecordMergeLog/mjrecordmergelog.form.component.js +34 -24
  522. package/dist/lib/generated/Entities/MJRecordMergeLog/mjrecordmergelog.form.component.js.map +1 -1
  523. package/dist/lib/generated/Entities/MJReport/mjreport.form.component.js +39 -29
  524. package/dist/lib/generated/Entities/MJReport/mjreport.form.component.js.map +1 -1
  525. package/dist/lib/generated/Entities/MJReportCategory/mjreportcategory.form.component.js +32 -22
  526. package/dist/lib/generated/Entities/MJReportCategory/mjreportcategory.form.component.js.map +1 -1
  527. package/dist/lib/generated/Entities/MJReportSnapshot/mjreportsnapshot.form.component.js +19 -10
  528. package/dist/lib/generated/Entities/MJReportSnapshot/mjreportsnapshot.form.component.js.map +1 -1
  529. package/dist/lib/generated/Entities/MJReportUserState/mjreportuserstate.form.component.js +19 -10
  530. package/dist/lib/generated/Entities/MJReportUserState/mjreportuserstate.form.component.js.map +1 -1
  531. package/dist/lib/generated/Entities/MJReportVersion/mjreportversion.form.component.js +19 -10
  532. package/dist/lib/generated/Entities/MJReportVersion/mjreportversion.form.component.js.map +1 -1
  533. package/dist/lib/generated/Entities/MJResourceLink/mjresourcelink.form.component.js +15 -6
  534. package/dist/lib/generated/Entities/MJResourceLink/mjresourcelink.form.component.js.map +1 -1
  535. package/dist/lib/generated/Entities/MJResourcePermission/mjresourcepermission.form.component.js +23 -14
  536. package/dist/lib/generated/Entities/MJResourcePermission/mjresourcepermission.form.component.js.map +1 -1
  537. package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js +45 -35
  538. package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js.map +1 -1
  539. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.d.ts.map +1 -1
  540. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js +94 -66
  541. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js.map +1 -1
  542. package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js +40 -31
  543. package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js.map +1 -1
  544. package/dist/lib/generated/Entities/MJSQLDialect/mjsqldialect.form.component.js +32 -22
  545. package/dist/lib/generated/Entities/MJSQLDialect/mjsqldialect.form.component.js.map +1 -1
  546. package/dist/lib/generated/Entities/MJScheduledAction/mjscheduledaction.form.component.js +34 -24
  547. package/dist/lib/generated/Entities/MJScheduledAction/mjscheduledaction.form.component.js.map +1 -1
  548. package/dist/lib/generated/Entities/MJScheduledActionParam/mjscheduledactionparam.form.component.js +19 -10
  549. package/dist/lib/generated/Entities/MJScheduledActionParam/mjscheduledactionparam.form.component.js.map +1 -1
  550. package/dist/lib/generated/Entities/MJScheduledJob/mjscheduledjob.form.component.js +38 -28
  551. package/dist/lib/generated/Entities/MJScheduledJob/mjscheduledjob.form.component.js.map +1 -1
  552. package/dist/lib/generated/Entities/MJScheduledJobRun/mjscheduledjobrun.form.component.js +34 -24
  553. package/dist/lib/generated/Entities/MJScheduledJobRun/mjscheduledjobrun.form.component.js.map +1 -1
  554. package/dist/lib/generated/Entities/MJScheduledJobType/mjscheduledjobtype.form.component.js +26 -16
  555. package/dist/lib/generated/Entities/MJScheduledJobType/mjscheduledjobtype.form.component.js.map +1 -1
  556. package/dist/lib/generated/Entities/MJSchemaInfo/mjschemainfo.form.component.js +19 -10
  557. package/dist/lib/generated/Entities/MJSchemaInfo/mjschemainfo.form.component.js.map +1 -1
  558. package/dist/lib/generated/Entities/MJSearchExecutionLog/mjsearchexecutionlog.form.component.js +23 -14
  559. package/dist/lib/generated/Entities/MJSearchExecutionLog/mjsearchexecutionlog.form.component.js.map +1 -1
  560. package/dist/lib/generated/Entities/MJSearchProvider/mjsearchprovider.form.component.js +28 -18
  561. package/dist/lib/generated/Entities/MJSearchProvider/mjsearchprovider.form.component.js.map +1 -1
  562. package/dist/lib/generated/Entities/MJSearchScope/mjsearchscope.form.component.js +68 -58
  563. package/dist/lib/generated/Entities/MJSearchScope/mjsearchscope.form.component.js.map +1 -1
  564. package/dist/lib/generated/Entities/MJSearchScopeEntity/mjsearchscopeentity.form.component.js +21 -12
  565. package/dist/lib/generated/Entities/MJSearchScopeEntity/mjsearchscopeentity.form.component.js.map +1 -1
  566. package/dist/lib/generated/Entities/MJSearchScopeExternalIndex/mjsearchscopeexternalindex.form.component.js +21 -12
  567. package/dist/lib/generated/Entities/MJSearchScopeExternalIndex/mjsearchscopeexternalindex.form.component.js.map +1 -1
  568. package/dist/lib/generated/Entities/MJSearchScopePermission/mjsearchscopepermission.form.component.js +19 -10
  569. package/dist/lib/generated/Entities/MJSearchScopePermission/mjsearchscopepermission.form.component.js.map +1 -1
  570. package/dist/lib/generated/Entities/MJSearchScopeProvider/mjsearchscopeprovider.form.component.js +21 -12
  571. package/dist/lib/generated/Entities/MJSearchScopeProvider/mjsearchscopeprovider.form.component.js.map +1 -1
  572. package/dist/lib/generated/Entities/MJSearchScopeStorageAccount/mjsearchscopestorageaccount.form.component.js +19 -10
  573. package/dist/lib/generated/Entities/MJSearchScopeStorageAccount/mjsearchscopestorageaccount.form.component.js.map +1 -1
  574. package/dist/lib/generated/Entities/MJSearchScopeTestQuery/mjsearchscopetestquery.form.component.js +21 -12
  575. package/dist/lib/generated/Entities/MJSearchScopeTestQuery/mjsearchscopetestquery.form.component.js.map +1 -1
  576. package/dist/lib/generated/Entities/MJSkill/mjskill.form.component.js +32 -22
  577. package/dist/lib/generated/Entities/MJSkill/mjskill.form.component.js.map +1 -1
  578. package/dist/lib/generated/Entities/MJStateProvince/mjstateprovince.form.component.js +26 -16
  579. package/dist/lib/generated/Entities/MJStateProvince/mjstateprovince.form.component.js.map +1 -1
  580. package/dist/lib/generated/Entities/MJTag/mjtag.form.component.js +93 -83
  581. package/dist/lib/generated/Entities/MJTag/mjtag.form.component.js.map +1 -1
  582. package/dist/lib/generated/Entities/MJTagAuditLog/mjtagauditlog.form.component.js +19 -10
  583. package/dist/lib/generated/Entities/MJTagAuditLog/mjtagauditlog.form.component.js.map +1 -1
  584. package/dist/lib/generated/Entities/MJTagCoOccurrence/mjtagcooccurrence.form.component.js +19 -10
  585. package/dist/lib/generated/Entities/MJTagCoOccurrence/mjtagcooccurrence.form.component.js.map +1 -1
  586. package/dist/lib/generated/Entities/MJTagScope/mjtagscope.form.component.js +19 -10
  587. package/dist/lib/generated/Entities/MJTagScope/mjtagscope.form.component.js.map +1 -1
  588. package/dist/lib/generated/Entities/MJTagSuggestion/mjtagsuggestion.form.component.js +23 -14
  589. package/dist/lib/generated/Entities/MJTagSuggestion/mjtagsuggestion.form.component.js.map +1 -1
  590. package/dist/lib/generated/Entities/MJTagSynonym/mjtagsynonym.form.component.js +19 -10
  591. package/dist/lib/generated/Entities/MJTagSynonym/mjtagsynonym.form.component.js.map +1 -1
  592. package/dist/lib/generated/Entities/MJTaggedItem/mjtaggeditem.form.component.js +19 -10
  593. package/dist/lib/generated/Entities/MJTaggedItem/mjtaggeditem.form.component.js.map +1 -1
  594. package/dist/lib/generated/Entities/MJTask/mjtask.form.component.js +39 -29
  595. package/dist/lib/generated/Entities/MJTask/mjtask.form.component.js.map +1 -1
  596. package/dist/lib/generated/Entities/MJTaskDependency/mjtaskdependency.form.component.js +19 -10
  597. package/dist/lib/generated/Entities/MJTaskDependency/mjtaskdependency.form.component.js.map +1 -1
  598. package/dist/lib/generated/Entities/MJTaskType/mjtasktype.form.component.js +24 -14
  599. package/dist/lib/generated/Entities/MJTaskType/mjtasktype.form.component.js.map +1 -1
  600. package/dist/lib/generated/Entities/MJTemplate/mjtemplate.form.component.js +64 -54
  601. package/dist/lib/generated/Entities/MJTemplate/mjtemplate.form.component.js.map +1 -1
  602. package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.js +34 -24
  603. package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.js.map +1 -1
  604. package/dist/lib/generated/Entities/MJTemplateContent/mjtemplatecontent.form.component.js +26 -16
  605. package/dist/lib/generated/Entities/MJTemplateContent/mjtemplatecontent.form.component.js.map +1 -1
  606. package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js +24 -15
  607. package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js.map +1 -1
  608. package/dist/lib/generated/Entities/MJTemplateParam/mjtemplateparam.form.component.js +21 -12
  609. package/dist/lib/generated/Entities/MJTemplateParam/mjtemplateparam.form.component.js.map +1 -1
  610. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js +34 -24
  611. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js.map +1 -1
  612. package/dist/lib/generated/Entities/MJTestRubric/mjtestrubric.form.component.js +15 -6
  613. package/dist/lib/generated/Entities/MJTestRubric/mjtestrubric.form.component.js.map +1 -1
  614. package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js +56 -46
  615. package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js.map +1 -1
  616. package/dist/lib/generated/Entities/MJTestRunFeedback/mjtestrunfeedback.form.component.js +19 -10
  617. package/dist/lib/generated/Entities/MJTestRunFeedback/mjtestrunfeedback.form.component.js.map +1 -1
  618. package/dist/lib/generated/Entities/MJTestRunOutput/mjtestrunoutput.form.component.js +21 -12
  619. package/dist/lib/generated/Entities/MJTestRunOutput/mjtestrunoutput.form.component.js.map +1 -1
  620. package/dist/lib/generated/Entities/MJTestRunOutputType/mjtestrunoutputtype.form.component.js +24 -14
  621. package/dist/lib/generated/Entities/MJTestRunOutputType/mjtestrunoutputtype.form.component.js.map +1 -1
  622. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js +39 -29
  623. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js.map +1 -1
  624. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js +34 -24
  625. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js.map +1 -1
  626. package/dist/lib/generated/Entities/MJTestSuiteTest/mjtestsuitetest.form.component.js +15 -6
  627. package/dist/lib/generated/Entities/MJTestSuiteTest/mjtestsuitetest.form.component.js.map +1 -1
  628. package/dist/lib/generated/Entities/MJTestType/mjtesttype.form.component.js +30 -20
  629. package/dist/lib/generated/Entities/MJTestType/mjtesttype.form.component.js.map +1 -1
  630. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
  631. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +530 -502
  632. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  633. package/dist/lib/generated/Entities/MJUserApplication/mjuserapplication.form.component.js +26 -16
  634. package/dist/lib/generated/Entities/MJUserApplication/mjuserapplication.form.component.js.map +1 -1
  635. package/dist/lib/generated/Entities/MJUserApplicationEntity/mjuserapplicationentity.form.component.js +19 -10
  636. package/dist/lib/generated/Entities/MJUserApplicationEntity/mjuserapplicationentity.form.component.js.map +1 -1
  637. package/dist/lib/generated/Entities/MJUserFavorite/mjuserfavorite.form.component.js +19 -10
  638. package/dist/lib/generated/Entities/MJUserFavorite/mjuserfavorite.form.component.js.map +1 -1
  639. package/dist/lib/generated/Entities/MJUserNotification/mjusernotification.form.component.js +19 -10
  640. package/dist/lib/generated/Entities/MJUserNotification/mjusernotification.form.component.js.map +1 -1
  641. package/dist/lib/generated/Entities/MJUserNotificationPreference/mjusernotificationpreference.form.component.js +19 -10
  642. package/dist/lib/generated/Entities/MJUserNotificationPreference/mjusernotificationpreference.form.component.js.map +1 -1
  643. package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js +34 -24
  644. package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js.map +1 -1
  645. package/dist/lib/generated/Entities/MJUserRecordLog/mjuserrecordlog.form.component.js +21 -12
  646. package/dist/lib/generated/Entities/MJUserRecordLog/mjuserrecordlog.form.component.js.map +1 -1
  647. package/dist/lib/generated/Entities/MJUserRole/mjuserrole.form.component.js +17 -8
  648. package/dist/lib/generated/Entities/MJUserRole/mjuserrole.form.component.js.map +1 -1
  649. package/dist/lib/generated/Entities/MJUserSetting/mjusersetting.form.component.js +17 -8
  650. package/dist/lib/generated/Entities/MJUserSetting/mjusersetting.form.component.js.map +1 -1
  651. package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js +48 -38
  652. package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js.map +1 -1
  653. package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.js +34 -24
  654. package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.js.map +1 -1
  655. package/dist/lib/generated/Entities/MJUserViewRun/mjuserviewrun.form.component.js +26 -16
  656. package/dist/lib/generated/Entities/MJUserViewRun/mjuserviewrun.form.component.js.map +1 -1
  657. package/dist/lib/generated/Entities/MJUserViewRunDetail/mjuserviewrundetail.form.component.js +17 -8
  658. package/dist/lib/generated/Entities/MJUserViewRunDetail/mjuserviewrundetail.form.component.js.map +1 -1
  659. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js +32 -22
  660. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js.map +1 -1
  661. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js +49 -39
  662. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js.map +1 -1
  663. package/dist/lib/generated/Entities/MJVersionInstallation/mjversioninstallation.form.component.js +21 -12
  664. package/dist/lib/generated/Entities/MJVersionInstallation/mjversioninstallation.form.component.js.map +1 -1
  665. package/dist/lib/generated/Entities/MJVersionLabel/mjversionlabel.form.component.js +44 -34
  666. package/dist/lib/generated/Entities/MJVersionLabel/mjversionlabel.form.component.js.map +1 -1
  667. package/dist/lib/generated/Entities/MJVersionLabelItem/mjversionlabelitem.form.component.js +18 -9
  668. package/dist/lib/generated/Entities/MJVersionLabelItem/mjversionlabelitem.form.component.js.map +1 -1
  669. package/dist/lib/generated/Entities/MJVersionLabelRestore/mjversionlabelrestore.form.component.js +19 -10
  670. package/dist/lib/generated/Entities/MJVersionLabelRestore/mjversionlabelrestore.form.component.js.map +1 -1
  671. package/dist/lib/generated/Entities/MJWorkflow/mjworkflow.form.component.js +32 -22
  672. package/dist/lib/generated/Entities/MJWorkflow/mjworkflow.form.component.js.map +1 -1
  673. package/dist/lib/generated/Entities/MJWorkflowEngine/mjworkflowengine.form.component.js +24 -14
  674. package/dist/lib/generated/Entities/MJWorkflowEngine/mjworkflowengine.form.component.js.map +1 -1
  675. package/dist/lib/generated/Entities/MJWorkflowRun/mjworkflowrun.form.component.js +19 -10
  676. package/dist/lib/generated/Entities/MJWorkflowRun/mjworkflowrun.form.component.js.map +1 -1
  677. package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js +26 -17
  678. package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js.map +1 -1
  679. package/dist/lib/generated/Entities/MJWorkspaceItem/mjworkspaceitem.form.component.js +21 -12
  680. package/dist/lib/generated/Entities/MJWorkspaceItem/mjworkspaceitem.form.component.js.map +1 -1
  681. package/dist/lib/generated/generated-forms.module.d.ts +161 -160
  682. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  683. package/dist/lib/generated/generated-forms.module.js +43 -40
  684. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  685. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +62 -0
  686. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -0
  687. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +386 -0
  688. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -0
  689. package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +41 -0
  690. package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts.map +1 -0
  691. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +227 -0
  692. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -0
  693. package/package.json +36 -36
  694. package/dist/lib/__tests__/content-source-form.test.d.ts +0 -2
  695. package/dist/lib/__tests__/content-source-form.test.d.ts.map +0 -1
  696. package/dist/lib/__tests__/content-source-form.test.js +0 -183
  697. package/dist/lib/__tests__/content-source-form.test.js.map +0 -1
  698. package/dist/lib/custom/ContentSources/content-source-form.component.d.ts +0 -76
  699. package/dist/lib/custom/ContentSources/content-source-form.component.d.ts.map +0 -1
  700. package/dist/lib/custom/ContentSources/content-source-form.component.js +0 -510
  701. package/dist/lib/custom/ContentSources/content-source-form.component.js.map +0 -1
@@ -0,0 +1,227 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Component } from '@angular/core';
8
+ import { RegisterClassEx } from '@memberjunction/global';
9
+ import { BaseFormPanel } from '@memberjunction/ng-base-forms';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/forms";
12
+ import * as i2 from "@memberjunction/ng-base-forms";
13
+ function WebsiteCrawlerSettingsPanel_Conditional_0_Conditional_24_Template(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵelementStart(0, "span", 8);
15
+ i0.ɵɵelement(1, "i", 15);
16
+ i0.ɵɵtext(2);
17
+ i0.ɵɵelementEnd();
18
+ } if (rf & 2) {
19
+ const ctx_r1 = i0.ɵɵnextContext(2);
20
+ i0.ɵɵadvance(2);
21
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.URLPatternValidationMessage);
22
+ } }
23
+ function WebsiteCrawlerSettingsPanel_Conditional_0_Conditional_25_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelementStart(0, "span", 4);
25
+ i0.ɵɵtext(1, "Only URLs matching this regex are added to the visited set. Leave blank to include everything.");
26
+ i0.ɵɵelementEnd();
27
+ } }
28
+ function WebsiteCrawlerSettingsPanel_Conditional_0_Template(rf, ctx) { if (rf & 1) {
29
+ const _r1 = i0.ɵɵgetCurrentView();
30
+ i0.ɵɵelementStart(0, "mj-collapsible-panel", 0)(1, "div", 1)(2, "div", 2)(3, "label");
31
+ i0.ɵɵtext(4, "Max depth");
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵelementStart(5, "input", 3);
34
+ i0.ɵɵlistener("ngModelChange", function WebsiteCrawlerSettingsPanel_Conditional_0_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.MaxDepthValue = $event); });
35
+ i0.ɵɵelementEnd();
36
+ i0.ɵɵelementStart(6, "span", 4);
37
+ i0.ɵɵtext(7, "Recursion ceiling for in-domain links. ");
38
+ i0.ɵɵelementStart(8, "code");
39
+ i0.ɵɵtext(9, "0");
40
+ i0.ɵɵelementEnd();
41
+ i0.ɵɵtext(10, " = just the start URL. ");
42
+ i0.ɵɵelementStart(11, "code");
43
+ i0.ɵɵtext(12, "2");
44
+ i0.ɵɵelementEnd();
45
+ i0.ɵɵtext(13, " (default) = root + sections + content pages. Higher values multiply with the 1-second per-page delay.");
46
+ i0.ɵɵelementEnd()();
47
+ i0.ɵɵelementStart(14, "div", 2)(15, "label");
48
+ i0.ɵɵtext(16, "Root URL");
49
+ i0.ɵɵelementEnd();
50
+ i0.ɵɵelementStart(17, "input", 5);
51
+ i0.ɵɵlistener("ngModelChange", function WebsiteCrawlerSettingsPanel_Conditional_0_Template_input_ngModelChange_17_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.RootURLValue = $event); });
52
+ i0.ɵɵelementEnd();
53
+ i0.ɵɵelementStart(18, "span", 4);
54
+ i0.ɵɵtext(19, "URL prefix used for the in-domain check. Leave blank to derive from the parent directory of the seed URL.");
55
+ i0.ɵɵelementEnd()()();
56
+ i0.ɵɵelementStart(20, "div", 6)(21, "label");
57
+ i0.ɵɵtext(22, "URL pattern (regex)");
58
+ i0.ɵɵelementEnd();
59
+ i0.ɵɵelementStart(23, "input", 7);
60
+ i0.ɵɵlistener("ngModelChange", function WebsiteCrawlerSettingsPanel_Conditional_0_Template_input_ngModelChange_23_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.URLPatternValue = $event); });
61
+ i0.ɵɵelementEnd();
62
+ i0.ɵɵconditionalCreate(24, WebsiteCrawlerSettingsPanel_Conditional_0_Conditional_24_Template, 3, 1, "span", 8)(25, WebsiteCrawlerSettingsPanel_Conditional_0_Conditional_25_Template, 2, 0, "span", 4);
63
+ i0.ɵɵelementEnd();
64
+ i0.ɵɵelementStart(26, "div", 9)(27, "div", 10)(28, "span", 11);
65
+ i0.ɵɵtext(29, "Crawl sites in lower-level domain");
66
+ i0.ɵɵelementEnd();
67
+ i0.ɵɵelementStart(30, "span", 12);
68
+ i0.ɵɵtext(31, "When on (default), the depth-aware recursive crawler runs. Turn off to crawl only the seed page.");
69
+ i0.ɵɵelementEnd()();
70
+ i0.ɵɵelementStart(32, "div", 13);
71
+ i0.ɵɵlistener("click", function WebsiteCrawlerSettingsPanel_Conditional_0_Template_div_click_32_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.EditMode ? ctx_r1.CrawlSitesInLowerLevelDomainValue = !ctx_r1.CrawlSitesInLowerLevelDomainValue : null); });
72
+ i0.ɵɵelementEnd()();
73
+ i0.ɵɵelementStart(33, "div", 14)(34, "div", 10)(35, "span", 11);
74
+ i0.ɵɵtext(36, "Crawl other sites in top-level domain");
75
+ i0.ɵɵelementEnd();
76
+ i0.ɵɵelementStart(37, "span", 12);
77
+ i0.ɵɵtext(38, "When on, also adds sibling-path URLs found on the seed page (single-pass, no recursion). Off by default to avoid accidental fan-out.");
78
+ i0.ɵɵelementEnd()();
79
+ i0.ɵɵelementStart(39, "div", 13);
80
+ i0.ɵɵlistener("click", function WebsiteCrawlerSettingsPanel_Conditional_0_Template_div_click_39_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.EditMode ? ctx_r1.CrawlOtherSitesInTopLevelDomainValue = !ctx_r1.CrawlOtherSitesInTopLevelDomainValue : null); });
81
+ i0.ɵɵelementEnd()()();
82
+ } if (rf & 2) {
83
+ const ctx_r1 = i0.ɵɵnextContext();
84
+ i0.ɵɵproperty("Form", ctx_r1.FormComponent)("FormContext", ctx_r1.FormContext);
85
+ i0.ɵɵadvance(5);
86
+ i0.ɵɵproperty("disabled", !ctx_r1.EditMode)("ngModel", ctx_r1.MaxDepthValue ?? "");
87
+ i0.ɵɵadvance(12);
88
+ i0.ɵɵproperty("disabled", !ctx_r1.EditMode)("ngModel", ctx_r1.RootURLValue);
89
+ i0.ɵɵadvance(6);
90
+ i0.ɵɵproperty("disabled", !ctx_r1.EditMode)("ngModel", ctx_r1.URLPatternValue);
91
+ i0.ɵɵadvance();
92
+ i0.ɵɵconditional(ctx_r1.URLPatternValidationMessage ? 24 : 25);
93
+ i0.ɵɵadvance(8);
94
+ i0.ɵɵclassProp("on", ctx_r1.CrawlSitesInLowerLevelDomainValue);
95
+ i0.ɵɵadvance(7);
96
+ i0.ɵɵclassProp("on", ctx_r1.CrawlOtherSitesInTopLevelDomainValue);
97
+ } }
98
+ /**
99
+ * Website Crawler Settings panel — surfaces the typed `Configuration.Website`
100
+ * sub-object (MaxDepth, RootURL, URLPattern, crawl flags) as a dense form.
101
+ * Only meaningful when ContentSourceType = "Website"; the panel silently
102
+ * renders nothing for other source types so it can register against the
103
+ * generic ContentSource slot without conditional templates upstream.
104
+ *
105
+ * Future pluggability: as more source types grow typed config (RSS, Cloud
106
+ * Storage, etc.), each gets its own panel registered against the same slot,
107
+ * each self-gating on ContentSourceType. The slot host doesn't need to know.
108
+ */
109
+ let WebsiteCrawlerSettingsPanel = class WebsiteCrawlerSettingsPanel extends BaseFormPanel {
110
+ /** Hide the panel for non-Website source types — keeps the slot registration generic. */
111
+ get IsWebsiteSourceType() {
112
+ const typeName = this.Record?.ContentSourceType;
113
+ return typeName != null && typeName.trim().toLowerCase() === 'website';
114
+ }
115
+ get Config() {
116
+ return this.Record?.ConfigurationObject ?? {};
117
+ }
118
+ /** Return the typed Website sub-object, defaulted to {} so getters can read freely. */
119
+ get WebsiteConfig() {
120
+ return this.Config.Website ?? {};
121
+ }
122
+ setConfig(patch) {
123
+ if (!this.Record)
124
+ return;
125
+ const current = this.Record.ConfigurationObject ?? {};
126
+ const merged = { ...current, ...patch };
127
+ this.Record.ConfigurationObject = merged;
128
+ }
129
+ setWebsite(patch) {
130
+ // Spread for the typed merge, then explicitly remove keys whose patched
131
+ // value was undefined so we don't persist `"key": undefined` artifacts.
132
+ const merged = { ...this.WebsiteConfig, ...patch };
133
+ for (const key of Object.keys(patch)) {
134
+ if (patch[key] === undefined) {
135
+ delete merged[key];
136
+ }
137
+ }
138
+ this.setConfig({ Website: merged });
139
+ }
140
+ get MaxDepthValue() {
141
+ return this.WebsiteConfig.MaxDepth ?? null;
142
+ }
143
+ set MaxDepthValue(v) {
144
+ this.setWebsite({ MaxDepth: this.normalizeNullableNumber(v) });
145
+ }
146
+ get CrawlSitesInLowerLevelDomainValue() {
147
+ // Default true — matches the autotagger's runtime default.
148
+ return this.WebsiteConfig.CrawlSitesInLowerLevelDomain !== false;
149
+ }
150
+ set CrawlSitesInLowerLevelDomainValue(v) {
151
+ this.setWebsite({ CrawlSitesInLowerLevelDomain: v });
152
+ }
153
+ get CrawlOtherSitesInTopLevelDomainValue() {
154
+ // Default false — matches the autotagger's runtime default.
155
+ return this.WebsiteConfig.CrawlOtherSitesInTopLevelDomain === true;
156
+ }
157
+ set CrawlOtherSitesInTopLevelDomainValue(v) {
158
+ this.setWebsite({ CrawlOtherSitesInTopLevelDomain: v });
159
+ }
160
+ get URLPatternValue() {
161
+ return this.WebsiteConfig.URLPattern ?? '';
162
+ }
163
+ set URLPatternValue(v) {
164
+ const trimmed = (v ?? '').trim();
165
+ this.setWebsite({ URLPattern: trimmed === '' ? undefined : trimmed });
166
+ }
167
+ get RootURLValue() {
168
+ return this.WebsiteConfig.RootURL ?? '';
169
+ }
170
+ set RootURLValue(v) {
171
+ const trimmed = (v ?? '').trim();
172
+ this.setWebsite({ RootURL: trimmed === '' ? undefined : trimmed });
173
+ }
174
+ /** Live validation: a non-empty URLPattern must be a valid JavaScript regex. */
175
+ get URLPatternValidationMessage() {
176
+ const v = this.URLPatternValue;
177
+ if (!v)
178
+ return null;
179
+ try {
180
+ new RegExp(v);
181
+ return null;
182
+ }
183
+ catch (e) {
184
+ return `Invalid regex — ${e instanceof Error ? e.message : String(e)}`;
185
+ }
186
+ }
187
+ normalizeNullableNumber(v) {
188
+ if (v == null)
189
+ return undefined;
190
+ if (typeof v === 'string') {
191
+ const trimmed = v.trim();
192
+ if (trimmed === '')
193
+ return undefined;
194
+ const n = Number(trimmed);
195
+ return Number.isFinite(n) ? n : undefined;
196
+ }
197
+ return Number.isFinite(v) ? v : undefined;
198
+ }
199
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵWebsiteCrawlerSettingsPanel_BaseFactory; return function WebsiteCrawlerSettingsPanel_Factory(__ngFactoryType__) { return (ɵWebsiteCrawlerSettingsPanel_BaseFactory || (ɵWebsiteCrawlerSettingsPanel_BaseFactory = i0.ɵɵgetInheritedFactory(WebsiteCrawlerSettingsPanel)))(__ngFactoryType__ || WebsiteCrawlerSettingsPanel); }; })(); }
200
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WebsiteCrawlerSettingsPanel, selectors: [["mj-website-crawler-settings-panel"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["SectionKey", "websiteCrawlerSettings", "SectionName", "Website Crawler Settings", "Icon", "fa fa-globe", 3, "Form", "FormContext"], [1, "cs-grid"], [1, "cs-field"], ["type", "number", "min", "0", "max", "10", "step", "1", "placeholder", "2 (default)", 1, "cs-input", 3, "ngModelChange", "disabled", "ngModel"], [1, "hint"], ["type", "text", "placeholder", "derived from start URL", 1, "cs-input", 3, "ngModelChange", "disabled", "ngModel"], [1, "cs-field", 2, "margin-top", "8px"], ["type", "text", "placeholder", "e.g. ^https://example\\.com/blog/.*", 1, "cs-input", 3, "ngModelChange", "disabled", "ngModel"], [1, "cs-validation"], [1, "cs-toggle-row", 2, "margin-top", "12px"], [1, "label"], [1, "t"], [1, "d"], [1, "cs-switch", 3, "click"], [1, "cs-toggle-row"], [1, "fa-solid", "fa-circle-exclamation"]], template: function WebsiteCrawlerSettingsPanel_Template(rf, ctx) { if (rf & 1) {
201
+ i0.ɵɵconditionalCreate(0, WebsiteCrawlerSettingsPanel_Conditional_0_Template, 40, 13, "mj-collapsible-panel", 0);
202
+ } if (rf & 2) {
203
+ i0.ɵɵconditional(ctx.IsWebsiteSourceType ? 0 : -1);
204
+ } }, dependencies: [i1.DefaultValueAccessor, i1.NumberValueAccessor, i1.NgControlStatus, i1.MinValidator, i1.MaxValidator, i1.NgModel, i2.MjCollapsiblePanelComponent], styles: ["\n\n\n\n\n\n.cs-section-header[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--mj-text-muted);\n margin: 4px 0 8px;\n font-weight: 700;\n}\n.cs-section-header[_ngcontent-%COMP%]:not(:first-child) {\n margin-top: 16px;\n}\n.cs-section-header-note[_ngcontent-%COMP%] {\n text-transform: none;\n letter-spacing: 0;\n color: var(--mj-text-muted);\n font-weight: 400;\n margin-left: 8px;\n}\n\n.cs-mode-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 8px;\n margin: 4px 0 12px;\n}\n.cs-mode-card[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n border-radius: 8px;\n padding: 10px 12px;\n cursor: pointer;\n text-align: center;\n transition: background 0.12s, border-color 0.12s, box-shadow 0.12s;\n user-select: none;\n}\n.cs-mode-card[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }\n.cs-mode-card.selected[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary);\n}\n.cs-mode-card[_ngcontent-%COMP%] .ic[_ngcontent-%COMP%] { font-size: 18px; color: var(--mj-text-secondary); }\n.cs-mode-card.selected[_ngcontent-%COMP%] .ic[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n.cs-mode-card[_ngcontent-%COMP%] .nm[_ngcontent-%COMP%] { font-size: 13px; font-weight: 700; color: var(--mj-text-primary); margin: 4px 0 2px; }\n.cs-mode-card[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%] { font-size: 11px; color: var(--mj-text-muted); line-height: 1.3; }\n\n.cs-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 14px 16px;\n margin: 4px 0 12px;\n}\n.cs-grid.four[_ngcontent-%COMP%] { grid-template-columns: repeat(4, 1fr); }\n.cs-grid.three[_ngcontent-%COMP%] { grid-template-columns: repeat(3, 1fr); }\n\n\n\n\n.cs-primary-budget[_ngcontent-%COMP%] {\n margin: 4px 0 10px;\n padding: 10px 12px;\n background: color-mix(in srgb, var(--mj-brand-primary) 4%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-border-default));\n border-radius: 6px;\n}\n.cs-field-primary[_ngcontent-%COMP%] label[_ngcontent-%COMP%] { font-size: 13px; color: var(--mj-text-primary); }\n.cs-field-primary[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%] { line-height: 1.45; max-width: 78ch; }\n\n.cs-field[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 4px; }\n.cs-field[_ngcontent-%COMP%] label[_ngcontent-%COMP%] { font-size: 12px; font-weight: 600; color: var(--mj-text-secondary); }\n.cs-field[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%] { font-size: 11px; color: var(--mj-text-muted); }\n\n.cs-input[_ngcontent-%COMP%] {\n width: 100%;\n box-sizing: border-box;\n padding: 7px 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 13px;\n}\n.cs-input[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-border-focus, var(--mj-brand-primary));\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.cs-input[_ngcontent-%COMP%]:disabled { opacity: 0.55; cursor: not-allowed; }\n\n.cs-threshold-pair[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n padding: 14px 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n}\n.cs-slider[_ngcontent-%COMP%] {\n appearance: none;\n -webkit-appearance: none;\n width: 100%;\n height: 6px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 3px;\n margin: 8px 0 4px;\n}\n.cs-slider[_ngcontent-%COMP%]::-webkit-slider-thumb {\n appearance: none;\n -webkit-appearance: none;\n width: 16px; height: 16px; border-radius: 50%;\n background: var(--mj-brand-primary);\n cursor: pointer;\n border: 2px solid var(--mj-bg-surface);\n box-shadow: 0 1px 3px rgba(0,0,0,0.2);\n}\n.cs-slider[_ngcontent-%COMP%]::-moz-range-thumb {\n width: 16px; height: 16px; border-radius: 50%;\n background: var(--mj-brand-primary);\n cursor: pointer;\n border: 2px solid var(--mj-bg-surface);\n}\n.cs-slider-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.cs-slider-row[_ngcontent-%COMP%] .cur[_ngcontent-%COMP%] {\n font-family: ui-monospace, monospace;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.cs-validation[_ngcontent-%COMP%] {\n font-size: 12px;\n padding: 8px 12px;\n background: color-mix(in srgb, var(--mj-status-error) 12%, transparent);\n color: var(--mj-status-error-text, var(--mj-status-error));\n border-radius: 4px;\n margin-top: 8px;\n}\n.cs-nudge[_ngcontent-%COMP%] {\n font-size: 12px;\n padding: 8px 12px;\n background: color-mix(in srgb, var(--mj-status-warning) 12%, transparent);\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n border-radius: 4px;\n margin-top: 8px;\n line-height: 1.4;\n}\n\n.cs-toggle-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 0;\n border-top: 1px dashed var(--mj-border-subtle);\n}\n.cs-toggle-row[_ngcontent-%COMP%]:first-child { border-top: 0; padding-top: 0; }\n.cs-toggle-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .t[_ngcontent-%COMP%] { font-size: 13px; font-weight: 600; }\n.cs-toggle-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .d[_ngcontent-%COMP%] { font-size: 11px; color: var(--mj-text-muted); }\n.cs-switch[_ngcontent-%COMP%] {\n position: relative;\n width: 36px; height: 20px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n cursor: pointer;\n}\n.cs-switch[_ngcontent-%COMP%]::after {\n content: \"\";\n position: absolute;\n top: 2px; left: 2px;\n width: 16px; height: 16px;\n border-radius: 50%;\n background: var(--mj-bg-surface);\n transition: left 0.15s;\n box-shadow: 0 1px 2px rgba(0,0,0,0.2);\n}\n.cs-switch.on[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n.cs-switch.on[_ngcontent-%COMP%]::after { left: 18px; }"] }); }
205
+ };
206
+ WebsiteCrawlerSettingsPanel = __decorate([
207
+ RegisterClassEx(BaseFormPanel, {
208
+ key: 'content-sources:website-crawler-settings',
209
+ skipNullKeyWarning: true,
210
+ metadata: {
211
+ entity: 'MJ: Content Sources',
212
+ slot: 'after-fields',
213
+ // Lower sortKey than Tag Pipeline (100) so the source-type-specific
214
+ // crawler knobs render BELOW the broadly-applicable budget knobs.
215
+ sortKey: 80,
216
+ },
217
+ })
218
+ ], WebsiteCrawlerSettingsPanel);
219
+ export { WebsiteCrawlerSettingsPanel };
220
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WebsiteCrawlerSettingsPanel, [{
221
+ type: Component,
222
+ args: [{ standalone: false, selector: 'mj-website-crawler-settings-panel', template: "@if (IsWebsiteSourceType) {\n<mj-collapsible-panel\n SectionKey=\"websiteCrawlerSettings\"\n SectionName=\"Website Crawler Settings\"\n Icon=\"fa fa-globe\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\">\n\n <div class=\"cs-grid\">\n <div class=\"cs-field\">\n <label>Max depth</label>\n <input class=\"cs-input\" type=\"number\" min=\"0\" max=\"10\" step=\"1\" [disabled]=\"!EditMode\"\n [ngModel]=\"MaxDepthValue ?? ''\"\n (ngModelChange)=\"MaxDepthValue = $event\"\n placeholder=\"2 (default)\" />\n <span class=\"hint\">Recursion ceiling for in-domain links. <code>0</code> = just the start URL. <code>2</code> (default) = root + sections + content pages. Higher values multiply with the 1-second per-page delay.</span>\n </div>\n <div class=\"cs-field\">\n <label>Root URL</label>\n <input class=\"cs-input\" type=\"text\" [disabled]=\"!EditMode\"\n [ngModel]=\"RootURLValue\"\n (ngModelChange)=\"RootURLValue = $event\"\n placeholder=\"derived from start URL\" />\n <span class=\"hint\">URL prefix used for the in-domain check. Leave blank to derive from the parent directory of the seed URL.</span>\n </div>\n </div>\n\n <div class=\"cs-field\" style=\"margin-top: 8px;\">\n <label>URL pattern (regex)</label>\n <input class=\"cs-input\" type=\"text\" [disabled]=\"!EditMode\"\n [ngModel]=\"URLPatternValue\"\n (ngModelChange)=\"URLPatternValue = $event\"\n placeholder=\"e.g. ^https://example\\.com/blog/.*\" />\n @if (URLPatternValidationMessage) {\n <span class=\"cs-validation\"><i class=\"fa-solid fa-circle-exclamation\"></i> {{ URLPatternValidationMessage }}</span>\n } @else {\n <span class=\"hint\">Only URLs matching this regex are added to the visited set. Leave blank to include everything.</span>\n }\n </div>\n\n <div class=\"cs-toggle-row\" style=\"margin-top: 12px;\">\n <div class=\"label\">\n <span class=\"t\">Crawl sites in lower-level domain</span>\n <span class=\"d\">When on (default), the depth-aware recursive crawler runs. Turn off to crawl only the seed page.</span>\n </div>\n <div class=\"cs-switch\" [class.on]=\"CrawlSitesInLowerLevelDomainValue\"\n (click)=\"EditMode ? (CrawlSitesInLowerLevelDomainValue = !CrawlSitesInLowerLevelDomainValue) : null\"></div>\n </div>\n <div class=\"cs-toggle-row\">\n <div class=\"label\">\n <span class=\"t\">Crawl other sites in top-level domain</span>\n <span class=\"d\">When on, also adds sibling-path URLs found on the seed page (single-pass, no recursion). Off by default to avoid accidental fan-out.</span>\n </div>\n <div class=\"cs-switch\" [class.on]=\"CrawlOtherSitesInTopLevelDomainValue\"\n (click)=\"EditMode ? (CrawlOtherSitesInTopLevelDomainValue = !CrawlOtherSitesInTopLevelDomainValue) : null\"></div>\n </div>\n</mj-collapsible-panel>\n}\n", styles: ["/* Tag Pipeline Configuration panel \u2014 dense form for the typed\n IContentSourceConfiguration knobs. The class names are shared with the\n Website Crawler Settings panel (same `cs-*` prefix family) so future\n ContentSource panels stay visually consistent without duplicating styles. */\n\n.cs-section-header {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--mj-text-muted);\n margin: 4px 0 8px;\n font-weight: 700;\n}\n.cs-section-header:not(:first-child) {\n margin-top: 16px;\n}\n.cs-section-header-note {\n text-transform: none;\n letter-spacing: 0;\n color: var(--mj-text-muted);\n font-weight: 400;\n margin-left: 8px;\n}\n\n.cs-mode-grid {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 8px;\n margin: 4px 0 12px;\n}\n.cs-mode-card {\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n border-radius: 8px;\n padding: 10px 12px;\n cursor: pointer;\n text-align: center;\n transition: background 0.12s, border-color 0.12s, box-shadow 0.12s;\n user-select: none;\n}\n.cs-mode-card:hover { background: var(--mj-bg-surface-hover); }\n.cs-mode-card.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n border-color: var(--mj-brand-primary);\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary);\n}\n.cs-mode-card .ic { font-size: 18px; color: var(--mj-text-secondary); }\n.cs-mode-card.selected .ic { color: var(--mj-brand-primary); }\n.cs-mode-card .nm { font-size: 13px; font-weight: 700; color: var(--mj-text-primary); margin: 4px 0 2px; }\n.cs-mode-card .desc { font-size: 11px; color: var(--mj-text-muted); line-height: 1.3; }\n\n.cs-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 14px 16px;\n margin: 4px 0 12px;\n}\n.cs-grid.four { grid-template-columns: repeat(4, 1fr); }\n.cs-grid.three { grid-template-columns: repeat(3, 1fr); }\n\n/* Primary budget row \u2014 MaxItemsPerRun gets its own emphasized row above\n the dense 4-col grid because it's the most user-intuitive cap. */\n.cs-primary-budget {\n margin: 4px 0 10px;\n padding: 10px 12px;\n background: color-mix(in srgb, var(--mj-brand-primary) 4%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-border-default));\n border-radius: 6px;\n}\n.cs-field-primary label { font-size: 13px; color: var(--mj-text-primary); }\n.cs-field-primary .hint { line-height: 1.45; max-width: 78ch; }\n\n.cs-field { display: flex; flex-direction: column; gap: 4px; }\n.cs-field label { font-size: 12px; font-weight: 600; color: var(--mj-text-secondary); }\n.cs-field .hint { font-size: 11px; color: var(--mj-text-muted); }\n\n.cs-input {\n width: 100%;\n box-sizing: border-box;\n padding: 7px 10px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 13px;\n}\n.cs-input:focus {\n outline: none;\n border-color: var(--mj-border-focus, var(--mj-brand-primary));\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.cs-input:disabled { opacity: 0.55; cursor: not-allowed; }\n\n.cs-threshold-pair {\n background: var(--mj-bg-surface-card);\n padding: 14px 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n}\n.cs-slider {\n appearance: none;\n -webkit-appearance: none;\n width: 100%;\n height: 6px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 3px;\n margin: 8px 0 4px;\n}\n.cs-slider::-webkit-slider-thumb {\n appearance: none;\n -webkit-appearance: none;\n width: 16px; height: 16px; border-radius: 50%;\n background: var(--mj-brand-primary);\n cursor: pointer;\n border: 2px solid var(--mj-bg-surface);\n box-shadow: 0 1px 3px rgba(0,0,0,0.2);\n}\n.cs-slider::-moz-range-thumb {\n width: 16px; height: 16px; border-radius: 50%;\n background: var(--mj-brand-primary);\n cursor: pointer;\n border: 2px solid var(--mj-bg-surface);\n}\n.cs-slider-row {\n display: flex;\n justify-content: space-between;\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.cs-slider-row .cur {\n font-family: ui-monospace, monospace;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.cs-validation {\n font-size: 12px;\n padding: 8px 12px;\n background: color-mix(in srgb, var(--mj-status-error) 12%, transparent);\n color: var(--mj-status-error-text, var(--mj-status-error));\n border-radius: 4px;\n margin-top: 8px;\n}\n.cs-nudge {\n font-size: 12px;\n padding: 8px 12px;\n background: color-mix(in srgb, var(--mj-status-warning) 12%, transparent);\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n border-radius: 4px;\n margin-top: 8px;\n line-height: 1.4;\n}\n\n.cs-toggle-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 0;\n border-top: 1px dashed var(--mj-border-subtle);\n}\n.cs-toggle-row:first-child { border-top: 0; padding-top: 0; }\n.cs-toggle-row .label .t { font-size: 13px; font-weight: 600; }\n.cs-toggle-row .label .d { font-size: 11px; color: var(--mj-text-muted); }\n.cs-switch {\n position: relative;\n width: 36px; height: 20px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 10px;\n cursor: pointer;\n}\n.cs-switch::after {\n content: \"\";\n position: absolute;\n top: 2px; left: 2px;\n width: 16px; height: 16px;\n border-radius: 50%;\n background: var(--mj-bg-surface);\n transition: left 0.15s;\n box-shadow: 0 1px 2px rgba(0,0,0,0.2);\n}\n.cs-switch.on { background: var(--mj-brand-primary); }\n.cs-switch.on::after { left: 18px; }\n"] }]
223
+ }], null, null); })();
224
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WebsiteCrawlerSettingsPanel, { className: "WebsiteCrawlerSettingsPanel", filePath: "src/lib/panels/content-sources/website-crawler-settings.panel.ts", lineNumber: 38 }); })();
225
+ /** Tree-shake guard — call this from the consuming module's loader. */
226
+ export function LoadWebsiteCrawlerSettingsPanel() { }
227
+ //# sourceMappingURL=website-crawler-settings.panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"website-crawler-settings.panel.js","sourceRoot":"","sources":["../../../../src/lib/panels/content-sources/website-crawler-settings.panel.ts","../../../../src/lib/panels/content-sources/website-crawler-settings.panel.html"],"names":[],"mappings":"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","sourcesContent":["import { Component } from '@angular/core';\nimport { RegisterClassEx } from '@memberjunction/global';\nimport { BaseFormPanel } from '@memberjunction/ng-base-forms';\nimport {\n MJContentSourceEntity,\n MJContentSourceEntity_IContentSourceConfiguration,\n MJContentSourceEntity_IContentSourceWebsiteConfiguration,\n} from '@memberjunction/core-entities';\n\n/**\n * Website Crawler Settings panel — surfaces the typed `Configuration.Website`\n * sub-object (MaxDepth, RootURL, URLPattern, crawl flags) as a dense form.\n * Only meaningful when ContentSourceType = \"Website\"; the panel silently\n * renders nothing for other source types so it can register against the\n * generic ContentSource slot without conditional templates upstream.\n *\n * Future pluggability: as more source types grow typed config (RSS, Cloud\n * Storage, etc.), each gets its own panel registered against the same slot,\n * each self-gating on ContentSourceType. The slot host doesn't need to know.\n */\n@RegisterClassEx(BaseFormPanel, {\n key: 'content-sources:website-crawler-settings',\n skipNullKeyWarning: true,\n metadata: {\n entity: 'MJ: Content Sources',\n slot: 'after-fields',\n // Lower sortKey than Tag Pipeline (100) so the source-type-specific\n // crawler knobs render BELOW the broadly-applicable budget knobs.\n sortKey: 80,\n },\n})\n@Component({\n standalone: false,\n selector: 'mj-website-crawler-settings-panel',\n templateUrl: './website-crawler-settings.panel.html',\n styleUrls: ['./tag-pipeline-configuration.panel.css'],\n})\nexport class WebsiteCrawlerSettingsPanel extends BaseFormPanel<MJContentSourceEntity> {\n /** Hide the panel for non-Website source types — keeps the slot registration generic. */\n public get IsWebsiteSourceType(): boolean {\n const typeName = this.Record?.ContentSourceType;\n return typeName != null && typeName.trim().toLowerCase() === 'website';\n }\n\n private get Config(): MJContentSourceEntity_IContentSourceConfiguration {\n return this.Record?.ConfigurationObject ?? {};\n }\n\n /** Return the typed Website sub-object, defaulted to {} so getters can read freely. */\n public get WebsiteConfig(): MJContentSourceEntity_IContentSourceWebsiteConfiguration {\n return this.Config.Website ?? {};\n }\n\n private setConfig(patch: Partial<MJContentSourceEntity_IContentSourceConfiguration>): void {\n if (!this.Record) return;\n const current = this.Record.ConfigurationObject ?? {};\n const merged: MJContentSourceEntity_IContentSourceConfiguration = { ...current, ...patch };\n this.Record.ConfigurationObject = merged;\n }\n\n private setWebsite(patch: Partial<MJContentSourceEntity_IContentSourceWebsiteConfiguration>): void {\n // Spread for the typed merge, then explicitly remove keys whose patched\n // value was undefined so we don't persist `\"key\": undefined` artifacts.\n const merged: MJContentSourceEntity_IContentSourceWebsiteConfiguration = { ...this.WebsiteConfig, ...patch };\n for (const key of Object.keys(patch) as Array<keyof MJContentSourceEntity_IContentSourceWebsiteConfiguration>) {\n if (patch[key] === undefined) {\n delete merged[key];\n }\n }\n this.setConfig({ Website: merged });\n }\n\n public get MaxDepthValue(): number | null {\n return this.WebsiteConfig.MaxDepth ?? null;\n }\n public set MaxDepthValue(v: number | string | null) {\n this.setWebsite({ MaxDepth: this.normalizeNullableNumber(v) });\n }\n\n public get CrawlSitesInLowerLevelDomainValue(): boolean {\n // Default true — matches the autotagger's runtime default.\n return this.WebsiteConfig.CrawlSitesInLowerLevelDomain !== false;\n }\n public set CrawlSitesInLowerLevelDomainValue(v: boolean) {\n this.setWebsite({ CrawlSitesInLowerLevelDomain: v });\n }\n\n public get CrawlOtherSitesInTopLevelDomainValue(): boolean {\n // Default false — matches the autotagger's runtime default.\n return this.WebsiteConfig.CrawlOtherSitesInTopLevelDomain === true;\n }\n public set CrawlOtherSitesInTopLevelDomainValue(v: boolean) {\n this.setWebsite({ CrawlOtherSitesInTopLevelDomain: v });\n }\n\n public get URLPatternValue(): string {\n return this.WebsiteConfig.URLPattern ?? '';\n }\n public set URLPatternValue(v: string | null | undefined) {\n const trimmed = (v ?? '').trim();\n this.setWebsite({ URLPattern: trimmed === '' ? undefined : trimmed });\n }\n\n public get RootURLValue(): string {\n return this.WebsiteConfig.RootURL ?? '';\n }\n public set RootURLValue(v: string | null | undefined) {\n const trimmed = (v ?? '').trim();\n this.setWebsite({ RootURL: trimmed === '' ? undefined : trimmed });\n }\n\n /** Live validation: a non-empty URLPattern must be a valid JavaScript regex. */\n public get URLPatternValidationMessage(): string | null {\n const v = this.URLPatternValue;\n if (!v) return null;\n try { new RegExp(v); return null; }\n catch (e) { return `Invalid regex — ${e instanceof Error ? e.message : String(e)}`; }\n }\n\n private normalizeNullableNumber(v: number | string | null | undefined): number | undefined {\n if (v == null) return undefined;\n if (typeof v === 'string') {\n const trimmed = v.trim();\n if (trimmed === '') return undefined;\n const n = Number(trimmed);\n return Number.isFinite(n) ? n : undefined;\n }\n return Number.isFinite(v) ? v : undefined;\n }\n}\n\n/** Tree-shake guard — call this from the consuming module's loader. */\nexport function LoadWebsiteCrawlerSettingsPanel(): void { /* no-op marker */ }\n","@if (IsWebsiteSourceType) {\n<mj-collapsible-panel\n SectionKey=\"websiteCrawlerSettings\"\n SectionName=\"Website Crawler Settings\"\n Icon=\"fa fa-globe\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\">\n\n <div class=\"cs-grid\">\n <div class=\"cs-field\">\n <label>Max depth</label>\n <input class=\"cs-input\" type=\"number\" min=\"0\" max=\"10\" step=\"1\" [disabled]=\"!EditMode\"\n [ngModel]=\"MaxDepthValue ?? ''\"\n (ngModelChange)=\"MaxDepthValue = $event\"\n placeholder=\"2 (default)\" />\n <span class=\"hint\">Recursion ceiling for in-domain links. <code>0</code> = just the start URL. <code>2</code> (default) = root + sections + content pages. Higher values multiply with the 1-second per-page delay.</span>\n </div>\n <div class=\"cs-field\">\n <label>Root URL</label>\n <input class=\"cs-input\" type=\"text\" [disabled]=\"!EditMode\"\n [ngModel]=\"RootURLValue\"\n (ngModelChange)=\"RootURLValue = $event\"\n placeholder=\"derived from start URL\" />\n <span class=\"hint\">URL prefix used for the in-domain check. Leave blank to derive from the parent directory of the seed URL.</span>\n </div>\n </div>\n\n <div class=\"cs-field\" style=\"margin-top: 8px;\">\n <label>URL pattern (regex)</label>\n <input class=\"cs-input\" type=\"text\" [disabled]=\"!EditMode\"\n [ngModel]=\"URLPatternValue\"\n (ngModelChange)=\"URLPatternValue = $event\"\n placeholder=\"e.g. ^https://example\\.com/blog/.*\" />\n @if (URLPatternValidationMessage) {\n <span class=\"cs-validation\"><i class=\"fa-solid fa-circle-exclamation\"></i> {{ URLPatternValidationMessage }}</span>\n } @else {\n <span class=\"hint\">Only URLs matching this regex are added to the visited set. Leave blank to include everything.</span>\n }\n </div>\n\n <div class=\"cs-toggle-row\" style=\"margin-top: 12px;\">\n <div class=\"label\">\n <span class=\"t\">Crawl sites in lower-level domain</span>\n <span class=\"d\">When on (default), the depth-aware recursive crawler runs. Turn off to crawl only the seed page.</span>\n </div>\n <div class=\"cs-switch\" [class.on]=\"CrawlSitesInLowerLevelDomainValue\"\n (click)=\"EditMode ? (CrawlSitesInLowerLevelDomainValue = !CrawlSitesInLowerLevelDomainValue) : null\"></div>\n </div>\n <div class=\"cs-toggle-row\">\n <div class=\"label\">\n <span class=\"t\">Crawl other sites in top-level domain</span>\n <span class=\"d\">When on, also adds sibling-path URLs found on the seed page (single-pass, no recursion). Off by default to avoid accidental fan-out.</span>\n </div>\n <div class=\"cs-switch\" [class.on]=\"CrawlOtherSitesInTopLevelDomainValue\"\n (click)=\"EditMode ? (CrawlOtherSitesInTopLevelDomainValue = !CrawlOtherSitesInTopLevelDomainValue) : null\"></div>\n </div>\n</mj-collapsible-panel>\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-core-entity-forms",
3
- "version": "5.37.0",
3
+ "version": "5.38.0",
4
4
  "description": "MemberJunction Core Entity Angular Forms",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -29,41 +29,41 @@
29
29
  "@angular/router": "21.1.3",
30
30
  "@codemirror/language": "latest",
31
31
  "@codemirror/language-data": "^6.5.2",
32
- "@memberjunction/actions-base": "5.37.0",
33
- "@memberjunction/ai": "5.37.0",
34
- "@memberjunction/ai-core-plus": "5.37.0",
35
- "@memberjunction/ai-engine-base": "5.37.0",
36
- "@memberjunction/core": "5.37.0",
37
- "@memberjunction/core-entities": "5.37.0",
38
- "@memberjunction/global": "5.37.0",
39
- "@memberjunction/graphql-dataprovider": "5.37.0",
40
- "@memberjunction/ng-action-gallery": "5.37.0",
41
- "@memberjunction/ng-actions": "5.37.0",
42
- "@memberjunction/ng-agents": "5.37.0",
43
- "@memberjunction/ng-ai-test-harness": "5.37.0",
44
- "@memberjunction/ng-base-application": "5.37.0",
45
- "@memberjunction/ng-base-forms": "5.37.0",
46
- "@memberjunction/ng-base-types": "5.37.0",
47
- "@memberjunction/ng-code-editor": "5.37.0",
48
- "@memberjunction/ng-deep-diff": "5.37.0",
49
- "@memberjunction/ng-entity-relationship-diagram": "5.37.0",
50
- "@memberjunction/ng-entity-viewer": "5.37.0",
51
- "@memberjunction/ng-flow-editor": "5.37.0",
52
- "@memberjunction/ng-join-grid": "5.37.0",
53
- "@memberjunction/ng-link-directives": "5.37.0",
54
- "@memberjunction/ng-list-management": "5.37.0",
55
- "@memberjunction/ng-markdown": "5.37.0",
56
- "@memberjunction/ng-notifications": "5.37.0",
57
- "@memberjunction/ng-search": "5.37.0",
58
- "@memberjunction/ng-shared": "5.37.0",
59
- "@memberjunction/ng-shared-generic": "5.37.0",
60
- "@memberjunction/ng-tabstrip": "5.37.0",
61
- "@memberjunction/ng-testing": "5.37.0",
62
- "@memberjunction/ng-timeline": "5.37.0",
63
- "@memberjunction/ng-trees": "5.37.0",
64
- "@memberjunction/ng-ui-components": "5.37.0",
65
- "@memberjunction/ng-versions": "5.37.0",
66
- "@memberjunction/templates-base-types": "5.37.0",
32
+ "@memberjunction/actions-base": "5.38.0",
33
+ "@memberjunction/ai": "5.38.0",
34
+ "@memberjunction/ai-core-plus": "5.38.0",
35
+ "@memberjunction/ai-engine-base": "5.38.0",
36
+ "@memberjunction/core": "5.38.0",
37
+ "@memberjunction/core-entities": "5.38.0",
38
+ "@memberjunction/global": "5.38.0",
39
+ "@memberjunction/graphql-dataprovider": "5.38.0",
40
+ "@memberjunction/ng-action-gallery": "5.38.0",
41
+ "@memberjunction/ng-actions": "5.38.0",
42
+ "@memberjunction/ng-agents": "5.38.0",
43
+ "@memberjunction/ng-ai-test-harness": "5.38.0",
44
+ "@memberjunction/ng-base-application": "5.38.0",
45
+ "@memberjunction/ng-base-forms": "5.38.0",
46
+ "@memberjunction/ng-base-types": "5.38.0",
47
+ "@memberjunction/ng-code-editor": "5.38.0",
48
+ "@memberjunction/ng-deep-diff": "5.38.0",
49
+ "@memberjunction/ng-entity-relationship-diagram": "5.38.0",
50
+ "@memberjunction/ng-entity-viewer": "5.38.0",
51
+ "@memberjunction/ng-flow-editor": "5.38.0",
52
+ "@memberjunction/ng-join-grid": "5.38.0",
53
+ "@memberjunction/ng-link-directives": "5.38.0",
54
+ "@memberjunction/ng-list-management": "5.38.0",
55
+ "@memberjunction/ng-markdown": "5.38.0",
56
+ "@memberjunction/ng-notifications": "5.38.0",
57
+ "@memberjunction/ng-search": "5.38.0",
58
+ "@memberjunction/ng-shared": "5.38.0",
59
+ "@memberjunction/ng-shared-generic": "5.38.0",
60
+ "@memberjunction/ng-tabstrip": "5.38.0",
61
+ "@memberjunction/ng-testing": "5.38.0",
62
+ "@memberjunction/ng-timeline": "5.38.0",
63
+ "@memberjunction/ng-trees": "5.38.0",
64
+ "@memberjunction/ng-ui-components": "5.38.0",
65
+ "@memberjunction/ng-versions": "5.38.0",
66
+ "@memberjunction/templates-base-types": "5.38.0",
67
67
  "@types/d3": "^7.4.3",
68
68
  "ag-grid-angular": "^35.0.1",
69
69
  "ag-grid-community": "^35.0.1",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=content-source-form.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-source-form.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/content-source-form.test.ts"],"names":[],"mappings":""}
@@ -1,183 +0,0 @@
1
- /**
2
- * Tests for the Tag Pipeline Configuration extras on the custom ContentSource form.
3
- *
4
- * The form's typed accessors (Mode / Threshold / Budget) round-trip through the
5
- * `ConfigurationObject` typed JSON accessor on the entity. We mock the entity
6
- * with a stand-in object that records its current Configuration so each setter
7
- * can be observed end-to-end.
8
- */
9
- import { describe, it, expect, vi } from 'vitest';
10
- vi.mock('@angular/core', () => ({
11
- Component: () => (target) => target,
12
- }));
13
- vi.mock('@memberjunction/global', () => ({
14
- RegisterClass: () => (t) => t,
15
- }));
16
- vi.mock('@memberjunction/ng-base-forms', () => ({
17
- BaseFormComponent: class {
18
- constructor() {
19
- this.EditMode = true;
20
- this.formContext = {};
21
- }
22
- },
23
- }));
24
- vi.mock('@memberjunction/core-entities', () => ({}));
25
- vi.mock('../../generated/Entities/MJContentSource/mjcontentsource.form.component', () => ({
26
- MJContentSourceFormComponent: class {
27
- constructor() {
28
- this.EditMode = true;
29
- this.formContext = {};
30
- }
31
- },
32
- }));
33
- import { MJContentSourceFormComponentExtended } from '../custom/ContentSources/content-source-form.component';
34
- function makeForm(initial) {
35
- const form = new MJContentSourceFormComponentExtended();
36
- let cfg = { ...(initial ?? {}) };
37
- let contentSourceType = '';
38
- form.record = {
39
- get ConfigurationObject() { return cfg; },
40
- set ConfigurationObject(value) { cfg = value; },
41
- get ContentSourceType() { return contentSourceType; },
42
- set ContentSourceType(v) { contentSourceType = v; },
43
- EmbeddingModelID: 'embed-model-1',
44
- };
45
- return form;
46
- }
47
- describe('MJContentSourceFormComponentExtended', () => {
48
- describe('IsEntitySourceType', () => {
49
- it('returns false when no record is loaded', () => {
50
- const f = new MJContentSourceFormComponentExtended();
51
- f.record = null;
52
- expect(f.IsEntitySourceType).toBe(false);
53
- });
54
- it('returns true when ContentSourceType is "Entity" (case-insensitive)', () => {
55
- const f = makeForm();
56
- f.record.ContentSourceType = 'entity';
57
- expect(f.IsEntitySourceType).toBe(true);
58
- f.record.ContentSourceType = 'Entity';
59
- expect(f.IsEntitySourceType).toBe(true);
60
- });
61
- it('returns false for non-entity sources', () => {
62
- const f = makeForm();
63
- f.record.ContentSourceType = 'HubSpot';
64
- expect(f.IsEntitySourceType).toBe(false);
65
- });
66
- });
67
- describe('Taxonomy mode', () => {
68
- it('defaults to auto-grow when nothing in config', () => {
69
- const f = makeForm();
70
- expect(f.CurrentMode).toBe('auto-grow');
71
- });
72
- it('reads the mode set in config', () => {
73
- const f = makeForm({ TagTaxonomyMode: 'constrained' });
74
- expect(f.CurrentMode).toBe('constrained');
75
- });
76
- it('SetMode persists through ConfigurationObject', () => {
77
- const f = makeForm();
78
- f.SetMode('free-flow');
79
- expect(f.CurrentMode).toBe('free-flow');
80
- });
81
- });
82
- describe('Thresholds', () => {
83
- it('defaults MatchThreshold to 0.85', () => {
84
- const f = makeForm();
85
- expect(f.MatchThresholdValue).toBe(0.85);
86
- });
87
- it('clamps MatchThreshold setter to [0, 1]', () => {
88
- const f = makeForm();
89
- f.MatchThresholdValue = 1.5;
90
- expect(f.MatchThresholdValue).toBe(1);
91
- f.MatchThresholdValue = -0.5;
92
- expect(f.MatchThresholdValue).toBe(0);
93
- });
94
- it('pulls SuggestThreshold below MatchThreshold when MatchThreshold drops', () => {
95
- const f = makeForm({ TagMatchThreshold: 0.85, SuggestThreshold: 0.80 });
96
- f.MatchThresholdValue = 0.70;
97
- // SuggestThreshold should drop to <= 0.70 (auto-pinned 0.05 below)
98
- expect(f.SuggestThresholdValue).toBeLessThanOrEqual(0.70);
99
- });
100
- it('clamps SuggestThreshold to <= MatchThreshold', () => {
101
- const f = makeForm({ TagMatchThreshold: 0.80 });
102
- f.SuggestThresholdValue = 0.95;
103
- expect(f.SuggestThresholdValue).toBeLessThanOrEqual(0.80);
104
- });
105
- it('flags validation message when SuggestThreshold >= MatchThreshold', () => {
106
- const f = makeForm();
107
- // Force an invalid pair via the JSON object directly to bypass setter clamping
108
- f.setConfig({ TagMatchThreshold: 0.80, SuggestThreshold: 0.90 });
109
- expect(f.ThresholdValidationMessage).toMatch(/lower than/);
110
- });
111
- it('returns null validation message when SuggestThreshold < MatchThreshold', () => {
112
- const f = makeForm();
113
- f.setConfig({ TagMatchThreshold: 0.85, SuggestThreshold: 0.70 });
114
- expect(f.ThresholdValidationMessage).toBeNull();
115
- });
116
- });
117
- describe('Boolean toggles', () => {
118
- it('ShareTaxonomyWithLLM defaults to true', () => {
119
- const f = makeForm();
120
- expect(f.ShareTaxonomyValue).toBe(true);
121
- });
122
- it('ShareTaxonomyWithLLM is honored when explicitly false', () => {
123
- const f = makeForm({ ShareTaxonomyWithLLM: false });
124
- expect(f.ShareTaxonomyValue).toBe(false);
125
- });
126
- it('EnableVectorization defaults to true', () => {
127
- const f = makeForm();
128
- expect(f.EnableVectorizationValue).toBe(true);
129
- });
130
- });
131
- describe('Budget setters', () => {
132
- it('return null when unset', () => {
133
- const f = makeForm();
134
- expect(f.MaxNewTagsPerRunValue).toBeNull();
135
- expect(f.MaxCostPerRunValue).toBeNull();
136
- });
137
- it('persist numeric values through Configuration', () => {
138
- const f = makeForm();
139
- f.MaxNewTagsPerRunValue = 50;
140
- f.MaxCostPerRunValue = 12.5;
141
- expect(f.MaxNewTagsPerRunValue).toBe(50);
142
- expect(f.MaxCostPerRunValue).toBe(12.5);
143
- });
144
- it('strip the field when blank string is supplied (ngModel quirk)', () => {
145
- const f = makeForm({ MaxNewTagsPerRun: 50 });
146
- f.MaxNewTagsPerRunValue = '';
147
- expect(f.MaxNewTagsPerRunValue).toBeNull();
148
- });
149
- it('strip the field when null is supplied', () => {
150
- const f = makeForm({ MaxTokensPerRun: 1000 });
151
- f.MaxTokensPerRunValue = null;
152
- expect(f.MaxTokensPerRunValue).toBeNull();
153
- });
154
- it('coerce string numbers from form inputs', () => {
155
- const f = makeForm();
156
- f.MaxNewTagsPerItemValue = '7';
157
- expect(f.MaxNewTagsPerItemValue).toBe(7);
158
- });
159
- it('reject NaN gracefully', () => {
160
- const f = makeForm();
161
- f.MaxNewTagsPerRunValue = 'abc';
162
- expect(f.MaxNewTagsPerRunValue).toBeNull();
163
- });
164
- });
165
- describe('Tag root + Configuration round-trip', () => {
166
- it('writes TagRootID through the typed accessor', () => {
167
- const f = makeForm();
168
- f.TagRootIDValue = 'root-123';
169
- expect(f.TagRootIDValue).toBe('root-123');
170
- expect(f.Config.TagRootID).toBe('root-123');
171
- });
172
- it('preserves SourceSpecificConfiguration when other knobs change', () => {
173
- const f = makeForm({
174
- TagTaxonomyMode: 'auto-grow',
175
- SourceSpecificConfiguration: { workspaceId: 'abc' }
176
- });
177
- f.SetMode('free-flow');
178
- expect(f.Config.SourceSpecificConfiguration).toEqual({ workspaceId: 'abc' });
179
- expect(f.Config.TagTaxonomyMode).toBe('free-flow');
180
- });
181
- });
182
- });
183
- //# sourceMappingURL=content-source-form.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-source-form.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/content-source-form.test.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Tests for the Tag Pipeline Configuration extras on the custom ContentSource form.\n *\n * The form's typed accessors (Mode / Threshold / Budget) round-trip through the\n * `ConfigurationObject` typed JSON accessor on the entity. We mock the entity\n * with a stand-in object that records its current Configuration so each setter\n * can be observed end-to-end.\n */\nimport { describe, it, expect, vi, beforeEach } from 'vitest';\n\nvi.mock('@angular/core', () => ({\n Component: () => (target: Function) => target,\n}));\n\nvi.mock('@memberjunction/global', () => ({\n RegisterClass: () => (t: unknown) => t,\n}));\n\nvi.mock('@memberjunction/ng-base-forms', () => ({\n BaseFormComponent: class {\n public EditMode = true;\n public formContext = {};\n },\n}));\n\nvi.mock('@memberjunction/core-entities', () => ({}));\n\nvi.mock('../../generated/Entities/MJContentSource/mjcontentsource.form.component', () => ({\n MJContentSourceFormComponent: class {\n public EditMode = true;\n public formContext = {};\n },\n}));\n\nimport { MJContentSourceFormComponentExtended } from '../custom/ContentSources/content-source-form.component';\n\ninterface TestableConfig {\n TagTaxonomyMode?: string;\n TagRootID?: string | null;\n TagMatchThreshold?: number;\n SuggestThreshold?: number;\n ShareTaxonomyWithLLM?: boolean;\n EnableVectorization?: boolean;\n MaxNewTagsPerRun?: number;\n MaxNewTagsPerItem?: number;\n MaxTokensPerRun?: number;\n MaxCostPerRun?: number;\n SourceSpecificConfiguration?: Record<string, unknown>;\n}\n\nfunction makeForm(initial?: TestableConfig): MJContentSourceFormComponentExtended {\n const form = new MJContentSourceFormComponentExtended();\n let cfg: TestableConfig = { ...(initial ?? {}) };\n let contentSourceType = '';\n (form as unknown as { record: unknown }).record = {\n get ConfigurationObject() { return cfg; },\n set ConfigurationObject(value: TestableConfig) { cfg = value; },\n get ContentSourceType() { return contentSourceType; },\n set ContentSourceType(v: string) { contentSourceType = v; },\n EmbeddingModelID: 'embed-model-1',\n };\n return form;\n}\n\ndescribe('MJContentSourceFormComponentExtended', () => {\n\n describe('IsEntitySourceType', () => {\n it('returns false when no record is loaded', () => {\n const f = new MJContentSourceFormComponentExtended();\n (f as unknown as { record: unknown }).record = null;\n expect(f.IsEntitySourceType).toBe(false);\n });\n it('returns true when ContentSourceType is \"Entity\" (case-insensitive)', () => {\n const f = makeForm();\n (f.record as unknown as { ContentSourceType: string }).ContentSourceType = 'entity';\n expect(f.IsEntitySourceType).toBe(true);\n (f.record as unknown as { ContentSourceType: string }).ContentSourceType = 'Entity';\n expect(f.IsEntitySourceType).toBe(true);\n });\n it('returns false for non-entity sources', () => {\n const f = makeForm();\n (f.record as unknown as { ContentSourceType: string }).ContentSourceType = 'HubSpot';\n expect(f.IsEntitySourceType).toBe(false);\n });\n });\n\n describe('Taxonomy mode', () => {\n it('defaults to auto-grow when nothing in config', () => {\n const f = makeForm();\n expect(f.CurrentMode).toBe('auto-grow');\n });\n it('reads the mode set in config', () => {\n const f = makeForm({ TagTaxonomyMode: 'constrained' });\n expect(f.CurrentMode).toBe('constrained');\n });\n it('SetMode persists through ConfigurationObject', () => {\n const f = makeForm();\n f.SetMode('free-flow');\n expect(f.CurrentMode).toBe('free-flow');\n });\n });\n\n describe('Thresholds', () => {\n it('defaults MatchThreshold to 0.85', () => {\n const f = makeForm();\n expect(f.MatchThresholdValue).toBe(0.85);\n });\n it('clamps MatchThreshold setter to [0, 1]', () => {\n const f = makeForm();\n f.MatchThresholdValue = 1.5;\n expect(f.MatchThresholdValue).toBe(1);\n f.MatchThresholdValue = -0.5;\n expect(f.MatchThresholdValue).toBe(0);\n });\n it('pulls SuggestThreshold below MatchThreshold when MatchThreshold drops', () => {\n const f = makeForm({ TagMatchThreshold: 0.85, SuggestThreshold: 0.80 });\n f.MatchThresholdValue = 0.70;\n // SuggestThreshold should drop to <= 0.70 (auto-pinned 0.05 below)\n expect(f.SuggestThresholdValue).toBeLessThanOrEqual(0.70);\n });\n it('clamps SuggestThreshold to <= MatchThreshold', () => {\n const f = makeForm({ TagMatchThreshold: 0.80 });\n f.SuggestThresholdValue = 0.95;\n expect(f.SuggestThresholdValue).toBeLessThanOrEqual(0.80);\n });\n it('flags validation message when SuggestThreshold >= MatchThreshold', () => {\n const f = makeForm();\n // Force an invalid pair via the JSON object directly to bypass setter clamping\n f.setConfig({ TagMatchThreshold: 0.80, SuggestThreshold: 0.90 });\n expect(f.ThresholdValidationMessage).toMatch(/lower than/);\n });\n it('returns null validation message when SuggestThreshold < MatchThreshold', () => {\n const f = makeForm();\n f.setConfig({ TagMatchThreshold: 0.85, SuggestThreshold: 0.70 });\n expect(f.ThresholdValidationMessage).toBeNull();\n });\n });\n\n describe('Boolean toggles', () => {\n it('ShareTaxonomyWithLLM defaults to true', () => {\n const f = makeForm();\n expect(f.ShareTaxonomyValue).toBe(true);\n });\n it('ShareTaxonomyWithLLM is honored when explicitly false', () => {\n const f = makeForm({ ShareTaxonomyWithLLM: false });\n expect(f.ShareTaxonomyValue).toBe(false);\n });\n it('EnableVectorization defaults to true', () => {\n const f = makeForm();\n expect(f.EnableVectorizationValue).toBe(true);\n });\n });\n\n describe('Budget setters', () => {\n it('return null when unset', () => {\n const f = makeForm();\n expect(f.MaxNewTagsPerRunValue).toBeNull();\n expect(f.MaxCostPerRunValue).toBeNull();\n });\n it('persist numeric values through Configuration', () => {\n const f = makeForm();\n f.MaxNewTagsPerRunValue = 50;\n f.MaxCostPerRunValue = 12.5;\n expect(f.MaxNewTagsPerRunValue).toBe(50);\n expect(f.MaxCostPerRunValue).toBe(12.5);\n });\n it('strip the field when blank string is supplied (ngModel quirk)', () => {\n const f = makeForm({ MaxNewTagsPerRun: 50 });\n f.MaxNewTagsPerRunValue = '' as never;\n expect(f.MaxNewTagsPerRunValue).toBeNull();\n });\n it('strip the field when null is supplied', () => {\n const f = makeForm({ MaxTokensPerRun: 1000 });\n f.MaxTokensPerRunValue = null;\n expect(f.MaxTokensPerRunValue).toBeNull();\n });\n it('coerce string numbers from form inputs', () => {\n const f = makeForm();\n f.MaxNewTagsPerItemValue = '7' as never;\n expect(f.MaxNewTagsPerItemValue).toBe(7);\n });\n it('reject NaN gracefully', () => {\n const f = makeForm();\n f.MaxNewTagsPerRunValue = 'abc' as never;\n expect(f.MaxNewTagsPerRunValue).toBeNull();\n });\n });\n\n describe('Tag root + Configuration round-trip', () => {\n it('writes TagRootID through the typed accessor', () => {\n const f = makeForm();\n f.TagRootIDValue = 'root-123';\n expect(f.TagRootIDValue).toBe('root-123');\n expect(f.Config.TagRootID).toBe('root-123');\n });\n it('preserves SourceSpecificConfiguration when other knobs change', () => {\n const f = makeForm({\n TagTaxonomyMode: 'auto-grow',\n SourceSpecificConfiguration: { workspaceId: 'abc' }\n });\n f.SetMode('free-flow');\n expect(f.Config.SourceSpecificConfiguration).toEqual({ workspaceId: 'abc' });\n expect(f.Config.TagTaxonomyMode).toBe('free-flow');\n });\n });\n});\n"]}