@e-llm-studio/instant-learning 1.3.2 → 1.3.3

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 (1959) hide show
  1. package/dist/CommonComponents/GradientSparkleIcon.js +30 -1
  2. package/dist/CommonComponents/GradientSparkleIcon.js.map +1 -1
  3. package/dist/ComponentRegistry.js +36 -1
  4. package/dist/ComponentRegistry.js.map +1 -1
  5. package/dist/ContinueWithTemplateModal.js +143 -1
  6. package/dist/ContinueWithTemplateModal.js.map +1 -1
  7. package/dist/ContinueWithTemplateModal.module.css.js +7 -1
  8. package/dist/ContinueWithTemplateModal.module.css.js.map +1 -1
  9. package/dist/ILMarketplaceWrapper.js +1377 -1
  10. package/dist/ILMarketplaceWrapper.js.map +1 -1
  11. package/dist/ILMarketplaceWrapper.module.css.js +7 -1
  12. package/dist/ILMarketplaceWrapper.module.css.js.map +1 -1
  13. package/dist/adapters/creativeWorkspaceAdapter.js +74 -1
  14. package/dist/adapters/creativeWorkspaceAdapter.js.map +1 -1
  15. package/dist/api/transport.js +73 -1
  16. package/dist/api/transport.js.map +1 -1
  17. package/dist/cjs/CommonComponents/GradientSparkleIcon.js +34 -1
  18. package/dist/cjs/CommonComponents/GradientSparkleIcon.js.map +1 -1
  19. package/dist/cjs/ComponentRegistry.js +48 -1
  20. package/dist/cjs/ComponentRegistry.js.map +1 -1
  21. package/dist/cjs/ContinueWithTemplateModal.js +147 -1
  22. package/dist/cjs/ContinueWithTemplateModal.js.map +1 -1
  23. package/dist/cjs/ContinueWithTemplateModal.module.css.js +11 -1
  24. package/dist/cjs/ContinueWithTemplateModal.module.css.js.map +1 -1
  25. package/dist/cjs/ILMarketplaceWrapper.js +1385 -1
  26. package/dist/cjs/ILMarketplaceWrapper.js.map +1 -1
  27. package/dist/cjs/ILMarketplaceWrapper.module.css.js +11 -1
  28. package/dist/cjs/ILMarketplaceWrapper.module.css.js.map +1 -1
  29. package/dist/cjs/adapters/creativeWorkspaceAdapter.js +79 -1
  30. package/dist/cjs/adapters/creativeWorkspaceAdapter.js.map +1 -1
  31. package/dist/cjs/api/transport.js +86 -1
  32. package/dist/cjs/api/transport.js.map +1 -1
  33. package/dist/cjs/features/DocumentLearning/DocumentLearning.js +294 -1
  34. package/dist/cjs/features/DocumentLearning/DocumentLearning.js.map +1 -1
  35. package/dist/cjs/features/DocumentLearning/InstantLearning.module.css.js +11 -1
  36. package/dist/cjs/features/DocumentLearning/InstantLearning.module.css.js.map +1 -1
  37. package/dist/cjs/features/DocumentLearning/_components/AudioWaveform.js +135 -1
  38. package/dist/cjs/features/DocumentLearning/_components/AudioWaveform.js.map +1 -1
  39. package/dist/cjs/features/DocumentLearning/_components/BookLearningForm.js +1336 -1
  40. package/dist/cjs/features/DocumentLearning/_components/BookLearningForm.js.map +1 -1
  41. package/dist/cjs/features/DocumentLearning/_components/ChatComponent.js +1972 -1
  42. package/dist/cjs/features/DocumentLearning/_components/ChatComponent.js.map +1 -1
  43. package/dist/cjs/features/DocumentLearning/_components/ConflictingLearningWarnCard.js +263 -1
  44. package/dist/cjs/features/DocumentLearning/_components/ConflictingLearningWarnCard.js.map +1 -1
  45. package/dist/cjs/features/DocumentLearning/_components/MessageRendering.js +705 -1
  46. package/dist/cjs/features/DocumentLearning/_components/MessageRendering.js.map +1 -1
  47. package/dist/cjs/features/DocumentLearning/_components/_svg/NewChatIcon.js +16 -1
  48. package/dist/cjs/features/DocumentLearning/_components/_svg/NewChatIcon.js.map +1 -1
  49. package/dist/cjs/features/IL-OTJ/ILOTJ.js +671 -1
  50. package/dist/cjs/features/IL-OTJ/ILOTJ.js.map +1 -1
  51. package/dist/cjs/features/IL-OTJ/ILOTJTest.js +26 -1
  52. package/dist/cjs/features/IL-OTJ/ILOTJTest.js.map +1 -1
  53. package/dist/cjs/features/IL-OTJ/InstantLearning.module.css.js +11 -1
  54. package/dist/cjs/features/IL-OTJ/InstantLearning.module.css.js.map +1 -1
  55. package/dist/cjs/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.js +196 -1
  56. package/dist/cjs/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.js.map +1 -1
  57. package/dist/cjs/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js +141 -1
  58. package/dist/cjs/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js.map +1 -1
  59. package/dist/cjs/features/IL-OTJ/_components/AccordianSection.js +192 -1
  60. package/dist/cjs/features/IL-OTJ/_components/AccordianSection.js.map +1 -1
  61. package/dist/cjs/features/IL-OTJ/_components/AudioWaveform.js +135 -1
  62. package/dist/cjs/features/IL-OTJ/_components/AudioWaveform.js.map +1 -1
  63. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatComponent.js +1348 -1
  64. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatComponent.js.map +1 -1
  65. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatComponent.module.css.js +11 -1
  66. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatComponent.module.css.js.map +1 -1
  67. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatHeader.js +105 -1
  68. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatHeader.js.map +1 -1
  69. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatHeader.module.css.js +11 -1
  70. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatHeader.module.css.js.map +1 -1
  71. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/NormalChat.js +1108 -1
  72. package/dist/cjs/features/IL-OTJ/_components/ChatComponents/NormalChat.js.map +1 -1
  73. package/dist/cjs/features/IL-OTJ/_components/CitationLink.js +372 -1
  74. package/dist/cjs/features/IL-OTJ/_components/CitationLink.js.map +1 -1
  75. package/dist/cjs/features/IL-OTJ/_components/ConflictingReasoningCard.js +183 -1
  76. package/dist/cjs/features/IL-OTJ/_components/ConflictingReasoningCard.js.map +1 -1
  77. package/dist/cjs/features/IL-OTJ/_components/CriticalGaps.js +703 -1
  78. package/dist/cjs/features/IL-OTJ/_components/CriticalGaps.js.map +1 -1
  79. package/dist/cjs/features/IL-OTJ/_components/GapExplanationAccordion.js +94 -1
  80. package/dist/cjs/features/IL-OTJ/_components/GapExplanationAccordion.js.map +1 -1
  81. package/dist/cjs/features/IL-OTJ/_components/ILPopup.js +134 -1
  82. package/dist/cjs/features/IL-OTJ/_components/ILPopup.js.map +1 -1
  83. package/dist/cjs/features/IL-OTJ/_components/ILPopup.styles.js +669 -1
  84. package/dist/cjs/features/IL-OTJ/_components/ILPopup.styles.js.map +1 -1
  85. package/dist/cjs/features/IL-OTJ/_components/InputDataReasoningCard.js +111 -1
  86. package/dist/cjs/features/IL-OTJ/_components/InputDataReasoningCard.js.map +1 -1
  87. package/dist/cjs/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.js +554 -1
  88. package/dist/cjs/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.js.map +1 -1
  89. package/dist/cjs/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.js +271 -1
  90. package/dist/cjs/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.js.map +1 -1
  91. package/dist/cjs/features/IL-OTJ/_components/MarkdownRenderer.js +304 -1
  92. package/dist/cjs/features/IL-OTJ/_components/MarkdownRenderer.js.map +1 -1
  93. package/dist/cjs/features/IL-OTJ/_components/MarkdownRenderer.module.css.js +11 -1
  94. package/dist/cjs/features/IL-OTJ/_components/MarkdownRenderer.module.css.js.map +1 -1
  95. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/ChatFeedback.js +231 -1
  96. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/ChatFeedback.js.map +1 -1
  97. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js +616 -1
  98. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js.map +1 -1
  99. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/MessageRendering.js +873 -1
  100. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/MessageRendering.js.map +1 -1
  101. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js +133 -1
  102. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js.map +1 -1
  103. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.js +145 -1
  104. package/dist/cjs/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.js.map +1 -1
  105. package/dist/cjs/features/IL-OTJ/_components/TooltipComponent.js +36 -1
  106. package/dist/cjs/features/IL-OTJ/_components/TooltipComponent.js.map +1 -1
  107. package/dist/cjs/features/IL-OTJ/_components/VariantLoadingOverlay.js +62 -1
  108. package/dist/cjs/features/IL-OTJ/_components/VariantLoadingOverlay.js.map +1 -1
  109. package/dist/cjs/features/IL-OTJ/_components/ViewFormUpdateCard.js +194 -1
  110. package/dist/cjs/features/IL-OTJ/_components/ViewFormUpdateCard.js.map +1 -1
  111. package/dist/cjs/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.js +175 -1
  112. package/dist/cjs/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.js.map +1 -1
  113. package/dist/cjs/features/IL-OTJ/_components/_svg/BookIcon.js +10 -1
  114. package/dist/cjs/features/IL-OTJ/_components/_svg/BookIcon.js.map +1 -1
  115. package/dist/cjs/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.js +21 -1
  116. package/dist/cjs/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.js.map +1 -1
  117. package/dist/cjs/features/IL-OTJ/_components/_svg/ChevronDown.js +10 -1
  118. package/dist/cjs/features/IL-OTJ/_components/_svg/ChevronDown.js.map +1 -1
  119. package/dist/cjs/features/IL-OTJ/_components/_svg/ChevronUp.js +10 -1
  120. package/dist/cjs/features/IL-OTJ/_components/_svg/ChevronUp.js.map +1 -1
  121. package/dist/cjs/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.js +55 -1
  122. package/dist/cjs/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.js.map +1 -1
  123. package/dist/cjs/features/IL-OTJ/_components/_svg/CognitiveDecisioning.js +13 -1
  124. package/dist/cjs/features/IL-OTJ/_components/_svg/CognitiveDecisioning.js.map +1 -1
  125. package/dist/cjs/features/IL-OTJ/_components/_svg/EditPencilIcon.js +9 -1
  126. package/dist/cjs/features/IL-OTJ/_components/_svg/EditPencilIcon.js.map +1 -1
  127. package/dist/cjs/features/IL-OTJ/_components/_svg/GapIcon.js +23 -1
  128. package/dist/cjs/features/IL-OTJ/_components/_svg/GapIcon.js.map +1 -1
  129. package/dist/cjs/features/IL-OTJ/_components/_svg/InfoIcon.js +31 -1
  130. package/dist/cjs/features/IL-OTJ/_components/_svg/InfoIcon.js.map +1 -1
  131. package/dist/cjs/features/IL-OTJ/_components/_svg/Lightbulb.js +25 -1
  132. package/dist/cjs/features/IL-OTJ/_components/_svg/Lightbulb.js.map +1 -1
  133. package/dist/cjs/features/IL-OTJ/_components/_svg/NewChatIcon.js +52 -1
  134. package/dist/cjs/features/IL-OTJ/_components/_svg/NewChatIcon.js.map +1 -1
  135. package/dist/cjs/features/IL-OTJ/_components/_svg/PencilEdit.js +9 -1
  136. package/dist/cjs/features/IL-OTJ/_components/_svg/PencilEdit.js.map +1 -1
  137. package/dist/cjs/features/IL-OTJ/_components/_svg/RadioButton.js +48 -1
  138. package/dist/cjs/features/IL-OTJ/_components/_svg/RadioButton.js.map +1 -1
  139. package/dist/cjs/features/IL-OTJ/_components/_svg/RightSideIcons.js +64 -1
  140. package/dist/cjs/features/IL-OTJ/_components/_svg/RightSideIcons.js.map +1 -1
  141. package/dist/cjs/features/IL-OTJ/_components/_svg/ScrollToBottom.js +50 -1
  142. package/dist/cjs/features/IL-OTJ/_components/_svg/ScrollToBottom.js.map +1 -1
  143. package/dist/cjs/features/IL-OTJ/_components/_svg/SendButton.js +30 -1
  144. package/dist/cjs/features/IL-OTJ/_components/_svg/SendButton.js.map +1 -1
  145. package/dist/cjs/features/IL-OTJ/_components/_svg/SparkleIcon.js +30 -1
  146. package/dist/cjs/features/IL-OTJ/_components/_svg/SparkleIcon.js.map +1 -1
  147. package/dist/cjs/features/IL-OTJ/_components/_svg/TickIcon.js +37 -1
  148. package/dist/cjs/features/IL-OTJ/_components/_svg/TickIcon.js.map +1 -1
  149. package/dist/cjs/features/IL-OTJ/_components/_svg/UserIcon.js +27 -1
  150. package/dist/cjs/features/IL-OTJ/_components/_svg/UserIcon.js.map +1 -1
  151. package/dist/cjs/features/IL-OTJ/_components/atoms/Button/Button.js +12 -1
  152. package/dist/cjs/features/IL-OTJ/_components/atoms/Button/Button.js.map +1 -1
  153. package/dist/cjs/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.js +27 -1
  154. package/dist/cjs/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.js.map +1 -1
  155. package/dist/cjs/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.js +30 -1
  156. package/dist/cjs/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.js.map +1 -1
  157. package/dist/cjs/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.module.css.js +11 -1
  158. package/dist/cjs/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.module.css.js.map +1 -1
  159. package/dist/cjs/features/IL-OTJ/_components/atoms/Textarea/Textarea.js +230 -1
  160. package/dist/cjs/features/IL-OTJ/_components/atoms/Textarea/Textarea.js.map +1 -1
  161. package/dist/cjs/features/IL-OTJ/_components/atoms/Toggle/Toggle.js +20 -1
  162. package/dist/cjs/features/IL-OTJ/_components/atoms/Toggle/Toggle.js.map +1 -1
  163. package/dist/cjs/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.js +46 -1
  164. package/dist/cjs/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.js.map +1 -1
  165. package/dist/cjs/features/IL-OTJ/_components/hooks/usePendingEditHighlight.js +84 -1
  166. package/dist/cjs/features/IL-OTJ/_components/hooks/usePendingEditHighlight.js.map +1 -1
  167. package/dist/cjs/features/IL-OTJ/_components/hooks/useVariantEditSession.js +168 -1
  168. package/dist/cjs/features/IL-OTJ/_components/hooks/useVariantEditSession.js.map +1 -1
  169. package/dist/cjs/features/IL-OTJ/_components/molecules/Condition/ConditionList.js +363 -1
  170. package/dist/cjs/features/IL-OTJ/_components/molecules/Condition/ConditionList.js.map +1 -1
  171. package/dist/cjs/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.js +81 -1
  172. package/dist/cjs/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.js.map +1 -1
  173. package/dist/cjs/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.js +62 -1
  174. package/dist/cjs/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.js.map +1 -1
  175. package/dist/cjs/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.js +67 -1
  176. package/dist/cjs/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.js.map +1 -1
  177. package/dist/cjs/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.js +297 -1
  178. package/dist/cjs/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.js.map +1 -1
  179. package/dist/cjs/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.js +57 -1
  180. package/dist/cjs/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.js.map +1 -1
  181. package/dist/cjs/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.js +165 -1
  182. package/dist/cjs/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.js.map +1 -1
  183. package/dist/cjs/features/IL-OTJ/_components/organisms/TextSection/TextSection.js +193 -1
  184. package/dist/cjs/features/IL-OTJ/_components/organisms/TextSection/TextSection.js.map +1 -1
  185. package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.js +670 -1
  186. package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.js.map +1 -1
  187. package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.js +268 -1
  188. package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.js.map +1 -1
  189. package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.js +689 -1
  190. package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.js.map +1 -1
  191. package/dist/cjs/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.js +46 -1
  192. package/dist/cjs/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.js.map +1 -1
  193. package/dist/cjs/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.js +29 -1
  194. package/dist/cjs/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.js.map +1 -1
  195. package/dist/cjs/features/IL-OTJ/_components/templates/Testing/Testing.js +40 -1
  196. package/dist/cjs/features/IL-OTJ/_components/templates/Testing/Testing.js.map +1 -1
  197. package/dist/cjs/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.js +962 -1
  198. package/dist/cjs/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.js.map +1 -1
  199. package/dist/cjs/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.js +99 -1
  200. package/dist/cjs/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.js.map +1 -1
  201. package/dist/cjs/features/IL-OTJ/helpers/message-rendering-utils.js +126 -1
  202. package/dist/cjs/features/IL-OTJ/helpers/message-rendering-utils.js.map +1 -1
  203. package/dist/cjs/features/IL-OTJ/helpers/utils.js +153 -1
  204. package/dist/cjs/features/IL-OTJ/helpers/utils.js.map +1 -1
  205. package/dist/cjs/features/IL-OTJ/store/CitationsContext.js +52 -1
  206. package/dist/cjs/features/IL-OTJ/store/CitationsContext.js.map +1 -1
  207. package/dist/cjs/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.js +301 -1
  208. package/dist/cjs/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.js.map +1 -1
  209. package/dist/cjs/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.module.css.js +11 -1
  210. package/dist/cjs/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.module.css.js.map +1 -1
  211. package/dist/cjs/features/IL-marketplace/PromoteFlow/PromoteFlow.js +655 -1
  212. package/dist/cjs/features/IL-marketplace/PromoteFlow/PromoteFlow.js.map +1 -1
  213. package/dist/cjs/features/IL-marketplace/PromoteFlow/PromoteFlow.module.css.js +11 -1
  214. package/dist/cjs/features/IL-marketplace/PromoteFlow/PromoteFlow.module.css.js.map +1 -1
  215. package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.api.js +69 -1
  216. package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.api.js.map +1 -1
  217. package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.store.js +53 -1
  218. package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.store.js.map +1 -1
  219. package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.utils.js +76 -1
  220. package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.utils.js.map +1 -1
  221. package/dist/cjs/features/IL-marketplace/components/GuidelineCardMenu.js +110 -1
  222. package/dist/cjs/features/IL-marketplace/components/GuidelineCardMenu.js.map +1 -1
  223. package/dist/cjs/features/IL-marketplace/components/GuidelineCardMenu.module.css.js +11 -1
  224. package/dist/cjs/features/IL-marketplace/components/GuidelineCardMenu.module.css.js.map +1 -1
  225. package/dist/cjs/features/IL-marketplace/components/GuidelineCart.js +109 -1
  226. package/dist/cjs/features/IL-marketplace/components/GuidelineCart.js.map +1 -1
  227. package/dist/cjs/features/IL-marketplace/components/GuidelineCart.module.css.js +11 -1
  228. package/dist/cjs/features/IL-marketplace/components/GuidelineCart.module.css.js.map +1 -1
  229. package/dist/cjs/features/IL-marketplace/components/GuidelineCartHeader.js +76 -1
  230. package/dist/cjs/features/IL-marketplace/components/GuidelineCartHeader.js.map +1 -1
  231. package/dist/cjs/features/IL-marketplace/components/GuidelineCartHeader.module.css.js +11 -1
  232. package/dist/cjs/features/IL-marketplace/components/GuidelineCartHeader.module.css.js.map +1 -1
  233. package/dist/cjs/features/IL-marketplace/components/GuidelineCartItem.js +131 -1
  234. package/dist/cjs/features/IL-marketplace/components/GuidelineCartItem.js.map +1 -1
  235. package/dist/cjs/features/IL-marketplace/components/GuidelineCartItem.module.css.js +11 -1
  236. package/dist/cjs/features/IL-marketplace/components/GuidelineCartItem.module.css.js.map +1 -1
  237. package/dist/cjs/features/IL-marketplace/components/GuidelineConfirmDialog.js +130 -1
  238. package/dist/cjs/features/IL-marketplace/components/GuidelineConfirmDialog.js.map +1 -1
  239. package/dist/cjs/features/IL-marketplace/components/GuidelineConfirmDialog.module.css.js +11 -1
  240. package/dist/cjs/features/IL-marketplace/components/GuidelineConfirmDialog.module.css.js.map +1 -1
  241. package/dist/cjs/features/IL-marketplace/components/GuidelineEmptyState.js +45 -1
  242. package/dist/cjs/features/IL-marketplace/components/GuidelineEmptyState.js.map +1 -1
  243. package/dist/cjs/features/IL-marketplace/components/GuidelineEmptyState.module.css.js +11 -1
  244. package/dist/cjs/features/IL-marketplace/components/GuidelineEmptyState.module.css.js.map +1 -1
  245. package/dist/cjs/features/IL-marketplace/components/GuidelineFilterPanel.js +232 -1
  246. package/dist/cjs/features/IL-marketplace/components/GuidelineFilterPanel.js.map +1 -1
  247. package/dist/cjs/features/IL-marketplace/components/GuidelineFilterPanel.module.css.js +11 -1
  248. package/dist/cjs/features/IL-marketplace/components/GuidelineFilterPanel.module.css.js.map +1 -1
  249. package/dist/cjs/features/IL-marketplace/components/GuidelineHeader.js +121 -1
  250. package/dist/cjs/features/IL-marketplace/components/GuidelineHeader.js.map +1 -1
  251. package/dist/cjs/features/IL-marketplace/components/GuidelineHeader.module.css.js +11 -1
  252. package/dist/cjs/features/IL-marketplace/components/GuidelineHeader.module.css.js.map +1 -1
  253. package/dist/cjs/features/IL-marketplace/components/GuidelineIconButton.js +32 -1
  254. package/dist/cjs/features/IL-marketplace/components/GuidelineIconButton.js.map +1 -1
  255. package/dist/cjs/features/IL-marketplace/components/GuidelineIconButton.module.css.js +11 -1
  256. package/dist/cjs/features/IL-marketplace/components/GuidelineIconButton.module.css.js.map +1 -1
  257. package/dist/cjs/features/IL-marketplace/components/GuidelineLandingPage.js +470 -1
  258. package/dist/cjs/features/IL-marketplace/components/GuidelineLandingPage.js.map +1 -1
  259. package/dist/cjs/features/IL-marketplace/components/GuidelineLandingPage.module.css.js +11 -1
  260. package/dist/cjs/features/IL-marketplace/components/GuidelineLandingPage.module.css.js.map +1 -1
  261. package/dist/cjs/features/IL-marketplace/components/GuidelineLibrary.js +235 -1
  262. package/dist/cjs/features/IL-marketplace/components/GuidelineLibrary.js.map +1 -1
  263. package/dist/cjs/features/IL-marketplace/components/GuidelineLibrary.module.css.js +11 -1
  264. package/dist/cjs/features/IL-marketplace/components/GuidelineLibrary.module.css.js.map +1 -1
  265. package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryCard.js +961 -1
  266. package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryCard.js.map +1 -1
  267. package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryCard.module.css.js +11 -1
  268. package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryCard.module.css.js.map +1 -1
  269. package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryContent.js +367 -1
  270. package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryContent.js.map +1 -1
  271. package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryTab.js +67 -1
  272. package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryTab.js.map +1 -1
  273. package/dist/cjs/features/IL-marketplace/components/GuidelineProceedButton.js +66 -1
  274. package/dist/cjs/features/IL-marketplace/components/GuidelineProceedButton.js.map +1 -1
  275. package/dist/cjs/features/IL-marketplace/components/GuidelineProceedButton.module.css.js +11 -1
  276. package/dist/cjs/features/IL-marketplace/components/GuidelineProceedButton.module.css.js.map +1 -1
  277. package/dist/cjs/features/IL-marketplace/components/GuidelineSelectButton.js +34 -1
  278. package/dist/cjs/features/IL-marketplace/components/GuidelineSelectButton.js.map +1 -1
  279. package/dist/cjs/features/IL-marketplace/components/GuidelineSelectButton.module.css.js +11 -1
  280. package/dist/cjs/features/IL-marketplace/components/GuidelineSelectButton.module.css.js.map +1 -1
  281. package/dist/cjs/features/IL-marketplace/components/GuidelineStatusChip.js +35 -1
  282. package/dist/cjs/features/IL-marketplace/components/GuidelineStatusChip.js.map +1 -1
  283. package/dist/cjs/features/IL-marketplace/components/GuidelineStatusChip.module.css.js +11 -1
  284. package/dist/cjs/features/IL-marketplace/components/GuidelineStatusChip.module.css.js.map +1 -1
  285. package/dist/cjs/features/IL-marketplace/components/GuidelineTooltip.js +64 -1
  286. package/dist/cjs/features/IL-marketplace/components/GuidelineTooltip.js.map +1 -1
  287. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.js +12 -1
  288. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.js.map +1 -1
  289. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.js +12 -1
  290. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.js.map +1 -1
  291. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.js +12 -1
  292. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.js.map +1 -1
  293. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.js +12 -1
  294. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.js.map +1 -1
  295. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.js +137 -1
  296. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.js.map +1 -1
  297. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.js +21 -1
  298. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.js.map +1 -1
  299. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.module.css.js +11 -1
  300. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.module.css.js.map +1 -1
  301. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.js +16 -1
  302. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.js.map +1 -1
  303. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.module.css.js +11 -1
  304. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.module.css.js.map +1 -1
  305. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.js +39 -1
  306. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.js.map +1 -1
  307. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.module.css.js +11 -1
  308. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.module.css.js.map +1 -1
  309. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.js +88 -1
  310. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.js.map +1 -1
  311. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.module.css.js +11 -1
  312. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.module.css.js.map +1 -1
  313. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.js +9 -1
  314. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.js.map +1 -1
  315. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.js +452 -1
  316. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.js.map +1 -1
  317. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.module.css.js +11 -1
  318. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.module.css.js.map +1 -1
  319. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.js +164 -1
  320. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.js.map +1 -1
  321. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.module.css.js +11 -1
  322. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.module.css.js.map +1 -1
  323. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.js +34 -1
  324. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.js.map +1 -1
  325. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.js +54 -1
  326. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.js.map +1 -1
  327. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.module.css.js +11 -1
  328. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.module.css.js.map +1 -1
  329. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.js +24 -1
  330. package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.js.map +1 -1
  331. package/dist/cjs/features/IL-marketplace/components/LearningManagementWrapper.js +224 -1
  332. package/dist/cjs/features/IL-marketplace/components/LearningManagementWrapper.js.map +1 -1
  333. package/dist/cjs/features/IL-marketplace/components/VersionSelectDropdown.js +101 -1
  334. package/dist/cjs/features/IL-marketplace/components/VersionSelectDropdown.js.map +1 -1
  335. package/dist/cjs/features/IL-marketplace/components/VersionSelectDropdown.module.css.js +11 -1
  336. package/dist/cjs/features/IL-marketplace/components/VersionSelectDropdown.module.css.js.map +1 -1
  337. package/dist/cjs/features/IL-marketplace/constants.js +121 -1
  338. package/dist/cjs/features/IL-marketplace/constants.js.map +1 -1
  339. package/dist/cjs/features/IL-marketplace/hooks/useControllableState.js +33 -1
  340. package/dist/cjs/features/IL-marketplace/hooks/useControllableState.js.map +1 -1
  341. package/dist/cjs/features/IL-marketplace/hooks/useDeleteGuidelineMutation.js +28 -1
  342. package/dist/cjs/features/IL-marketplace/hooks/useDeleteGuidelineMutation.js.map +1 -1
  343. package/dist/cjs/features/IL-marketplace/hooks/useGuidelineSelection.js +44 -1
  344. package/dist/cjs/features/IL-marketplace/hooks/useGuidelineSelection.js.map +1 -1
  345. package/dist/cjs/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.js +28 -1
  346. package/dist/cjs/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.js.map +1 -1
  347. package/dist/cjs/features/IL-marketplace/hooks/useMarketplacePublishILKBData.js +65 -1
  348. package/dist/cjs/features/IL-marketplace/hooks/useMarketplacePublishILKBData.js.map +1 -1
  349. package/dist/cjs/features/IL-marketplace/hooks/usePublishingFlowConfig.js +44 -1
  350. package/dist/cjs/features/IL-marketplace/hooks/usePublishingFlowConfig.js.map +1 -1
  351. package/dist/cjs/features/IL-marketplace/icons/GuidelineSpinner.js +41 -1
  352. package/dist/cjs/features/IL-marketplace/icons/GuidelineSpinner.js.map +1 -1
  353. package/dist/cjs/features/IL-marketplace/marketplaceTheme.js +141 -1
  354. package/dist/cjs/features/IL-marketplace/marketplaceTheme.js.map +1 -1
  355. package/dist/cjs/features/IL-marketplace/queryClient.js +9 -1
  356. package/dist/cjs/features/IL-marketplace/queryClient.js.map +1 -1
  357. package/dist/cjs/features/IL-marketplace/services/IL-marketplace.api.js +161 -1
  358. package/dist/cjs/features/IL-marketplace/services/IL-marketplace.api.js.map +1 -1
  359. package/dist/cjs/features/IL-marketplace/services/guideline.cart.api.js +216 -1
  360. package/dist/cjs/features/IL-marketplace/services/guideline.cart.api.js.map +1 -1
  361. package/dist/cjs/features/IL-marketplace/services/guideline.core.api.js +60 -1
  362. package/dist/cjs/features/IL-marketplace/services/guideline.core.api.js.map +1 -1
  363. package/dist/cjs/features/IL-marketplace/services/guideline.runtime.config.js +21 -1
  364. package/dist/cjs/features/IL-marketplace/services/guideline.runtime.config.js.map +1 -1
  365. package/dist/cjs/features/IL-marketplace/services/guideline.session.js +37 -1
  366. package/dist/cjs/features/IL-marketplace/services/guideline.session.js.map +1 -1
  367. package/dist/cjs/features/IL-marketplace/services/instant-learning.api.js +41 -1
  368. package/dist/cjs/features/IL-marketplace/services/instant-learning.api.js.map +1 -1
  369. package/dist/cjs/features/IL-marketplace/store/usePublishTemplateStore.js +21 -1
  370. package/dist/cjs/features/IL-marketplace/store/usePublishTemplateStore.js.map +1 -1
  371. package/dist/cjs/features/IL-marketplace/store/usePublishingFlowConfigStore.js +121 -1
  372. package/dist/cjs/features/IL-marketplace/store/usePublishingFlowConfigStore.js.map +1 -1
  373. package/dist/cjs/features/IL-marketplace/utils/guidelineFiles.js +92 -1
  374. package/dist/cjs/features/IL-marketplace/utils/guidelineFiles.js.map +1 -1
  375. package/dist/cjs/features/IL-marketplace/utils/guidelineOverlay.js +27 -1
  376. package/dist/cjs/features/IL-marketplace/utils/guidelineOverlay.js.map +1 -1
  377. package/dist/cjs/features/IL-marketplace/utils/microfrontend.js +10 -1
  378. package/dist/cjs/features/IL-marketplace/utils/microfrontend.js.map +1 -1
  379. package/dist/cjs/features/IL-marketplace/utils/publishingFlow.js +98 -1
  380. package/dist/cjs/features/IL-marketplace/utils/publishingFlow.js.map +1 -1
  381. package/dist/cjs/features/IL-marketplace/utils/session.js +27 -1
  382. package/dist/cjs/features/IL-marketplace/utils/session.js.map +1 -1
  383. package/dist/cjs/features/IL-marketplace/utils.js +102 -1
  384. package/dist/cjs/features/IL-marketplace/utils.js.map +1 -1
  385. package/dist/cjs/features/IL-marketplace/workspace/useGuidelineWorkspace.js +251 -1
  386. package/dist/cjs/features/IL-marketplace/workspace/useGuidelineWorkspace.js.map +1 -1
  387. package/dist/cjs/features/IL-marketplace/workspace/workspace.context.js +11 -1
  388. package/dist/cjs/features/IL-marketplace/workspace/workspace.context.js.map +1 -1
  389. package/dist/cjs/features/IL-marketplace/workspace/workspace.runtime.js +22 -1
  390. package/dist/cjs/features/IL-marketplace/workspace/workspace.runtime.js.map +1 -1
  391. package/dist/cjs/features/InstantLearning/InstantLearning.js +411 -1
  392. package/dist/cjs/features/InstantLearning/InstantLearning.js.map +1 -1
  393. package/dist/cjs/features/InstantLearning/InstantLearning.module.css.js +11 -1
  394. package/dist/cjs/features/InstantLearning/InstantLearning.module.css.js.map +1 -1
  395. package/dist/cjs/features/InstantLearning/_components/AudioWaveform.js +135 -1
  396. package/dist/cjs/features/InstantLearning/_components/AudioWaveform.js.map +1 -1
  397. package/dist/cjs/features/InstantLearning/_components/ChatComponent.js +1986 -1
  398. package/dist/cjs/features/InstantLearning/_components/ChatComponent.js.map +1 -1
  399. package/dist/cjs/features/InstantLearning/_components/ConflictingLearningWarnCard.js +263 -1
  400. package/dist/cjs/features/InstantLearning/_components/ConflictingLearningWarnCard.js.map +1 -1
  401. package/dist/cjs/features/InstantLearning/_components/ConflictingLearningWarnCardDB.js +1404 -1
  402. package/dist/cjs/features/InstantLearning/_components/ConflictingLearningWarnCardDB.js.map +1 -1
  403. package/dist/cjs/features/InstantLearning/_components/ContextualChatComponent.js +2433 -1
  404. package/dist/cjs/features/InstantLearning/_components/ContextualChatComponent.js.map +1 -1
  405. package/dist/cjs/features/InstantLearning/_components/ContextualConflictDBCard.js +662 -1
  406. package/dist/cjs/features/InstantLearning/_components/ContextualConflictDBCard.js.map +1 -1
  407. package/dist/cjs/features/InstantLearning/_components/ContextualLearningForm.js +2578 -1
  408. package/dist/cjs/features/InstantLearning/_components/ContextualLearningForm.js.map +1 -1
  409. package/dist/cjs/features/InstantLearning/_components/GeneralizationAccordion.js +553 -1
  410. package/dist/cjs/features/InstantLearning/_components/GeneralizationAccordion.js.map +1 -1
  411. package/dist/cjs/features/InstantLearning/_components/LearningDetailsForm.js +2314 -1
  412. package/dist/cjs/features/InstantLearning/_components/LearningDetailsForm.js.map +1 -1
  413. package/dist/cjs/features/InstantLearning/_components/MessageRendering.js +821 -1
  414. package/dist/cjs/features/InstantLearning/_components/MessageRendering.js.map +1 -1
  415. package/dist/cjs/features/InstantLearning/_components/MinimizedThinkingSteps.js +209 -1
  416. package/dist/cjs/features/InstantLearning/_components/MinimizedThinkingSteps.js.map +1 -1
  417. package/dist/cjs/features/InstantLearning/_components/_svg/ArrowDown.js +24 -1
  418. package/dist/cjs/features/InstantLearning/_components/_svg/ArrowDown.js.map +1 -1
  419. package/dist/cjs/features/InstantLearning/_components/_svg/ArrowIconBlue.js +10 -1
  420. package/dist/cjs/features/InstantLearning/_components/_svg/ArrowIconBlue.js.map +1 -1
  421. package/dist/cjs/features/InstantLearning/_components/_svg/CompleteIconGreen.js +31 -1
  422. package/dist/cjs/features/InstantLearning/_components/_svg/CompleteIconGreen.js.map +1 -1
  423. package/dist/cjs/features/InstantLearning/_components/_svg/NewChatIcon.js +16 -1
  424. package/dist/cjs/features/InstantLearning/_components/_svg/NewChatIcon.js.map +1 -1
  425. package/dist/cjs/features/LearningManagement/AuditLog/AuditLog.js +324 -1
  426. package/dist/cjs/features/LearningManagement/AuditLog/AuditLog.js.map +1 -1
  427. package/dist/cjs/features/LearningManagement/AuditLog/AuditLog.module.css.js +11 -1
  428. package/dist/cjs/features/LearningManagement/AuditLog/AuditLog.module.css.js.map +1 -1
  429. package/dist/cjs/features/LearningManagement/AuditLog/ChangeLogDiff.js +344 -1
  430. package/dist/cjs/features/LearningManagement/AuditLog/ChangeLogDiff.js.map +1 -1
  431. package/dist/cjs/features/LearningManagement/LearningManagement.js +886 -1
  432. package/dist/cjs/features/LearningManagement/LearningManagement.js.map +1 -1
  433. package/dist/cjs/features/LearningManagement/LearningTemplateLayout.js +173 -1
  434. package/dist/cjs/features/LearningManagement/LearningTemplateLayout.js.map +1 -1
  435. package/dist/cjs/features/LearningManagement/RBAC/AccessManagementPanel.js +38 -1
  436. package/dist/cjs/features/LearningManagement/RBAC/AccessManagementPanel.js.map +1 -1
  437. package/dist/cjs/features/LearningManagement/RBAC/AccessPanel.js +71 -1
  438. package/dist/cjs/features/LearningManagement/RBAC/AccessPanel.js.map +1 -1
  439. package/dist/cjs/features/LearningManagement/RBAC/AccessPanel.module.css.js +11 -1
  440. package/dist/cjs/features/LearningManagement/RBAC/AccessPanel.module.css.js.map +1 -1
  441. package/dist/cjs/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.js +429 -1
  442. package/dist/cjs/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.js.map +1 -1
  443. package/dist/cjs/features/LearningManagement/RuleContent/AddScopeModal.js +353 -1
  444. package/dist/cjs/features/LearningManagement/RuleContent/AddScopeModal.js.map +1 -1
  445. package/dist/cjs/features/LearningManagement/RuleContent/ApprovalActionButton.js +79 -1
  446. package/dist/cjs/features/LearningManagement/RuleContent/ApprovalActionButton.js.map +1 -1
  447. package/dist/cjs/features/LearningManagement/RuleContent/ApprovalLearningDialog.js +409 -1
  448. package/dist/cjs/features/LearningManagement/RuleContent/ApprovalLearningDialog.js.map +1 -1
  449. package/dist/cjs/features/LearningManagement/RuleContent/ContentLogic.js +345 -1
  450. package/dist/cjs/features/LearningManagement/RuleContent/ContentLogic.js.map +1 -1
  451. package/dist/cjs/features/LearningManagement/RuleContent/DraftsAccordion.js +108 -1
  452. package/dist/cjs/features/LearningManagement/RuleContent/DraftsAccordion.js.map +1 -1
  453. package/dist/cjs/features/LearningManagement/RuleContent/HistorySkeleton.js +34 -1
  454. package/dist/cjs/features/LearningManagement/RuleContent/HistorySkeleton.js.map +1 -1
  455. package/dist/cjs/features/LearningManagement/RuleContent/InheritanceBreadcrumb.js +36 -1
  456. package/dist/cjs/features/LearningManagement/RuleContent/InheritanceBreadcrumb.js.map +1 -1
  457. package/dist/cjs/features/LearningManagement/RuleContent/InstructionPromptBlock.js +45 -1
  458. package/dist/cjs/features/LearningManagement/RuleContent/InstructionPromptBlock.js.map +1 -1
  459. package/dist/cjs/features/LearningManagement/RuleContent/OverrideTimeline.js +68 -1
  460. package/dist/cjs/features/LearningManagement/RuleContent/OverrideTimeline.js.map +1 -1
  461. package/dist/cjs/features/LearningManagement/RuleContent/PendingApprovalChip.js +27 -1
  462. package/dist/cjs/features/LearningManagement/RuleContent/PendingApprovalChip.js.map +1 -1
  463. package/dist/cjs/features/LearningManagement/RuleContent/RenameScopeModal.js +237 -1
  464. package/dist/cjs/features/LearningManagement/RuleContent/RenameScopeModal.js.map +1 -1
  465. package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordion.js +130 -1
  466. package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordion.js.map +1 -1
  467. package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordionHeader.js +259 -1
  468. package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordionHeader.js.map +1 -1
  469. package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordionShell.js +78 -1
  470. package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordionShell.js.map +1 -1
  471. package/dist/cjs/features/LearningManagement/RuleContent/RuleConditionBlock.js +83 -1
  472. package/dist/cjs/features/LearningManagement/RuleContent/RuleConditionBlock.js.map +1 -1
  473. package/dist/cjs/features/LearningManagement/RuleContent/RuleContent.js +726 -1
  474. package/dist/cjs/features/LearningManagement/RuleContent/RuleContent.js.map +1 -1
  475. package/dist/cjs/features/LearningManagement/RuleContent/RuleHeader.js +84 -1
  476. package/dist/cjs/features/LearningManagement/RuleContent/RuleHeader.js.map +1 -1
  477. package/dist/cjs/features/LearningManagement/RuleContent/RuleTierList.js +60 -1
  478. package/dist/cjs/features/LearningManagement/RuleContent/RuleTierList.js.map +1 -1
  479. package/dist/cjs/features/LearningManagement/RuleContent/TierCard.js +350 -1
  480. package/dist/cjs/features/LearningManagement/RuleContent/TierCard.js.map +1 -1
  481. package/dist/cjs/features/LearningManagement/RuleContent/VariantCard.js +592 -1
  482. package/dist/cjs/features/LearningManagement/RuleContent/VariantCard.js.map +1 -1
  483. package/dist/cjs/features/LearningManagement/RuleContent/VariantList.js +271 -1
  484. package/dist/cjs/features/LearningManagement/RuleContent/VariantList.js.map +1 -1
  485. package/dist/cjs/features/LearningManagement/ScopeSelector.js +222 -1
  486. package/dist/cjs/features/LearningManagement/ScopeSelector.js.map +1 -1
  487. package/dist/cjs/features/LearningManagement/Sidebar.js +70 -1
  488. package/dist/cjs/features/LearningManagement/Sidebar.js.map +1 -1
  489. package/dist/cjs/features/LearningManagement/SidebarWrapper.js +55 -1
  490. package/dist/cjs/features/LearningManagement/SidebarWrapper.js.map +1 -1
  491. package/dist/cjs/features/LearningManagement/StationsContent/StationsContent.js +118 -1
  492. package/dist/cjs/features/LearningManagement/StationsContent/StationsContent.js.map +1 -1
  493. package/dist/cjs/features/LearningManagement/apis/apiConfig.js +63 -1
  494. package/dist/cjs/features/LearningManagement/apis/apiConfig.js.map +1 -1
  495. package/dist/cjs/features/LearningManagement/apis/scopeApis.js +728 -1
  496. package/dist/cjs/features/LearningManagement/apis/scopeApis.js.map +1 -1
  497. package/dist/cjs/features/LearningManagement/assets/Vector.svg.js +38 -1
  498. package/dist/cjs/features/LearningManagement/assets/Vector.svg.js.map +1 -1
  499. package/dist/cjs/features/LearningManagement/components/CardSkeleton.js +36 -1
  500. package/dist/cjs/features/LearningManagement/components/CardSkeleton.js.map +1 -1
  501. package/dist/cjs/features/LearningManagement/components/ConfirmationModal.js +73 -1
  502. package/dist/cjs/features/LearningManagement/components/ConfirmationModal.js.map +1 -1
  503. package/dist/cjs/features/LearningManagement/components/CreateRuleSetLegacyModal.js +330 -1
  504. package/dist/cjs/features/LearningManagement/components/CreateRuleSetLegacyModal.js.map +1 -1
  505. package/dist/cjs/features/LearningManagement/components/CustomTooltip.js +54 -1
  506. package/dist/cjs/features/LearningManagement/components/CustomTooltip.js.map +1 -1
  507. package/dist/cjs/features/LearningManagement/components/EmptyLearningState.js +69 -1
  508. package/dist/cjs/features/LearningManagement/components/EmptyLearningState.js.map +1 -1
  509. package/dist/cjs/features/LearningManagement/components/ErrorStateDisplay.js +33 -1
  510. package/dist/cjs/features/LearningManagement/components/ErrorStateDisplay.js.map +1 -1
  511. package/dist/cjs/features/LearningManagement/components/InstantLearningModal.js +5521 -1
  512. package/dist/cjs/features/LearningManagement/components/InstantLearningModal.js.map +1 -1
  513. package/dist/cjs/features/LearningManagement/components/InstantLearningModalDynamic.js +5678 -1
  514. package/dist/cjs/features/LearningManagement/components/InstantLearningModalDynamic.js.map +1 -1
  515. package/dist/cjs/features/LearningManagement/components/LearningTemplateManagementSkeleton.js +75 -1
  516. package/dist/cjs/features/LearningManagement/components/LearningTemplateManagementSkeleton.js.map +1 -1
  517. package/dist/cjs/features/LearningManagement/components/PromptTextEditor.js +108 -1
  518. package/dist/cjs/features/LearningManagement/components/PromptTextEditor.js.map +1 -1
  519. package/dist/cjs/features/LearningManagement/components/RuleContentSkeleton.js +44 -1
  520. package/dist/cjs/features/LearningManagement/components/RuleContentSkeleton.js.map +1 -1
  521. package/dist/cjs/features/LearningManagement/components/ScopeSkeletonLoader.js +178 -1
  522. package/dist/cjs/features/LearningManagement/components/ScopeSkeletonLoader.js.map +1 -1
  523. package/dist/cjs/features/LearningManagement/components/ScopeTree/HighlightedText.js +19 -1
  524. package/dist/cjs/features/LearningManagement/components/ScopeTree/HighlightedText.js.map +1 -1
  525. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeAddAction.js +31 -1
  526. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeAddAction.js.map +1 -1
  527. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeMenu.js +135 -1
  528. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeMenu.js.map +1 -1
  529. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNode.js +272 -1
  530. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNode.js.map +1 -1
  531. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNodeHeader.js +73 -1
  532. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNodeHeader.js.map +1 -1
  533. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeSectionItem.js +37 -1
  534. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeSectionItem.js.map +1 -1
  535. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeSidebar.js +165 -1
  536. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeSidebar.js.map +1 -1
  537. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeTooltip.js +72 -1
  538. package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeTooltip.js.map +1 -1
  539. package/dist/cjs/features/LearningManagement/components/SidebarSearch.js +38 -1
  540. package/dist/cjs/features/LearningManagement/components/SidebarSearch.js.map +1 -1
  541. package/dist/cjs/features/LearningManagement/components/Skeleton.js +26 -1
  542. package/dist/cjs/features/LearningManagement/components/Skeleton.js.map +1 -1
  543. package/dist/cjs/features/LearningManagement/components/StationOnboarding/DayToggleSelector.js +92 -1
  544. package/dist/cjs/features/LearningManagement/components/StationOnboarding/DayToggleSelector.js.map +1 -1
  545. package/dist/cjs/features/LearningManagement/components/StationOnboarding/InputField.js +240 -1
  546. package/dist/cjs/features/LearningManagement/components/StationOnboarding/InputField.js.map +1 -1
  547. package/dist/cjs/features/LearningManagement/components/StationOnboarding/OnboardingLoader.js +170 -1
  548. package/dist/cjs/features/LearningManagement/components/StationOnboarding/OnboardingLoader.js.map +1 -1
  549. package/dist/cjs/features/LearningManagement/components/StationOnboarding/StationAutocomplete.js +125 -1
  550. package/dist/cjs/features/LearningManagement/components/StationOnboarding/StationAutocomplete.js.map +1 -1
  551. package/dist/cjs/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js +994 -1
  552. package/dist/cjs/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js.map +1 -1
  553. package/dist/cjs/features/LearningManagement/components/StationOnboarding/TemplateCard.js +74 -1
  554. package/dist/cjs/features/LearningManagement/components/StationOnboarding/TemplateCard.js.map +1 -1
  555. package/dist/cjs/features/LearningManagement/components/ToolTip.js +48 -1
  556. package/dist/cjs/features/LearningManagement/components/ToolTip.js.map +1 -1
  557. package/dist/cjs/features/LearningManagement/config.js +75 -1
  558. package/dist/cjs/features/LearningManagement/config.js.map +1 -1
  559. package/dist/cjs/features/LearningManagement/constants.js +29 -1
  560. package/dist/cjs/features/LearningManagement/constants.js.map +1 -1
  561. package/dist/cjs/features/LearningManagement/hooks/useLearningTemplateQueryParams.js +79 -1
  562. package/dist/cjs/features/LearningManagement/hooks/useLearningTemplateQueryParams.js.map +1 -1
  563. package/dist/cjs/features/LearningManagement/queries/useApprovalQueries.js +69 -1
  564. package/dist/cjs/features/LearningManagement/queries/useApprovalQueries.js.map +1 -1
  565. package/dist/cjs/features/LearningManagement/queries/useLMSConfigQuery.js +66 -1
  566. package/dist/cjs/features/LearningManagement/queries/useLMSConfigQuery.js.map +1 -1
  567. package/dist/cjs/features/LearningManagement/shared/ErrorToastContent.js +23 -1
  568. package/dist/cjs/features/LearningManagement/shared/ErrorToastContent.js.map +1 -1
  569. package/dist/cjs/features/LearningManagement/shared/SuccessToastContent.js +23 -1
  570. package/dist/cjs/features/LearningManagement/shared/SuccessToastContent.js.map +1 -1
  571. package/dist/cjs/features/LearningManagement/store/useAppSecRolesStore.js +12 -1
  572. package/dist/cjs/features/LearningManagement/store/useAppSecRolesStore.js.map +1 -1
  573. package/dist/cjs/features/LearningManagement/store/useAuthStore.js +19 -1
  574. package/dist/cjs/features/LearningManagement/store/useAuthStore.js.map +1 -1
  575. package/dist/cjs/features/LearningManagement/store/useConfigStore.js +47 -1
  576. package/dist/cjs/features/LearningManagement/store/useConfigStore.js.map +1 -1
  577. package/dist/cjs/features/LearningManagement/store/useEnvStore.js +27 -1
  578. package/dist/cjs/features/LearningManagement/store/useEnvStore.js.map +1 -1
  579. package/dist/cjs/features/LearningManagement/store/useExternalWorkflowStore.js +60 -1
  580. package/dist/cjs/features/LearningManagement/store/useExternalWorkflowStore.js.map +1 -1
  581. package/dist/cjs/features/LearningManagement/store/useLMSConfigStore.js +285 -1
  582. package/dist/cjs/features/LearningManagement/store/useLMSConfigStore.js.map +1 -1
  583. package/dist/cjs/features/LearningManagement/store/useLearningTemplateStore.js +132 -1
  584. package/dist/cjs/features/LearningManagement/store/useLearningTemplateStore.js.map +1 -1
  585. package/dist/cjs/features/LearningManagement/store/usePermissionsStore.js +80 -1
  586. package/dist/cjs/features/LearningManagement/store/usePermissionsStore.js.map +1 -1
  587. package/dist/cjs/features/LearningManagement/styles/CardSkeleton.module.css.js +11 -1
  588. package/dist/cjs/features/LearningManagement/styles/CardSkeleton.module.css.js.map +1 -1
  589. package/dist/cjs/features/LearningManagement/styles/ConfirmationModal.module.css.js +11 -1
  590. package/dist/cjs/features/LearningManagement/styles/ConfirmationModal.module.css.js.map +1 -1
  591. package/dist/cjs/features/LearningManagement/styles/CustomTooltip.module.css.js +11 -1
  592. package/dist/cjs/features/LearningManagement/styles/CustomTooltip.module.css.js.map +1 -1
  593. package/dist/cjs/features/LearningManagement/styles/DraftsAccordion.module.css.js +11 -1
  594. package/dist/cjs/features/LearningManagement/styles/DraftsAccordion.module.css.js.map +1 -1
  595. package/dist/cjs/features/LearningManagement/styles/EmptyRuleState.module.css.js +11 -1
  596. package/dist/cjs/features/LearningManagement/styles/EmptyRuleState.module.css.js.map +1 -1
  597. package/dist/cjs/features/LearningManagement/styles/ErrorStateDisplay.module.css.js +11 -1
  598. package/dist/cjs/features/LearningManagement/styles/ErrorStateDisplay.module.css.js.map +1 -1
  599. package/dist/cjs/features/LearningManagement/styles/InputField.module.css.js +11 -1
  600. package/dist/cjs/features/LearningManagement/styles/InputField.module.css.js.map +1 -1
  601. package/dist/cjs/features/LearningManagement/styles/InstantLearningModal.module.css.js +11 -1
  602. package/dist/cjs/features/LearningManagement/styles/InstantLearningModal.module.css.js.map +1 -1
  603. package/dist/cjs/features/LearningManagement/styles/LearningContent.module.css.js +11 -1
  604. package/dist/cjs/features/LearningManagement/styles/LearningContent.module.css.js.map +1 -1
  605. package/dist/cjs/features/LearningManagement/styles/LearningContentSkeleton.module.css.js +11 -1
  606. package/dist/cjs/features/LearningManagement/styles/LearningContentSkeleton.module.css.js.map +1 -1
  607. package/dist/cjs/features/LearningManagement/styles/LearningTemplateLayout.module.css.js +11 -1
  608. package/dist/cjs/features/LearningManagement/styles/LearningTemplateLayout.module.css.js.map +1 -1
  609. package/dist/cjs/features/LearningManagement/styles/LearningTemplateManagement.module.css.js +11 -1
  610. package/dist/cjs/features/LearningManagement/styles/LearningTemplateManagement.module.css.js.map +1 -1
  611. package/dist/cjs/features/LearningManagement/styles/LearningTemplateManagementSkeleton.module.css.js +11 -1
  612. package/dist/cjs/features/LearningManagement/styles/LearningTemplateManagementSkeleton.module.css.js.map +1 -1
  613. package/dist/cjs/features/LearningManagement/styles/OnboardingLoader.module.css.js +11 -1
  614. package/dist/cjs/features/LearningManagement/styles/OnboardingLoader.module.css.js.map +1 -1
  615. package/dist/cjs/features/LearningManagement/styles/OverrideTimeline.module.css.js +11 -1
  616. package/dist/cjs/features/LearningManagement/styles/OverrideTimeline.module.css.js.map +1 -1
  617. package/dist/cjs/features/LearningManagement/styles/PromptTextEditor.module.css.js +11 -1
  618. package/dist/cjs/features/LearningManagement/styles/PromptTextEditor.module.css.js.map +1 -1
  619. package/dist/cjs/features/LearningManagement/styles/RuleAccordion.module.css.js +11 -1
  620. package/dist/cjs/features/LearningManagement/styles/RuleAccordion.module.css.js.map +1 -1
  621. package/dist/cjs/features/LearningManagement/styles/RuleHeader.module.css.js +11 -1
  622. package/dist/cjs/features/LearningManagement/styles/RuleHeader.module.css.js.map +1 -1
  623. package/dist/cjs/features/LearningManagement/styles/RuleTierList.module.css.js +11 -1
  624. package/dist/cjs/features/LearningManagement/styles/RuleTierList.module.css.js.map +1 -1
  625. package/dist/cjs/features/LearningManagement/styles/ScopeTree.module.css.js +11 -1
  626. package/dist/cjs/features/LearningManagement/styles/ScopeTree.module.css.js.map +1 -1
  627. package/dist/cjs/features/LearningManagement/styles/Sidebar.module.css.js +11 -1
  628. package/dist/cjs/features/LearningManagement/styles/Sidebar.module.css.js.map +1 -1
  629. package/dist/cjs/features/LearningManagement/styles/StationAutocomplete.module.css.js +11 -1
  630. package/dist/cjs/features/LearningManagement/styles/StationAutocomplete.module.css.js.map +1 -1
  631. package/dist/cjs/features/LearningManagement/styles/StationOnboardModal.module.css.js +11 -1
  632. package/dist/cjs/features/LearningManagement/styles/StationOnboardModal.module.css.js.map +1 -1
  633. package/dist/cjs/features/LearningManagement/styles/StationsContent.module.css.js +11 -1
  634. package/dist/cjs/features/LearningManagement/styles/StationsContent.module.css.js.map +1 -1
  635. package/dist/cjs/features/LearningManagement/styles/TemplateCard.module.css.js +11 -1
  636. package/dist/cjs/features/LearningManagement/styles/TemplateCard.module.css.js.map +1 -1
  637. package/dist/cjs/features/LearningManagement/styles/TierCard.module.css.js +11 -1
  638. package/dist/cjs/features/LearningManagement/styles/TierCard.module.css.js.map +1 -1
  639. package/dist/cjs/features/LearningManagement/styles/ToastContent.module.css.js +11 -1
  640. package/dist/cjs/features/LearningManagement/styles/ToastContent.module.css.js.map +1 -1
  641. package/dist/cjs/features/LearningManagement/styles/ToolTip.module.css.js +11 -1
  642. package/dist/cjs/features/LearningManagement/styles/ToolTip.module.css.js.map +1 -1
  643. package/dist/cjs/features/LearningManagement/styles/VariantCard.module.css.js +11 -1
  644. package/dist/cjs/features/LearningManagement/styles/VariantCard.module.css.js.map +1 -1
  645. package/dist/cjs/features/LearningManagement/styles/VariantList.module.css.js +11 -1
  646. package/dist/cjs/features/LearningManagement/styles/VariantList.module.css.js.map +1 -1
  647. package/dist/cjs/features/LearningManagement/styles/common.module.css.js +11 -1
  648. package/dist/cjs/features/LearningManagement/styles/common.module.css.js.map +1 -1
  649. package/dist/cjs/features/LearningManagement/styles/skeleton.module.css.js +11 -1
  650. package/dist/cjs/features/LearningManagement/styles/skeleton.module.css.js.map +1 -1
  651. package/dist/cjs/features/LearningManagement/utils/learningFlow.js +14 -1
  652. package/dist/cjs/features/LearningManagement/utils/learningFlow.js.map +1 -1
  653. package/dist/cjs/features/LearningManagement/utils/learningMetadataUtils.js +73 -1
  654. package/dist/cjs/features/LearningManagement/utils/learningMetadataUtils.js.map +1 -1
  655. package/dist/cjs/features/LearningManagement/utils/saveDraft.js +35 -1
  656. package/dist/cjs/features/LearningManagement/utils/saveDraft.js.map +1 -1
  657. package/dist/cjs/features/LearningManagement/utils/treeUtils.js +44 -1
  658. package/dist/cjs/features/LearningManagement/utils/treeUtils.js.map +1 -1
  659. package/dist/cjs/features/WtaWnta/WtaWnta.js +427 -1
  660. package/dist/cjs/features/WtaWnta/WtaWnta.js.map +1 -1
  661. package/dist/cjs/features/WtaWnta/WtaWnta.module.css.js +11 -1
  662. package/dist/cjs/features/WtaWnta/WtaWnta.module.css.js.map +1 -1
  663. package/dist/cjs/features/WtaWnta/_components/AgentDetailsForm.js +982 -1
  664. package/dist/cjs/features/WtaWnta/_components/AgentDetailsForm.js.map +1 -1
  665. package/dist/cjs/features/WtaWnta/_components/SimilarConflictingCard.js +244 -1
  666. package/dist/cjs/features/WtaWnta/_components/SimilarConflictingCard.js.map +1 -1
  667. package/dist/cjs/features/WtaWnta/_components/ValidationCard.js +303 -1
  668. package/dist/cjs/features/WtaWnta/_components/ValidationCard.js.map +1 -1
  669. package/dist/cjs/hooks/useAgentFix.js +50 -1
  670. package/dist/cjs/hooks/useAgentFix.js.map +1 -1
  671. package/dist/cjs/hooks/useAgentSuggestions.js +58 -1
  672. package/dist/cjs/hooks/useAgentSuggestions.js.map +1 -1
  673. package/dist/cjs/hooks/useAgentValidation.js +55 -1
  674. package/dist/cjs/hooks/useAgentValidation.js.map +1 -1
  675. package/dist/cjs/hooks/useDebounce.js +20 -1
  676. package/dist/cjs/hooks/useDebounce.js.map +1 -1
  677. package/dist/cjs/hooks/useExistingAgentCheck.js +49 -1
  678. package/dist/cjs/hooks/useExistingAgentCheck.js.map +1 -1
  679. package/dist/cjs/hooks/useExistingPromptCheck.js +55 -1
  680. package/dist/cjs/hooks/useExistingPromptCheck.js.map +1 -1
  681. package/dist/cjs/hooks/usePromptFix.js +49 -1
  682. package/dist/cjs/hooks/usePromptFix.js.map +1 -1
  683. package/dist/cjs/hooks/usePromptSuggestions.js +55 -1
  684. package/dist/cjs/hooks/usePromptSuggestions.js.map +1 -1
  685. package/dist/cjs/hooks/usePromptValidation.js +57 -1
  686. package/dist/cjs/hooks/usePromptValidation.js.map +1 -1
  687. package/dist/cjs/index.js +157 -1
  688. package/dist/cjs/index.js.map +1 -1
  689. package/dist/cjs/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +32 -1
  690. package/dist/cjs/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +1 -1
  691. package/dist/cjs/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js +183 -1
  692. package/dist/cjs/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js.map +1 -1
  693. package/dist/cjs/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js +160 -1
  694. package/dist/cjs/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js.map +1 -1
  695. package/dist/cjs/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js +70 -1
  696. package/dist/cjs/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js.map +1 -1
  697. package/dist/cjs/schema-driven/BPARenderer.js +183 -1
  698. package/dist/cjs/schema-driven/BPARenderer.js.map +1 -1
  699. package/dist/cjs/schema-driven/FallbackField.js +37 -1
  700. package/dist/cjs/schema-driven/FallbackField.js.map +1 -1
  701. package/dist/cjs/schema-driven/components/ConditionSectionField.js +44 -1
  702. package/dist/cjs/schema-driven/components/ConditionSectionField.js.map +1 -1
  703. package/dist/cjs/schema-driven/components/ConfigSectionField.js +20 -1
  704. package/dist/cjs/schema-driven/components/ConfigSectionField.js.map +1 -1
  705. package/dist/cjs/schema-driven/components/DropdownSectionField.js +35 -1
  706. package/dist/cjs/schema-driven/components/DropdownSectionField.js.map +1 -1
  707. package/dist/cjs/schema-driven/components/GlobalSetupAccordionField.js +186 -1
  708. package/dist/cjs/schema-driven/components/GlobalSetupAccordionField.js.map +1 -1
  709. package/dist/cjs/schema-driven/components/GroupEditRow.js +170 -1
  710. package/dist/cjs/schema-driven/components/GroupEditRow.js.map +1 -1
  711. package/dist/cjs/schema-driven/components/PromptTextEditorField.js +215 -1
  712. package/dist/cjs/schema-driven/components/PromptTextEditorField.js.map +1 -1
  713. package/dist/cjs/schema-driven/components/ScopeSectionField.js +25 -1
  714. package/dist/cjs/schema-driven/components/ScopeSectionField.js.map +1 -1
  715. package/dist/cjs/schema-driven/components/TableComponent.js +393 -1
  716. package/dist/cjs/schema-driven/components/TableComponent.js.map +1 -1
  717. package/dist/cjs/schema-driven/components/TextInputField.js +51 -1
  718. package/dist/cjs/schema-driven/components/TextInputField.js.map +1 -1
  719. package/dist/cjs/schema-driven/components/VariantListField.js +341 -1
  720. package/dist/cjs/schema-driven/components/VariantListField.js.map +1 -1
  721. package/dist/cjs/schema-driven/helper.js +123 -1
  722. package/dist/cjs/schema-driven/helper.js.map +1 -1
  723. package/dist/cjs/schema-driven/hooks/useParentEditEnabled.js +23 -1
  724. package/dist/cjs/schema-driven/hooks/useParentEditEnabled.js.map +1 -1
  725. package/dist/cjs/schema-driven/hooks/useSectionEditSession.js +162 -1
  726. package/dist/cjs/schema-driven/hooks/useSectionEditSession.js.map +1 -1
  727. package/dist/cjs/schema-driven/primitives/Accordion.js +164 -1
  728. package/dist/cjs/schema-driven/primitives/Accordion.js.map +1 -1
  729. package/dist/cjs/schema-driven/store/useDynamicFormStore.js +124 -1
  730. package/dist/cjs/schema-driven/store/useDynamicFormStore.js.map +1 -1
  731. package/dist/cjs/schema-driven/types.js +19 -1
  732. package/dist/cjs/schema-driven/types.js.map +1 -1
  733. package/dist/cjs/schema-driven/utils/PayloadUtils.js +258 -1
  734. package/dist/cjs/schema-driven/utils/PayloadUtils.js.map +1 -1
  735. package/dist/cjs/schema-driven/utils/aiReasoning.js +12 -1
  736. package/dist/cjs/schema-driven/utils/aiReasoning.js.map +1 -1
  737. package/dist/cjs/schema-driven/utils/conditionText.js +22 -1
  738. package/dist/cjs/schema-driven/utils/conditionText.js.map +1 -1
  739. package/dist/cjs/schema-driven/utils/editLock.js +52 -1
  740. package/dist/cjs/schema-driven/utils/editLock.js.map +1 -1
  741. package/dist/cjs/service/InstantLearningService.js +37 -1
  742. package/dist/cjs/service/InstantLearningService.js.map +1 -1
  743. package/dist/cjs/utils/agentGenieAPI.js +118 -1
  744. package/dist/cjs/utils/agentGenieAPI.js.map +1 -1
  745. package/dist/cjs/utils/bookGenieAPI.js +18 -1
  746. package/dist/cjs/utils/bookGenieAPI.js.map +1 -1
  747. package/dist/cjs/utils/instantLearning.utils.js +16 -1
  748. package/dist/cjs/utils/instantLearning.utils.js.map +1 -1
  749. package/dist/cjs/utils/instantLearningAPI.js +83 -1
  750. package/dist/cjs/utils/instantLearningAPI.js.map +1 -1
  751. package/dist/cjs/utils/recommendationParser.js +22 -1
  752. package/dist/cjs/utils/recommendationParser.js.map +1 -1
  753. package/dist/cjs/utils/variantParser.js +64 -1
  754. package/dist/cjs/utils/variantParser.js.map +1 -1
  755. package/dist/features/DocumentLearning/DocumentLearning.js +290 -1
  756. package/dist/features/DocumentLearning/DocumentLearning.js.map +1 -1
  757. package/dist/features/DocumentLearning/InstantLearning.module.css.js +7 -1
  758. package/dist/features/DocumentLearning/InstantLearning.module.css.js.map +1 -1
  759. package/dist/features/DocumentLearning/_components/AudioWaveform.js +131 -1
  760. package/dist/features/DocumentLearning/_components/AudioWaveform.js.map +1 -1
  761. package/dist/features/DocumentLearning/_components/BookLearningForm.js +1322 -1
  762. package/dist/features/DocumentLearning/_components/BookLearningForm.js.map +1 -1
  763. package/dist/features/DocumentLearning/_components/ChatComponent.js +1962 -1
  764. package/dist/features/DocumentLearning/_components/ChatComponent.js.map +1 -1
  765. package/dist/features/DocumentLearning/_components/ConflictingLearningWarnCard.js +254 -1
  766. package/dist/features/DocumentLearning/_components/ConflictingLearningWarnCard.js.map +1 -1
  767. package/dist/features/DocumentLearning/_components/MessageRendering.js +695 -1
  768. package/dist/features/DocumentLearning/_components/MessageRendering.js.map +1 -1
  769. package/dist/features/DocumentLearning/_components/_svg/NewChatIcon.js +12 -1
  770. package/dist/features/DocumentLearning/_components/_svg/NewChatIcon.js.map +1 -1
  771. package/dist/features/IL-OTJ/ILOTJ.js +663 -1
  772. package/dist/features/IL-OTJ/ILOTJ.js.map +1 -1
  773. package/dist/features/IL-OTJ/ILOTJTest.js +21 -1
  774. package/dist/features/IL-OTJ/ILOTJTest.js.map +1 -1
  775. package/dist/features/IL-OTJ/InstantLearning.module.css.js +7 -1
  776. package/dist/features/IL-OTJ/InstantLearning.module.css.js.map +1 -1
  777. package/dist/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.js +191 -1
  778. package/dist/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.js.map +1 -1
  779. package/dist/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js +133 -1
  780. package/dist/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js.map +1 -1
  781. package/dist/features/IL-OTJ/_components/AccordianSection.js +188 -1
  782. package/dist/features/IL-OTJ/_components/AccordianSection.js.map +1 -1
  783. package/dist/features/IL-OTJ/_components/AudioWaveform.js +131 -1
  784. package/dist/features/IL-OTJ/_components/AudioWaveform.js.map +1 -1
  785. package/dist/features/IL-OTJ/_components/ChatComponents/ChatComponent.js +1337 -1
  786. package/dist/features/IL-OTJ/_components/ChatComponents/ChatComponent.js.map +1 -1
  787. package/dist/features/IL-OTJ/_components/ChatComponents/ChatComponent.module.css.js +7 -1
  788. package/dist/features/IL-OTJ/_components/ChatComponents/ChatComponent.module.css.js.map +1 -1
  789. package/dist/features/IL-OTJ/_components/ChatComponents/ChatHeader.js +96 -1
  790. package/dist/features/IL-OTJ/_components/ChatComponents/ChatHeader.js.map +1 -1
  791. package/dist/features/IL-OTJ/_components/ChatComponents/ChatHeader.module.css.js +7 -1
  792. package/dist/features/IL-OTJ/_components/ChatComponents/ChatHeader.module.css.js.map +1 -1
  793. package/dist/features/IL-OTJ/_components/ChatComponents/NormalChat.js +1098 -1
  794. package/dist/features/IL-OTJ/_components/ChatComponents/NormalChat.js.map +1 -1
  795. package/dist/features/IL-OTJ/_components/CitationLink.js +364 -1
  796. package/dist/features/IL-OTJ/_components/CitationLink.js.map +1 -1
  797. package/dist/features/IL-OTJ/_components/ConflictingReasoningCard.js +173 -1
  798. package/dist/features/IL-OTJ/_components/ConflictingReasoningCard.js.map +1 -1
  799. package/dist/features/IL-OTJ/_components/CriticalGaps.js +699 -1
  800. package/dist/features/IL-OTJ/_components/CriticalGaps.js.map +1 -1
  801. package/dist/features/IL-OTJ/_components/GapExplanationAccordion.js +90 -1
  802. package/dist/features/IL-OTJ/_components/GapExplanationAccordion.js.map +1 -1
  803. package/dist/features/IL-OTJ/_components/ILPopup.js +130 -1
  804. package/dist/features/IL-OTJ/_components/ILPopup.js.map +1 -1
  805. package/dist/features/IL-OTJ/_components/ILPopup.styles.js +665 -1
  806. package/dist/features/IL-OTJ/_components/ILPopup.styles.js.map +1 -1
  807. package/dist/features/IL-OTJ/_components/InputDataReasoningCard.js +107 -1
  808. package/dist/features/IL-OTJ/_components/InputDataReasoningCard.js.map +1 -1
  809. package/dist/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.js +543 -1
  810. package/dist/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.js.map +1 -1
  811. package/dist/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.js +266 -1
  812. package/dist/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.js.map +1 -1
  813. package/dist/features/IL-OTJ/_components/MarkdownRenderer.js +293 -1
  814. package/dist/features/IL-OTJ/_components/MarkdownRenderer.js.map +1 -1
  815. package/dist/features/IL-OTJ/_components/MarkdownRenderer.module.css.js +7 -1
  816. package/dist/features/IL-OTJ/_components/MarkdownRenderer.module.css.js.map +1 -1
  817. package/dist/features/IL-OTJ/_components/MessageRendering/ChatFeedback.js +227 -1
  818. package/dist/features/IL-OTJ/_components/MessageRendering/ChatFeedback.js.map +1 -1
  819. package/dist/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js +609 -1
  820. package/dist/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js.map +1 -1
  821. package/dist/features/IL-OTJ/_components/MessageRendering/MessageRendering.js +863 -1
  822. package/dist/features/IL-OTJ/_components/MessageRendering/MessageRendering.js.map +1 -1
  823. package/dist/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js +129 -1
  824. package/dist/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js.map +1 -1
  825. package/dist/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.js +141 -1
  826. package/dist/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.js.map +1 -1
  827. package/dist/features/IL-OTJ/_components/TooltipComponent.js +28 -1
  828. package/dist/features/IL-OTJ/_components/TooltipComponent.js.map +1 -1
  829. package/dist/features/IL-OTJ/_components/VariantLoadingOverlay.js +58 -1
  830. package/dist/features/IL-OTJ/_components/VariantLoadingOverlay.js.map +1 -1
  831. package/dist/features/IL-OTJ/_components/ViewFormUpdateCard.js +186 -1
  832. package/dist/features/IL-OTJ/_components/ViewFormUpdateCard.js.map +1 -1
  833. package/dist/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.js +167 -1
  834. package/dist/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.js.map +1 -1
  835. package/dist/features/IL-OTJ/_components/_svg/BookIcon.js +6 -1
  836. package/dist/features/IL-OTJ/_components/_svg/BookIcon.js.map +1 -1
  837. package/dist/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.js +17 -1
  838. package/dist/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.js.map +1 -1
  839. package/dist/features/IL-OTJ/_components/_svg/ChevronDown.js +6 -1
  840. package/dist/features/IL-OTJ/_components/_svg/ChevronDown.js.map +1 -1
  841. package/dist/features/IL-OTJ/_components/_svg/ChevronUp.js +6 -1
  842. package/dist/features/IL-OTJ/_components/_svg/ChevronUp.js.map +1 -1
  843. package/dist/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.js +51 -1
  844. package/dist/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.js.map +1 -1
  845. package/dist/features/IL-OTJ/_components/_svg/CognitiveDecisioning.js +9 -1
  846. package/dist/features/IL-OTJ/_components/_svg/CognitiveDecisioning.js.map +1 -1
  847. package/dist/features/IL-OTJ/_components/_svg/EditPencilIcon.js +5 -1
  848. package/dist/features/IL-OTJ/_components/_svg/EditPencilIcon.js.map +1 -1
  849. package/dist/features/IL-OTJ/_components/_svg/GapIcon.js +19 -1
  850. package/dist/features/IL-OTJ/_components/_svg/GapIcon.js.map +1 -1
  851. package/dist/features/IL-OTJ/_components/_svg/InfoIcon.js +27 -1
  852. package/dist/features/IL-OTJ/_components/_svg/InfoIcon.js.map +1 -1
  853. package/dist/features/IL-OTJ/_components/_svg/Lightbulb.js +21 -1
  854. package/dist/features/IL-OTJ/_components/_svg/Lightbulb.js.map +1 -1
  855. package/dist/features/IL-OTJ/_components/_svg/NewChatIcon.js +48 -1
  856. package/dist/features/IL-OTJ/_components/_svg/NewChatIcon.js.map +1 -1
  857. package/dist/features/IL-OTJ/_components/_svg/PencilEdit.js +5 -1
  858. package/dist/features/IL-OTJ/_components/_svg/PencilEdit.js.map +1 -1
  859. package/dist/features/IL-OTJ/_components/_svg/RadioButton.js +44 -1
  860. package/dist/features/IL-OTJ/_components/_svg/RadioButton.js.map +1 -1
  861. package/dist/features/IL-OTJ/_components/_svg/RightSideIcons.js +55 -1
  862. package/dist/features/IL-OTJ/_components/_svg/RightSideIcons.js.map +1 -1
  863. package/dist/features/IL-OTJ/_components/_svg/ScrollToBottom.js +46 -1
  864. package/dist/features/IL-OTJ/_components/_svg/ScrollToBottom.js.map +1 -1
  865. package/dist/features/IL-OTJ/_components/_svg/SendButton.js +26 -1
  866. package/dist/features/IL-OTJ/_components/_svg/SendButton.js.map +1 -1
  867. package/dist/features/IL-OTJ/_components/_svg/SparkleIcon.js +26 -1
  868. package/dist/features/IL-OTJ/_components/_svg/SparkleIcon.js.map +1 -1
  869. package/dist/features/IL-OTJ/_components/_svg/TickIcon.js +33 -1
  870. package/dist/features/IL-OTJ/_components/_svg/TickIcon.js.map +1 -1
  871. package/dist/features/IL-OTJ/_components/_svg/UserIcon.js +23 -1
  872. package/dist/features/IL-OTJ/_components/_svg/UserIcon.js.map +1 -1
  873. package/dist/features/IL-OTJ/_components/atoms/Button/Button.js +8 -1
  874. package/dist/features/IL-OTJ/_components/atoms/Button/Button.js.map +1 -1
  875. package/dist/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.js +23 -1
  876. package/dist/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.js.map +1 -1
  877. package/dist/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.js +26 -1
  878. package/dist/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.js.map +1 -1
  879. package/dist/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.module.css.js +7 -1
  880. package/dist/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.module.css.js.map +1 -1
  881. package/dist/features/IL-OTJ/_components/atoms/Textarea/Textarea.js +226 -1
  882. package/dist/features/IL-OTJ/_components/atoms/Textarea/Textarea.js.map +1 -1
  883. package/dist/features/IL-OTJ/_components/atoms/Toggle/Toggle.js +16 -1
  884. package/dist/features/IL-OTJ/_components/atoms/Toggle/Toggle.js.map +1 -1
  885. package/dist/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.js +41 -1
  886. package/dist/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.js.map +1 -1
  887. package/dist/features/IL-OTJ/_components/hooks/usePendingEditHighlight.js +79 -1
  888. package/dist/features/IL-OTJ/_components/hooks/usePendingEditHighlight.js.map +1 -1
  889. package/dist/features/IL-OTJ/_components/hooks/useVariantEditSession.js +159 -1
  890. package/dist/features/IL-OTJ/_components/hooks/useVariantEditSession.js.map +1 -1
  891. package/dist/features/IL-OTJ/_components/molecules/Condition/ConditionList.js +358 -1
  892. package/dist/features/IL-OTJ/_components/molecules/Condition/ConditionList.js.map +1 -1
  893. package/dist/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.js +77 -1
  894. package/dist/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.js.map +1 -1
  895. package/dist/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.js +58 -1
  896. package/dist/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.js.map +1 -1
  897. package/dist/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.js +63 -1
  898. package/dist/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.js.map +1 -1
  899. package/dist/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.js +293 -1
  900. package/dist/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.js.map +1 -1
  901. package/dist/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.js +53 -1
  902. package/dist/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.js.map +1 -1
  903. package/dist/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.js +161 -1
  904. package/dist/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.js.map +1 -1
  905. package/dist/features/IL-OTJ/_components/organisms/TextSection/TextSection.js +189 -1
  906. package/dist/features/IL-OTJ/_components/organisms/TextSection/TextSection.js.map +1 -1
  907. package/dist/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.js +662 -1
  908. package/dist/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.js.map +1 -1
  909. package/dist/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.js +264 -1
  910. package/dist/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.js.map +1 -1
  911. package/dist/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.js +681 -1
  912. package/dist/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.js.map +1 -1
  913. package/dist/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.js +41 -1
  914. package/dist/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.js.map +1 -1
  915. package/dist/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.js +24 -1
  916. package/dist/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.js.map +1 -1
  917. package/dist/features/IL-OTJ/_components/templates/Testing/Testing.js +36 -1
  918. package/dist/features/IL-OTJ/_components/templates/Testing/Testing.js.map +1 -1
  919. package/dist/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.js +953 -1
  920. package/dist/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.js.map +1 -1
  921. package/dist/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.js +95 -1
  922. package/dist/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.js.map +1 -1
  923. package/dist/features/IL-OTJ/helpers/message-rendering-utils.js +118 -1
  924. package/dist/features/IL-OTJ/helpers/message-rendering-utils.js.map +1 -1
  925. package/dist/features/IL-OTJ/helpers/utils.js +144 -1
  926. package/dist/features/IL-OTJ/helpers/utils.js.map +1 -1
  927. package/dist/features/IL-OTJ/store/CitationsContext.js +47 -1
  928. package/dist/features/IL-OTJ/store/CitationsContext.js.map +1 -1
  929. package/dist/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.js +297 -1
  930. package/dist/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.js.map +1 -1
  931. package/dist/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.module.css.js +7 -1
  932. package/dist/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.module.css.js.map +1 -1
  933. package/dist/features/IL-marketplace/PromoteFlow/PromoteFlow.js +647 -1
  934. package/dist/features/IL-marketplace/PromoteFlow/PromoteFlow.js.map +1 -1
  935. package/dist/features/IL-marketplace/PromoteFlow/PromoteFlow.module.css.js +7 -1
  936. package/dist/features/IL-marketplace/PromoteFlow/PromoteFlow.module.css.js.map +1 -1
  937. package/dist/features/IL-marketplace/PromoteFlow/promote-flow.api.js +58 -1
  938. package/dist/features/IL-marketplace/PromoteFlow/promote-flow.api.js.map +1 -1
  939. package/dist/features/IL-marketplace/PromoteFlow/promote-flow.store.js +49 -1
  940. package/dist/features/IL-marketplace/PromoteFlow/promote-flow.store.js.map +1 -1
  941. package/dist/features/IL-marketplace/PromoteFlow/promote-flow.utils.js +63 -1
  942. package/dist/features/IL-marketplace/PromoteFlow/promote-flow.utils.js.map +1 -1
  943. package/dist/features/IL-marketplace/components/GuidelineCardMenu.js +105 -1
  944. package/dist/features/IL-marketplace/components/GuidelineCardMenu.js.map +1 -1
  945. package/dist/features/IL-marketplace/components/GuidelineCardMenu.module.css.js +7 -1
  946. package/dist/features/IL-marketplace/components/GuidelineCardMenu.module.css.js.map +1 -1
  947. package/dist/features/IL-marketplace/components/GuidelineCart.js +105 -1
  948. package/dist/features/IL-marketplace/components/GuidelineCart.js.map +1 -1
  949. package/dist/features/IL-marketplace/components/GuidelineCart.module.css.js +7 -1
  950. package/dist/features/IL-marketplace/components/GuidelineCart.module.css.js.map +1 -1
  951. package/dist/features/IL-marketplace/components/GuidelineCartHeader.js +72 -1
  952. package/dist/features/IL-marketplace/components/GuidelineCartHeader.js.map +1 -1
  953. package/dist/features/IL-marketplace/components/GuidelineCartHeader.module.css.js +7 -1
  954. package/dist/features/IL-marketplace/components/GuidelineCartHeader.module.css.js.map +1 -1
  955. package/dist/features/IL-marketplace/components/GuidelineCartItem.js +127 -1
  956. package/dist/features/IL-marketplace/components/GuidelineCartItem.js.map +1 -1
  957. package/dist/features/IL-marketplace/components/GuidelineCartItem.module.css.js +7 -1
  958. package/dist/features/IL-marketplace/components/GuidelineCartItem.module.css.js.map +1 -1
  959. package/dist/features/IL-marketplace/components/GuidelineConfirmDialog.js +126 -1
  960. package/dist/features/IL-marketplace/components/GuidelineConfirmDialog.js.map +1 -1
  961. package/dist/features/IL-marketplace/components/GuidelineConfirmDialog.module.css.js +7 -1
  962. package/dist/features/IL-marketplace/components/GuidelineConfirmDialog.module.css.js.map +1 -1
  963. package/dist/features/IL-marketplace/components/GuidelineEmptyState.js +41 -1
  964. package/dist/features/IL-marketplace/components/GuidelineEmptyState.js.map +1 -1
  965. package/dist/features/IL-marketplace/components/GuidelineEmptyState.module.css.js +7 -1
  966. package/dist/features/IL-marketplace/components/GuidelineEmptyState.module.css.js.map +1 -1
  967. package/dist/features/IL-marketplace/components/GuidelineFilterPanel.js +228 -1
  968. package/dist/features/IL-marketplace/components/GuidelineFilterPanel.js.map +1 -1
  969. package/dist/features/IL-marketplace/components/GuidelineFilterPanel.module.css.js +7 -1
  970. package/dist/features/IL-marketplace/components/GuidelineFilterPanel.module.css.js.map +1 -1
  971. package/dist/features/IL-marketplace/components/GuidelineHeader.js +117 -1
  972. package/dist/features/IL-marketplace/components/GuidelineHeader.js.map +1 -1
  973. package/dist/features/IL-marketplace/components/GuidelineHeader.module.css.js +7 -1
  974. package/dist/features/IL-marketplace/components/GuidelineHeader.module.css.js.map +1 -1
  975. package/dist/features/IL-marketplace/components/GuidelineIconButton.js +28 -1
  976. package/dist/features/IL-marketplace/components/GuidelineIconButton.js.map +1 -1
  977. package/dist/features/IL-marketplace/components/GuidelineIconButton.module.css.js +7 -1
  978. package/dist/features/IL-marketplace/components/GuidelineIconButton.module.css.js.map +1 -1
  979. package/dist/features/IL-marketplace/components/GuidelineLandingPage.js +466 -1
  980. package/dist/features/IL-marketplace/components/GuidelineLandingPage.js.map +1 -1
  981. package/dist/features/IL-marketplace/components/GuidelineLandingPage.module.css.js +7 -1
  982. package/dist/features/IL-marketplace/components/GuidelineLandingPage.module.css.js.map +1 -1
  983. package/dist/features/IL-marketplace/components/GuidelineLibrary.js +231 -1
  984. package/dist/features/IL-marketplace/components/GuidelineLibrary.js.map +1 -1
  985. package/dist/features/IL-marketplace/components/GuidelineLibrary.module.css.js +7 -1
  986. package/dist/features/IL-marketplace/components/GuidelineLibrary.module.css.js.map +1 -1
  987. package/dist/features/IL-marketplace/components/GuidelineLibraryCard.js +957 -1
  988. package/dist/features/IL-marketplace/components/GuidelineLibraryCard.js.map +1 -1
  989. package/dist/features/IL-marketplace/components/GuidelineLibraryCard.module.css.js +7 -1
  990. package/dist/features/IL-marketplace/components/GuidelineLibraryCard.module.css.js.map +1 -1
  991. package/dist/features/IL-marketplace/components/GuidelineLibraryContent.js +363 -1
  992. package/dist/features/IL-marketplace/components/GuidelineLibraryContent.js.map +1 -1
  993. package/dist/features/IL-marketplace/components/GuidelineLibraryTab.js +63 -1
  994. package/dist/features/IL-marketplace/components/GuidelineLibraryTab.js.map +1 -1
  995. package/dist/features/IL-marketplace/components/GuidelineProceedButton.js +62 -1
  996. package/dist/features/IL-marketplace/components/GuidelineProceedButton.js.map +1 -1
  997. package/dist/features/IL-marketplace/components/GuidelineProceedButton.module.css.js +7 -1
  998. package/dist/features/IL-marketplace/components/GuidelineProceedButton.module.css.js.map +1 -1
  999. package/dist/features/IL-marketplace/components/GuidelineSelectButton.js +30 -1
  1000. package/dist/features/IL-marketplace/components/GuidelineSelectButton.js.map +1 -1
  1001. package/dist/features/IL-marketplace/components/GuidelineSelectButton.module.css.js +7 -1
  1002. package/dist/features/IL-marketplace/components/GuidelineSelectButton.module.css.js.map +1 -1
  1003. package/dist/features/IL-marketplace/components/GuidelineStatusChip.js +30 -1
  1004. package/dist/features/IL-marketplace/components/GuidelineStatusChip.js.map +1 -1
  1005. package/dist/features/IL-marketplace/components/GuidelineStatusChip.module.css.js +7 -1
  1006. package/dist/features/IL-marketplace/components/GuidelineStatusChip.module.css.js.map +1 -1
  1007. package/dist/features/IL-marketplace/components/GuidelineTooltip.js +40 -1
  1008. package/dist/features/IL-marketplace/components/GuidelineTooltip.js.map +1 -1
  1009. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.js +8 -1
  1010. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.js.map +1 -1
  1011. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.js +8 -1
  1012. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.js.map +1 -1
  1013. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.js +8 -1
  1014. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.js.map +1 -1
  1015. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.js +8 -1
  1016. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.js.map +1 -1
  1017. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.js +132 -1
  1018. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.js.map +1 -1
  1019. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.js +17 -1
  1020. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.js.map +1 -1
  1021. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.module.css.js +7 -1
  1022. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.module.css.js.map +1 -1
  1023. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.js +12 -1
  1024. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.js.map +1 -1
  1025. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.module.css.js +7 -1
  1026. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.module.css.js.map +1 -1
  1027. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.js +35 -1
  1028. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.js.map +1 -1
  1029. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.module.css.js +7 -1
  1030. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.module.css.js.map +1 -1
  1031. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.js +83 -1
  1032. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.js.map +1 -1
  1033. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.module.css.js +7 -1
  1034. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.module.css.js.map +1 -1
  1035. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.js +4 -1
  1036. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.js.map +1 -1
  1037. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.js +447 -1
  1038. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.js.map +1 -1
  1039. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.module.css.js +7 -1
  1040. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.module.css.js.map +1 -1
  1041. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.js +140 -1
  1042. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.js.map +1 -1
  1043. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.module.css.js +7 -1
  1044. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.module.css.js.map +1 -1
  1045. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.js +30 -1
  1046. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.js.map +1 -1
  1047. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.js +50 -1
  1048. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.js.map +1 -1
  1049. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.module.css.js +7 -1
  1050. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.module.css.js.map +1 -1
  1051. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.js +20 -1
  1052. package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.js.map +1 -1
  1053. package/dist/features/IL-marketplace/components/LearningManagementWrapper.js +219 -1
  1054. package/dist/features/IL-marketplace/components/LearningManagementWrapper.js.map +1 -1
  1055. package/dist/features/IL-marketplace/components/VersionSelectDropdown.js +97 -1
  1056. package/dist/features/IL-marketplace/components/VersionSelectDropdown.js.map +1 -1
  1057. package/dist/features/IL-marketplace/components/VersionSelectDropdown.module.css.js +7 -1
  1058. package/dist/features/IL-marketplace/components/VersionSelectDropdown.module.css.js.map +1 -1
  1059. package/dist/features/IL-marketplace/constants.js +109 -1
  1060. package/dist/features/IL-marketplace/constants.js.map +1 -1
  1061. package/dist/features/IL-marketplace/hooks/useControllableState.js +29 -1
  1062. package/dist/features/IL-marketplace/hooks/useControllableState.js.map +1 -1
  1063. package/dist/features/IL-marketplace/hooks/useDeleteGuidelineMutation.js +24 -1
  1064. package/dist/features/IL-marketplace/hooks/useDeleteGuidelineMutation.js.map +1 -1
  1065. package/dist/features/IL-marketplace/hooks/useGuidelineSelection.js +40 -1
  1066. package/dist/features/IL-marketplace/hooks/useGuidelineSelection.js.map +1 -1
  1067. package/dist/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.js +24 -1
  1068. package/dist/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.js.map +1 -1
  1069. package/dist/features/IL-marketplace/hooks/useMarketplacePublishILKBData.js +59 -1
  1070. package/dist/features/IL-marketplace/hooks/useMarketplacePublishILKBData.js.map +1 -1
  1071. package/dist/features/IL-marketplace/hooks/usePublishingFlowConfig.js +40 -1
  1072. package/dist/features/IL-marketplace/hooks/usePublishingFlowConfig.js.map +1 -1
  1073. package/dist/features/IL-marketplace/icons/GuidelineSpinner.js +37 -1
  1074. package/dist/features/IL-marketplace/icons/GuidelineSpinner.js.map +1 -1
  1075. package/dist/features/IL-marketplace/marketplaceTheme.js +135 -1
  1076. package/dist/features/IL-marketplace/marketplaceTheme.js.map +1 -1
  1077. package/dist/features/IL-marketplace/queryClient.js +5 -1
  1078. package/dist/features/IL-marketplace/queryClient.js.map +1 -1
  1079. package/dist/features/IL-marketplace/services/IL-marketplace.api.js +142 -1
  1080. package/dist/features/IL-marketplace/services/IL-marketplace.api.js.map +1 -1
  1081. package/dist/features/IL-marketplace/services/guideline.cart.api.js +207 -1
  1082. package/dist/features/IL-marketplace/services/guideline.cart.api.js.map +1 -1
  1083. package/dist/features/IL-marketplace/services/guideline.core.api.js +53 -1
  1084. package/dist/features/IL-marketplace/services/guideline.core.api.js.map +1 -1
  1085. package/dist/features/IL-marketplace/services/guideline.runtime.config.js +15 -1
  1086. package/dist/features/IL-marketplace/services/guideline.runtime.config.js.map +1 -1
  1087. package/dist/features/IL-marketplace/services/guideline.session.js +29 -1
  1088. package/dist/features/IL-marketplace/services/guideline.session.js.map +1 -1
  1089. package/dist/features/IL-marketplace/services/instant-learning.api.js +36 -1
  1090. package/dist/features/IL-marketplace/services/instant-learning.api.js.map +1 -1
  1091. package/dist/features/IL-marketplace/store/usePublishTemplateStore.js +17 -1
  1092. package/dist/features/IL-marketplace/store/usePublishTemplateStore.js.map +1 -1
  1093. package/dist/features/IL-marketplace/store/usePublishingFlowConfigStore.js +116 -1
  1094. package/dist/features/IL-marketplace/store/usePublishingFlowConfigStore.js.map +1 -1
  1095. package/dist/features/IL-marketplace/utils/guidelineFiles.js +85 -1
  1096. package/dist/features/IL-marketplace/utils/guidelineFiles.js.map +1 -1
  1097. package/dist/features/IL-marketplace/utils/guidelineOverlay.js +23 -1
  1098. package/dist/features/IL-marketplace/utils/guidelineOverlay.js.map +1 -1
  1099. package/dist/features/IL-marketplace/utils/microfrontend.js +6 -1
  1100. package/dist/features/IL-marketplace/utils/microfrontend.js.map +1 -1
  1101. package/dist/features/IL-marketplace/utils/publishingFlow.js +91 -1
  1102. package/dist/features/IL-marketplace/utils/publishingFlow.js.map +1 -1
  1103. package/dist/features/IL-marketplace/utils/session.js +21 -1
  1104. package/dist/features/IL-marketplace/utils/session.js.map +1 -1
  1105. package/dist/features/IL-marketplace/utils.js +85 -1
  1106. package/dist/features/IL-marketplace/utils.js.map +1 -1
  1107. package/dist/features/IL-marketplace/workspace/useGuidelineWorkspace.js +242 -1
  1108. package/dist/features/IL-marketplace/workspace/useGuidelineWorkspace.js.map +1 -1
  1109. package/dist/features/IL-marketplace/workspace/workspace.context.js +6 -1
  1110. package/dist/features/IL-marketplace/workspace/workspace.context.js.map +1 -1
  1111. package/dist/features/IL-marketplace/workspace/workspace.runtime.js +16 -1
  1112. package/dist/features/IL-marketplace/workspace/workspace.runtime.js.map +1 -1
  1113. package/dist/features/InstantLearning/InstantLearning.js +407 -1
  1114. package/dist/features/InstantLearning/InstantLearning.js.map +1 -1
  1115. package/dist/features/InstantLearning/InstantLearning.module.css.js +7 -1
  1116. package/dist/features/InstantLearning/InstantLearning.module.css.js.map +1 -1
  1117. package/dist/features/InstantLearning/_components/AudioWaveform.js +131 -1
  1118. package/dist/features/InstantLearning/_components/AudioWaveform.js.map +1 -1
  1119. package/dist/features/InstantLearning/_components/ChatComponent.js +1976 -1
  1120. package/dist/features/InstantLearning/_components/ChatComponent.js.map +1 -1
  1121. package/dist/features/InstantLearning/_components/ConflictingLearningWarnCard.js +254 -1
  1122. package/dist/features/InstantLearning/_components/ConflictingLearningWarnCard.js.map +1 -1
  1123. package/dist/features/InstantLearning/_components/ConflictingLearningWarnCardDB.js +1391 -1
  1124. package/dist/features/InstantLearning/_components/ConflictingLearningWarnCardDB.js.map +1 -1
  1125. package/dist/features/InstantLearning/_components/ContextualChatComponent.js +2423 -1
  1126. package/dist/features/InstantLearning/_components/ContextualChatComponent.js.map +1 -1
  1127. package/dist/features/InstantLearning/_components/ContextualConflictDBCard.js +650 -1
  1128. package/dist/features/InstantLearning/_components/ContextualConflictDBCard.js.map +1 -1
  1129. package/dist/features/InstantLearning/_components/ContextualLearningForm.js +2565 -1
  1130. package/dist/features/InstantLearning/_components/ContextualLearningForm.js.map +1 -1
  1131. package/dist/features/InstantLearning/_components/GeneralizationAccordion.js +542 -1
  1132. package/dist/features/InstantLearning/_components/GeneralizationAccordion.js.map +1 -1
  1133. package/dist/features/InstantLearning/_components/LearningDetailsForm.js +2300 -1
  1134. package/dist/features/InstantLearning/_components/LearningDetailsForm.js.map +1 -1
  1135. package/dist/features/InstantLearning/_components/MessageRendering.js +811 -1
  1136. package/dist/features/InstantLearning/_components/MessageRendering.js.map +1 -1
  1137. package/dist/features/InstantLearning/_components/MinimizedThinkingSteps.js +201 -1
  1138. package/dist/features/InstantLearning/_components/MinimizedThinkingSteps.js.map +1 -1
  1139. package/dist/features/InstantLearning/_components/_svg/ArrowDown.js +20 -1
  1140. package/dist/features/InstantLearning/_components/_svg/ArrowDown.js.map +1 -1
  1141. package/dist/features/InstantLearning/_components/_svg/ArrowIconBlue.js +6 -1
  1142. package/dist/features/InstantLearning/_components/_svg/ArrowIconBlue.js.map +1 -1
  1143. package/dist/features/InstantLearning/_components/_svg/CompleteIconGreen.js +27 -1
  1144. package/dist/features/InstantLearning/_components/_svg/CompleteIconGreen.js.map +1 -1
  1145. package/dist/features/InstantLearning/_components/_svg/NewChatIcon.js +12 -1
  1146. package/dist/features/InstantLearning/_components/_svg/NewChatIcon.js.map +1 -1
  1147. package/dist/features/LearningManagement/AuditLog/AuditLog.js +320 -1
  1148. package/dist/features/LearningManagement/AuditLog/AuditLog.js.map +1 -1
  1149. package/dist/features/LearningManagement/AuditLog/AuditLog.module.css.js +7 -1
  1150. package/dist/features/LearningManagement/AuditLog/AuditLog.module.css.js.map +1 -1
  1151. package/dist/features/LearningManagement/AuditLog/ChangeLogDiff.js +340 -1
  1152. package/dist/features/LearningManagement/AuditLog/ChangeLogDiff.js.map +1 -1
  1153. package/dist/features/LearningManagement/LearningManagement.js +878 -1
  1154. package/dist/features/LearningManagement/LearningManagement.js.map +1 -1
  1155. package/dist/features/LearningManagement/LearningTemplateLayout.js +169 -1
  1156. package/dist/features/LearningManagement/LearningTemplateLayout.js.map +1 -1
  1157. package/dist/features/LearningManagement/RBAC/AccessManagementPanel.js +34 -1
  1158. package/dist/features/LearningManagement/RBAC/AccessManagementPanel.js.map +1 -1
  1159. package/dist/features/LearningManagement/RBAC/AccessPanel.js +67 -1
  1160. package/dist/features/LearningManagement/RBAC/AccessPanel.js.map +1 -1
  1161. package/dist/features/LearningManagement/RBAC/AccessPanel.module.css.js +7 -1
  1162. package/dist/features/LearningManagement/RBAC/AccessPanel.module.css.js.map +1 -1
  1163. package/dist/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.js +425 -1
  1164. package/dist/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.js.map +1 -1
  1165. package/dist/features/LearningManagement/RuleContent/AddScopeModal.js +349 -1
  1166. package/dist/features/LearningManagement/RuleContent/AddScopeModal.js.map +1 -1
  1167. package/dist/features/LearningManagement/RuleContent/ApprovalActionButton.js +75 -1
  1168. package/dist/features/LearningManagement/RuleContent/ApprovalActionButton.js.map +1 -1
  1169. package/dist/features/LearningManagement/RuleContent/ApprovalLearningDialog.js +399 -1
  1170. package/dist/features/LearningManagement/RuleContent/ApprovalLearningDialog.js.map +1 -1
  1171. package/dist/features/LearningManagement/RuleContent/ContentLogic.js +341 -1
  1172. package/dist/features/LearningManagement/RuleContent/ContentLogic.js.map +1 -1
  1173. package/dist/features/LearningManagement/RuleContent/DraftsAccordion.js +104 -1
  1174. package/dist/features/LearningManagement/RuleContent/DraftsAccordion.js.map +1 -1
  1175. package/dist/features/LearningManagement/RuleContent/HistorySkeleton.js +29 -1
  1176. package/dist/features/LearningManagement/RuleContent/HistorySkeleton.js.map +1 -1
  1177. package/dist/features/LearningManagement/RuleContent/InheritanceBreadcrumb.js +28 -1
  1178. package/dist/features/LearningManagement/RuleContent/InheritanceBreadcrumb.js.map +1 -1
  1179. package/dist/features/LearningManagement/RuleContent/InstructionPromptBlock.js +41 -1
  1180. package/dist/features/LearningManagement/RuleContent/InstructionPromptBlock.js.map +1 -1
  1181. package/dist/features/LearningManagement/RuleContent/OverrideTimeline.js +64 -1
  1182. package/dist/features/LearningManagement/RuleContent/OverrideTimeline.js.map +1 -1
  1183. package/dist/features/LearningManagement/RuleContent/PendingApprovalChip.js +23 -1
  1184. package/dist/features/LearningManagement/RuleContent/PendingApprovalChip.js.map +1 -1
  1185. package/dist/features/LearningManagement/RuleContent/RenameScopeModal.js +233 -1
  1186. package/dist/features/LearningManagement/RuleContent/RenameScopeModal.js.map +1 -1
  1187. package/dist/features/LearningManagement/RuleContent/RuleAccordion.js +126 -1
  1188. package/dist/features/LearningManagement/RuleContent/RuleAccordion.js.map +1 -1
  1189. package/dist/features/LearningManagement/RuleContent/RuleAccordionHeader.js +255 -1
  1190. package/dist/features/LearningManagement/RuleContent/RuleAccordionHeader.js.map +1 -1
  1191. package/dist/features/LearningManagement/RuleContent/RuleAccordionShell.js +74 -1
  1192. package/dist/features/LearningManagement/RuleContent/RuleAccordionShell.js.map +1 -1
  1193. package/dist/features/LearningManagement/RuleContent/RuleConditionBlock.js +75 -1
  1194. package/dist/features/LearningManagement/RuleContent/RuleConditionBlock.js.map +1 -1
  1195. package/dist/features/LearningManagement/RuleContent/RuleContent.js +722 -1
  1196. package/dist/features/LearningManagement/RuleContent/RuleContent.js.map +1 -1
  1197. package/dist/features/LearningManagement/RuleContent/RuleHeader.js +76 -1
  1198. package/dist/features/LearningManagement/RuleContent/RuleHeader.js.map +1 -1
  1199. package/dist/features/LearningManagement/RuleContent/RuleTierList.js +56 -1
  1200. package/dist/features/LearningManagement/RuleContent/RuleTierList.js.map +1 -1
  1201. package/dist/features/LearningManagement/RuleContent/TierCard.js +346 -1
  1202. package/dist/features/LearningManagement/RuleContent/TierCard.js.map +1 -1
  1203. package/dist/features/LearningManagement/RuleContent/VariantCard.js +588 -1
  1204. package/dist/features/LearningManagement/RuleContent/VariantCard.js.map +1 -1
  1205. package/dist/features/LearningManagement/RuleContent/VariantList.js +267 -1
  1206. package/dist/features/LearningManagement/RuleContent/VariantList.js.map +1 -1
  1207. package/dist/features/LearningManagement/ScopeSelector.js +218 -1
  1208. package/dist/features/LearningManagement/ScopeSelector.js.map +1 -1
  1209. package/dist/features/LearningManagement/Sidebar.js +66 -1
  1210. package/dist/features/LearningManagement/Sidebar.js.map +1 -1
  1211. package/dist/features/LearningManagement/SidebarWrapper.js +51 -1
  1212. package/dist/features/LearningManagement/SidebarWrapper.js.map +1 -1
  1213. package/dist/features/LearningManagement/StationsContent/StationsContent.js +114 -1
  1214. package/dist/features/LearningManagement/StationsContent/StationsContent.js.map +1 -1
  1215. package/dist/features/LearningManagement/apis/apiConfig.js +58 -1
  1216. package/dist/features/LearningManagement/apis/apiConfig.js.map +1 -1
  1217. package/dist/features/LearningManagement/apis/scopeApis.js +686 -1
  1218. package/dist/features/LearningManagement/apis/scopeApis.js.map +1 -1
  1219. package/dist/features/LearningManagement/assets/Vector.svg.js +14 -1
  1220. package/dist/features/LearningManagement/assets/Vector.svg.js.map +1 -1
  1221. package/dist/features/LearningManagement/components/CardSkeleton.js +32 -1
  1222. package/dist/features/LearningManagement/components/CardSkeleton.js.map +1 -1
  1223. package/dist/features/LearningManagement/components/ConfirmationModal.js +69 -1
  1224. package/dist/features/LearningManagement/components/ConfirmationModal.js.map +1 -1
  1225. package/dist/features/LearningManagement/components/CreateRuleSetLegacyModal.js +326 -1
  1226. package/dist/features/LearningManagement/components/CreateRuleSetLegacyModal.js.map +1 -1
  1227. package/dist/features/LearningManagement/components/CustomTooltip.js +50 -1
  1228. package/dist/features/LearningManagement/components/CustomTooltip.js.map +1 -1
  1229. package/dist/features/LearningManagement/components/EmptyLearningState.js +65 -1
  1230. package/dist/features/LearningManagement/components/EmptyLearningState.js.map +1 -1
  1231. package/dist/features/LearningManagement/components/ErrorStateDisplay.js +29 -1
  1232. package/dist/features/LearningManagement/components/ErrorStateDisplay.js.map +1 -1
  1233. package/dist/features/LearningManagement/components/InstantLearningModal.js +5512 -1
  1234. package/dist/features/LearningManagement/components/InstantLearningModal.js.map +1 -1
  1235. package/dist/features/LearningManagement/components/InstantLearningModalDynamic.js +5669 -1
  1236. package/dist/features/LearningManagement/components/InstantLearningModalDynamic.js.map +1 -1
  1237. package/dist/features/LearningManagement/components/LearningTemplateManagementSkeleton.js +71 -1
  1238. package/dist/features/LearningManagement/components/LearningTemplateManagementSkeleton.js.map +1 -1
  1239. package/dist/features/LearningManagement/components/PromptTextEditor.js +99 -1
  1240. package/dist/features/LearningManagement/components/PromptTextEditor.js.map +1 -1
  1241. package/dist/features/LearningManagement/components/RuleContentSkeleton.js +40 -1
  1242. package/dist/features/LearningManagement/components/RuleContentSkeleton.js.map +1 -1
  1243. package/dist/features/LearningManagement/components/ScopeSkeletonLoader.js +174 -1
  1244. package/dist/features/LearningManagement/components/ScopeSkeletonLoader.js.map +1 -1
  1245. package/dist/features/LearningManagement/components/ScopeTree/HighlightedText.js +15 -1
  1246. package/dist/features/LearningManagement/components/ScopeTree/HighlightedText.js.map +1 -1
  1247. package/dist/features/LearningManagement/components/ScopeTree/TreeAddAction.js +27 -1
  1248. package/dist/features/LearningManagement/components/ScopeTree/TreeAddAction.js.map +1 -1
  1249. package/dist/features/LearningManagement/components/ScopeTree/TreeMenu.js +131 -1
  1250. package/dist/features/LearningManagement/components/ScopeTree/TreeMenu.js.map +1 -1
  1251. package/dist/features/LearningManagement/components/ScopeTree/TreeNode.js +268 -1
  1252. package/dist/features/LearningManagement/components/ScopeTree/TreeNode.js.map +1 -1
  1253. package/dist/features/LearningManagement/components/ScopeTree/TreeNodeHeader.js +69 -1
  1254. package/dist/features/LearningManagement/components/ScopeTree/TreeNodeHeader.js.map +1 -1
  1255. package/dist/features/LearningManagement/components/ScopeTree/TreeSectionItem.js +33 -1
  1256. package/dist/features/LearningManagement/components/ScopeTree/TreeSectionItem.js.map +1 -1
  1257. package/dist/features/LearningManagement/components/ScopeTree/TreeSidebar.js +161 -1
  1258. package/dist/features/LearningManagement/components/ScopeTree/TreeSidebar.js.map +1 -1
  1259. package/dist/features/LearningManagement/components/ScopeTree/TreeTooltip.js +48 -1
  1260. package/dist/features/LearningManagement/components/ScopeTree/TreeTooltip.js.map +1 -1
  1261. package/dist/features/LearningManagement/components/SidebarSearch.js +34 -1
  1262. package/dist/features/LearningManagement/components/SidebarSearch.js.map +1 -1
  1263. package/dist/features/LearningManagement/components/Skeleton.js +22 -1
  1264. package/dist/features/LearningManagement/components/Skeleton.js.map +1 -1
  1265. package/dist/features/LearningManagement/components/StationOnboarding/DayToggleSelector.js +88 -1
  1266. package/dist/features/LearningManagement/components/StationOnboarding/DayToggleSelector.js.map +1 -1
  1267. package/dist/features/LearningManagement/components/StationOnboarding/InputField.js +236 -1
  1268. package/dist/features/LearningManagement/components/StationOnboarding/InputField.js.map +1 -1
  1269. package/dist/features/LearningManagement/components/StationOnboarding/OnboardingLoader.js +166 -1
  1270. package/dist/features/LearningManagement/components/StationOnboarding/OnboardingLoader.js.map +1 -1
  1271. package/dist/features/LearningManagement/components/StationOnboarding/StationAutocomplete.js +121 -1
  1272. package/dist/features/LearningManagement/components/StationOnboarding/StationAutocomplete.js.map +1 -1
  1273. package/dist/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js +990 -1
  1274. package/dist/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js.map +1 -1
  1275. package/dist/features/LearningManagement/components/StationOnboarding/TemplateCard.js +70 -1
  1276. package/dist/features/LearningManagement/components/StationOnboarding/TemplateCard.js.map +1 -1
  1277. package/dist/features/LearningManagement/components/ToolTip.js +20 -1
  1278. package/dist/features/LearningManagement/components/ToolTip.js.map +1 -1
  1279. package/dist/features/LearningManagement/config.js +69 -1
  1280. package/dist/features/LearningManagement/config.js.map +1 -1
  1281. package/dist/features/LearningManagement/constants.js +15 -1
  1282. package/dist/features/LearningManagement/constants.js.map +1 -1
  1283. package/dist/features/LearningManagement/hooks/useLearningTemplateQueryParams.js +72 -1
  1284. package/dist/features/LearningManagement/hooks/useLearningTemplateQueryParams.js.map +1 -1
  1285. package/dist/features/LearningManagement/queries/useApprovalQueries.js +62 -1
  1286. package/dist/features/LearningManagement/queries/useApprovalQueries.js.map +1 -1
  1287. package/dist/features/LearningManagement/queries/useLMSConfigQuery.js +62 -1
  1288. package/dist/features/LearningManagement/queries/useLMSConfigQuery.js.map +1 -1
  1289. package/dist/features/LearningManagement/shared/ErrorToastContent.js +19 -1
  1290. package/dist/features/LearningManagement/shared/ErrorToastContent.js.map +1 -1
  1291. package/dist/features/LearningManagement/shared/SuccessToastContent.js +19 -1
  1292. package/dist/features/LearningManagement/shared/SuccessToastContent.js.map +1 -1
  1293. package/dist/features/LearningManagement/store/useAppSecRolesStore.js +8 -1
  1294. package/dist/features/LearningManagement/store/useAppSecRolesStore.js.map +1 -1
  1295. package/dist/features/LearningManagement/store/useAuthStore.js +15 -1
  1296. package/dist/features/LearningManagement/store/useAuthStore.js.map +1 -1
  1297. package/dist/features/LearningManagement/store/useConfigStore.js +43 -1
  1298. package/dist/features/LearningManagement/store/useConfigStore.js.map +1 -1
  1299. package/dist/features/LearningManagement/store/useEnvStore.js +23 -1
  1300. package/dist/features/LearningManagement/store/useEnvStore.js.map +1 -1
  1301. package/dist/features/LearningManagement/store/useExternalWorkflowStore.js +56 -1
  1302. package/dist/features/LearningManagement/store/useExternalWorkflowStore.js.map +1 -1
  1303. package/dist/features/LearningManagement/store/useLMSConfigStore.js +271 -1
  1304. package/dist/features/LearningManagement/store/useLMSConfigStore.js.map +1 -1
  1305. package/dist/features/LearningManagement/store/useLearningTemplateStore.js +127 -1
  1306. package/dist/features/LearningManagement/store/useLearningTemplateStore.js.map +1 -1
  1307. package/dist/features/LearningManagement/store/usePermissionsStore.js +76 -1
  1308. package/dist/features/LearningManagement/store/usePermissionsStore.js.map +1 -1
  1309. package/dist/features/LearningManagement/styles/CardSkeleton.module.css.js +7 -1
  1310. package/dist/features/LearningManagement/styles/CardSkeleton.module.css.js.map +1 -1
  1311. package/dist/features/LearningManagement/styles/ConfirmationModal.module.css.js +7 -1
  1312. package/dist/features/LearningManagement/styles/ConfirmationModal.module.css.js.map +1 -1
  1313. package/dist/features/LearningManagement/styles/CustomTooltip.module.css.js +7 -1
  1314. package/dist/features/LearningManagement/styles/CustomTooltip.module.css.js.map +1 -1
  1315. package/dist/features/LearningManagement/styles/DraftsAccordion.module.css.js +7 -1
  1316. package/dist/features/LearningManagement/styles/DraftsAccordion.module.css.js.map +1 -1
  1317. package/dist/features/LearningManagement/styles/EmptyRuleState.module.css.js +7 -1
  1318. package/dist/features/LearningManagement/styles/EmptyRuleState.module.css.js.map +1 -1
  1319. package/dist/features/LearningManagement/styles/ErrorStateDisplay.module.css.js +7 -1
  1320. package/dist/features/LearningManagement/styles/ErrorStateDisplay.module.css.js.map +1 -1
  1321. package/dist/features/LearningManagement/styles/InputField.module.css.js +7 -1
  1322. package/dist/features/LearningManagement/styles/InputField.module.css.js.map +1 -1
  1323. package/dist/features/LearningManagement/styles/InstantLearningModal.module.css.js +7 -1
  1324. package/dist/features/LearningManagement/styles/InstantLearningModal.module.css.js.map +1 -1
  1325. package/dist/features/LearningManagement/styles/LearningContent.module.css.js +7 -1
  1326. package/dist/features/LearningManagement/styles/LearningContent.module.css.js.map +1 -1
  1327. package/dist/features/LearningManagement/styles/LearningContentSkeleton.module.css.js +7 -1
  1328. package/dist/features/LearningManagement/styles/LearningContentSkeleton.module.css.js.map +1 -1
  1329. package/dist/features/LearningManagement/styles/LearningTemplateLayout.module.css.js +7 -1
  1330. package/dist/features/LearningManagement/styles/LearningTemplateLayout.module.css.js.map +1 -1
  1331. package/dist/features/LearningManagement/styles/LearningTemplateManagement.module.css.js +7 -1
  1332. package/dist/features/LearningManagement/styles/LearningTemplateManagement.module.css.js.map +1 -1
  1333. package/dist/features/LearningManagement/styles/LearningTemplateManagementSkeleton.module.css.js +7 -1
  1334. package/dist/features/LearningManagement/styles/LearningTemplateManagementSkeleton.module.css.js.map +1 -1
  1335. package/dist/features/LearningManagement/styles/OnboardingLoader.module.css.js +7 -1
  1336. package/dist/features/LearningManagement/styles/OnboardingLoader.module.css.js.map +1 -1
  1337. package/dist/features/LearningManagement/styles/OverrideTimeline.module.css.js +7 -1
  1338. package/dist/features/LearningManagement/styles/OverrideTimeline.module.css.js.map +1 -1
  1339. package/dist/features/LearningManagement/styles/PromptTextEditor.module.css.js +7 -1
  1340. package/dist/features/LearningManagement/styles/PromptTextEditor.module.css.js.map +1 -1
  1341. package/dist/features/LearningManagement/styles/RuleAccordion.module.css.js +7 -1
  1342. package/dist/features/LearningManagement/styles/RuleAccordion.module.css.js.map +1 -1
  1343. package/dist/features/LearningManagement/styles/RuleHeader.module.css.js +7 -1
  1344. package/dist/features/LearningManagement/styles/RuleHeader.module.css.js.map +1 -1
  1345. package/dist/features/LearningManagement/styles/RuleTierList.module.css.js +7 -1
  1346. package/dist/features/LearningManagement/styles/RuleTierList.module.css.js.map +1 -1
  1347. package/dist/features/LearningManagement/styles/ScopeTree.module.css.js +7 -1
  1348. package/dist/features/LearningManagement/styles/ScopeTree.module.css.js.map +1 -1
  1349. package/dist/features/LearningManagement/styles/Sidebar.module.css.js +7 -1
  1350. package/dist/features/LearningManagement/styles/Sidebar.module.css.js.map +1 -1
  1351. package/dist/features/LearningManagement/styles/StationAutocomplete.module.css.js +7 -1
  1352. package/dist/features/LearningManagement/styles/StationAutocomplete.module.css.js.map +1 -1
  1353. package/dist/features/LearningManagement/styles/StationOnboardModal.module.css.js +7 -1
  1354. package/dist/features/LearningManagement/styles/StationOnboardModal.module.css.js.map +1 -1
  1355. package/dist/features/LearningManagement/styles/StationsContent.module.css.js +7 -1
  1356. package/dist/features/LearningManagement/styles/StationsContent.module.css.js.map +1 -1
  1357. package/dist/features/LearningManagement/styles/TemplateCard.module.css.js +7 -1
  1358. package/dist/features/LearningManagement/styles/TemplateCard.module.css.js.map +1 -1
  1359. package/dist/features/LearningManagement/styles/TierCard.module.css.js +7 -1
  1360. package/dist/features/LearningManagement/styles/TierCard.module.css.js.map +1 -1
  1361. package/dist/features/LearningManagement/styles/ToastContent.module.css.js +7 -1
  1362. package/dist/features/LearningManagement/styles/ToastContent.module.css.js.map +1 -1
  1363. package/dist/features/LearningManagement/styles/ToolTip.module.css.js +7 -1
  1364. package/dist/features/LearningManagement/styles/ToolTip.module.css.js.map +1 -1
  1365. package/dist/features/LearningManagement/styles/VariantCard.module.css.js +7 -1
  1366. package/dist/features/LearningManagement/styles/VariantCard.module.css.js.map +1 -1
  1367. package/dist/features/LearningManagement/styles/VariantList.module.css.js +7 -1
  1368. package/dist/features/LearningManagement/styles/VariantList.module.css.js.map +1 -1
  1369. package/dist/features/LearningManagement/styles/common.module.css.js +7 -1
  1370. package/dist/features/LearningManagement/styles/common.module.css.js.map +1 -1
  1371. package/dist/features/LearningManagement/styles/skeleton.module.css.js +7 -1
  1372. package/dist/features/LearningManagement/styles/skeleton.module.css.js.map +1 -1
  1373. package/dist/features/LearningManagement/utils/learningFlow.js +10 -1
  1374. package/dist/features/LearningManagement/utils/learningFlow.js.map +1 -1
  1375. package/dist/features/LearningManagement/utils/learningMetadataUtils.js +66 -1
  1376. package/dist/features/LearningManagement/utils/learningMetadataUtils.js.map +1 -1
  1377. package/dist/features/LearningManagement/utils/saveDraft.js +31 -1
  1378. package/dist/features/LearningManagement/utils/saveDraft.js.map +1 -1
  1379. package/dist/features/LearningManagement/utils/treeUtils.js +38 -1
  1380. package/dist/features/LearningManagement/utils/treeUtils.js.map +1 -1
  1381. package/dist/features/WtaWnta/WtaWnta.js +423 -1
  1382. package/dist/features/WtaWnta/WtaWnta.js.map +1 -1
  1383. package/dist/features/WtaWnta/WtaWnta.module.css.js +7 -1
  1384. package/dist/features/WtaWnta/WtaWnta.module.css.js.map +1 -1
  1385. package/dist/features/WtaWnta/_components/AgentDetailsForm.js +974 -1
  1386. package/dist/features/WtaWnta/_components/AgentDetailsForm.js.map +1 -1
  1387. package/dist/features/WtaWnta/_components/SimilarConflictingCard.js +240 -1
  1388. package/dist/features/WtaWnta/_components/SimilarConflictingCard.js.map +1 -1
  1389. package/dist/features/WtaWnta/_components/ValidationCard.js +295 -1
  1390. package/dist/features/WtaWnta/_components/ValidationCard.js.map +1 -1
  1391. package/dist/hooks/useAgentFix.js +46 -1
  1392. package/dist/hooks/useAgentFix.js.map +1 -1
  1393. package/dist/hooks/useAgentSuggestions.js +54 -1
  1394. package/dist/hooks/useAgentSuggestions.js.map +1 -1
  1395. package/dist/hooks/useAgentValidation.js +51 -1
  1396. package/dist/hooks/useAgentValidation.js.map +1 -1
  1397. package/dist/hooks/useDebounce.js +16 -1
  1398. package/dist/hooks/useDebounce.js.map +1 -1
  1399. package/dist/hooks/useExistingAgentCheck.js +45 -1
  1400. package/dist/hooks/useExistingAgentCheck.js.map +1 -1
  1401. package/dist/hooks/useExistingPromptCheck.js +51 -1
  1402. package/dist/hooks/useExistingPromptCheck.js.map +1 -1
  1403. package/dist/hooks/usePromptFix.js +45 -1
  1404. package/dist/hooks/usePromptFix.js.map +1 -1
  1405. package/dist/hooks/usePromptSuggestions.js +51 -1
  1406. package/dist/hooks/usePromptSuggestions.js.map +1 -1
  1407. package/dist/hooks/usePromptValidation.js +53 -1
  1408. package/dist/hooks/usePromptValidation.js.map +1 -1
  1409. package/dist/index.js +56 -1
  1410. package/dist/index.js.map +1 -1
  1411. package/dist/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +28 -1
  1412. package/dist/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +1 -1
  1413. package/dist/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js +175 -1
  1414. package/dist/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js.map +1 -1
  1415. package/dist/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js +156 -1
  1416. package/dist/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js.map +1 -1
  1417. package/dist/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js +66 -1
  1418. package/dist/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js.map +1 -1
  1419. package/dist/schema-driven/BPARenderer.js +179 -1
  1420. package/dist/schema-driven/BPARenderer.js.map +1 -1
  1421. package/dist/schema-driven/FallbackField.js +33 -1
  1422. package/dist/schema-driven/FallbackField.js.map +1 -1
  1423. package/dist/schema-driven/components/ConditionSectionField.js +40 -1
  1424. package/dist/schema-driven/components/ConditionSectionField.js.map +1 -1
  1425. package/dist/schema-driven/components/ConfigSectionField.js +16 -1
  1426. package/dist/schema-driven/components/ConfigSectionField.js.map +1 -1
  1427. package/dist/schema-driven/components/DropdownSectionField.js +31 -1
  1428. package/dist/schema-driven/components/DropdownSectionField.js.map +1 -1
  1429. package/dist/schema-driven/components/GlobalSetupAccordionField.js +182 -1
  1430. package/dist/schema-driven/components/GlobalSetupAccordionField.js.map +1 -1
  1431. package/dist/schema-driven/components/GroupEditRow.js +166 -1
  1432. package/dist/schema-driven/components/GroupEditRow.js.map +1 -1
  1433. package/dist/schema-driven/components/PromptTextEditorField.js +211 -1
  1434. package/dist/schema-driven/components/PromptTextEditorField.js.map +1 -1
  1435. package/dist/schema-driven/components/ScopeSectionField.js +21 -1
  1436. package/dist/schema-driven/components/ScopeSectionField.js.map +1 -1
  1437. package/dist/schema-driven/components/TableComponent.js +388 -1
  1438. package/dist/schema-driven/components/TableComponent.js.map +1 -1
  1439. package/dist/schema-driven/components/TextInputField.js +47 -1
  1440. package/dist/schema-driven/components/TextInputField.js.map +1 -1
  1441. package/dist/schema-driven/components/VariantListField.js +333 -1
  1442. package/dist/schema-driven/components/VariantListField.js.map +1 -1
  1443. package/dist/schema-driven/helper.js +116 -1
  1444. package/dist/schema-driven/helper.js.map +1 -1
  1445. package/dist/schema-driven/hooks/useParentEditEnabled.js +13 -1
  1446. package/dist/schema-driven/hooks/useParentEditEnabled.js.map +1 -1
  1447. package/dist/schema-driven/hooks/useSectionEditSession.js +156 -1
  1448. package/dist/schema-driven/hooks/useSectionEditSession.js.map +1 -1
  1449. package/dist/schema-driven/primitives/Accordion.js +160 -1
  1450. package/dist/schema-driven/primitives/Accordion.js.map +1 -1
  1451. package/dist/schema-driven/store/useDynamicFormStore.js +120 -1
  1452. package/dist/schema-driven/store/useDynamicFormStore.js.map +1 -1
  1453. package/dist/schema-driven/types.js +13 -1
  1454. package/dist/schema-driven/types.js.map +1 -1
  1455. package/dist/schema-driven/utils/PayloadUtils.js +248 -1
  1456. package/dist/schema-driven/utils/PayloadUtils.js.map +1 -1
  1457. package/dist/schema-driven/utils/aiReasoning.js +8 -1
  1458. package/dist/schema-driven/utils/aiReasoning.js.map +1 -1
  1459. package/dist/schema-driven/utils/conditionText.js +18 -1
  1460. package/dist/schema-driven/utils/conditionText.js.map +1 -1
  1461. package/dist/schema-driven/utils/editLock.js +43 -1
  1462. package/dist/schema-driven/utils/editLock.js.map +1 -1
  1463. package/dist/service/InstantLearningService.js +33 -1
  1464. package/dist/service/InstantLearningService.js.map +1 -1
  1465. package/dist/types/src/AccordianHeadTest.d.ts +2 -2
  1466. package/dist/types/src/App.d.ts +3 -3
  1467. package/dist/types/src/CommonComponents/AccordianHead/AccordianHead.d.ts +8 -8
  1468. package/dist/types/src/CommonComponents/CustomDropdown.d.ts +3 -3
  1469. package/dist/types/src/CommonComponents/GradientSparkleIcon.d.ts +5 -5
  1470. package/dist/types/src/CommonComponents/HelloWorld.d.ts +2 -2
  1471. package/dist/types/src/CommonComponents/NoTableData.d.ts +6 -6
  1472. package/dist/types/src/CommonComponents/Spinner.d.ts +4 -4
  1473. package/dist/types/src/CommonConstants/CommonConstants.d.ts +4 -4
  1474. package/dist/types/src/ComponentRegistry.d.ts +12 -12
  1475. package/dist/types/src/ContinueWithTemplateModal.d.ts +23 -23
  1476. package/dist/types/src/CustomStylesProvider.d.ts +5 -5
  1477. package/dist/types/src/CustomThemeProvider.d.ts +6 -6
  1478. package/dist/types/src/GoogleFilePickerDemo.d.ts +2 -2
  1479. package/dist/types/src/ILMarketplaceMockTest.d.ts +3 -3
  1480. package/dist/types/src/ILMarketplaceMockTest.d.ts.map +1 -1
  1481. package/dist/types/src/ILMarketplaceWrapper.d.ts +200 -194
  1482. package/dist/types/src/ILMarketplaceWrapper.d.ts.map +1 -1
  1483. package/dist/types/src/PublishToMarketplaceTest.d.ts +3 -3
  1484. package/dist/types/src/adapters/creativeWorkspaceAdapter.d.ts +64 -64
  1485. package/dist/types/src/api/transport.d.ts +43 -43
  1486. package/dist/types/src/context/DataSelectedContext.d.ts +72 -72
  1487. package/dist/types/src/features/DataSelector/DataSelector.d.ts +17 -17
  1488. package/dist/types/src/features/DataSelector/components/DataSelectionOptionsScreen.d.ts +3 -3
  1489. package/dist/types/src/features/DataSelector/components/RLEFDataPointsListInSelectedDataSetCollection.d.ts +3 -3
  1490. package/dist/types/src/features/DataSelector/components/RLEFDataSetCollectionsList.d.ts +3 -3
  1491. package/dist/types/src/features/DataSelector/components/RlefDataTabsComponent.d.ts +3 -3
  1492. package/dist/types/src/features/DataSelector/components/RlefHistoricalCopilotData.d.ts +3 -3
  1493. package/dist/types/src/features/DataSelector/components/SavedDataSetListScreen.d.ts +13 -13
  1494. package/dist/types/src/features/DataSelector/components/SelectedDataList.d.ts +3 -3
  1495. package/dist/types/src/features/DataSelector/components/subcomponents/DataSetElement/DataSetElement.d.ts +10 -10
  1496. package/dist/types/src/features/DataSelector/components/subcomponents/Pagination/Pagination.d.ts +7 -7
  1497. package/dist/types/src/features/DataSelector/tables/ShowSelectedDataTable.d.ts +3 -3
  1498. package/dist/types/src/features/DocumentLearning/DocumentLearning.d.ts +20 -20
  1499. package/dist/types/src/features/DocumentLearning/_components/AudioWaveform.d.ts +12 -12
  1500. package/dist/types/src/features/DocumentLearning/_components/BookLearningForm.d.ts +22 -22
  1501. package/dist/types/src/features/DocumentLearning/_components/ChatComponent.d.ts +60 -60
  1502. package/dist/types/src/features/DocumentLearning/_components/ConflictingLearningWarnCard.d.ts +12 -12
  1503. package/dist/types/src/features/DocumentLearning/_components/ConflictingLearningWarnCardDB.d.ts +40 -40
  1504. package/dist/types/src/features/DocumentLearning/_components/ContextualChatComponent.d.ts +61 -61
  1505. package/dist/types/src/features/DocumentLearning/_components/ContextualConflictDBCard.d.ts +29 -29
  1506. package/dist/types/src/features/DocumentLearning/_components/LearningDetailsForm.d.ts +70 -70
  1507. package/dist/types/src/features/DocumentLearning/_components/MessageRendering.d.ts +9 -9
  1508. package/dist/types/src/features/DocumentLearning/_components/MinimizedThinkingSteps.d.ts +3 -3
  1509. package/dist/types/src/features/DocumentLearning/_components/SimilarLearningCard.d.ts +19 -19
  1510. package/dist/types/src/features/DocumentLearning/_components/TemplateRetrievalForm.d.ts +49 -49
  1511. package/dist/types/src/features/DocumentLearning/_components/TooltipComponent.d.ts +7 -7
  1512. package/dist/types/src/features/DocumentLearning/_components/_svg/ArrowDown.d.ts +3 -3
  1513. package/dist/types/src/features/DocumentLearning/_components/_svg/ArrowIconBlue.d.ts +3 -3
  1514. package/dist/types/src/features/DocumentLearning/_components/_svg/CompleteIconGreen.d.ts +3 -3
  1515. package/dist/types/src/features/DocumentLearning/_components/_svg/NewChatIcon.d.ts +3 -3
  1516. package/dist/types/src/features/IL-OTJ/ILOTJ.d.ts +100 -100
  1517. package/dist/types/src/features/IL-OTJ/ILOTJTest.d.ts +608 -608
  1518. package/dist/types/src/features/IL-OTJ/ILOTJTriageAITest.d.ts +11 -11
  1519. package/dist/types/src/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.d.ts +98 -98
  1520. package/dist/types/src/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.d.ts +34 -34
  1521. package/dist/types/src/features/IL-OTJ/_components/AccordianSection.d.ts +51 -51
  1522. package/dist/types/src/features/IL-OTJ/_components/AudioWaveform.d.ts +12 -12
  1523. package/dist/types/src/features/IL-OTJ/_components/ChatComponents/ChatComponent.d.ts +58 -58
  1524. package/dist/types/src/features/IL-OTJ/_components/ChatComponents/ChatComponent.d.ts.map +1 -1
  1525. package/dist/types/src/features/IL-OTJ/_components/ChatComponents/ChatHeader.d.ts +11 -11
  1526. package/dist/types/src/features/IL-OTJ/_components/ChatComponents/NormalChat.d.ts +44 -44
  1527. package/dist/types/src/features/IL-OTJ/_components/ChatComponents/NormalChat.d.ts.map +1 -1
  1528. package/dist/types/src/features/IL-OTJ/_components/ChatComponents/mockComparisonData.d.ts +1502 -1502
  1529. package/dist/types/src/features/IL-OTJ/_components/CitationLink.d.ts +17 -17
  1530. package/dist/types/src/features/IL-OTJ/_components/CognitiveDecisioningCard.d.ts +10 -10
  1531. package/dist/types/src/features/IL-OTJ/_components/ConflictingReasoningCard.d.ts +10 -10
  1532. package/dist/types/src/features/IL-OTJ/_components/CriticalGaps.d.ts +10 -10
  1533. package/dist/types/src/features/IL-OTJ/_components/GapExplanationAccordion.d.ts +9 -9
  1534. package/dist/types/src/features/IL-OTJ/_components/ILPopup.d.ts +37 -37
  1535. package/dist/types/src/features/IL-OTJ/_components/ILPopup.styles.d.ts +1 -1
  1536. package/dist/types/src/features/IL-OTJ/_components/InputDataReasoningCard.d.ts +10 -10
  1537. package/dist/types/src/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.d.ts +32 -32
  1538. package/dist/types/src/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.d.ts +25 -25
  1539. package/dist/types/src/features/IL-OTJ/_components/MarkdownRenderer.d.ts +24 -24
  1540. package/dist/types/src/features/IL-OTJ/_components/MessageRendering/ChatFeedback.d.ts +25 -25
  1541. package/dist/types/src/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.d.ts +7 -7
  1542. package/dist/types/src/features/IL-OTJ/_components/MessageRendering/MessageRendering.d.ts +34 -34
  1543. package/dist/types/src/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.d.ts +23 -23
  1544. package/dist/types/src/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.d.ts +16 -16
  1545. package/dist/types/src/features/IL-OTJ/_components/MinimizedThinkingSteps.d.ts +3 -3
  1546. package/dist/types/src/features/IL-OTJ/_components/NewMinimizedThinkingSteps.d.ts +6 -6
  1547. package/dist/types/src/features/IL-OTJ/_components/TooltipComponent.d.ts +7 -7
  1548. package/dist/types/src/features/IL-OTJ/_components/VariantLoadingOverlay.d.ts +8 -8
  1549. package/dist/types/src/features/IL-OTJ/_components/ViewFormUpdateCard.d.ts +2 -2
  1550. package/dist/types/src/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.d.ts +2 -2
  1551. package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/AgentStepsView.d.ts +15 -15
  1552. package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/StepDetailView.d.ts +10 -10
  1553. package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/Thinkingstepshelper.d.ts +42 -42
  1554. package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/Usethinkingsteps.d.ts +26 -26
  1555. package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/WorkingIndicator.d.ts +6 -6
  1556. package/dist/types/src/features/IL-OTJ/_components/_svg/ArrowDown.d.ts +3 -3
  1557. package/dist/types/src/features/IL-OTJ/_components/_svg/ArrowIconBlue.d.ts +3 -3
  1558. package/dist/types/src/features/IL-OTJ/_components/_svg/BookIcon.d.ts +3 -3
  1559. package/dist/types/src/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.d.ts +6 -6
  1560. package/dist/types/src/features/IL-OTJ/_components/_svg/ChevronDown.d.ts +3 -3
  1561. package/dist/types/src/features/IL-OTJ/_components/_svg/ChevronIcon.d.ts +6 -6
  1562. package/dist/types/src/features/IL-OTJ/_components/_svg/ChevronUp.d.ts +3 -3
  1563. package/dist/types/src/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.d.ts +9 -9
  1564. package/dist/types/src/features/IL-OTJ/_components/_svg/CognitiveDecisioning.d.ts +3 -3
  1565. package/dist/types/src/features/IL-OTJ/_components/_svg/CompleteIconGreen.d.ts +3 -3
  1566. package/dist/types/src/features/IL-OTJ/_components/_svg/EditPencilIcon.d.ts +6 -6
  1567. package/dist/types/src/features/IL-OTJ/_components/_svg/GapIcon.d.ts +9 -9
  1568. package/dist/types/src/features/IL-OTJ/_components/_svg/HumanWithBrainIcon.d.ts +8 -8
  1569. package/dist/types/src/features/IL-OTJ/_components/_svg/InfoIcon.d.ts +3 -3
  1570. package/dist/types/src/features/IL-OTJ/_components/_svg/LeftAndRightArrow.d.ts +3 -3
  1571. package/dist/types/src/features/IL-OTJ/_components/_svg/Lightbulb.d.ts +9 -9
  1572. package/dist/types/src/features/IL-OTJ/_components/_svg/NewChatIcon.d.ts +9 -9
  1573. package/dist/types/src/features/IL-OTJ/_components/_svg/PencilEdit.d.ts +8 -8
  1574. package/dist/types/src/features/IL-OTJ/_components/_svg/RadioButton.d.ts +9 -9
  1575. package/dist/types/src/features/IL-OTJ/_components/_svg/RightSideIcons.d.ts +9 -9
  1576. package/dist/types/src/features/IL-OTJ/_components/_svg/ScrollToBottom.d.ts +2 -2
  1577. package/dist/types/src/features/IL-OTJ/_components/_svg/SendButton.d.ts +2 -2
  1578. package/dist/types/src/features/IL-OTJ/_components/_svg/SparkleIcon.d.ts +3 -3
  1579. package/dist/types/src/features/IL-OTJ/_components/_svg/TickIcon.d.ts +9 -9
  1580. package/dist/types/src/features/IL-OTJ/_components/_svg/UserIcon.d.ts +2 -2
  1581. package/dist/types/src/features/IL-OTJ/_components/_svg/WarningIcon.d.ts +3 -3
  1582. package/dist/types/src/features/IL-OTJ/_components/_svg/WatchMeWorkIcon.d.ts +3 -3
  1583. package/dist/types/src/features/IL-OTJ/_components/atoms/Button/Button.d.ts +6 -6
  1584. package/dist/types/src/features/IL-OTJ/_components/atoms/Button/index.d.ts +1 -1
  1585. package/dist/types/src/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.d.ts +14 -14
  1586. package/dist/types/src/features/IL-OTJ/_components/atoms/Dropdown/index.d.ts +1 -1
  1587. package/dist/types/src/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.d.ts +10 -10
  1588. package/dist/types/src/features/IL-OTJ/_components/atoms/Textarea/Textarea.d.ts +27 -27
  1589. package/dist/types/src/features/IL-OTJ/_components/atoms/Textarea/index.d.ts +1 -1
  1590. package/dist/types/src/features/IL-OTJ/_components/atoms/Toggle/Toggle.d.ts +8 -8
  1591. package/dist/types/src/features/IL-OTJ/_components/atoms/Toggle/index.d.ts +1 -1
  1592. package/dist/types/src/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.d.ts +97 -97
  1593. package/dist/types/src/features/IL-OTJ/_components/hooks/usePendingEditHighlight.d.ts +4 -4
  1594. package/dist/types/src/features/IL-OTJ/_components/hooks/useVariantEditSession.d.ts +65 -65
  1595. package/dist/types/src/features/IL-OTJ/_components/index.d.ts +21 -21
  1596. package/dist/types/src/features/IL-OTJ/_components/molecules/Condition/ConditionList.d.ts +38 -38
  1597. package/dist/types/src/features/IL-OTJ/_components/molecules/Condition/index.d.ts +1 -1
  1598. package/dist/types/src/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.d.ts +18 -18
  1599. package/dist/types/src/features/IL-OTJ/_components/molecules/Sections/index.d.ts +1 -1
  1600. package/dist/types/src/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.d.ts +14 -14
  1601. package/dist/types/src/features/IL-OTJ/_components/molecules/SeperationRow/index.d.ts +1 -1
  1602. package/dist/types/src/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.d.ts +2 -2
  1603. package/dist/types/src/features/IL-OTJ/_components/organisms/ConditionSection/index.d.ts +1 -1
  1604. package/dist/types/src/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.d.ts +29 -29
  1605. package/dist/types/src/features/IL-OTJ/_components/organisms/ConfigSection/index.d.ts +1 -1
  1606. package/dist/types/src/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.d.ts +16 -16
  1607. package/dist/types/src/features/IL-OTJ/_components/organisms/DropdownSection/index.d.ts +1 -1
  1608. package/dist/types/src/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.d.ts +33 -33
  1609. package/dist/types/src/features/IL-OTJ/_components/organisms/ScopeSection/index.d.ts +1 -1
  1610. package/dist/types/src/features/IL-OTJ/_components/organisms/TextSection/TextSection.d.ts +2 -2
  1611. package/dist/types/src/features/IL-OTJ/_components/organisms/TextSection/index.d.ts +1 -1
  1612. package/dist/types/src/features/IL-OTJ/_components/templates/BaseTemplate/BaseTemplate.d.ts +72 -72
  1613. package/dist/types/src/features/IL-OTJ/_components/templates/CreateCategory/CreateCategory.d.ts +70 -70
  1614. package/dist/types/src/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.d.ts +54 -54
  1615. package/dist/types/src/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.d.ts +21 -21
  1616. package/dist/types/src/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.d.ts +56 -56
  1617. package/dist/types/src/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.d.ts +11 -11
  1618. package/dist/types/src/features/IL-OTJ/_components/templates/TemplatesMap/index.d.ts +1 -1
  1619. package/dist/types/src/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.d.ts +11 -11
  1620. package/dist/types/src/features/IL-OTJ/_components/templates/Testing/Testing.d.ts +2 -2
  1621. package/dist/types/src/features/IL-OTJ/_components/templates/Testing/index.d.ts +1 -1
  1622. package/dist/types/src/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.d.ts +9 -9
  1623. package/dist/types/src/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.d.ts +2 -2
  1624. package/dist/types/src/features/IL-OTJ/_components/templates/TrafficManager/index.d.ts +1 -1
  1625. package/dist/types/src/features/IL-OTJ/_components/templates/WorkflowComposer/WorkflowComposer.d.ts +2 -2
  1626. package/dist/types/src/features/IL-OTJ/helpers/index.d.ts +1 -1
  1627. package/dist/types/src/features/IL-OTJ/helpers/message-rendering-utils.d.ts +25 -25
  1628. package/dist/types/src/features/IL-OTJ/helpers/utils.d.ts +22 -22
  1629. package/dist/types/src/features/IL-OTJ/store/CitationsContext.d.ts +22 -22
  1630. package/dist/types/src/features/IL-OTJ/store/index.d.ts +1 -1
  1631. package/dist/types/src/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.d.ts +17 -17
  1632. package/dist/types/src/features/IL-marketplace/PromoteFlow/PromoteFlow.d.ts +10 -10
  1633. package/dist/types/src/features/IL-marketplace/PromoteFlow/promote-flow.api.d.ts +9 -9
  1634. package/dist/types/src/features/IL-marketplace/PromoteFlow/promote-flow.interfaces.d.ts +79 -79
  1635. package/dist/types/src/features/IL-marketplace/PromoteFlow/promote-flow.store.d.ts +17 -17
  1636. package/dist/types/src/features/IL-marketplace/PromoteFlow/promote-flow.utils.d.ts +14 -14
  1637. package/dist/types/src/features/IL-marketplace/components/GuidelineCardMenu.d.ts +33 -33
  1638. package/dist/types/src/features/IL-marketplace/components/GuidelineCart.d.ts +3 -3
  1639. package/dist/types/src/features/IL-marketplace/components/GuidelineCartHeader.d.ts +13 -13
  1640. package/dist/types/src/features/IL-marketplace/components/GuidelineCartItem.d.ts +15 -15
  1641. package/dist/types/src/features/IL-marketplace/components/GuidelineConfirmDialog.d.ts +17 -17
  1642. package/dist/types/src/features/IL-marketplace/components/GuidelineEmptyState.d.ts +10 -10
  1643. package/dist/types/src/features/IL-marketplace/components/GuidelineFilterPanel.d.ts +8 -8
  1644. package/dist/types/src/features/IL-marketplace/components/GuidelineHeader.d.ts +3 -3
  1645. package/dist/types/src/features/IL-marketplace/components/GuidelineIconButton.d.ts +14 -14
  1646. package/dist/types/src/features/IL-marketplace/components/GuidelineLandingPage.d.ts +3 -3
  1647. package/dist/types/src/features/IL-marketplace/components/GuidelineLibrary.d.ts +67 -67
  1648. package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryCard.d.ts +109 -109
  1649. package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryCard.d.ts.map +1 -1
  1650. package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryContent.d.ts +98 -96
  1651. package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryContent.d.ts.map +1 -1
  1652. package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryTab.d.ts +26 -26
  1653. package/dist/types/src/features/IL-marketplace/components/GuidelineProceedButton.d.ts +3 -3
  1654. package/dist/types/src/features/IL-marketplace/components/GuidelineSelectButton.d.ts +10 -10
  1655. package/dist/types/src/features/IL-marketplace/components/GuidelineStatusChip.d.ts +9 -9
  1656. package/dist/types/src/features/IL-marketplace/components/GuidelineTooltip.d.ts +9 -9
  1657. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.d.ts +2 -2
  1658. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.d.ts +7 -7
  1659. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.d.ts +2 -2
  1660. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.d.ts +7 -7
  1661. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.d.ts +23 -23
  1662. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.d.ts +7 -7
  1663. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.d.ts +3 -3
  1664. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.d.ts +3 -3
  1665. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.d.ts +4 -4
  1666. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.d.ts +2 -2
  1667. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.types.d.ts +95 -95
  1668. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.d.ts +34 -34
  1669. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.d.ts +3 -3
  1670. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.d.ts +13 -13
  1671. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.d.ts +3 -3
  1672. package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.d.ts +7 -7
  1673. package/dist/types/src/features/IL-marketplace/components/LearningManagementWrapper.d.ts +36 -36
  1674. package/dist/types/src/features/IL-marketplace/components/VersionSelectDropdown.d.ts +12 -12
  1675. package/dist/types/src/features/IL-marketplace/constants.d.ts +182 -182
  1676. package/dist/types/src/features/IL-marketplace/hooks/useControllableState.d.ts +7 -7
  1677. package/dist/types/src/features/IL-marketplace/hooks/useDeleteGuidelineMutation.d.ts +9 -9
  1678. package/dist/types/src/features/IL-marketplace/hooks/useGuidelineSelection.d.ts +16 -16
  1679. package/dist/types/src/features/IL-marketplace/hooks/useGuidelineWorkspaceLegacyBridge.d.ts +5 -5
  1680. package/dist/types/src/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.d.ts +3 -3
  1681. package/dist/types/src/features/IL-marketplace/hooks/useMarketplacePublishILKBData.d.ts +28 -28
  1682. package/dist/types/src/features/IL-marketplace/hooks/usePublishingFlowConfig.d.ts +15 -15
  1683. package/dist/types/src/features/IL-marketplace/icons/GuidelineSpinner.d.ts +6 -6
  1684. package/dist/types/src/features/IL-marketplace/index.d.ts +43 -43
  1685. package/dist/types/src/features/IL-marketplace/marketplaceTheme.d.ts +98 -98
  1686. package/dist/types/src/features/IL-marketplace/queryClient.d.ts +2 -2
  1687. package/dist/types/src/features/IL-marketplace/services/IL-marketplace.api.d.ts +172 -172
  1688. package/dist/types/src/features/IL-marketplace/services/guideline.api.d.ts +1 -1
  1689. package/dist/types/src/features/IL-marketplace/services/guideline.cart.api.d.ts +27 -27
  1690. package/dist/types/src/features/IL-marketplace/services/guideline.chat.d.ts +1 -1
  1691. package/dist/types/src/features/IL-marketplace/services/guideline.content.d.ts +1 -1
  1692. package/dist/types/src/features/IL-marketplace/services/guideline.core.api.d.ts +50 -50
  1693. package/dist/types/src/features/IL-marketplace/services/guideline.runtime.config.d.ts +49 -49
  1694. package/dist/types/src/features/IL-marketplace/services/guideline.session.d.ts +9 -9
  1695. package/dist/types/src/features/IL-marketplace/services/instant-learning.api.d.ts +112 -112
  1696. package/dist/types/src/features/IL-marketplace/services/instant-learning.wishlist.d.ts +7 -7
  1697. package/dist/types/src/features/IL-marketplace/store/usePublishTemplateStore.d.ts +13 -13
  1698. package/dist/types/src/features/IL-marketplace/store/usePublishingFlowConfigStore.d.ts +131 -131
  1699. package/dist/types/src/features/IL-marketplace/types/add-context.types.d.ts +39 -39
  1700. package/dist/types/src/features/IL-marketplace/types/api.types.d.ts +115 -115
  1701. package/dist/types/src/features/IL-marketplace/types/file-item.d.ts +61 -61
  1702. package/dist/types/src/features/IL-marketplace/types/guideline.api.types.d.ts +10 -10
  1703. package/dist/types/src/features/IL-marketplace/types/guideline.types.d.ts +41 -41
  1704. package/dist/types/src/features/IL-marketplace/types.d.ts +546 -469
  1705. package/dist/types/src/features/IL-marketplace/types.d.ts.map +1 -1
  1706. package/dist/types/src/features/IL-marketplace/utils/addContextHelpers.d.ts +6 -6
  1707. package/dist/types/src/features/IL-marketplace/utils/cn.d.ts +2 -2
  1708. package/dist/types/src/features/IL-marketplace/utils/guidelineFiles.d.ts +16 -16
  1709. package/dist/types/src/features/IL-marketplace/utils/guidelineOverlay.d.ts +2 -2
  1710. package/dist/types/src/features/IL-marketplace/utils/guidelineSort.d.ts +2 -2
  1711. package/dist/types/src/features/IL-marketplace/utils/microfrontend.d.ts +22 -22
  1712. package/dist/types/src/features/IL-marketplace/utils/publishingFlow.d.ts +34 -34
  1713. package/dist/types/src/features/IL-marketplace/utils/session.d.ts +3 -3
  1714. package/dist/types/src/features/IL-marketplace/utils/url.d.ts +1 -1
  1715. package/dist/types/src/features/IL-marketplace/utils.d.ts +74 -74
  1716. package/dist/types/src/features/IL-marketplace/workspace/useGuidelineWorkspace.d.ts +43 -43
  1717. package/dist/types/src/features/IL-marketplace/workspace/workspace.context.d.ts +8 -8
  1718. package/dist/types/src/features/IL-marketplace/workspace/workspace.runtime.d.ts +11 -11
  1719. package/dist/types/src/features/IL-marketplace/workspace/workspace.selectors.d.ts +4 -4
  1720. package/dist/types/src/features/IL-marketplace/workspace/workspace.types.d.ts +88 -88
  1721. package/dist/types/src/features/InstantLearning/InstantLearning.d.ts +118 -118
  1722. package/dist/types/src/features/InstantLearning/_components/AudioWaveform.d.ts +12 -12
  1723. package/dist/types/src/features/InstantLearning/_components/ChatComponent.d.ts +58 -58
  1724. package/dist/types/src/features/InstantLearning/_components/ConflictingLearningWarnCard.d.ts +12 -12
  1725. package/dist/types/src/features/InstantLearning/_components/ConflictingLearningWarnCardDB.d.ts +40 -40
  1726. package/dist/types/src/features/InstantLearning/_components/ContextualChatComponent.d.ts +64 -64
  1727. package/dist/types/src/features/InstantLearning/_components/ContextualConflictDBCard.d.ts +31 -31
  1728. package/dist/types/src/features/InstantLearning/_components/ContextualLearningForm.d.ts +45 -45
  1729. package/dist/types/src/features/InstantLearning/_components/DebuggerPanel.d.ts +15 -15
  1730. package/dist/types/src/features/InstantLearning/_components/GeneralizationAccordion.d.ts +27 -27
  1731. package/dist/types/src/features/InstantLearning/_components/LearningDetailsForm.d.ts +73 -73
  1732. package/dist/types/src/features/InstantLearning/_components/MessageRendering.d.ts +9 -9
  1733. package/dist/types/src/features/InstantLearning/_components/MinimizedThinkingSteps.d.ts +3 -3
  1734. package/dist/types/src/features/InstantLearning/_components/SimilarLearningCard.d.ts +19 -19
  1735. package/dist/types/src/features/InstantLearning/_components/TemplateRetrievalForm.d.ts +49 -49
  1736. package/dist/types/src/features/InstantLearning/_components/TooltipComponent.d.ts +7 -7
  1737. package/dist/types/src/features/InstantLearning/_components/_svg/ArrowDown.d.ts +3 -3
  1738. package/dist/types/src/features/InstantLearning/_components/_svg/ArrowIconBlue.d.ts +3 -3
  1739. package/dist/types/src/features/InstantLearning/_components/_svg/CompleteIconGreen.d.ts +3 -3
  1740. package/dist/types/src/features/InstantLearning/_components/_svg/NewChatIcon.d.ts +3 -3
  1741. package/dist/types/src/features/LearningManagement/AuditLog/AuditLog.d.ts +11 -11
  1742. package/dist/types/src/features/LearningManagement/AuditLog/ChangeLogDiff.d.ts +14 -14
  1743. package/dist/types/src/features/LearningManagement/LearningManagement.d.ts +73 -73
  1744. package/dist/types/src/features/LearningManagement/LearningManagement.d.ts.map +1 -1
  1745. package/dist/types/src/features/LearningManagement/LearningManagementTest.d.ts +3 -3
  1746. package/dist/types/src/features/LearningManagement/LearningTemplateLayout.d.ts +44 -44
  1747. package/dist/types/src/features/LearningManagement/RBAC/AccessManagementPanel.d.ts +7 -7
  1748. package/dist/types/src/features/LearningManagement/RBAC/AccessPanel.d.ts +11 -11
  1749. package/dist/types/src/features/LearningManagement/RBAC/index.d.ts +3 -3
  1750. package/dist/types/src/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.d.ts +11 -11
  1751. package/dist/types/src/features/LearningManagement/RuleContent/AddScopeModal.d.ts +18 -18
  1752. package/dist/types/src/features/LearningManagement/RuleContent/AddScopeModal.d.ts.map +1 -1
  1753. package/dist/types/src/features/LearningManagement/RuleContent/ApprovalActionButton.d.ts +7 -7
  1754. package/dist/types/src/features/LearningManagement/RuleContent/ApprovalLearningDialog.d.ts +17 -17
  1755. package/dist/types/src/features/LearningManagement/RuleContent/ContentLogic.d.ts +45 -45
  1756. package/dist/types/src/features/LearningManagement/RuleContent/DraftsAccordion.d.ts +17 -17
  1757. package/dist/types/src/features/LearningManagement/RuleContent/HistorySkeleton.d.ts +9 -9
  1758. package/dist/types/src/features/LearningManagement/RuleContent/InheritanceBreadcrumb.d.ts +21 -21
  1759. package/dist/types/src/features/LearningManagement/RuleContent/InstructionPromptBlock.d.ts +26 -26
  1760. package/dist/types/src/features/LearningManagement/RuleContent/OverrideTimeline.d.ts +22 -22
  1761. package/dist/types/src/features/LearningManagement/RuleContent/PendingApprovalChip.d.ts +6 -6
  1762. package/dist/types/src/features/LearningManagement/RuleContent/RenameScopeModal.d.ts +9 -9
  1763. package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordion.d.ts +130 -130
  1764. package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordionHeader.d.ts +46 -46
  1765. package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordionShell.d.ts +68 -68
  1766. package/dist/types/src/features/LearningManagement/RuleContent/RuleConditionBlock.d.ts +38 -38
  1767. package/dist/types/src/features/LearningManagement/RuleContent/RuleContent.d.ts +51 -51
  1768. package/dist/types/src/features/LearningManagement/RuleContent/RuleHeader.d.ts +42 -42
  1769. package/dist/types/src/features/LearningManagement/RuleContent/RuleTierList.d.ts +52 -52
  1770. package/dist/types/src/features/LearningManagement/RuleContent/TierCard.d.ts +59 -59
  1771. package/dist/types/src/features/LearningManagement/RuleContent/VariantCard.d.ts +108 -108
  1772. package/dist/types/src/features/LearningManagement/RuleContent/VariantList.d.ts +105 -105
  1773. package/dist/types/src/features/LearningManagement/ScopeSelector.d.ts +44 -44
  1774. package/dist/types/src/features/LearningManagement/Sidebar.d.ts +36 -36
  1775. package/dist/types/src/features/LearningManagement/SidebarWrapper.d.ts +33 -33
  1776. package/dist/types/src/features/LearningManagement/StationsContent/StationsContent.d.ts +16 -16
  1777. package/dist/types/src/features/LearningManagement/apis/apiConfig.d.ts +55 -55
  1778. package/dist/types/src/features/LearningManagement/apis/scopeApis.d.ts +385 -385
  1779. package/dist/types/src/features/LearningManagement/components/CardSkeleton.d.ts +7 -7
  1780. package/dist/types/src/features/LearningManagement/components/ConfirmationModal.d.ts +21 -21
  1781. package/dist/types/src/features/LearningManagement/components/CreateLearningSetModal.d.ts +19 -19
  1782. package/dist/types/src/features/LearningManagement/components/CreateRuleSetLegacyModal.d.ts +11 -11
  1783. package/dist/types/src/features/LearningManagement/components/CustomTooltip.d.ts +15 -15
  1784. package/dist/types/src/features/LearningManagement/components/EmptyLearningState.d.ts +41 -41
  1785. package/dist/types/src/features/LearningManagement/components/ErrorStateDisplay.d.ts +24 -24
  1786. package/dist/types/src/features/LearningManagement/components/InstantLearningModal.d.ts +53 -53
  1787. package/dist/types/src/features/LearningManagement/components/InstantLearningModalDynamic.d.ts +76 -76
  1788. package/dist/types/src/features/LearningManagement/components/LearningTemplateManagementSkeleton.d.ts +7 -7
  1789. package/dist/types/src/features/LearningManagement/components/PromptTextEditor.d.ts +45 -45
  1790. package/dist/types/src/features/LearningManagement/components/RuleContentSkeleton.d.ts +7 -7
  1791. package/dist/types/src/features/LearningManagement/components/ScopeSkeletonLoader.d.ts +35 -35
  1792. package/dist/types/src/features/LearningManagement/components/ScopeSkeletonLoader.d.ts.map +1 -1
  1793. package/dist/types/src/features/LearningManagement/components/ScopeTree/HighlightedText.d.ts +7 -7
  1794. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeAddAction.d.ts +9 -9
  1795. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeMenu.d.ts +16 -16
  1796. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNode.d.ts +37 -37
  1797. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNodeHeader.d.ts +21 -21
  1798. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeSectionItem.d.ts +15 -15
  1799. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeSidebar.d.ts +22 -22
  1800. package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeTooltip.d.ts +9 -9
  1801. package/dist/types/src/features/LearningManagement/components/SidebarSearch.d.ts +24 -24
  1802. package/dist/types/src/features/LearningManagement/components/Skeleton.d.ts +11 -11
  1803. package/dist/types/src/features/LearningManagement/components/StationOnboarding/DayToggleSelector.d.ts +12 -12
  1804. package/dist/types/src/features/LearningManagement/components/StationOnboarding/InputField.d.ts +26 -26
  1805. package/dist/types/src/features/LearningManagement/components/StationOnboarding/OnboardingLoader.d.ts +18 -18
  1806. package/dist/types/src/features/LearningManagement/components/StationOnboarding/StationAutocomplete.d.ts +14 -14
  1807. package/dist/types/src/features/LearningManagement/components/StationOnboarding/StationOnboardModal.d.ts +15 -15
  1808. package/dist/types/src/features/LearningManagement/components/StationOnboarding/TemplateCard.d.ts +21 -21
  1809. package/dist/types/src/features/LearningManagement/components/ToolTip.d.ts +7 -7
  1810. package/dist/types/src/features/LearningManagement/config.d.ts +63 -63
  1811. package/dist/types/src/features/LearningManagement/constants.d.ts +18 -18
  1812. package/dist/types/src/features/LearningManagement/hooks/useLearningTemplateQueryParams.d.ts +61 -61
  1813. package/dist/types/src/features/LearningManagement/queries/useApprovalQueries.d.ts +19 -19
  1814. package/dist/types/src/features/LearningManagement/queries/useLMSConfigQuery.d.ts +8 -8
  1815. package/dist/types/src/features/LearningManagement/shared/ErrorToastContent.d.ts +21 -21
  1816. package/dist/types/src/features/LearningManagement/shared/SuccessToastContent.d.ts +21 -21
  1817. package/dist/types/src/features/LearningManagement/shared/index.d.ts +6 -6
  1818. package/dist/types/src/features/LearningManagement/store/types.d.ts +31 -31
  1819. package/dist/types/src/features/LearningManagement/store/useAppSecRolesStore.d.ts +10 -10
  1820. package/dist/types/src/features/LearningManagement/store/useAuthStore.d.ts +11 -11
  1821. package/dist/types/src/features/LearningManagement/store/useConfigStore.d.ts +17 -17
  1822. package/dist/types/src/features/LearningManagement/store/useEnvStore.d.ts +35 -35
  1823. package/dist/types/src/features/LearningManagement/store/useExternalWorkflowStore.d.ts +37 -37
  1824. package/dist/types/src/features/LearningManagement/store/useLMSConfigStore.d.ts +389 -389
  1825. package/dist/types/src/features/LearningManagement/store/useLMSConfigStore.d.ts.map +1 -1
  1826. package/dist/types/src/features/LearningManagement/store/useLearningTemplateStore.d.ts +85 -85
  1827. package/dist/types/src/features/LearningManagement/store/usePermissionsStore.d.ts +34 -34
  1828. package/dist/types/src/features/LearningManagement/types.d.ts +295 -295
  1829. package/dist/types/src/features/LearningManagement/utils/learningFlow.d.ts +29 -29
  1830. package/dist/types/src/features/LearningManagement/utils/learningMetadataUtils.d.ts +16 -16
  1831. package/dist/types/src/features/LearningManagement/utils/saveDraft.d.ts +10 -10
  1832. package/dist/types/src/features/LearningManagement/utils/treeUtils.d.ts +17 -17
  1833. package/dist/types/src/features/UploadData/Components/SelectDataFromGoogleDrive/SelectDataFromGoogleDrive.d.ts +3 -3
  1834. package/dist/types/src/features/UploadData/Components/SelectDataFromGoogleDrive/SelectDataFromGoogleDriveButton.d.ts +9 -9
  1835. package/dist/types/src/features/UploadData/Components/SelectDataFromLocalSystem/SelectDataFromLocalSystem.d.ts +3 -3
  1836. package/dist/types/src/features/UploadData/Components/SelectDataFromLocalSystem/SelectDataFromLocalSystemButton.d.ts +9 -9
  1837. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/Dataset-collection.d.ts +12 -12
  1838. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/DatasetCollectionInfo.d.ts +3 -3
  1839. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/ProjectTaskSelect.d.ts +3 -3
  1840. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/Tooltip.d.ts +9 -9
  1841. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/ConfidenceScoreColumnMenu.d.ts +21 -21
  1842. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/FilterHandlerUtility.d.ts +32 -32
  1843. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/LabelColumnMenu.d.ts +19 -19
  1844. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/TableColumnResetFilterButton.d.ts +6 -6
  1845. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/TagColumnMenu.d.ts +17 -17
  1846. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dropdown-with-radio.d.ts +25 -25
  1847. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/input-label-with-info.d.ts +3 -3
  1848. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/RELFInterfaces.d.ts +2 -2
  1849. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/SelectDataFromRLEF.d.ts +3 -3
  1850. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/SelectDataFromRLEFButton.d.ts +9 -9
  1851. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/collections.d.ts +1107 -1107
  1852. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/common.d.ts +56 -56
  1853. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/data.d.ts +642 -642
  1854. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/modelGroup.type.d.ts +23 -23
  1855. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/models.d.ts +282 -282
  1856. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/projects.d.ts +57 -57
  1857. package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/tags.d.ts +19 -19
  1858. package/dist/types/src/features/UploadData/Components/SelectDataFromSavedDataSet/SelectDataFromSavedDataSet.d.ts +3 -3
  1859. package/dist/types/src/features/UploadData/Components/SelectDataFromSavedDataSet/SelectDataFromSavedDataSetButton.d.ts +3 -3
  1860. package/dist/types/src/features/UploadData/NotFound.d.ts +3 -3
  1861. package/dist/types/src/features/UploadData/main.d.ts +9 -9
  1862. package/dist/types/src/features/WtaWnta/WtaWnta.d.ts +54 -54
  1863. package/dist/types/src/features/WtaWnta/_components/AgentDetailsForm.d.ts +42 -42
  1864. package/dist/types/src/features/WtaWnta/_components/SimilarConflictingCard.d.ts +17 -17
  1865. package/dist/types/src/features/WtaWnta/_components/ValidationCard.d.ts +29 -29
  1866. package/dist/types/src/hooks/useAgentFix.d.ts +14 -14
  1867. package/dist/types/src/hooks/useAgentSuggestions.d.ts +19 -19
  1868. package/dist/types/src/hooks/useAgentValidation.d.ts +16 -16
  1869. package/dist/types/src/hooks/useDebounce copy.d.ts +1 -1
  1870. package/dist/types/src/hooks/useDebounce.d.ts +1 -1
  1871. package/dist/types/src/hooks/useExistingAgentCheck.d.ts +27 -27
  1872. package/dist/types/src/hooks/useExistingPromptCheck.d.ts +35 -35
  1873. package/dist/types/src/hooks/usePromptFix.d.ts +13 -13
  1874. package/dist/types/src/hooks/usePromptSuggestions.d.ts +7 -7
  1875. package/dist/types/src/hooks/usePromptValidation.d.ts +17 -17
  1876. package/dist/types/src/hooks/useTableHeadCellsCount copy.d.ts +5 -5
  1877. package/dist/types/src/hooks/useTableHeadCellsCount.d.ts +5 -5
  1878. package/dist/types/src/hooks/useURLQuery copy.d.ts +9 -9
  1879. package/dist/types/src/hooks/useURLQuery.d.ts +9 -9
  1880. package/dist/types/src/index.d.ts +59 -59
  1881. package/dist/types/src/methodsToExpose.d.ts +17 -17
  1882. package/dist/types/src/plugins/ValueTypes/Category/CategoryTeachMeRenderer.d.ts +28 -28
  1883. package/dist/types/src/plugins/ValueTypes/Default/DefaultTeachMeRenderer.d.ts +21 -21
  1884. package/dist/types/src/plugins/ValueTypes/Default/DefaultTeachMeRendererOld.d.ts +27 -27
  1885. package/dist/types/src/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.d.ts +28 -28
  1886. package/dist/types/src/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.d.ts +4 -4
  1887. package/dist/types/src/schema-driven/BPARenderer.d.ts +13 -13
  1888. package/dist/types/src/schema-driven/FallbackField.d.ts +12 -12
  1889. package/dist/types/src/schema-driven/components/ConditionSectionField.d.ts +2 -2
  1890. package/dist/types/src/schema-driven/components/ConfigSectionField.d.ts +2 -2
  1891. package/dist/types/src/schema-driven/components/DropdownSectionField.d.ts +2 -2
  1892. package/dist/types/src/schema-driven/components/GlobalSetupAccordionField.d.ts +2 -2
  1893. package/dist/types/src/schema-driven/components/GroupEditRow.d.ts +2 -2
  1894. package/dist/types/src/schema-driven/components/PromptTextEditorField.d.ts +2 -2
  1895. package/dist/types/src/schema-driven/components/ScopeSectionField.d.ts +2 -2
  1896. package/dist/types/src/schema-driven/components/TableComponent.d.ts +4 -4
  1897. package/dist/types/src/schema-driven/components/TextInputField.d.ts +2 -2
  1898. package/dist/types/src/schema-driven/components/VariantListField.d.ts +2 -2
  1899. package/dist/types/src/schema-driven/demoSchema.d.ts +12 -12
  1900. package/dist/types/src/schema-driven/helper.d.ts +22 -22
  1901. package/dist/types/src/schema-driven/hooks/useParentEditEnabled.d.ts +17 -17
  1902. package/dist/types/src/schema-driven/hooks/useSectionEditSession.d.ts +33 -33
  1903. package/dist/types/src/schema-driven/primitives/Accordion.d.ts +20 -20
  1904. package/dist/types/src/schema-driven/store/useDynamicFormStore.d.ts +28 -28
  1905. package/dist/types/src/schema-driven/types.d.ts +222 -222
  1906. package/dist/types/src/schema-driven/utils/PayloadUtils.d.ts +80 -80
  1907. package/dist/types/src/schema-driven/utils/aiReasoning.d.ts +4 -4
  1908. package/dist/types/src/schema-driven/utils/conditionText.d.ts +7 -7
  1909. package/dist/types/src/schema-driven/utils/editLock.d.ts +38 -38
  1910. package/dist/types/src/service/API.d.ts +5 -5
  1911. package/dist/types/src/service/DataService.d.ts +72 -72
  1912. package/dist/types/src/service/GoogleFilePickerService.d.ts +60 -60
  1913. package/dist/types/src/service/InstantLearningService.d.ts +19 -19
  1914. package/dist/types/src/service/JavascriptFileService.d.ts +3 -3
  1915. package/dist/types/src/service/ModelService.d.ts +67 -67
  1916. package/dist/types/src/service/ProjectService.d.ts +15 -15
  1917. package/dist/types/src/service/SavedDataSetService.d.ts +26 -26
  1918. package/dist/types/src/service/constants.d.ts +2 -2
  1919. package/dist/types/src/service/envHelperService.d.ts +4 -4
  1920. package/dist/types/src/service/variableHelperService.d.ts +5 -5
  1921. package/dist/types/src/shims/react-dom-shim.d.ts +17 -0
  1922. package/dist/types/src/shims/react-dom-shim.d.ts.map +1 -0
  1923. package/dist/types/src/theme.d.ts +3 -3
  1924. package/dist/types/src/types/GoogleFilePicker/GoogleFilePickerCallbackFunctionType.d.ts +22 -22
  1925. package/dist/types/src/userProvidedConfig.d.ts +7 -7
  1926. package/dist/types/src/utils/CustomSkeleton.d.ts +2 -2
  1927. package/dist/types/src/utils/SkeletonLoader.d.ts +7 -7
  1928. package/dist/types/src/utils/agentGenieAPI.d.ts +16 -16
  1929. package/dist/types/src/utils/api.d.ts +1 -1
  1930. package/dist/types/src/utils/bookGenieAPI.d.ts +13 -13
  1931. package/dist/types/src/utils/codeCitations.utils.d.ts +1 -1
  1932. package/dist/types/src/utils/colors.d.ts +4 -4
  1933. package/dist/types/src/utils/date.d.ts +7 -7
  1934. package/dist/types/src/utils/helperFunctions.d.ts +1 -1
  1935. package/dist/types/src/utils/instantLearning.utils.d.ts +2 -2
  1936. package/dist/types/src/utils/instantLearningAPI.d.ts +20 -20
  1937. package/dist/types/src/utils/payloadParsers.d.ts +15 -15
  1938. package/dist/types/src/utils/recommendationParser.d.ts +21 -21
  1939. package/dist/types/src/utils/regexHelperService.d.ts +8 -8
  1940. package/dist/types/src/utils/urlQueryParamService.d.ts +1 -1
  1941. package/dist/types/src/utils/variableHelperService.d.ts +6 -6
  1942. package/dist/types/src/utils/variantParser.d.ts +13 -13
  1943. package/dist/utils/agentGenieAPI.js +110 -1
  1944. package/dist/utils/agentGenieAPI.js.map +1 -1
  1945. package/dist/utils/bookGenieAPI.js +14 -1
  1946. package/dist/utils/bookGenieAPI.js.map +1 -1
  1947. package/dist/utils/instantLearning.utils.js +11 -1
  1948. package/dist/utils/instantLearning.utils.js.map +1 -1
  1949. package/dist/utils/instantLearningAPI.js +78 -1
  1950. package/dist/utils/instantLearningAPI.js.map +1 -1
  1951. package/dist/utils/recommendationParser.js +18 -1
  1952. package/dist/utils/recommendationParser.js.map +1 -1
  1953. package/dist/utils/variantParser.js +60 -1
  1954. package/dist/utils/variantParser.js.map +1 -1
  1955. package/package.json +11 -6
  1956. package/dist/cjs/features/LearningManagement/LearningManagementTest.js +0 -2
  1957. package/dist/cjs/features/LearningManagement/LearningManagementTest.js.map +0 -1
  1958. package/dist/features/LearningManagement/LearningManagementTest.js +0 -2
  1959. package/dist/features/LearningManagement/LearningManagementTest.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"InstantLearningModalDynamic.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"InstantLearningModalDynamic.js","sources":["../../../../src/features/LearningManagement/components/InstantLearningModalDynamic.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n// import { useParams } from 'react-router-dom';\n\n// import {\n// CitationProvider,\n// ILOTJ,\n// TemplateList,\n// extractAndParseResponse,\n// extractAndParseWithProperty,\n// extractVariantIds,\n// parseValidationData,\n// replaceNullWithEmptyString,\n// useCitations,\n// } from '@e-llm-studio/instant-learning';\nimport { AlertTriangle, Check, Loader, Lightbulb } from 'lucide-react';\nimport { Toast } from 'primereact/toast';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n ChatFeedbackPayload,\n NewChatFeedbackPayload,\n PublishFeedbackPayload,\n SaveInstantLearningQuestionPayload,\n UpdateVariantPayload,\n fetchRulesByQuestionId,\n // getVariantInfo,\n publishFeedback,\n saveDraftVariant,\n saveInstantLearningQuestion,\n submitChatFeedback,\n updateVariant,\n validateSession,\n} from '../apis/scopeApis';\n\nimport type { TeachMeMode } from '../../IL-OTJ/ValueTypeWrappers/TeachMePlugin';\n\nimport { useLearningTemplateStore } from '../store/useLearningTemplateStore';\nimport { dt, useLMSConfigStore, useTeachMeConfigStore } from '../store/useLMSConfigStore';\nimport { usePublishTemplateStore } from '../../IL-marketplace/store/usePublishTemplateStore';\nimport { useExternalWorkflowStore, type ConfigureNowPayload } from '../store/useExternalWorkflowStore';\nimport { RuleDefinition, RuleSetItem, RuleVariant } from '../types';\n// import DebuggerPanel, { ComparisonDebugData, VariantInfoDebugData } from './DebuggerPanel';\nimport toastStyles from '../styles/InstantLearningModal.module.css';\nimport ILOTJ from '../../IL-OTJ/ILOTJ';\nimport { extractAndParseResponse, extractAndParseWithProperty, extractVariantIds, parseValidationData, TemplateList, useCitations } from '../../IL-OTJ/_components';\nimport useAuthStore from '../store/useAuthStore';\nimport { useConfigStore } from '../store/useConfigStore';\nimport useEnvStore from '../store/useEnvStore';\nimport DebuggerPanel,{VariantInfoDebugData} from '../../InstantLearning/_components/DebuggerPanel';\nimport { IL_CONFIG_CONSTANTS } from '../config';\nimport { buildLearningMetadataPayload, getInstructionPromptValue } from '../utils/learningMetadataUtils';\nimport { InstantLearningFlow, resolveIsEditMode } from '../utils/learningFlow';\nimport { buildSaveDraftPayload } from '../utils/saveDraft';\nimport { generatePayloadFromSchema, applyResponseToStore, areRequiredFieldsFilled, resolveSchemaRuleSetId, buildFieldLabelMap, getVariantPrefilledData } from '../../../schema-driven/utils/PayloadUtils';\nimport { useDynamicFormStore } from '../../../schema-driven/store/useDynamicFormStore';\nimport { usePendingEditHighlight } from '../../IL-OTJ/_components/hooks/usePendingEditHighlight';\nimport ConfirmationModal from './ConfirmationModal';\n\ntype ConditionItem = {\n id: string | number;\n text: string;\n reasoning?: string;\n conflict?: any; // Structured conflict data for the library to consume\n};\n\nconst MockBulbIcon = () => <Lightbulb size={20} strokeWidth={2} className='text-blue-600' />;\n\nconst apiConstants = {\n INITIAL: 'INITIAL',\n SUCCESS: 'SUCCESS',\n FAILURE: 'FAILURE',\n IN_PROGRESS: 'IN_PROGRESS',\n};\n\ninterface InstantLearningModalProps {\n isOpen: boolean;\n onClose: () => void;\n initialScope?: string;\n ruleSet?: RuleSetItem;\n /** Rule to edit. When provided, the form will be pre-filled with rule data. */\n editingRule?: RuleDefinition | null;\n /** Tier name when editing (e.g., \"Tier 1\", \"Tier 2\"). Used to pre-select the tier. */\n editingTier?: string | null;\n /** All variants to edit (for rule-level or variant-level editing) */\n editingVariants?: RuleVariant[] | null;\n /**\n * Explicit create/edit flow. Source of truth for the modal's mode: `flow === 'create'`\n * always renders the Create/Add UI even when `editingVariants` is populated (e.g. a\n * draft variant seeded into the RHS). When omitted, mode falls back to the legacy\n * heuristic (`editingRule || editingVariants`). See utils/learningFlow.ts.\n */\n flow?: InstantLearningFlow | null;\n /** Index of the focused variant (for variant-level edit). null = all expanded */\n focusedVariantIndex?: number | null;\n setFocusedVariantIndex?: React.Dispatch<React.SetStateAction<number | null>>;\n /** When true, auto-triggers the \"add new variant\" chat message on the LHS upon modal open */\n triggerAddVariant?: boolean;\n triggerFixGaps?: boolean;\n isDraftFlow?: boolean;\n /** When true, auto-sends \"Validate this template.\" to the chat once the modal opens */\n triggerValidateMessage?: boolean;\n copiedRule?: RuleDefinition | null;\n copiedSourceTier?: string | null;\n copiedTargetTier?: string | null;\n initialDraftMessage?: string;\n postSaveCallback?: () => void | Promise<void>;\n initialChatMessage?: string;\n applicationIntegrationId: string;\n /** Marketplace content-mode mapping forwarded to the graphql customMetadata. */\n contentModeMappingId?: string;\n /** Source template ID supplied by marketplace publishing; null for other Teach Me flows. */\n instantLearningId?: string | null;\n /** Original marketplace domain ID; used to distinguish a initial from an edited one. */\n initialRuleSetId?: string | null;\n modeId: string;\n uiStateLabels?:any;\n /**\n * Operational config for the JSON-driven form, kept separate from labels:\n * - dynamicOptions: dropdown option sources keyed by `dynamic_options_key`\n * - prefilledData: host-resolved values keyed by data_key (e.g. Category)\n */\n dynamicFormConfig?: {\n dynamicOptions?: Record<string, any>;\n prefilledData?: Record<string, any>;\n };\n customSections?: React.ReactNode;\n /** Verbose stream logs, already resolved by the renderer. Forwarded to ILOTJ. */\n enableChatLogs?: boolean;\n /**\n * Which flow the host opened this modal for — 'ADD' creates a new template,\n * 'EDIT' amends an existing one. Threaded down from <TeachMePlugin mode=... />\n * via pluginPayload. Only the ADD flow ends in the continue-with-template\n * modal; an edit just closes on save.\n */\n mode?: TeachMeMode;\n /** Flag indicating when TeachMePlugin is opened for publishing/validation context */\n is_publishing?: boolean;\n}\ninterface ScopeData {\n station: string;\n tiers: string[];\n}\ninterface AnalysisMap {\n [variantId: string]: any; // The full analysis JSON\n}\n\n/**\n * Data structure containing all UI formatting required for variants fetched from the API.\n */\ninterface TransformedVariantData {\n transformedVariants: any[];\n tierConfigMap: Map<number, any>;\n tierDescMap: Map<number, string>;\n tierWtaMap: Map<number, ConditionItem[]>;\n tierWntaMap: Map<number, ConditionItem[]>;\n}\n\n/**\n * Strips AI reasoning and JSON blocks from incoming descriptive text.\n * @param val - The raw text payload string to filter\n * @returns Cleaned up string\n */\nexport const filterAgentText = (val: string | any) => {\n if (typeof val !== 'string') return '';\n return val\n .replace(/<ai_reasoning>[\\s\\S]*?<\\/ai_reasoning>/g, '')\n .replace(/<!--```json[\\s\\S]*?```-->/g, '') // Strip JSON blocks\n .trim();\n};\n\nconst getVariantStableKey = (variant: any): string | undefined =>\n variant?.variant_id || variant?.new_variant_id || variant?.client_id || undefined;\n\nconst isDefaultVariantType = (type: string | undefined | null): boolean => {\n if (!type) return false;\n const t = type.toLowerCase().trim();\n return t === 'default' || t === 'default_variant';\n};\n\n// Normalize tier keys to always use underscore format (e.g. \"tier1\" → \"tier_1\", \"Tier 1\" → \"tier_1\")\nconst normalizeTierKey = (tier: string): string =>\n tier.toLowerCase().replace(/ /g, '_').replace(/tier(\\d+)/i, 'tier_$1');\n\n/**\n * Seeds the schema-driven RHS (useDynamicFormStore) from an `editingRule`/`editingVariants`\n * pair when the modal is opened directly in edit mode (as opposed to the AI \"load and edit\"\n * chat flow, which hydrates the same store via `applyResponseToStore` in `handleAILoadAction`).\n * Mirrors that same call shape so both entry points land data in the store identically:\n * - global leaves (title/category/sub-category/...) come from the rule itself. Category/\n * Sub-Category aren't core fields (no `core_field: true` in the schema), so\n * `applyResponseToStore` reads them out of `learning_metadata` — and on this API that\n * bag lives on the VARIANT, not the rule, even though the fields are schema-global\n * (shared across a rule's variants). So the rule's own `learning_metadata` (if any)\n * is merged with the first variant's as a fallback source for the global pass.\n * - variant-scoped leaves (description/whenToApply/whenNotToApply/...) come from each variant,\n * or, for the deprecated single-rule shape (no `variants[]`), from the rule's own\n * deprecated `ruleDesc`/`whenToApply`/`whenNotToApply` fields.\n * `applyResponseToStore` already knows how to read these exact field names via its\n * CORE_KEY_ALIASES table, so no field-name remapping is needed here.\n */\nconst hydrateDynamicFormFromEdit = (\n rule: RuleDefinition | null | undefined,\n variants: RuleVariant[] | null | undefined,\n tierKey: string,\n) => {\n const jsonSchema =\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n // Only the schema is truly required. In the draft-create flow there is no\n // `rule` (flow === \"create\" seeds RHS from the selected variant alone), so we\n // still hydrate the variant-scoped leaves below. The global pass runs only\n // when we actually have a rule and/or variant `learning_metadata` to read.\n if (!jsonSchema) return;\n\n const globalLearningMetadata =\n (rule as any)?.learning_metadata ?? variants?.[0]?.learning_metadata;\n // In the draft-create flow there is no `rule`, so the schema-global title\n // (`rule_title`, aliased from `title`/`ruleTitle` in CORE_KEY_ALIASES) has to\n // come off the selected variant instead. `applyResponseToStore` reads it via\n // those same aliases, so exposing either key on the global source is enough.\n const globalTitle =\n (rule as any)?.ruleTitle ??\n (variants?.[0] as any)?.title ??\n (variants?.[0] as any)?.ruleTitle;\n if (rule || globalLearningMetadata || globalTitle) {\n const globalSource = {\n ...((rule as any)?.marketplaceInstance ?? {}),\n ...(rule ?? {}),\n ...(globalTitle != null ? { ruleTitle: globalTitle } : {}),\n learning_metadata: globalLearningMetadata,\n };\n applyResponseToStore(jsonSchema, globalSource, undefined, undefined, { hydrateAll: true });\n }\n\n const variantsToHydrate =\n variants && variants.length > 0\n ? variants\n : rule\n ? [{ description: rule.ruleDesc, whenToApply: rule.whenToApply, whenNotToApply: rule.whenNotToApply }]\n : [];\n\n variantsToHydrate.forEach((variant, index) => {\n applyResponseToStore(\n jsonSchema,\n { ...((rule as any)?.marketplaceInstance ?? {}), ...variant },\n tierKey,\n index,\n { hydrateAll: true, variantOnly: true },\n );\n });\n};\n\n/**\n * Transforms raw variant data from the `fetchRulesByQuestionId` API into the precise state Maps and arrays\n * required by the InstantLearningModal's internal UI state.\n *\n * @param variantsData - Raw rules variants array fetched from the backend.\n * @param ruleTitle - The top-level title of the rule containing these variants.\n * @param tierKey - The tier scoping key to assign these variants to (e.g. \"tier_1\").\n * @param incomingQuestionId - The UUID for the current question session.\n * @returns An object containing `transformedVariants` and mapped configurations ready for UI hydration.\n */\nconst transformFetchedAIDataToUIState = (\n variantsData: any[],\n ruleTitle: string,\n tierKey: string,\n tierId: string, // \"1\" or \"2\"\n incomingQuestionId: string,\n targetVariantId: string | null,\n): TransformedVariantData => {\n const transformedVariants = variantsData.map((v: any) => {\n // Prioritize the root tier from the API to ensure UI consistency\n const scope = [tierKey];\n\n return {\n variant_type: v.variantType || 'variant',\n title: ruleTitle,\n rule_description: v.description || '',\n wta: v.whenToApply || '',\n wnta: v.whenNotToApply || '',\n scope: scope,\n scheduling_config: v.configuration?.scheduling_config || {},\n variant_id: v.variantId,\n question_id: incomingQuestionId,\n tier_id: tierId,\n is_readOnly: v.variantId !== targetVariantId,\n link_id: v.link_id || '',\n is_enabled: v.is_enabled ?? true,\n is_user_accepted_risk: v.is_user_accepted_risk,\n has_accepted_risk: v.has_accepted_risk,\n user_accepted_risk_at: v.user_accepted_risk_at,\n learning_metadata: v.learning_metadata || {},\n action: 'edit',\n };\n });\n\n const tierConfigMap = new Map<number, any>();\n const tierDescMap = new Map<number, string>();\n const tierWtaMap = new Map<number, ConditionItem[]>();\n const tierWntaMap = new Map<number, ConditionItem[]>();\n\n transformedVariants.forEach((v: any, idx: number) => {\n const schedulingCfg = v.scheduling_config || {};\n tierConfigMap.set(idx, {\n order_rules: {\n enabled:\n !!schedulingCfg.order_global_min_separation_seconds ||\n !!schedulingCfg.order_rules?.global_min_separation_seconds,\n global_min_separation_seconds: Math.floor(\n (schedulingCfg.order_global_min_separation_seconds ||\n schedulingCfg.order_rules?.global_min_separation_seconds ||\n 0) / 60,\n ),\n },\n advertiser_rules: {\n enabled:\n !!schedulingCfg.advertiser_global_min_separation_seconds ||\n !!schedulingCfg.advertiser_rules?.global_min_separation_seconds,\n global_min_separation_seconds: Math.floor(\n (schedulingCfg.advertiser_global_min_separation_seconds ||\n schedulingCfg.advertiser_rules?.global_min_separation_seconds ||\n 0) / 60,\n ),\n },\n inventory_rules: {\n respect_inventory_code:\n !!schedulingCfg.respect_inventory_code ||\n !!schedulingCfg.inventory_rules?.respect_inventory_code,\n },\n break_code_rules: {\n respect_break_code:\n !!schedulingCfg.respect_break_code ||\n !!schedulingCfg.break_code_rules?.respect_break_code,\n },\n is_default_enabled: isDefaultVariantType(v.variantType || v.variant_type),\n });\n\n tierDescMap.set(idx, filterAgentText(v.rule_description || ''));\n\n const wtaConditions = v.wta\n ? v.wta\n .split(' OR ')\n .map((text: string) => text.trim())\n .filter((text: string) => text !== '')\n .map((text: string, i: number) => ({ id: `edit-wta-${idx}-${i}`, text, reasoning: '' }))\n : [];\n tierWtaMap.set(idx, wtaConditions);\n\n const wntaConditions = v.wnta\n ? v.wnta\n .split(' OR ')\n .map((text: string) => text.trim())\n .filter((text: string) => text !== '')\n .map((text: string, i: number) => ({ id: `edit-wnta-${idx}-${i}`, text, reasoning: '' }))\n : [];\n tierWntaMap.set(idx, wntaConditions);\n });\n\n return {\n transformedVariants,\n tierConfigMap,\n tierDescMap,\n tierWtaMap,\n tierWntaMap,\n };\n};\n\nconst getEditRuleChatMessage = (ruleName: string, showFixGaps: boolean = false): string => {\n return `<p><span>Welcome back! 👋</span>\n <span>I see you want to edit <strong>\"${ruleName}.\"</strong></span>\n <span> <strong>What would you like to update? </strong> </span>\n <span>Describe the change you want to make, and I’ll help you edit it.</span>\n </p>`;\n};\n\n\n// NOTE: Phase-0 copy of InstantLearningModal. Currently byte-identical in behavior;\n// this is the divergence point for the schema-driven dynamic state work. Gated by the\n// `useDynamicForm` flag in DefaultTeachMeRenderer so the original flow stays untouched.\nconst InstantLearningModalDynamic: React.FC<InstantLearningModalProps> = ({\n isOpen,\n onClose,\n initialScope = 'global',\n ruleSet,\n editingRule,\n editingTier,\n editingVariants,\n flow,\n focusedVariantIndex,\n setFocusedVariantIndex,\n triggerAddVariant,\n triggerFixGaps,\n isDraftFlow,\n triggerValidateMessage,\n copiedRule,\n copiedSourceTier,\n copiedTargetTier,\n initialDraftMessage,\n postSaveCallback,\n initialChatMessage,\n applicationIntegrationId,\n contentModeMappingId,\n instantLearningId,\n initialRuleSetId: initialMarketplaceRuleSetId,\n modeId,\n uiStateLabels,\n dynamicFormConfig,\n customSections,\n enableChatLogs,\n mode,\n is_publishing,\n}) => {\n const [scopeData, setScopeData] = useState<ScopeData>({\n station: initialScope,\n tiers: ['Tier 1'],\n });\n const [saveApiStatus, setSaveApiStatus] = useState(apiConstants.INITIAL);\n const [isSavedSuccessfully, setIsSavedSuccessfully] = useState<boolean>(false);\n const [savedMessage, setSavedMessage] = useState<string>(\n 'Thank you teacher for teaching me, your rule has been saved successfully.',\n );\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [isError, setIsError] = useState<boolean>(false);\n const closeTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n // Guards the external-workflow snapshot+open sequence in handleSaveSuccessClose\n // so it runs at most ONCE per modal session, no matter how many independent\n // \"save succeeded\" signals fire (a streamed chat confirmation AND a direct save-\n // API response can both arrive for the same save). Scheduling each signal's delayed\n // handleSaveSuccessClose() call in closeTimeoutRef only protects against the LAST\n // scheduled one — an earlier-scheduled timer already orphaned by a later\n // `closeTimeoutRef.current = setTimeout(...)` reassignment still fires on its own,\n // so cancellation alone can't be relied on. This ref makes the snapshot itself\n // idempotent instead: reset to false when the modal opens (see the isOpen effect).\n const hasSnapshottedForCloseRef = useRef(false);\n const [isSendSaveMessage, setIsSendSaveMessage] = useState<boolean>(false);\n const isSendingSaveRef = useRef(false);\n const isSendingValidateRef = useRef(false);\n const isSendingDraftContinueRef = useRef(false);\n const { tiers } = useLearningTemplateStore.getState();\n const processedIdsRef = React.useRef(new Set());\n const [careDebugData, setCareDebugData] = useState<any>(null);\n const [rhsDebugData, setRhsDebugData] = useState<any>(null);\n const [validationAgentDebugData, setValidationAgentDebugData] = useState<any>(null);\n // const [variantInfoDebugData, setVariantInfoDebugData] = useState<VariantInfoDebugData | null>(\n // null,\n // );\\\n const customMetaDataRef = useRef<any>({});\n const comparisonStartedRef = useRef<Map<string, string>>(new Map());\n const initializedIdsRef = useRef<string>('');\n const isLoadAndEditModeRef = useRef(false);\n const [activeComparisonRequests, setActiveComparisonRequests] = useState(0);\n const [hasCriticalGapsCard, setHasCriticalGapsCard] = useState<any>(false);\n const lastValidProposedRuleRef = useRef<any>(null);\n const newVariantMapIndexRef = useRef<number>(0);\n const [llmProposedRule, setLlmProposedRule] = useState<any>(null);\n const [llmComparisonVariants, setLlmComparisonVariants] = useState<any[]>([]);\n const [targetComparisonVariantId, setTargetComparisonVariantId] = useState<string | null>(null);\n const [highlightedComparisonField, setHighlightedComparisonField] = useState<string | null>(null);\n const [isAddingNewVariant, setIsAddingNewVariant] = useState<boolean>(false);\n const pendingEditsRef = useRef<Record<string, any>>({});\n const prevTierRef = useRef<string[]>([]);\n const hasDiscardedRef = useRef<boolean>(false);\n // Add this state near the other useState declarations\n const [isVariantsLoadedFromApi, setIsVariantsLoadedFromApi] = useState<boolean>(false);\n const isLoadAndEditFetchingRef = useRef(false);\n const loadedLoadAndEditIdsRef = useRef<Set<string>>(new Set());\n const [activeEditId, setActiveEditId] = useState<string | null>(null);\n const [pendingEditId, setPendingEditId] = useState<string | null>(null);\n // Scrolls the pending section into view and pulses a glow around it — the inline\n // \"Pending\" warning alone is easy to miss when the section is off-screen.\n const { pulsePendingEdit } = usePendingEditHighlight(pendingEditId);\n const [variantIdToBeEdited, setVariantIdToBeEdited] = useState<string | null>(null);\n const lastLoadedQuestionIdRef = useRef<string | null>(null);\n const currentTierRef = useRef<string | null>(null);\n const fetchInProgressIdRef = useRef<string | null>(null);\n const lastCareUpdatedFieldsRef = useRef<any>(null);\n // Add this ref alongside prevReasoningRef\n const prevReasoningRef = useRef<Record<string, string>>({});\n const latestCitationsRef = useRef<string[]>([]); // NEW: track citations per key\n // When an active edit finishes/cancels, clear any pending edit warnings\n const liveVariantsRef = useRef<any[]>([]);\n const pendingCitationFlushRef = useRef<Record<string, boolean>>({});\n const { configuration, ilLabels } = useConfigStore();\n const backwardCompatibility = useLearningTemplateStore.getState().backwardCompatibility;\n const cognitiveCompareCompatibility = useLearningTemplateStore.getState().cognitiveCompareCompatibility;\n const rbacConfig = useEnvStore((state) => state.rbacConfig);\n const baseModeName = useEnvStore.getState().baseModeName;\n\n useEffect(() => {\n if (!activeEditId) {\n setPendingEditId(null);\n }\n }, [activeEditId]);\n\n useEffect(() => {\n if (isOpen && editingRule) {\n lastLoadedQuestionIdRef.current = editingRule.ruleId;\n const focusedVariantId = editingVariants?.[focusedVariantIndex || 0]?.variantId;\n setVariantIdToBeEdited(focusedVariantId || null);\n }\n }, [isOpen, editingRule, editingVariants, focusedVariantIndex]);\n\n // Update scopeData when initialScope changes or modal opens\n useEffect(() => {\n if (isOpen) {\n setScopeData((prev) => ({ ...prev, station: initialScope }));\n }\n }, [isOpen, initialScope]);\n\n // Seed host-prefilled values (e.g. Category / Sub-Category) into the dynamic\n // store on open, and clear the store on close so nothing leaks across\n // sessions. Owned by the modal (the parent) — not a child that can remount —\n // and idempotent (initializeStore only seeds keys that aren't already set).\n useEffect(() => {\n if (!isOpen) {\n useDynamicFormStore.getState().resetStore();\n return;\n }\n // New session — allow the next save-success to snapshot for the continue modal.\n hasSnapshottedForCloseRef.current = false;\n const prefilled = dynamicFormConfig?.prefilledData;\n if (prefilled && Object.keys(prefilled).length > 0) {\n useDynamicFormStore.getState().initializeStore(prefilled);\n }\n }, [isOpen, dynamicFormConfig]);\n\n // The `if (!isOpen)` branch above only fires if this component re-renders\n // with isOpen=false while still mounted. It doesn't: TeachMeWrapper stops\n // rendering this whole subtree the instant isOpen goes false, so the\n // component is destroyed before it ever gets that render pass. These stores\n // are module-level singletons, so without an actual unmount cleanup here\n // the previous session's data survives and leaks into the next mount.\n useEffect(() => {\n return () => {\n useDynamicFormStore.getState().resetStore();\n useLearningTemplateStore.getState().clearLearningMetadata();\n if (!useExternalWorkflowStore.getState().isContinueModalOpen) {\n useExternalWorkflowStore.getState().clearCapturedSnapshot();\n }\n };\n }, []);\n\n // Subscribe to the dynamic store so the outgoing payload (customMetaDataRef,\n // built during render) is rebuilt whenever a JSON-driven field changes —\n // otherwise the AI could receive a stale ui_state. Select slices separately;\n // a new-object selector would change identity every render and loop.\n useDynamicFormStore((s) => s.globalData);\n useDynamicFormStore((s) => s.variantData);\n\n // Reactive read of the JSON-driven schema. The app integration ID or marketplace\n // content-mode mapping resolves it asynchronously (useLMSConfigQuery), so on a fresh session the modal\n // can open in edit mode BEFORE the schema arrives. Subscribing here (rather than\n // reading via `.getState()` only inside the edit-prefill effect) lets that effect\n // depend on the schema and re-run once it lands, instead of silently hydrating\n // nothing because `applyResponseToStore` had no schema to walk yet.\n const dynamicFormSchema = useTeachMeConfigStore(\n (s) => s.teachMeConfig?.learningMetadataComponents?.teachMe ?? s.teachMeConfig?.learningMetadataComponents,\n );\n\n // Chat-side labels for C.A.R.E.'s `updated_fields`/`identified_fields` keys come\n // from the same JSON that titles the RHS fields, so \"rule_title\" reads as\n // \"Template Title\" (not the renderer's legacy \"Rule Title\") in both places.\n const fieldLabelMap = useMemo(\n () => (dynamicFormSchema ? buildFieldLabelMap(dynamicFormSchema) : undefined),\n [dynamicFormSchema],\n );\n\n useEffect(() => {\n if (!isOpen || resolveIsEditMode({ flow, editingRule, editingVariants })) return;\n const variantData = getVariantPrefilledData(\n dynamicFormSchema,\n dynamicFormConfig?.prefilledData ?? {},\n );\n if (Object.keys(variantData).length > 0) {\n useDynamicFormStore.getState().initializeStore({}, variantData);\n }\n }, [isOpen, dynamicFormConfig, dynamicFormSchema, flow, editingRule, editingVariants]);\n\n // ─── Which ruleset does this template belong to? ───────────────────────────\n // Default: the host's ruleset, seeded into the store from\n // `pluginPayload.ruleSet.ruleSetId` (TeachMePlugin).\n const selectedRuleSetId = useLearningTemplateStore((state) => state.selectedRuleSetId);\n\n // Override: in the JSON-driven flow the template's OWN form picks the ruleset —\n // the schema leaf keyed `ruleset_id` (the Sub-Category dropdown), whose selected\n // option carries the real ruleset uuid. Teams using this flow don't pass a\n // ruleSetId in pluginPayload at all, so this is the only source. It's null\n // whenever the schema has no such leaf or nothing is picked yet, which leaves\n // everything below behaving exactly as it did before.\n // Recomputed every render — the globalData subscription above re-renders on\n // every Sub-Category change, so switching sub-category re-targets the save.\n const schemaRuleSetId = resolveSchemaRuleSetId(\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents,\n dynamicFormConfig?.dynamicOptions,\n );\n\n // The single id every ruleset/scope-carrying payload below must use.\n const effectiveRuleSetId = schemaRuleSetId ?? selectedRuleSetId ?? ruleSet?.ruleSetId ?? '';\n const initialRuleSetId = instantLearningId ? initialMarketplaceRuleSetId ?? null : null;\n\n // Update is_readOnly status of variants in structuredAIResponse whenever variantIdToBeEdited changes.\n useEffect(() => {\n console.log('triggered', variantIdToBeEdited);\n console.log(structuredAIResponse, 'structuredAIResponse');\n setStructuredAIResponse((prev: any) => {\n if (!Array.isArray(prev)) return prev;\n return prev.map((variant: any) => ({\n ...variant,\n is_readOnly:\n variant.variant_id !== variantIdToBeEdited &&\n variant.new_variant_id !== variantIdToBeEdited,\n }));\n });\n setExistingVariants((prev: any) => {\n if (!Array.isArray(prev)) return prev;\n return prev.map((variant: any) => ({\n ...variant,\n is_readOnly:\n variant.variant_id !== variantIdToBeEdited &&\n variant.new_variant_id !== variantIdToBeEdited,\n }));\n });\n }, [variantIdToBeEdited]);\n\n /**\n * Pre-fill form state when editing an existing rule or variants.\n * Supports both single variant (legacy) and multiple variants (new).\n * Populates title, description, conditions, and tier.\n */\n useEffect(() => {\n if (!isOpen) {\n resetAllStates();\n hasDiscardedRef.current = false;\n return;\n }\n if (hasDiscardedRef.current) return;\n // Determine data source: editingVariants > editingRule\n const variantsToEdit = editingVariants;\n const hasVariants = variantsToEdit && variantsToEdit.length > 0;\n const hasRule = editingRule != null;\n\n if (hasVariants || hasRule) {\n const incomingRuleTitle =\n editingRule?.ruleTitle ??\n (variantsToEdit?.[0] as any)?.ruleTitle ??\n (variantsToEdit?.[0] as any)?.title ??\n '';\n\n if (incomingRuleTitle) {\n setRuleTitle(incomingRuleTitle);\n }\n\n // Pre-fill tier selection\n if (editingTier) {\n setScopeData((prev) => ({\n ...prev,\n tiers: [editingTier],\n }));\n // Initialize the tier ref to the current editing tier for stable change detection\n currentTierRef.current = editingTier.toLowerCase().replace(/ /g, '_');\n }\n\n // Seed the schema-driven RHS (useDynamicFormStore) so the JSON-driven form\n // fields (Template Title, Category, WTA/WNTA, ...) show the existing values —\n // the legacy state below (ruleTitle/ruleDescription/wta/wnta Maps) no longer\n // drives the RHS, which now reads/writes exclusively through the dynamic store.\n hydrateDynamicFormFromEdit(\n editingRule,\n variantsToEdit,\n editingTier ? normalizeTierKey(editingTier) : 'tier_1',\n );\n\n if (hasVariants) {\n // Multi-variant prefill: populate all variants into state Maps\n const tierKey = editingTier ? normalizeTierKey(editingTier) : 'tier_1';\n\n const descMap = new Map<string, Map<number, string>>();\n const wtaMap = new Map<string, Map<number, ConditionItem[]>>();\n const wntaMap = new Map<string, Map<number, ConditionItem[]>>();\n\n const tierDescMap = new Map<number, string>();\n const tierWtaMap = new Map<number, ConditionItem[]>();\n const tierWntaMap = new Map<number, ConditionItem[]>();\n\n const ids: string[] = [];\n variantsToEdit!.forEach((variant, index) => {\n // Description\n tierDescMap.set(index, variant.description || '');\n\n // When to Apply conditions\n const wtaConditions = variant.whenToApply\n ? variant.whenToApply\n .split(' OR ')\n .map((text: string) => text.trim())\n .filter((text: string) => text !== '')\n .map((text: string, i: number) => ({\n id: `edit-wta-${index}-${i}`,\n text,\n reasoning: '',\n }))\n : [];\n tierWtaMap.set(index, wtaConditions);\n\n // When Not to Apply conditions\n const wntaConditions = variant.whenNotToApply\n ? variant.whenNotToApply\n .split(' OR ')\n .map((text: string) => text.trim())\n .filter((text: string) => text !== '')\n .map((text: string, i: number) => ({\n id: `edit-wnta-${index}-${i}`,\n text,\n reasoning: '',\n }))\n : [];\n tierWntaMap.set(index, wntaConditions);\n\n ids.push(variant.variantId || (variant as any).variant_id || '');\n });\n // setVariantIds(ids);\n\n descMap.set(tierKey, tierDescMap);\n wtaMap.set(tierKey, tierWtaMap);\n wntaMap.set(tierKey, tierWntaMap);\n\n const focusedVariantId = variantsToEdit?.[focusedVariantIndex || 0]?.variantId;\n\n const transformedRecords = variantsToEdit!.map((v, index) => {\n // Extract scheduling_config from variant.configuration\n const schedulingConfig: any = v.configuration?.scheduling_config;\n \n return {\n variant_type: v.variantType || 'variant',\n title: incomingRuleTitle,\n rule_description: v.description || '',\n wta: v.whenToApply || '',\n wnta: v.whenNotToApply || '',\n scope: [tierKey],\n scheduling_config: schedulingConfig || {},\n variant_id: v.variantId,\n question_id: editingRule?.ruleId || '',\n tier_id: tierKey.replace('tier_', ''),\n is_readOnly: v.variantId !== focusedVariantId,\n link_id: (v as any).link_id || '',\n is_enabled: v.is_enabled ?? true,\n is_user_accepted_risk: (v as any).is_user_accepted_risk,\n has_accepted_risk: (v as any).has_accepted_risk,\n user_accepted_risk_at: (v as any).user_accepted_risk_at,\n action: 'edit',\n };\n });\n setStructuredAIResponse(transformedRecords);\n setExistingVariants(transformedRecords);\n\n setBaselineTierVariants((prev) => {\n const newMap = new Map(prev);\n newMap.set(tierKey, JSON.parse(JSON.stringify(transformedRecords)));\n return newMap;\n });\n\n // CRITICAL: Populate configData for each variant from API configuration\n // variantsByTier iterates over configData.keys(), so all indices must be present\n const tierConfigMap = new Map<number, any>();\n variantsToEdit!.forEach((variant, idx) => {\n // Extract scheduling_config from variant.configuration\n const schedulingConfig: any = variant.configuration?.scheduling_config;\n\n // Convert API seconds to UI minutes for separation times\n const orderSeparationSeconds =\n schedulingConfig?.order_global_min_separation_seconds ??\n schedulingConfig?.order_rules?.global_min_separation_seconds ??\n 0;\n const advertiserSeparationSeconds =\n schedulingConfig?.advertiser_global_min_separation_seconds ??\n schedulingConfig?.advertiser_rules?.global_min_separation_seconds ??\n 0;\n\n tierConfigMap.set(idx, {\n order_rules: {\n enabled: orderSeparationSeconds > 0,\n global_min_separation_seconds: Math.floor(orderSeparationSeconds / 60),\n },\n advertiser_rules: {\n enabled: advertiserSeparationSeconds > 0,\n global_min_separation_seconds: Math.floor(advertiserSeparationSeconds / 60),\n },\n inventory_rules: {\n respect_inventory_code:\n schedulingConfig?.inventory_rules?.respect_inventory_code ??\n schedulingConfig?.respect_inventory_code ??\n false,\n },\n break_code_rules: {\n respect_break_code:\n schedulingConfig?.break_code_rules?.respect_break_code ??\n schedulingConfig?.respect_break_code ??\n false,\n },\n // ─── STEP 1: Take variant_type from props (editingVariants from parent) ───\n // Derive is_default_enabled from variant_type: default_variant → true\n is_default_enabled: isDefaultVariantType(\n variant.variantType || (variant as any).variant_type,\n ),\n });\n });\n setConfigData(new Map([[tierKey, tierConfigMap]]) as any);\n\n setRuleDescription(descMap);\n setWhenToApplyConditions(wtaMap);\n setWhenNotToApplyConditions(wntaMap);\n } else if (hasRule && editingRule) {\n // Legacy single rule prefill\n const description = editingRule.ruleDesc;\n if (description) {\n setRuleDescription(new Map([['tier_1', new Map([[0, description]])]]));\n }\n\n if (editingRule.whenToApply) {\n const wtaConditions = editingRule.whenToApply\n .split(' OR ')\n .map((text) => text.trim())\n .filter((text) => text !== '')\n .map((text, index) => ({\n id: `edit-wta-${index}`,\n text,\n reasoning: '',\n }));\n setWhenToApplyConditions(new Map([['tier_1', new Map([[0, wtaConditions]])]]));\n }\n\n if (editingRule.whenNotToApply) {\n const wntaConditions = editingRule.whenNotToApply\n .split(' OR ')\n .map((text) => text.trim())\n .filter((text) => text !== '')\n .map((text, index) => ({\n id: `edit-wnta-${index}`,\n text,\n reasoning: '',\n }));\n setWhenNotToApplyConditions(new Map([['tier_1', new Map([[0, wntaConditions]])]]));\n }\n }\n }\n else if (copiedRule && copiedSourceTier && copiedTargetTier) {\n // Pre-fill rule title\n setRuleTitle(copiedRule.ruleTitle || '');\n\n // Scope defaults to Target Tier (e.g., \"Tier 2\") so the checkbox is selected\n setScopeData((prev) => ({\n ...prev,\n tiers: [copiedTargetTier],\n }));\n currentTierRef.current = normalizeTierKey(copiedTargetTier);\n\n // FIX: Map ALL copied data strictly to the SOURCE tier so it renders as context\n const sourceTierKey = normalizeTierKey(copiedSourceTier);\n const variantsToCopy = copiedRule.variants || [];\n\n const descMap = new Map<string, Map<number, string>>();\n const wtaMap = new Map<string, Map<number, ConditionItem[]>>();\n const wntaMap = new Map<string, Map<number, ConditionItem[]>>();\n\n const tierDescMap = new Map<number, string>();\n const tierWtaMap = new Map<number, ConditionItem[]>();\n const tierWntaMap = new Map<number, ConditionItem[]>();\n\n variantsToCopy.forEach((variant, index) => {\n tierDescMap.set(index, variant.description || '');\n\n const wtaConditions = variant.whenToApply\n ? variant.whenToApply\n .split(' OR ')\n .map((text: string, i: number) => ({ id: `copy-wta-${index}-${i}`, text: text.trim(), reasoning: '' }))\n : [];\n tierWtaMap.set(index, wtaConditions);\n\n const wntaConditions = variant.whenNotToApply\n ? variant.whenNotToApply\n .split(' OR ')\n .map((text: string, i: number) => ({ id: `copy-wnta-${index}-${i}`, text: text.trim(), reasoning: '' }))\n : [];\n tierWntaMap.set(index, wntaConditions);\n });\n\n descMap.set(sourceTierKey, tierDescMap);\n wtaMap.set(sourceTierKey, tierWtaMap);\n wntaMap.set(sourceTierKey, tierWntaMap);\n\n setRuleDescription(descMap);\n setWhenToApplyConditions(wtaMap);\n setWhenNotToApplyConditions(wntaMap);\n\n const transformedRecords = variantsToCopy.map((v, index) => {\n const schedulingConfig: any = v.configuration?.scheduling_config;\n return {\n variant_type: v.variantType || 'variant',\n title: copiedRule.ruleTitle || '',\n rule_description: v.description || '',\n wta: v.whenToApply || '',\n wnta: v.whenNotToApply || '',\n scope: [copiedSourceTier], // Keep scope mapped to Source Tier\n scheduling_config: schedulingConfig || {},\n variant_id: v.variantId,\n question_id: copiedRule.ruleId || '',\n tier_id: sourceTierKey.replace('tier_', ''),\n is_readOnly: true, // Render these as locked context for the user\n link_id: (v as any).link_id || '',\n is_enabled: v.is_enabled ?? true,\n is_user_accepted_risk: (v as any).is_user_accepted_risk,\n has_accepted_risk: (v as any).has_accepted_risk,\n user_accepted_risk_at: (v as any).user_accepted_risk_at,\n action: 'copy', // Special flag to prevent the AI loop from resetting the checkboxes\n };\n });\n\n setStructuredAIResponse(transformedRecords);\n setExistingVariants(transformedRecords);\n\n setBaselineTierVariants((prev) => {\n const newMap = new Map(prev);\n newMap.set(sourceTierKey, JSON.parse(JSON.stringify(transformedRecords)));\n return newMap;\n });\n\n const tierConfigMap = new Map<number, any>();\n variantsToCopy.forEach((variant, idx) => {\n const schedulingConfig: any = variant.configuration?.scheduling_config;\n const orderSeparationSeconds =\n schedulingConfig?.order_global_min_separation_seconds ??\n schedulingConfig?.order_rules?.global_min_separation_seconds ??\n 0;\n const advertiserSeparationSeconds =\n schedulingConfig?.advertiser_global_min_separation_seconds ??\n schedulingConfig?.advertiser_rules?.global_min_separation_seconds ??\n 0;\n\n tierConfigMap.set(idx, {\n order_rules: {\n enabled: orderSeparationSeconds > 0,\n global_min_separation_seconds: Math.floor(orderSeparationSeconds / 60),\n },\n advertiser_rules: {\n enabled: advertiserSeparationSeconds > 0,\n global_min_separation_seconds: Math.floor(advertiserSeparationSeconds / 60),\n },\n inventory_rules: {\n respect_inventory_code:\n schedulingConfig?.inventory_rules?.respect_inventory_code ??\n schedulingConfig?.respect_inventory_code ??\n false,\n },\n break_code_rules: {\n respect_break_code:\n schedulingConfig?.break_code_rules?.respect_break_code ??\n schedulingConfig?.respect_break_code ??\n false,\n },\n is_default_enabled: isDefaultVariantType(\n variant.variantType || (variant as any).variant_type,\n ),\n });\n });\n setConfigData(new Map([[sourceTierKey, tierConfigMap]]) as any);\n } else {\n resetAllStates();\n }\n }, [\n isOpen,\n editingRule,\n editingVariants,\n editingTier,\n copiedRule,\n copiedSourceTier,\n copiedTargetTier,\n // Not otherwise read in this effect — included so that if the schema-driven RHS\n // hydration below runs before the JSON schema has loaded (async), it re-runs once\n // `dynamicFormSchema` arrives instead of leaving the RHS unhydrated.\n dynamicFormSchema,\n ]);\n\n /**\n * CRITICAL FIX: Initialize accordion states when modal opens for editing.\n * - Opens correct Tier N accordion (fixes Tier 2+)\n * - Opens specific variant (from VariantCard) OR 1st/default variant (from RuleHeader)\n */\n useEffect(() => {\n if (!isOpen) {\n setEditVariantIndex(undefined);\n return;\n }\n\n console.log(\n '[Accordion Init] editingTier:',\n editingTier,\n 'focusedVariantIndex:',\n focusedVariantIndex,\n );\n\n // Ensure only the edited tier is active (already done in prefill, but double-safe)\n if (editingTier) {\n setScopeData((prev) => ({\n ...prev,\n tiers: [editingTier],\n }));\n }\n\n // Priority order:\n // 0. Adding a new variant — close everything, don't open any accordion\n if (isAddingNewVariant) {\n console.log(`[Accordion] isAddingNewVariant mode — closing all variant accordions`);\n setEditVariantIndex(undefined); // this needs to be empty for variants to be closed\n return; // stop here, don't fall through to conditions below\n }\n // 1. triggerAddVariant mode: don't auto-open any variant on RHS\n if (triggerAddVariant) {\n console.log(`[Accordion] triggerAddVariant mode — not opening any variant on RHS`);\n setEditVariantIndex(undefined);\n\n // Trigger \"add new variant\" chat message on LHS\n const tierKey = editingTier ? normalizeTierKey(editingTier) : 'tier_1';\n const handleTier = tierKey.replace(/_/g, ' ');\n setSendMessageInChat(`I want to add a new variant to ${handleTier}`);\n }\n // 2. Direct variant edit (VariantCard.tsx)\n else if (focusedVariantIndex != null) {\n console.log(\n `[Accordion] Opening SPECIFIC variant index ${focusedVariantIndex} (from VariantCard)`,\n );\n setEditVariantIndex(focusedVariantIndex);\n setScrollTrigger(prev => prev+1)\n }\n // 3. Rule header edit → default to first variant\n else if (editingRule || (editingVariants && editingVariants.length > 0)) {\n console.log(`[Accordion] Opening DEFAULT/1st variant (index 0) for RuleHeader edit`);\n setEditVariantIndex(0);\n setScrollTrigger(prev => prev+1)\n }\n }, [\n isOpen,\n editingTier,\n focusedVariantIndex,\n editingRule,\n editingVariants,\n triggerAddVariant,\n isAddingNewVariant,\n ]);\n\n // Handle auto-firing the \"fix gaps\" chat action\n useEffect(() => {\n if (isOpen && triggerFixGaps && editingRule && focusedVariantIndex !== null) {\n setSendMessageInChat('I want to fix the gaps');\n }\n }, [isOpen, triggerFixGaps, editingRule, focusedVariantIndex]);\n\n interface ConfigDataType {\n order_rules: { enabled: boolean; global_min_separation_seconds: number };\n advertiser_rules: { enabled: boolean; global_min_separation_seconds: number };\n inventory_rules: { respect_inventory_code: boolean };\n break_code_rules: { respect_break_code: boolean };\n /** Whether this variant is the default variant. Derived from variant_type on load;\n * user can toggle it. Sent to API as `is_default` on save. */\n is_default_enabled: boolean;\n }\n const DEFAULT_CONFIG: ConfigDataType = {\n order_rules: { enabled: false, global_min_separation_seconds: 0 },\n advertiser_rules: { enabled: false, global_min_separation_seconds: 0 },\n inventory_rules: { respect_inventory_code: false },\n break_code_rules: { respect_break_code: false },\n is_default_enabled: false,\n };\n const initTierMap = <T,>(defaultValue: () => T): Map<string, Map<number, T>> => {\n const { tiers: initialTiers } = useLearningTemplateStore.getState();\n const keys = initialTiers.length > 0 && !backwardCompatibility\n ? initialTiers.map((t) => t.tier_name.replace(/(\\d+)/, '_$1'))\n : ['tier_1', 'tier_2'];\n return new Map(\n keys.map((k): [string, Map<number, T>] => [k, new Map()])\n );\n };\n const [dynamicGlobalState, setDynamicGlobalState] = useState<Record<string, any>>({});\n const [dynamicVariantState, setDynamicVariantState] = useState<Map<string, Map<number, Record<string, any>>>>(() => initTierMap(() => ({})));\n const [configData, setConfigData] = useState<Map<string, Map<number, ConfigDataType>>>(() => {\n const { tiers: initialTiers } = useLearningTemplateStore.getState();\n const keys = initialTiers.length > 0 && !backwardCompatibility\n ? initialTiers.map((t) => t.tier_name.replace(/(\\d+)/, '_$1'))\n : ['tier_1', 'tier_2'];\n return new Map(\n keys.map((k): [string, Map<number, ConfigDataType>] => [k, new Map([[0, DEFAULT_CONFIG]])])\n );\n });\n const [openSections, setOpenSections] = useState(new Set<string>([]));\n const [whyThisLearning, setWhyThisLearning] = useState('');\n const [ruleTitle, setRuleTitle] = useState('');\n const [ruleDescription, setRuleDescription] = useState<Map<string, Map<number, string>>>(\n () => initTierMap(() => '')\n );\n const [whenToApplyConditions, setWhenToApplyConditions] = useState<Map<string, Map<number, ConditionItem[]>>>(\n () => initTierMap(() => [])\n );\n const [whenNotToApplyConditions, setWhenNotToApplyConditions] = useState<Map<string, Map<number, ConditionItem[]>>>(\n () => initTierMap(() => [])\n );\n const [touchedConfigKeys, setTouchedConfigKeys] = useState<Map<string, Map<number, Set<string>>>>(\n () => initTierMap(() => new Set())\n );\n const [structuredAIResponse, setStructuredAIResponse] = useState<any[]>([]);\n // Applied instruction_prompt edits keyed by variant index, layered on top of\n // whatever editingVariants/structuredAIResponse report, so a later resync\n // (see the learningMetadata effect below) never clobbers a value the user\n // already applied for that variant.\n const [instructionPromptOverrides, setInstructionPromptOverrides] = useState<Record<string, string>>({});\n const [baselineTierVariants, setBaselineTierVariants] = useState<Map<string, any[]>>(new Map());\n const [existingVariants, setExistingVariants] = useState<any[]>([]);\n const [isVariantFlow, setIsVariantFlow] = useState(false);\n const [ruleIdInCurrentSession, setRuleIdInCurrentSession] = useState<string[]>([]);\n\n const [editVariantIndex, setEditVariantIndex] = useState<number | undefined>(undefined);\n const [sendMessageInChat, setSendMessageInChat] = useState('');\n const [stagedAiResponse, setStagedAiResponse] = useState<any>(null);\n const [variantIds, setVariantIds] = useState<string[]>([]); //for loading existing variants from db\n const [newVariantIds, setNewVariantIds] = useState<string[]>([]); //to track newly created variants in the current session\n// const [comparisonDebugData, setComparisonDebugData] = useState<ComparisonDebugData[]>([]);\n const [rawAiConfig, setRawAiConfig] = useState<any>({});\n const [highlights, setHighlights] = useState(new Map<string, any>());\n const [highlightedIds, setHighlightedIds] = useState<Set<string | number>>(new Set());\n const [scrollTrigger, setScrollTrigger] = useState(0);\n const [reasoning, setReasoning] = useState<Record<string, string>>({\n ruleTitle: '',\n ruleDescription: '',\n scopeData: '',\n whenToApply: '',\n whenNotToApply: '',\n configData: '',\n });\n const [citations, setCitations] = useState<string[]>([]);\n const [currentRequestId, setCurrentRequestId] = useState('');\n const [fieldCitations, setFieldCitations] = useState<Record<string, string[]>>({});\n const [isAiStreaming, setIsAiStreaming] = useState<boolean>(false);\n const lastProcessedResponseRef = useRef<any>(null);\n const lastProcessedVariantId = useRef<any>(null);\n const lastAutoSetIndexRef = useRef<number>(-1);\n const toast = useRef<Toast>(null);\n // Intercept library-level parse failures and surface as toast\n\n // Keep it synced with your React state every time the state changes\nuseEffect(() => {\n liveVariantsRef.current = structuredAIResponse;\n}, [structuredAIResponse]);\n\n\n useEffect(() => {\n const seenWarnIds = new Set<string>();\n const originalWarn = console.warn;\n\n console.warn = (...args: any[]) => {\n originalWarn(...args);\n const message = args[0];\n if (typeof message === 'string' && message.includes('Failed to parse JSON for property=')) {\n // Extract warnId from the message\n const warnIdMatch = message.match(/warnId=\"([^\"]+)\"/);\n const warnId = warnIdMatch?.[1];\n\n if (warnId && seenWarnIds.has(warnId)) return; // already shown\n if (warnId) seenWarnIds.add(warnId);\n\n toast.current?.show({\n severity: 'warn',\n sticky: false,\n life: 5000,\n className: toastStyles.toastWarning,\n content: (\n <div className={toastStyles.toastContent}>\n <div className={toastStyles.toastHeaderLeft}>\n <AlertTriangle className={toastStyles.iconWarning} />\n <span className={`${toastStyles.toastTitle} ${toastStyles.toastTitleWarning}`}>Parsing Issue</span>\n </div>\n <p className={`${toastStyles.toastMessage} ${toastStyles.toastMessageWarning}`}>\n The AI response couldn't be parsed correctly. Please try rephrasing your input or\n retry.\n </p>\n </div>\n ),\n });\n }\n };\n return () => {\n console.warn = originalWarn;\n };\n }, []);\n const [showConfirmReset, setShowConfirmReset] = useState<boolean>(false);\n const [showConfirmSaveDraft, setShowConfirmSaveDraft] = useState<boolean>(false);\n const [isLoadingVariants, setIsLoadingVariants] = useState(false);\n const [validationErrors, setValidationErrors] = useState<Record<string, string>>({});\n /** Global conflict reason extracted from RHS validation agent */\n const [conflictReason, setConflictReason] = useState<string>('');\n const [isCloseModal, setIsCloseModal] = useState<boolean | null>(true);\n const [isSaveRule, setIsSaveRule] = useState<boolean>(false);\n const openContinueModal = useExternalWorkflowStore((state) => state.openContinueModal);\n const setConfigureNowPayload = useExternalWorkflowStore((state) => state.setConfigureNowPayload);\n const setRawFormSnapshot = useExternalWorkflowStore((state) => state.setRawFormSnapshot);\n const [showComparison, setShowComparison] = useState(false);\n const [mainText, setMainText] = useState<string>('');\n const [subMainText, setSubMainText] = useState<string>('');\n const [action, setAction] = useState<string>('');\n const [editVariantId, setEditVariantId] = useState<string | null>(null);\n const [pendingFocusVariantId, setPendingFocusVariantId] = useState<string | null>(null);\n const [ruleId, setRuleId] = useState<string | null>(null);\n\n\n const user = useAuthStore.getState().user;\n const { dispatch, getLatestReasoning } = useCitations();\n\n useEffect(() => {\n console.log('Structured AI Response updated:', structuredAIResponse);\n }, [structuredAIResponse]);\n useEffect(() => {\n console.log('isCloseModal AI Response updated:', isCloseModal);\n // if (isCloseModal) {\n // // Trigger the \"Yes, Discard or Cancel\" popup\n // setShowConfirmReset(true);\n\n // setIsCloseModal(false); // Reset it back\n // }\n }, [isCloseModal]);\n useEffect(() => {\n if (isAiStreaming === false) {\n setIsLoadingVariants(false);\n setMainText('');\n setSubMainText('');\n } else {\n setIsError(false);\n setErrorMessage('');\n }\n }, [isAiStreaming]);\n\n // Bug Fix: Clear stale editVariantId when user switches to a \"New\" variant accordion.\n useEffect(() => {\n if (editVariantIndex != null && editingVariants && !editingVariants[editVariantIndex]) {\n setEditVariantId(null);\n }\n }, [editVariantIndex, editingVariants]);\n\n // Sync the learningMetadata store (e.g. instruction_prompt) with the variant currently\n // being edited, so dynamic metadata components (PromptTextEditor) load with the saved value.\n //\n // Only re-run this when the variant actually being edited changes (not on every\n // structuredAIResponse update, which fires on almost every chat/GraphQL turn) — otherwise\n // editingVariants/structuredAIResponse (which never get the user's applied instruction_prompt\n // written back into them) would stomp the applied edit back to its original value mid-chat.\n // Any value the user already applied for this variant (instructionPromptOverrides) always wins.\nconst lastSyncedMetadataKeyRef = useRef<string | null>(null);\nuseEffect(() => {\n if (!isOpen) {\n lastSyncedMetadataKeyRef.current = null;\n return;\n }\n const idx = editVariantIndex ?? focusedVariantIndex;\n if (idx == null) return;\n\n const variant =\n editingVariants?.[idx] ??\n copiedRule?.variants?.[idx] ??\n (Array.isArray(structuredAIResponse) ? structuredAIResponse[idx] : undefined);\n\n const key = getVariantStableKey(variant) ?? `idx-${idx}`;\n if (lastSyncedMetadataKeyRef.current === key) return;\n lastSyncedMetadataKeyRef.current = key;\n\n const baseMetadata = variant?.learning_metadata || {};\n const appliedInstructionPrompt = instructionPromptOverrides[key];\n const mergedMetadata = {\n ...baseMetadata,\n instruction_prompt: appliedInstructionPrompt ?? getInstructionPromptValue(baseMetadata),\n };\n useLearningTemplateStore.getState().setLearningMetadata(mergedMetadata);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n}, [isOpen, editVariantIndex, focusedVariantIndex, structuredAIResponse]);\n\n /**\n * Trigger save message to agent when isSendSaveMessage is set.\n * Uses a ref-based lock to prevent duplicate sends (e.g. React StrictMode).\n * Clears sendMessageInChat after a delay so ILOTJ doesn't re-consume it.\n */\n useEffect(() => {\n if (isSendSaveMessage && !isSendingSaveRef.current) {\n isSendingSaveRef.current = true;\n console.log('UseEffect triggered: Sending save message to chat agent');\n const message = 'Save this Learning';\n setSendMessageInChat(message);\n setIsSendSaveMessage(false);\n\n // Reset lock and clear message after delay to allow future manual saves\n setTimeout(() => {\n isSendingSaveRef.current = false;\n setSendMessageInChat('');\n }, 2000);\n }\n }, [isSendSaveMessage]);\n\n /**\n * Trigger the \"Validate this template.\" message when triggerValidateMessage\n * is set (marketplace publish \"Validate & proceed\" flow). Uses a ref-based\n * lock so it fires once per modal open rather than on every re-render.\n */\n useEffect(() => {\n if (isOpen && triggerValidateMessage && !isSendingValidateRef.current) {\n isSendingValidateRef.current = true;\n setSendMessageInChat('Validate this template.');\n }\n if (!triggerValidateMessage) {\n isSendingValidateRef.current = false;\n }\n }, [isOpen, triggerValidateMessage]);\n\n useEffect(() => {\n if (isOpen && isDraftFlow && !isSendingDraftContinueRef.current) {\n isSendingDraftContinueRef.current = true;\n setSendMessageInChat('Please help me continue configuring this draft');\n }\n if (!isDraftFlow || !isOpen) {\n isSendingDraftContinueRef.current = false;\n }\n }, [isOpen, isDraftFlow]);\n\n\n // NEW: Handler for clicking comparison citation links\n const handleComparisonLinkClick = useCallback(\n (variantId: string, fieldName: string) => {\n // 1. Check if the ID exists in our carousel data\n const variantExists = llmComparisonVariants.some((v: any) => v.id === variantId);\n\n if (!variantExists) {\n console.warn(`Variant ID ${variantId} not found in comparison variants.`);\n return;\n }\n\n // 2. Open the comparison screen if it's closed\n setShowComparison(true);\n\n // 3. Set the target ID to switch the carousel, and the field to trigger the glow\n setTargetComparisonVariantId(variantId);\n setHighlightedComparisonField(fieldName);\n\n // 4. Clear the highlighted field in the parent after the animation finishes\n // so clicking the same link twice will re-trigger the glow effect.\n setTimeout(() => {\n setHighlightedComparisonField(null);\n setTargetComparisonVariantId(null);\n }, 6000);\n },\n [llmComparisonVariants],\n );\n\n const isFetchingComparison = useMemo(() => {\n const isFetching = showComparison && activeComparisonRequests > 0;\n console.log(\n `[Loader Debug] showComparison: ${showComparison}, activeRequests: ${activeComparisonRequests}, Result: ${isFetching}`,\n );\n return isFetching;\n }, [showComparison, activeComparisonRequests]);\n\n const handleSetRuleDescription = useCallback((tier: string, index: number, value: any) => {\n const newValue = value?.target?.value !== undefined ? value.target.value : value;\n setRuleDescription((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier));\n tierMap.set(index, newValue);\n newMap.set(tier, tierMap);\n return newMap;\n });\n // Clear validation error if exists\n setValidationErrors((prev) => {\n if (prev[`ruleDescription-${tier}-${index}`]) {\n const newErrors = { ...prev };\n delete newErrors[`ruleDescription-${tier}-${index}`];\n return newErrors;\n }\n return prev;\n });\n }, []);\n\n const handleAddWhenToApply = useCallback((tier: string, index: number) => {\n setWhenToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier));\n const currentConditions = tierMap.get(index) || [];\n tierMap.set(index, [...currentConditions, { id: Date.now(), text: '', reasoning: '' }]);\n newMap.set(tier, tierMap);\n return newMap;\n });\n // Clear validation error if exists\n setValidationErrors((prev) => {\n if (prev[`whenToApply-${tier}-${index}`]) {\n const newErrors = { ...prev };\n delete newErrors[`whenToApply-${tier}-${index}`];\n return newErrors;\n }\n return prev;\n });\n }, []);\n\n const handleRemoveWhenToApply = useCallback(\n (tier: string, index: number, id: number | string) => {\n setWhenToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier));\n const currentConditions = tierMap.get(index) || [];\n tierMap.set(\n index,\n currentConditions.filter((c) => c.id !== id),\n );\n newMap.set(tier, tierMap);\n return newMap;\n });\n },\n [],\n );\n\n const handleEditWhenToApply = useCallback(\n (tier: string, index: number, id: number | string, text: string) => {\n setWhenToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier));\n const currentConditions = tierMap.get(index) || [];\n tierMap.set(\n index,\n currentConditions.map((c) => (String(c.id) === String(id) ? { ...c, text } : c)),\n );\n newMap.set(tier, tierMap);\n return newMap;\n });\n // Clear validation error if exists\n setValidationErrors((prev) => {\n if (prev[`whenToApply-${tier}-${index}`]) {\n const newErrors = { ...prev };\n delete newErrors[`whenToApply-${tier}-${index}`];\n return newErrors;\n }\n return prev;\n });\n },\n [],\n );\n\n const handleAddWhenNotToApply = useCallback((tier: string, index: number) => {\n setWhenNotToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier));\n const currentConditions = tierMap.get(index) || [];\n tierMap.set(index, [...currentConditions, { id: Date.now(), text: '', reasoning: '' }]);\n newMap.set(tier, tierMap);\n return newMap;\n });\n }, []);\n\n const handleRemoveWhenNotToApply = useCallback(\n (tier: string, index: number, id: number | string) => {\n setWhenNotToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier));\n const currentConditions = tierMap.get(index) || [];\n tierMap.set(\n index,\n currentConditions.filter((c) => c.id !== id),\n );\n newMap.set(tier, tierMap);\n return newMap;\n });\n },\n [],\n );\n\n const handleEditWhenNotToApply = useCallback(\n (tier: string, index: number, id: string | number, text: string) => {\n setWhenNotToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier));\n const currentConditions = tierMap.get(index) || [];\n tierMap.set(\n index,\n currentConditions.map((c) => (String(c.id) === String(id) ? { ...c, text } : c)),\n );\n newMap.set(tier, tierMap);\n return newMap;\n });\n },\n [],\n );\n\n const handleAddNewVariant = useCallback((tier: string) => {\n const handleTier = tier.replace(/_/g, ' ');\n setIsAddingNewVariant(true);\n setFocusedVariantIndex?.(null);\n setEditVariantIndex(undefined);\n setSendMessageInChat(`I want to add a new variant to ${handleTier}`);\n }, []);\n /**\n * Updated triggerHighlight to support composite keys\n * Key format: `${tier}_${index}`\n */\n const triggerHighlight = (tier: string, index: number, key: string) => {\n const compositeKey = `${tier}_${index}`;\n console.log(`Highlighting ${key} at ${compositeKey}`);\n\n setHighlights((prev) => {\n const newMap = new Map(prev);\n const currentHighlights = newMap.get(compositeKey) || {};\n newMap.set(compositeKey, {\n ...currentHighlights,\n [key]: true,\n });\n return newMap;\n });\n\n setTimeout(() => {\n setHighlights((prev) => {\n const newMap = new Map(prev);\n const currentHighlights = newMap.get(compositeKey) || {};\n newMap.set(compositeKey, {\n ...currentHighlights,\n [key]: false,\n });\n return newMap;\n });\n }, 1500);\n };\n const handleScopeChange = useCallback((field: 'station' | 'tiers', value: string | string[]) => {\n setScopeData((prev) => ({\n ...prev,\n [field]: value,\n }));\n // Clear validation error\n setValidationErrors((prev) => {\n if (prev[field]) {\n const newErrors = { ...prev };\n delete newErrors[field];\n return newErrors;\n }\n return prev;\n });\n }, []);\n const handleConfigChange = useCallback(\n (tier: string, index: number, key: keyof ConfigDataType, value: any) => {\n setTouchedConfigKeys((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier) || new Map());\n const currentSet = tierMap.get(index) || new Set<string>();\n currentSet.add(key);\n tierMap.set(index, currentSet);\n newMap.set(tier, tierMap);\n return newMap;\n });\n\n setConfigData((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier) || new Map());\n const currentConfig: ConfigDataType = tierMap.get(index) || DEFAULT_CONFIG;\n\n let updatedConfig: ConfigDataType;\n\n switch (key) {\n case 'order_rules':\n case 'advertiser_rules':\n if (typeof value === 'boolean') {\n updatedConfig = {\n ...currentConfig,\n [key]: {\n ...currentConfig[key],\n enabled: value,\n },\n };\n } else if (typeof value === 'object' && value !== null) {\n updatedConfig = {\n ...currentConfig,\n [key]: {\n enabled: value.enabled,\n global_min_separation_seconds: value.global_min_separation_seconds,\n },\n };\n } else {\n updatedConfig = currentConfig;\n }\n break;\n case 'inventory_rules':\n updatedConfig = {\n ...currentConfig,\n inventory_rules: {\n respect_inventory_code:\n typeof value === 'boolean' ? value : value.respect_inventory_code,\n },\n };\n break;\n case 'break_code_rules':\n updatedConfig = {\n ...currentConfig,\n break_code_rules: {\n respect_break_code: typeof value === 'boolean' ? value : value.respect_break_code,\n },\n };\n break;\n case 'is_default_enabled':\n updatedConfig = {\n ...currentConfig,\n is_default_enabled: typeof value === 'boolean' ? value : !!value,\n };\n break;\n default:\n updatedConfig = currentConfig;\n }\n\n tierMap.set(index, updatedConfig);\n newMap.set(tier, tierMap);\n return newMap;\n });\n },\n [],\n );\n\n const isFormDirty = () => {\n return (\n // Global fields\n ruleTitle.trim() !== '' ||\n scopeData.station !== '' ||\n scopeData.tiers.length > 0 ||\n // Check all tiers for dirty data\n Array.from(ruleDescription.values()).some((tierMap) =>\n Array.from(tierMap.values()).some((desc) => desc.trim() !== ''),\n ) ||\n Array.from(whenToApplyConditions.values()).some((tierMap) =>\n Array.from(tierMap.values()).some((conditions) => conditions.length > 0),\n ) ||\n Array.from(whenNotToApplyConditions.values()).some((tierMap) =>\n Array.from(tierMap.values()).some((conditions) => conditions.length > 0),\n ) ||\n configData.size > 0 ||\n touchedConfigKeys.size > 0\n );\n };\n\n const handleResetRequest = () => {\n setShowConfirmReset(true);\n };\n\n useEffect(() => {\n if (isAiStreaming) {\n setShowComparison(false);\n // optional : Reset highlight fields if you want a clean slate for the next comparison\n setHighlightedComparisonField(null);\n setTargetComparisonVariantId(null);\n }\n }, [isAiStreaming]);\n\n const resetAllStates = useCallback(\n (keepChatHistory: boolean = false) => {\n // Reset CitationsContext history to prevent stale reasoning data\n if (!keepChatHistory) {\n dispatch({ type: 'RESET' });\n lastProcessedResponseRef.current = null;\n setStructuredAIResponse([]);\n setRuleIdInCurrentSession([]);\n setCitations([]);\n setFieldCitations({});\n setShowComparison(false);\n processedIdsRef.current.clear(); // Important to clear the ref too\n useLearningTemplateStore.getState().clearLearningMetadata();\n // RHS schema-driven form data (globalData/variantData/reasoning) — otherwise\n // stale field values from the previous rule leak into the new chat's RHS.\n useDynamicFormStore.getState().resetStore();\n // In the create flow, the edit-prefill effect below also calls\n // `resetAllStates`. Effects run after the host-prefill effect, so that\n // reset previously erased `pluginPayload.prefilledData` (including\n // requiredDocuments) before the table rendered. Re-seed immediately\n // after a reset. Do not do this for edit data: API hydration owns those\n // values and should not be shadowed by host defaults.\n if (!editingRule && !(editingVariants?.length)) {\n const prefilled = dynamicFormConfig?.prefilledData ?? {};\n if (Object.keys(prefilled).length > 0) {\n useDynamicFormStore.getState().initializeStore(\n prefilled,\n getVariantPrefilledData(dynamicFormSchema, prefilled),\n );\n }\n }\n // Drop the previous rule's captured Configure Now snapshot; host handlers/mfApi\n // are preserved (see clearCapturedSnapshot's doc comment).\n //\n // BUT skip this while the continue modal is open: a successful save closes\n // THIS modal (flipping isOpen → false, which fires the effect that calls\n // resetAllStates here) and then immediately opens the continue modal, which\n // needs the snapshot we just captured. Clearing it here would hand the\n // continue modal / host handlers an undefined payload. The snapshot is\n // instead cleared on the next new-chat reset, when the continue modal is closed.\n if (!useExternalWorkflowStore.getState().isContinueModalOpen) {\n useExternalWorkflowStore.getState().clearCapturedSnapshot();\n }\n setInstructionPromptOverrides({});\n }\n\n // Reset Text Inputs\n setRuleTitle('');\n setVariantIds([]); // Ensure this is cleared\n setIsAddingNewVariant(false);\n initializedIdsRef.current = '';\n setAction('');\n setPendingFocusVariantId(null);\n setNewVariantIds([]);\n setScopeData({ station: '', tiers: [] });\n setActiveComparisonRequests(0);\n setHasCriticalGapsCard(false);\n setRuleId(null);\n // Reset tier-based states\n setRuleDescription(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ]),\n );\n setWhenToApplyConditions(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ]),\n );\n setWhenNotToApplyConditions(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ]),\n );\n setConfigData(\n new Map([\n ['tier_1', new Map([[0, DEFAULT_CONFIG]])],\n ['tier_2', new Map([[0, DEFAULT_CONFIG]])],\n ]),\n );\n setTouchedConfigKeys(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ]),\n );\n setWhyThisLearning('');\n setEditVariantIndex(0);\n setScrollTrigger(0);\n\n\n // Reset Lists/Conditions\n // Already reset above with correct Map structure\n\n // Reset Complex Objects\n setScopeData({ station: initialScope, tiers: ['Tier 1'] });\n // ConfigData already reset above\n\n // Reset AI Response & Internal Tracking\n if (!keepChatHistory) {\n setRawAiConfig({});\n }\n setTouchedConfigKeys(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ]),\n );\n setSendMessageInChat('');\n setReasoning({\n ruleTitle: '',\n ruleDescription: '',\n scopeData: '',\n whenToApply: '',\n whenNotToApply: '',\n configData: '',\n });\n setValidationErrors({});\n setConflictReason('');\n setIsCloseModal(true);\n setCareDebugData(null);\n setRhsDebugData(null);\n setBaselineTierVariants(new Map());\n setExistingVariants([]);\n setIsVariantsLoadedFromApi(false);\n setValidationAgentDebugData(null);\n // setVariantInfoDebugData(null);\n // setComparisonDebugData([]);\n lastProcessedVariantId.current = null;\n // Accumulated C.A.R.E. draft fields — must not carry into the next template.\n lastCareUpdatedFieldsRef.current = null;\n isLoadAndEditModeRef.current = false;\n pendingEditsRef.current = {};\n loadedLoadAndEditIdsRef.current.clear();\n lastLoadedQuestionIdRef.current = null;\n currentTierRef.current = null;\n setVariantIdToBeEdited(null);\n setErrorMessage('');\n\n // Missed states in previous resets:\n setSaveApiStatus(apiConstants.INITIAL);\n setIsSavedSuccessfully(false);\n setIsError(false);\n setIsSendSaveMessage(false);\n setLlmProposedRule(null);\n setLlmComparisonVariants([]);\n setTargetComparisonVariantId(null);\n setHighlightedComparisonField(null);\n setActiveEditId(null);\n setIsVariantFlow(false);\n setStagedAiResponse(null);\n setMainText('');\n setSubMainText('');\n setIsLoadingVariants(false);\n setOpenSections(new Set<string>());\n\n // Missed Refs in previous resets:\n isSendingSaveRef.current = false;\n comparisonStartedRef.current.clear();\n newVariantMapIndexRef.current = 0;\n lastValidProposedRuleRef.current = null;\n fetchInProgressIdRef.current = null;\n lastAutoSetIndexRef.current = -1;\n isLoadAndEditFetchingRef.current = false;\n hasDiscardedRef.current = false;\n\n // ─── EDIT FLOW: Restore initial edit state from props ───\n // In edit mode, after clearing all states, re-hydrate from editingRule/editingVariants\n // so the RHS returns to its initial edit appearance rather than being blank.\n if (editingRule) {\n // Restore rule title\n if (editingRule.ruleTitle) {\n setRuleTitle(editingRule.ruleTitle);\n }\n\n // Restore tier selection\n if (editingTier) {\n setScopeData((prev) => ({\n ...prev,\n tiers: [editingTier],\n }));\n currentTierRef.current = editingTier.toLowerCase().replace(/ /g, '_');\n }\n\n // Restore question ID tracking\n lastLoadedQuestionIdRef.current = editingRule.ruleId;\n\n // Restore focused variant ID for editing\n const focusedVariantId = editingVariants?.[focusedVariantIndex || 0]?.variantId;\n setVariantIdToBeEdited(focusedVariantId || null);\n\n // Re-seed the schema-driven RHS too — resetStore() above wiped it, and the\n // dynamic store (not the legacy Maps below) is what the JSON-driven fields read from.\n hydrateDynamicFormFromEdit(\n editingRule,\n editingVariants,\n editingTier ? normalizeTierKey(editingTier) : 'tier_1',\n );\n\n if (editingVariants && editingVariants.length > 0) {\n const tierKey = editingTier ? normalizeTierKey(editingTier) : 'tier_1';\n\n // Rebuild description, WTA, WNTA Maps from editingVariants\n const descMap = new Map<string, Map<number, string>>();\n const wtaMap = new Map<string, Map<number, ConditionItem[]>>();\n const wntaMap = new Map<string, Map<number, ConditionItem[]>>();\n\n const tierDescMap = new Map<number, string>();\n const tierWtaMap = new Map<number, ConditionItem[]>();\n const tierWntaMap = new Map<number, ConditionItem[]>();\n\n editingVariants.forEach((variant, index) => {\n tierDescMap.set(index, variant.description || '');\n\n const wtaConditions = variant.whenToApply\n ? variant.whenToApply\n .split(' OR ')\n .map((text: string) => text.trim())\n .filter((text: string) => text !== '')\n .map((text: string, i: number) => ({\n id: `edit-wta-${index}-${i}`,\n text,\n reasoning: '',\n }))\n : [];\n tierWtaMap.set(index, wtaConditions);\n\n const wntaConditions = variant.whenNotToApply\n ? variant.whenNotToApply\n .split(' OR ')\n .map((text: string) => text.trim())\n .filter((text: string) => text !== '')\n .map((text: string, i: number) => ({\n id: `edit-wnta-${index}-${i}`,\n text,\n reasoning: '',\n }))\n : [];\n tierWntaMap.set(index, wntaConditions);\n });\n\n descMap.set(tierKey, tierDescMap);\n wtaMap.set(tierKey, tierWtaMap);\n wntaMap.set(tierKey, tierWntaMap);\n\n setRuleDescription(descMap);\n setWhenToApplyConditions(wtaMap);\n setWhenNotToApplyConditions(wntaMap);\n\n // Rebuild transformed variant records (structuredAIResponse + existingVariants)\n const transformedRecords = editingVariants.map((v) => {\n const schedulingConfig: any = v.configuration?.scheduling_config;\n return {\n variant_type: v.variantType || 'variant',\n title: editingRule.ruleTitle || '',\n rule_description: v.description || '',\n wta: v.whenToApply || '',\n wnta: v.whenNotToApply || '',\n scope: [tierKey],\n scheduling_config: schedulingConfig || {},\n variant_id: v.variantId,\n question_id: editingRule.ruleId || '',\n tier_id: tierKey.replace('tier_', ''),\n is_readOnly: v.variantId !== focusedVariantId,\n link_id: (v as any).link_id || '',\n is_enabled: v.is_enabled ?? true,\n is_user_accepted_risk: (v as any).is_user_accepted_risk,\n has_accepted_risk: (v as any).has_accepted_risk,\n user_accepted_risk_at: (v as any).user_accepted_risk_at,\n action: 'edit',\n };\n });\n setStructuredAIResponse(transformedRecords);\n setExistingVariants(transformedRecords);\n\n setBaselineTierVariants((prev) => {\n const newMap = new Map(prev);\n newMap.set(tierKey, JSON.parse(JSON.stringify(transformedRecords)));\n return newMap;\n });\n\n // Rebuild configData from editingVariants\n const tierConfigMap = new Map<number, any>();\n editingVariants.forEach((variant, idx) => {\n const schedulingConfig: any = variant.configuration?.scheduling_config;\n const orderSeparationSeconds =\n schedulingConfig?.order_global_min_separation_seconds ??\n schedulingConfig?.order_rules?.global_min_separation_seconds ??\n 0;\n const advertiserSeparationSeconds =\n schedulingConfig?.advertiser_global_min_separation_seconds ??\n schedulingConfig?.advertiser_rules?.global_min_separation_seconds ??\n 0;\n\n tierConfigMap.set(idx, {\n order_rules: {\n enabled: orderSeparationSeconds > 0,\n global_min_separation_seconds: Math.floor(orderSeparationSeconds / 60),\n },\n advertiser_rules: {\n enabled: advertiserSeparationSeconds > 0,\n global_min_separation_seconds: Math.floor(advertiserSeparationSeconds / 60),\n },\n inventory_rules: {\n respect_inventory_code:\n schedulingConfig?.inventory_rules?.respect_inventory_code ??\n schedulingConfig?.respect_inventory_code ??\n false,\n },\n break_code_rules: {\n respect_break_code:\n schedulingConfig?.break_code_rules?.respect_break_code ??\n schedulingConfig?.respect_break_code ??\n false,\n },\n is_default_enabled: isDefaultVariantType(\n variant.variantType || (variant as any).variant_type,\n ),\n });\n });\n setConfigData(new Map([[tierKey, tierConfigMap]]) as any);\n\n // Restore accordion state: open focused variant or default to first\n if (focusedVariantIndex != null) {\n setEditVariantIndex(focusedVariantIndex);\n } else {\n setEditVariantIndex(0);\n }\n }\n }\n },\n [dispatch, initialScope, editingRule, editingTier, editingVariants, focusedVariantIndex, dynamicFormConfig],\n );\n\n\n\n\n\n const extractAndParseResponse1 = (data: any) => {\n if (typeof data !== 'string') return data;\n\n try {\n // Extract all JSON blocks from HTML comments\n const jsonRegex = /<!--\\s*```json\\s*([\\s\\S]*?)\\s*```\\s*-->/g;\n const matches = Array.from(data.matchAll(jsonRegex));\n\n if (matches.length === 0) {\n // Fallback: try to parse the entire string as JSON\n return JSON.parse(data);\n }\n\n // Parse all JSON blocks\n const parsedObjects = matches\n .map((match) => {\n try {\n return JSON.parse(match[1].trim());\n } catch (e) {\n console.error('Failed to parse JSON block:', e);\n return null;\n }\n })\n .filter((obj) => obj !== null);\n\n // Merge all parsed objects into one\n if (parsedObjects.length === 1) {\n return parsedObjects[0];\n } else if (parsedObjects.length > 1) {\n // Merge all objects, with later ones overriding earlier ones\n return parsedObjects.reduce(\n (merged, current) => ({\n ...merged,\n ...current,\n }),\n {},\n );\n }\n\n return null;\n } catch (error) {\n console.error('Error extracting JSON:', error);\n return null;\n }\n };\n\n\n\n const getNextVariantType = (existingVariants: any[]) => {\n if (!existingVariants || existingVariants.length === 0) {\n return 'variant 1';\n }\n\n // Count ALL variants (including default) to get the next number\n const allVariants = existingVariants.filter((v) => {\n const type = v.variant_type || v.variantType || '';\n return type !== '' && type !== null;\n });\n\n return `variant ${allVariants.length + 1}`;\n };\n\n const handleOpenComparison = useCallback(() => {\n console.log('variantIds', variantIds);\n // if (!variantIds || variantIds.length === 0) return;\n setShowComparison(true);\n // setIsFetchingComparison(true);\n }, [variantIds]);\n\n const myCustomHandlers = {\n /**\n * Handles the 'Let me connect the dots for you...' header message.\n * Extracts variant_index from HTML comment and opens the corresponding accordion.\n * AI sends 1-based indexing, we convert to 0-based.\n */\n 'Let me connect the dots for you...': (data: any) => {\n if (typeof data === 'string') {\n const variantIndexMatch = data.match(/<!--\\s*(\\{[^}]*\"variant_index\"[^}]*\\})\\s*-->/);\n if (variantIndexMatch) {\n try {\n const variantMeta = JSON.parse(variantIndexMatch[1]);\n const aiIndex = parseInt(variantMeta.variant_index, 10);\n if (!isNaN(aiIndex) && aiIndex > 0) {\n const targetIdx = aiIndex - 1;\n if (lastAutoSetIndexRef.current !== targetIdx) {\n console.log(\n `Opening variant accordion: AI index ${aiIndex} → 0-based index ${targetIdx}`,\n );\n setEditVariantIndex(targetIdx);\n lastAutoSetIndexRef.current = targetIdx;\n }\n }\n } catch (e) {\n console.error('Failed to parse variant_index from HTML comment:', e);\n }\n }\n }\n },\n\n 'Crafted Instant Learning with C.A.R.E.': (data: any) => {\n const parsed = extractAndParseWithProperty(data);\n const parsedGeneral = extractAndParseWithProperty(data, 'general_details');\n console.log('--- [CARE] Staging Initial Structure ---', parsed);\n\n // ACCUMULATE the drafted variant's fields across turns so a later\n // `general_details`-only response (no `updated_fields`) can rebuild the WHOLE\n // draft when it loads — not just whatever the most recent turn happened to send.\n // C.A.R.E. sends `updated_fields` incrementally (title on one turn, goal on the\n // next, wta on the one that finally carries `question_id`), so overwriting here\n // left the draft with only that last field: the rest never reached\n // structuredAIResponse, never reached the legacy description/wnta Maps the save\n // payload reads, and got persisted as \"\" — which is why the reloaded variants\n // come back with `description: \"\"` and `whenNotToApply: \"\"` and only WTA set.\n if (parsed) {\n lastCareUpdatedFieldsRef.current = { ...(lastCareUpdatedFieldsRef.current || {}), ...parsed };\n }\n\n // Writes the ai_generated fields the AI echoed back into the dynamic store so\n // the RHS re-renders. Variant-scoped leaves (wta/wnta/goal) go to the variant\n // being drafted/edited — the active tier + editVariantIndex. Before any load,\n // editVariantIndex is undefined but the sole drafted variant renders at index 0\n // (VariantListField's `[{}]` fallback), so default to 0 — otherwise the variant\n // fields never land and only the global title populates. Global leaves go to\n // globalData. On load, handleAILoadAction re-hydrates every variant from the API.\n //\n // AFTER a load, index 0 is a LOADED (read-only) variant, not the draft — the\n // draft has been moved to its own index past the fetched ones. So prefer the\n // slot flagged `is_new_variant` whenever one exists; only fall back to\n // editVariantIndex ?? 0 pre-load, when the sole drafted variant does render at 0.\n // Without this, a partial `updated_fields` turn (e.g. wta only) writes the\n // draft's value + reasoning straight onto a read-only variant.\n const careTierKey =\n currentTierRef.current ||\n scopeData?.tiers?.[0]?.toLowerCase().replace(/ /g, '_') ||\n 'tier_1';\n const draftIdx = (liveVariantsRef.current || []).findIndex((v: any) => v?.is_new_variant === true);\n applyResponseToStore(\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents,\n parsed,\n careTierKey,\n draftIdx !== -1 ? draftIdx : editVariantIndex ?? 0,\n );\n\n const isCriticalGap = extractAndParseWithProperty(data, 'critical_gaps');\n console.log('isCriticalGap', isCriticalGap);\n if (isCriticalGap) {\n setHasCriticalGapsCard(true);\n } else {\n setHasCriticalGapsCard(false);\n }\n if (parsed) {\n // Derive is_variant from variant_type sent by C.A.R.E.\n // sends variant_type ('default_variant' | 'default' | 'variant').\n if (parsed.variant_type && !('is_variant' in parsed)) {\n const filteredType = filterText(parsed.variant_type || '').toLowerCase();\n // Include 'default' which covers 'Default', 'default_variant' after toLowerCase()\n let type = filteredType.match(/^(default_variant|default|variant)/i)?.[0];\n parsed.variant_type = isDefaultVariantType(type) ? 'Default' : 'variant';\n parsed.isDefault = isDefaultVariantType(type);\n console.log('parsed.variant_type', parsed.variant_type);\n }\n\n // --- TIER SWITCH DETECTION ---\n const rawIncomingTier = parsed.scope && parsed.scope.length > 0 ? String(parsed.scope[0]) : null;\n const incomingTier = rawIncomingTier \n ? filterText(rawIncomingTier).toLowerCase().trim().replace(/ /g, '_')\n : null;\n\n const isTierChanged = Boolean(incomingTier && currentTierRef.current !== incomingTier);\n\n if (isTierChanged && incomingTier) {\n const previousTier = currentTierRef.current;\n console.log('[Tier Switch Detected]', currentTierRef.current, '→', incomingTier);\n\n // 1. Update the active tier ref\n currentTierRef.current = incomingTier;\n\n // 2. FORCE reset the load tracking so we can fetch same question ID for the new tier\n lastLoadedQuestionIdRef.current = null;\n\n // 3. Identify the specific index of the variant currently being drafted\n const currentVariants = liveVariantsRef.current || [];\n let draftIndex = currentVariants.findIndex((v: any) => v?.is_new_variant === true);\n if (draftIndex === -1 && editVariantIndex !== undefined) {\n draftIndex = editVariantIndex;\n }\n\n // Safely delete ONLY the draft from the previous tier's maps\n if (previousTier && draftIndex !== -1) {\n console.log(`[Tier Switch] Stripping draft variant at index ${draftIndex} from ${previousTier}`);\n \n setRuleDescription((prev) => { \n const newMap = new Map(prev); \n const tierMap = new Map(newMap.get(previousTier) || new Map()); \n tierMap.delete(draftIndex); \n newMap.set(previousTier, tierMap); \n return newMap; \n });\n setWhenToApplyConditions((prev) => { \n const newMap = new Map(prev); \n const tierMap = new Map(newMap.get(previousTier) || new Map()); \n tierMap.delete(draftIndex); \n newMap.set(previousTier, tierMap); \n return newMap; \n });\n setWhenNotToApplyConditions((prev) => { \n const newMap = new Map(prev); \n const tierMap = new Map(newMap.get(previousTier) || new Map()); \n tierMap.delete(draftIndex); \n newMap.set(previousTier, tierMap); \n return newMap; \n });\n setConfigData((prev) => { \n const newMap = new Map(prev); \n const tierMap = new Map(newMap.get(previousTier) || new Map()); \n tierMap.delete(draftIndex); \n newMap.set(previousTier, tierMap); \n return newMap; \n });\n\n // Update the draft variant's internal scope to point to the new tier\n setStructuredAIResponse((prev: any) => {\n if (!Array.isArray(prev)) return prev;\n const next = [...prev];\n if (next[draftIndex]) {\n next[draftIndex] = {\n ...next[draftIndex],\n scope: [incomingTier],\n tier_id: incomingTier.replace('tier_', '')\n };\n }\n liveVariantsRef.current = next; // sync ref\n return next;\n });\n }\n\n // 4. Reset edit tracking\n lastAutoSetIndexRef.current = -1;\n\n // 5. Force the UI to select the correct tier immediately\n const displayTier = incomingTier\n .replace(/_/g, ' ')\n .replace(/\\b\\w/g, (char) => char.toUpperCase());\n setScopeData((prev) => ({ ...prev, tiers: [displayTier] }));\n }\n\n // ONLY update staging. Do not setStructuredAIResponse yet for main flows.\n setStagedAiResponse(parsed);\n setCareDebugData({\n Updated_Fields_Response: parsed,\n General_Response: parsedGeneral,\n });\n\n if (parsedGeneral?.variant_id && parsedGeneral?.variant_id === 'new_variant_id') {\n parsedGeneral.variant_id = null;\n }\n\n if (parsedGeneral?.is_interpretation_ready && parsedGeneral?.question_id) {\n handleAILoadAction(parsedGeneral, parsed, isTierChanged);\n }\n\n if (\n parsedGeneral?.is_interpretation_ready &&\n parsedGeneral?.question_id &&\n lastLoadedQuestionIdRef.current &&\n variantIdToBeEdited\n ) {\n setStructuredAIResponse((prev: any) => {\n if (!Array.isArray(prev)) return prev;\n const updated = prev.map((variant: any) => {\n if (variant?.variant_id && variant.variant_id === variantIdToBeEdited) {\n return { ...variant, ...parsed };\n }\n return variant;\n });\n\n // Compute the target index from `prev` (the actual live state), not the stale closure\n const targetIndex = prev.findIndex(\n (v: any) => v?.variant_id && v.variant_id === variantIdToBeEdited,\n );\n console.log(targetIndex, 'targetIndexif');\n if (targetIndex !== -1) {\n setTimeout(() => {\n console.log('targetIndex', targetIndex);\n setEditVariantIndex(targetIndex);\n setScrollTrigger((prev) => prev + 1); // Trigger scroll to the edited variant\n lastAutoSetIndexRef.current = targetIndex;\n }, 0);\n }\n\n return updated;\n });\n } else if (\n parsedGeneral?.is_interpretation_ready &&\n parsedGeneral?.question_id &&\n lastLoadedQuestionIdRef.current &&\n !variantIdToBeEdited\n ) {\n \n // Extract the drafted instruction prompt from the temporary 'idx-0' slot.\n const draftedPrompt = instructionPromptOverrides['idx-0'] || '';\n\n // Clear the temporary override so it doesn't accidentally apply to the \n // existing variants that the API is about to load into index 0.\n if (draftedPrompt) {\n setInstructionPromptOverrides((prev) => ({ ...prev, 'idx-0': '' }));\n }\n\n setStructuredAIResponse((prev: any) => {\n let nextState; \n \n // Embed the prompt directly into the new variant's metadata.\n // This is robust because the prompt now travels naturally with the variant object.\n const newVariantBase = {\n ...parsed,\n is_new_variant: true,\n is_variant: true,\n learning_metadata: { instruction_prompt: draftedPrompt }\n };\n\n if (!Array.isArray(prev)) {\n // Schedule accordion open for the sole new variant at index 0\n setTimeout(() => {\n setEditVariantIndex(0);\n setScrollTrigger((prev) => prev + 1); // Trigger scroll to the new variant\n lastAutoSetIndexRef.current = 0;\n }, 0);\n nextState = [{ ...newVariantBase, client_id: uuidv4() }];\n\n } else {\n const newVariantIndex = prev.findIndex((v: any) => v.is_new_variant === true);\n\n if (newVariantIndex !== -1) {\n setTimeout(() => {\n setEditVariantIndex(newVariantIndex);\n setScrollTrigger((prev) => prev + 1);\n lastAutoSetIndexRef.current = newVariantIndex;\n }, 0);\n\n const existingClientId = prev[newVariantIndex].client_id || uuidv4();\n // Preserve prompt if it was already successfully embedded in a previous render\n const existingPrompt = prev[newVariantIndex].learning_metadata?.instruction_prompt || draftedPrompt;\n\n nextState = prev.map((v: any, idx: number) =>\n idx === newVariantIndex\n ? { ...v, ...newVariantBase, client_id: existingClientId, learning_metadata: { instruction_prompt: existingPrompt } }\n : v,\n );\n } else {\n const newIndex = prev.length;\n setTimeout(() => {\n setEditVariantIndex(newIndex);\n setScrollTrigger((prev) => prev + 1);\n lastAutoSetIndexRef.current = newIndex;\n }, 0);\n nextState = [...prev, { ...newVariantBase, client_id: uuidv4() }];\n }\n }\n\n // SYNCHRONOUSLY UPDATE THE REF BEFORE RETURNING\n liveVariantsRef.current = nextState;\n return nextState;\n });\n \n } else if (parsedGeneral?.is_interpretation_ready) {\n // No question_id on this response (e.g. a field edit like the title that\n // doesn't re-run the load flow). Merge into whichever variant accordion is\n // currently open (editVariantIndex) instead of blindly replacing the whole\n // array and forcing focus back to index 0 — that used to stomp every other\n // variant and silently reassign which one was \"loaded\" vs \"being edited\".\n setStructuredAIResponse((prev: any) => {\n if (!Array.isArray(prev) || prev.length === 0) {\n return [parsed];\n }\n\n const resolvedIndex =\n editVariantIndex != null && editVariantIndex < prev.length ? editVariantIndex : 0;\n\n setTimeout(() => {\n setEditVariantIndex(resolvedIndex);\n setScrollTrigger((prev) => prev + 1);\n lastAutoSetIndexRef.current = resolvedIndex;\n }, 0);\n\n return prev.map((variant: any, idx: number) =>\n idx === resolvedIndex ? { ...variant, ...parsed } : variant,\n );\n });\n }\n // However, if we receive is_user_accepted_risk from CARE, immediately bind it to the edited variant\n // so it natively exists in structuredAIResponse and doesn't pollute unaffected variants.\n if (parsed.is_user_accepted_risk !== undefined) {\n setStructuredAIResponse((prev: any) => {\n const isEditMode = resolveIsEditMode({ flow, editingRule, editingVariants });\n let newArray = Array.isArray(prev) ? [...prev] : [];\n\n // Seed if empty in edit mode (as Validation agent does) to prevent replacing a non-array\n if (\n isEditMode &&\n newArray.length === 0 &&\n editingVariants &&\n editingVariants.length > 0\n ) {\n newArray = editingVariants.map((v: any, idx: number) => ({\n variant_type: v.variantType || `variant ${idx + 1}`,\n title: editingRule?.ruleTitle || '',\n rule_description: v.description || '',\n wta: v.whenToApply || '',\n wnta: v.whenNotToApply || '',\n is_valid: true,\n is_readOnly: v.variantId !== variantIdToBeEdited,\n variant_id: v.variantId,\n tier_id: v.tier?.tier_id || '1',\n is_user_accepted_risk: v.is_user_accepted_risk || false,\n }));\n }\n\n if (isEditMode) {\n const targetId = editVariantId || pendingFocusVariantId;\n let replaceIdx = newArray.findIndex(\n (v) =>\n (v?.variant_id && v.variant_id === targetId) ||\n (v?.new_variant_id && v.new_variant_id === targetId) ||\n (v?.id && v.id === targetId),\n );\n\n if (replaceIdx === -1 && editVariantIndex !== undefined) {\n replaceIdx = editVariantIndex;\n }\n\n if (replaceIdx !== -1) {\n newArray[replaceIdx] = {\n ...newArray[replaceIdx],\n is_user_accepted_risk: !!parsed.is_user_accepted_risk,\n };\n return newArray;\n }\n }\n return prev;\n });\n }\n // if (parsed.is_valid === true) {\n // console.log('--- [CARE] is_valid=true detected, committing staged data to UI ---');\n // setStructuredAIResponse((prev: any) => {\n // // const isEditMode = resolveIsEditMode({ flow, editingRule, editingVariants });\n // const newArray = Array.isArray(prev) ? [...prev] : [];\n\n // // if (isEditMode) {\n // // const targetId = editVariantId || pendingFocusVariantId;\n // // let replaceIdx = newArray.findIndex(\n // // (v) => v?.variant_id === targetId || v?.new_variant_id === targetId || v?.id === targetId\n // // );\n\n // // if (replaceIdx === -1 && editVariantIndex !== undefined) {\n // // replaceIdx = editVariantIndex;\n // // }\n\n // // if (replaceIdx !== -1) {\n // // newArray[replaceIdx] = { ...newArray[replaceIdx], ...parsed };\n // // return newArray;\n // // }\n // // }\n\n // // Fallback: Create flow — keep read-only variants and append CARE data\n // const loadedVariants = newArray.filter((item: any) => item?.is_readOnly === true);\n // return [...loadedVariants, parsed];\n // });\n // }\n } else if (parsedGeneral?.is_interpretation_ready && parsedGeneral?.question_id) {\n // C.A.R.E. finished interpreting but sent no `updated_fields` block — the last\n // gap was closed outside the chat (e.g. Category / Sub-Category picked in the\n // form), so no field value changed and there is nothing to re-echo. Everything\n // above is gated on `parsed`, which used to swallow this response entirely: no\n // variant fetch, so the RHS never showed the loaded variants and the drafted\n // variant never landed under the New Variant accordion. `question_id` is all the\n // load flow needs, so run it here. `data` is null on purpose: there are no new\n // field values this turn, and the draft is carried across the load from its\n // dynamic-store snapshot (see handleAILoadAction) rather than from a replay of\n // an older `updated_fields`.\n console.log('--- [CARE] general_details only — running load off question_id ---', parsedGeneral);\n setCareDebugData({\n Updated_Fields_Response: lastCareUpdatedFieldsRef.current,\n General_Response: parsedGeneral,\n });\n\n if (parsedGeneral?.variant_id === 'new_variant_id') {\n parsedGeneral.variant_id = null;\n }\n\n handleAILoadAction(parsedGeneral, null);\n }\n },\n\n 'RHS Validation Agent Response': (data: any) => {\n // 1. Safely parse the raw JSON data\n let validationResult: any = data;\n if (typeof data === 'string') {\n try {\n validationResult = JSON.parse(data);\n } catch (e) {\n validationResult = parseValidationData(data);\n }\n }\n\n setRhsDebugData(validationResult);\n console.log('--- [RHS] Updating Staged Logic ---');\n console.log('parsed data from RHS Validation', validationResult);\n\n if (validationResult) {\n setStagedAiResponse((prevStaged: any) => {\n // Construct fallback if there is no staged response (e.g., from manual save)\n let baseState = prevStaged;\n\n if (!baseState) {\n console.log(\n '⚠️ No staged response found! Constructing fallback from current UI state...',\n );\n let activeVariant = null;\n\n if (Array.isArray(structuredAIResponse)) {\n const isEditMode = resolveIsEditMode({ flow, editingRule, editingVariants });\n const targetId = editVariantId || pendingFocusVariantId;\n let activeIndex = -1;\n\n // Find by ID first\n if (isEditMode && targetId) {\n activeIndex = structuredAIResponse.findIndex(\n (v) =>\n (v?.variant_id && v.variant_id === targetId) ||\n (v?.new_variant_id && v.new_variant_id === targetId) ||\n (v?.id && v.id === targetId),\n );\n }\n // Fallback to currently open accordion\n if (activeIndex === -1 && editVariantIndex !== undefined) {\n activeIndex = editVariantIndex;\n }\n\n if (activeIndex !== -1) {\n activeVariant = structuredAIResponse[activeIndex];\n }\n }\n baseState = activeVariant ? { ...activeVariant } : { wta: '', wnta: '' };\n }\n\n // No more HTML tag stripping needed! Just map the pure state.\n const updatedStaging = {\n ...baseState,\n wta: baseState.wta,\n wnta: baseState.wnta,\n is_valid: validationResult.is_valid,\n conflictingConditions: validationResult.conflictingConditions || [],\n conflictMarkdown: {},\n conflict_view: validationResult.conflict_view || {},\n };\n\n return updatedStaging;\n });\n\n // 2. Determine target tier and variant index for UI injection\n const tierKey = (editingTier || 'Tier 1').toLowerCase().replace(/ /g, '_');\n\n // BUGFIX: Resolve the correct variant index for conflict injection.\n // For add-new-variant flows, the new variant is explicitly marked with is_new_variant: true.\n // For edit-existing-variant flows, match by variantIdToBeEdited.\n // Never fall back to index 0 blindly when loaded variants exist.\n const resolveActiveVariantIndex = (): number => {\n // USE THE REF HERE INSTEAD OF THE STATE VARIABLE\n const currentVariants = liveVariantsRef.current; \n\n if (Array.isArray(currentVariants) && currentVariants.length > 0) {\n\n // Priority 1: explicitly flagged new variant\n const newVariantIdx = currentVariants.findIndex(\n (v: any) => v?.is_new_variant === true\n );\n if (newVariantIdx !== -1) {\n console.log('[RHS] Resolved via is_new_variant flag:', newVariantIdx);\n return newVariantIdx;\n }\n\n // Priority 2: variantIdToBeEdited match\n if (variantIdToBeEdited) {\n const matchIdx = currentVariants.findIndex(\n (v: any) =>\n v?.variant_id === variantIdToBeEdited ||\n v?.new_variant_id === variantIdToBeEdited,\n );\n if (matchIdx !== -1) return matchIdx;\n }\n\n // Priority 3: editVariantId match\n if (editVariantId) {\n const matchIdx = currentVariants.findIndex(\n (v: any) => v?.variant_id === editVariantId || v?.new_variant_id === editVariantId,\n );\n if (matchIdx !== -1) return matchIdx;\n }\n\n // Priority 4: Compare lengths to detect newly appended item\n const originalCount = editingVariants?.length ?? 0;\n if (currentVariants.length > originalCount) {\n const lastIdx = currentVariants.length - 1;\n console.log('[RHS] Resolved via length diff (new variant appended):', lastIdx);\n return lastIdx;\n }\n }\n\n // 5. Fallback\n const fallback = editVariantIndex !== undefined ? editVariantIndex : 0;\n console.log('[RHS] Fallback index used:', fallback);\n return fallback;\n};\n\n const vIndex = resolveActiveVariantIndex();\n console.log('Resolved variant index for conflict injection:', vIndex);\n\n // 3. Handle INVALID response: Inject Conflict UI directly into the Condition lists\n if (validationResult.is_valid === false) {\n const hasConflicts = (validationResult.conflictingConditions?.length || 0) > 0;\n\n if (hasConflicts) {\n // Scope the conflict reason specifically to the active variant instead of globally\n setValidationErrors((prev) => {\n const next = { ...prev };\n validationResult.conflictingConditions.forEach((conflict: any) => {\n // Determine if the AI targeted WTA or WNTA. Default to WTA if unspecified.\n if (conflict.condition_wnta && !conflict.condition_wta) {\n next[`whenNotToApply-${tierKey}-${vIndex}`] = conflict.reason;\n } else {\n next[`whenToApply-${tierKey}-${vIndex}`] = conflict.reason;\n }\n });\n return next;\n });\n \n // Clear the global reason to prevent it from bleeding onto other variants\n setConflictReason('');\n }\n\n if (validationResult.conflict_view) {\n // Inject WTA Conflicts\n if (validationResult.conflict_view.wta?.length > 0) {\n setWhenToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tierKey) || new Map());\n // Clone the current items array\n const currentItems = [...(tierMap.get(vIndex) || [])];\n\n // Loop over the AI's conflict list, NOT the UI's current items\n validationResult.conflict_view.wta.forEach((conflictItem: any) => {\n const existingIndex = currentItems.findIndex(\n (item) => item.text.trim() === conflictItem.value,\n );\n\n if (existingIndex !== -1) {\n // It exists on screen: just attach the conflict warning\n currentItems[existingIndex] = {\n ...currentItems[existingIndex],\n conflict: conflictItem,\n };\n } else {\n // It was blocked from rendering: force it onto the screen as a red box\n currentItems.push({\n id: `conflict-wta-${Date.now()}-${Math.random()}`,\n text: conflictItem.value,\n conflict: conflictItem,\n });\n }\n });\n\n tierMap.set(vIndex, currentItems);\n newMap.set(tierKey, tierMap);\n return newMap;\n });\n }\n\n // Inject WNTA Conflicts\n // ==========================================\n if (validationResult.conflict_view.wnta?.length > 0) {\n setWhenNotToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tierKey) || new Map());\n // Clone the current items array\n const currentItems = [...(tierMap.get(vIndex) || [])];\n\n // Loop over the AI's conflict list, NOT the UI's current items\n validationResult.conflict_view.wnta.forEach((conflictItem: any) => {\n const existingIndex = currentItems.findIndex(\n (item) => item.text.trim() === conflictItem.value,\n );\n\n if (existingIndex !== -1) {\n // It exists on screen: just attach the conflict warning\n currentItems[existingIndex] = {\n ...currentItems[existingIndex],\n conflict: conflictItem,\n };\n } else {\n // It was blocked from rendering: force it onto the screen as a red box\n currentItems.push({\n id: `conflict-wnta-${Date.now()}-${Math.random()}`,\n text: conflictItem.value,\n conflict: conflictItem,\n });\n }\n });\n\n tierMap.set(vIndex, currentItems);\n newMap.set(tierKey, tierMap);\n return newMap;\n });\n }\n }\n }\n // 4. Handle VALID response: Clear all conflicts\n else if (validationResult.is_valid === true) {\n setValidationErrors({});\n setConflictReason('');\n\n // Clear red UI state from WTA conditions\n setWhenToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tierKey) || new Map());\n const currentItems = tierMap.get(vIndex) || [];\n tierMap.set(\n vIndex,\n currentItems.map((item: ConditionItem) => ({ ...item, conflict: undefined })),\n );\n newMap.set(tierKey, tierMap);\n return newMap;\n });\n\n // Clear red UI state from WNTA conditions\n setWhenNotToApplyConditions((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tierKey) || new Map());\n const currentItems = tierMap.get(vIndex) || [];\n tierMap.set(\n vIndex,\n currentItems.map((item: ConditionItem) => ({ ...item, conflict: undefined })),\n );\n newMap.set(tierKey, tierMap);\n return newMap;\n });\n }\n }\n },\n\n 'User Action Execution': (data: any) => {\n console.log('--- [User Action] Execution ---', data);\n const parsed = extractAndParseResponse(data);\n console.log('parsedaction', parsed);\n\n if (parsed?.action === 'load' && parsed?.question_id) {\n handleAILoadAction(parsed, null);\n }\n\n // if (parsed?.action === 'save' && parsed?.is_save) {\n // // setIsCloseModal(parsed?.close_modal !== undefined ? !!parsed?.close_modal : true);\n // setIsCloseModal(true);\n // setIsSaveRule(true);\n // }\n if (parsed?.can_publish === true || parsed?.can_publish === 'true') {\n // Set the canPublish flag based on AI response for post-modal redirection logic\n usePublishTemplateStore.getState().setCanPublish(parsed?.can_publish === true);\n setIsCloseModal(true);\n }\n \n if (parsed?.action === 'save') {\n const saveDetails = parsed?.save_details;\n const hasSaveDetails = saveDetails && Object.keys(saveDetails).length > 0;\n\n if (hasSaveDetails) {\n const variantIds = Object.keys(saveDetails);\n const allSuccess = variantIds.every((id) => saveDetails[id].success);\n\n if (allSuccess) {\n const variantInfoMap = new Map<string, { id: string; action: 'new' | 'existing' }[]>();\n const variantsList = variantIds.map((id) => ({\n id,\n action: saveDetails[id].is_updated ? 'existing' : 'new'\n })) as { id: string; action: 'new' | 'existing' }[];\n\n scopeData.tiers.forEach((tier) => {\n const tierKey = tier.toLowerCase().replace(/ /g, '_');\n variantInfoMap.set(tierKey, variantsList);\n });\n\n useLearningTemplateStore.getState().setCreatedVariantInfo(\n Array.from(variantInfoMap.entries()).map(([tierName, variants]) => ({\n tierName,\n variants,\n })),\n );\n\n const isAnyCreated = variantIds.some((id) => !saveDetails[id].is_updated);\n toast.current?.show({\n severity: 'success',\n sticky: false,\n life: 3000,\n className: toastStyles.toastSuccess,\n content: (\n <div className={toastStyles.toastContent}>\n <div className={toastStyles.toastHeaderLeft}>\n <Check className={toastStyles.iconSuccess} />\n <span className={`${toastStyles.toastTitle} ${toastStyles.toastTitleSuccess}`}>Success</span>\n </div>\n <p className={`${toastStyles.toastMessage} ${toastStyles.toastMessageSuccess}`}>\n {isAnyCreated ? 'Learning saved successfully!' : 'Changes saved successfully!'}\n </p>\n </div>\n ),\n });\n\n setIsCloseModal(true);\n // Tracked in closeTimeoutRef (same as the other save-success → close call\n // sites below) so that whichever save-completion signal arrives first — this\n // one (structured saveDetails) or a later streamed \"Learning saved\n // successfully!\" message — cancels the other's pending close via handleClose's\n // clearTimeout. Without this, BOTH could fire handleSaveSuccessClose(): the\n // second call runs after the first already reset the dynamic form store, so\n // it rebuilds configureNowPayload from an EMPTY store and overwrites the\n // correct one that was just set.\n closeTimeoutRef.current = setTimeout(() => {\n handleSaveSuccessClose();\n }, 3000);\n } else {\n const failedId = variantIds.find((id) => !saveDetails[id].success);\n const errorMessage = failedId && saveDetails[failedId].message\n ? saveDetails[failedId].message\n : 'Error Occurred while saving the rule.';\n\n toast.current?.show({\n severity: 'error',\n sticky: false,\n className: toastStyles.toastError,\n content: (\n <div className={toastStyles.toastContent}>\n <div className={toastStyles.toastHeaderLeft}>\n <AlertTriangle className={toastStyles.iconError} />\n <span className={`${toastStyles.toastTitle} ${toastStyles.toastTitleError}`}>Error</span>\n </div>\n <p className={`${toastStyles.toastMessage} ${toastStyles.toastMessageError}`}>{errorMessage}</p>\n </div>\n ),\n });\n }\n } else if (parsed?.is_save) {\n setIsCloseModal(true);\n setIsSaveRule(true);\n }\n}\n \n\n if (parsed?.action === 'discard_rule') {\n const emptyVariant = {\n variant_id: undefined,\n rule_description: '',\n wta: '',\n wnta: '',\n variant_type: 'variant',\n };\n setStructuredAIResponse([emptyVariant]);\n setExistingVariants([]);\n setVariantIdToBeEdited(null);\n setEditVariantIndex(0);\n setScrollTrigger(0);\n setActiveEditId(null);\n setIsVariantsLoadedFromApi(false);\n setIsAddingNewVariant(false);\n setVariantIds([]);\n lastLoadedQuestionIdRef.current = null;\n setRuleTitle('');\n setRuleId(null);\n\n setConfigData(\n new Map([\n ['tier_1', new Map([[0, DEFAULT_CONFIG]])],\n ['tier_2', new Map([[0, DEFAULT_CONFIG]])],\n ]),\n );\n setRuleDescription(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ]),\n );\n setWhenToApplyConditions(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ]),\n );\n setWhenNotToApplyConditions(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ]),\n );\n }\n },\n\n 'Validation Agent Response': (data: any) => {\n console.log('--- [Validation Agent] Committing Staged Data to UI ---');\n console.log('raw data from Validation Agent', data, typeof data);\n\n if (typeof data === 'string') {\n const jsonBlockRegex = /<!--\\s*```json\\s+property=\"rule_validation_card\"\\s+([\\s\\S]*?)```\\s*-->/i;\n const match = data.match(jsonBlockRegex);\n if (match && match[1]) {\n try {\n const parsedCard = JSON.parse(match[1].trim());\n // Access the rule_id from the first rule in the validated_rules array\n const targetId = parsedCard?.validated_rules?.[0]?.rule_id;\n\n if (targetId) {\n console.log('Setting default comparison ID:', targetId);\n setTargetComparisonVariantId(targetId);\n }\n } catch (e) {\n console.error('Failed to parse rule_validation_card JSON', e);\n }\n }\n }\n const isCriticalGap = extractAndParseWithProperty(data, 'critical_gaps');\n console.log('isCriticalGap', isCriticalGap);\n if (isCriticalGap) {\n setHasCriticalGapsCard(true);\n } else {\n setHasCriticalGapsCard(false);\n }\n\n const parsed = typeof data === 'string' ? extractAndParseResponse(data) : data;\n\n console.log('parsed data from Validation Agent', parsed);\n\n const variantIds = extractVariantIds(data);\n setValidationAgentDebugData(parsed);\n const isVariant = !!parsed?.is_variant;\n const isCloseModal = parsed?.close_modal !== undefined ? !!parsed?.close_modal : true;\n const isSaveRule = parsed?.is_save !== undefined ? !!parsed?.is_save : false;\n\n setIsCloseModal(isCloseModal);\n setIsSaveRule(isSaveRule);\n const action = parsed?.action;\n const parsedTargetEditId =\n typeof parsed?.edit_variant_id === 'string' && parsed.edit_variant_id.trim()\n ? parsed.edit_variant_id\n : typeof parsed?.set_variant_id === 'string' && parsed.set_variant_id.trim()\n ? parsed.set_variant_id\n : null;\n // Only update editVariantId if the agent explicitly provides one.\n // If the agent returns null, preserve the value set by the CARE handler\n // so the correct variant remains targeted.\n // BUG FIX: When action is 'variant' and is_variant is true, the AI is creating\n // a NEW variant. The edit_variant_id in the response is a leftover from the\n // currently open accordion and must NOT be used to target the existing variant\n // for editing — doing so would cause CARE/RHS handlers to overwrite the\n // existing variant's data with the new variant's data.\n const isNewVariantCreation = action === 'variant' && isVariant;\n if (parsed?.edit_variant_id && !isNewVariantCreation) {\n setEditVariantId(parsed.edit_variant_id);\n }\n if ((action === 'edit' || action === 'edit_current_rule') && parsedTargetEditId) {\n setPendingFocusVariantId(parsedTargetEditId);\n }\n\n // Clear stale editVariantId/pendingFocusVariantId when creating a new variant.\n // These may have been set by a prior edit interaction (e.g. the open accordion)\n // and would cause CARE/RHS handlers to incorrectly update the existing variant.\n if (isNewVariantCreation) {\n setEditVariantId(null);\n setPendingFocusVariantId(null);\n }\n\n if (action === 'discard') {\n console.log(\"Action 'discard' received: Resetting UI state but preserving chat.\");\n hasDiscardedRef.current = true;\n resetAllStates(true);\n // structuredAIResponse is NOT cleared by resetAllStates(true) — clear it explicitly\n // so the structuredAIResponse useEffect doesn't re-populate form fields\n setStructuredAIResponse([]);\n lastProcessedResponseRef.current = null;\n lastProcessedVariantId.current = null;\n return;\n }\n\n setAction(action);\n // Add new variant from staging\n const incomingNewId = parsed?.new_variant_id;\n const isLoadAndEditCase =\n parsed?.action === 'edit' && parsed?.set_variant_id && !editingVariants;\n if (parsed?.is_valid) {\n setValidationErrors({}); // Clear existing conflicts on valid response\n setStagedAiResponse((prevStaged: any) => {\n console.log('⏮️ PREVIOUS Staged Response:', prevStaged);\n\n if (!prevStaged) {\n console.warn('⚠️ No previous staged response found');\n return prevStaged;\n }\n\n const hasOwnField = (obj: any, key: string) =>\n Object.prototype.hasOwnProperty.call(obj || {}, key);\n\n const finalData = {\n ...prevStaged,\n ...parsed,\n };\n if (Array.isArray(parsed?.condition_result?.when_to_apply)) {\n finalData.wta = parsed.condition_result.when_to_apply\n .filter((c: string) => c && c.toLowerCase() !== 'none')\n .join(' OR ');\n } else if (hasOwnField(parsed, 'wta') && parsed?.wta !== undefined) {\n finalData.wta = parsed?.wta ?? '';\n }\n if (Array.isArray(parsed?.condition_result?.when_not_to_apply)) {\n finalData.wnta = parsed.condition_result.when_not_to_apply\n .filter((c: string) => c && c.toLowerCase() !== 'none')\n .join(' OR ');\n } else if (hasOwnField(parsed, 'wnta') && parsed?.wnta !== undefined) {\n finalData.wnta = parsed?.wnta ?? '';\n }\n console.log('finalData', finalData);\n // return newArray.filter((item, index, self) =>\n // !item?.activeVariantID ||\n // index === self.findIndex(t => t?.activeVariantID === item?.activeVariantID)\n // );\n\n console.log('checking parsed here :', parsed);\n // 1. Skip the edit branch when triggerAddVariant is active with is_variant:\n // this means we're ADDING a new variant, not editing an existing one.\n // 1. Enter the edit branch if action is 'edit' and a set_variant_id (target) is provided.\n // We look for a match across all potential ID fields.\n const findExistingIndex = (arr: any[], id: string) =>\n arr.findIndex(\n (item) =>\n (item?.variant_id && item.variant_id === id) ||\n (item?.new_variant_id && item.new_variant_id === id) ||\n (item?.id && item.id === id),\n );\n\n const targetEditId = parsedTargetEditId;\n\n const editTargetIdx = Array.isArray(structuredAIResponse)\n ? targetEditId\n ? findExistingIndex(structuredAIResponse, targetEditId)\n : -1\n : -1;\n\n \n if (parsed?.action === 'edit' && (editingRule || editingVariants)) {\n console.log('inside edit flow merge');\n const variantsToEdit = editingVariants || [];\n\n // FIX: Prioritise edit_variant_id (actual UUID from validation agent) over set_variant_id\n // (set_variant_id is a logical name like \"rule_order_separation\", not a DB UUID)\n const editId = parsedTargetEditId;\n let targetIndex = editId\n ? variantsToEdit.findIndex(\n (v: any) =>\n v.variantId === editId ||\n ((v as any).variant_id && (v as any).variant_id === editId) ||\n ((v as any).id && (v as any).id === editId),\n )\n : -1;\n\n // Fallback: try matching by set_variant_id in case it IS a UUID\n if (targetIndex === -1 && parsed?.set_variant_id) {\n targetIndex = variantsToEdit.findIndex(\n (v: any) =>\n v.variantId === parsed.set_variant_id ||\n ((v as any).variant_id && (v as any).variant_id === parsed.set_variant_id) ||\n ((v as any).id && (v as any).id === parsed.set_variant_id),\n );\n }\n\n // Fallback to live response list if editingVariants prop doesn't contain the target\n if (targetIndex === -1 && editId && Array.isArray(structuredAIResponse)) {\n targetIndex = structuredAIResponse.findIndex(\n (v: any) =>\n (v?.variant_id && v.variant_id === editId) ||\n (v?.new_variant_id && v.new_variant_id === editId) ||\n (v?.id && v.id === editId),\n );\n }\n\n if (targetIndex !== -1) {\n const targetVariant =\n (variantsToEdit[targetIndex] as any) ||\n (structuredAIResponse?.[targetIndex] as any);\n const tierId = targetVariant?.tier_id || targetVariant?.tierId || '1';\n const tierKey = editingTier?.toLowerCase().replace(/ /g, '_') || `tier_${tierId}`;\n\n if (lastAutoSetIndexRef.current !== targetIndex) {\n setEditVariantIndex(targetIndex);\n lastAutoSetIndexRef.current = targetIndex;\n }\n\n // FIX: Only apply fields that exist in CARE/validation payload.\n // If a field is absent, keep current UI values untouched.\n let rawWta: string | undefined;\n if (Array.isArray(parsed.condition_result?.when_to_apply)) {\n rawWta = parsed.condition_result.when_to_apply\n .filter((c: string) => c && c.toLowerCase() !== 'none')\n .join('\\n');\n } else if (hasOwnField(parsed, 'wta') && parsed?.wta !== undefined) {\n rawWta = parsed?.wta ?? '';\n } else if (hasOwnField(prevStaged, 'wta') && prevStaged?.wta !== undefined) {\n rawWta = prevStaged?.wta ?? '';\n }\n\n let rawWnta: string | undefined;\n if (Array.isArray(parsed.condition_result?.when_not_to_apply)) {\n rawWnta = parsed.condition_result.when_not_to_apply\n .filter((c: string) => c && c.toLowerCase() !== 'none')\n .join('\\n');\n } else if (hasOwnField(parsed, 'wnta') && parsed?.wnta !== undefined) {\n rawWnta = parsed?.wnta ?? '';\n } else if (hasOwnField(prevStaged, 'wnta') && prevStaged?.wnta !== undefined) {\n rawWnta = prevStaged?.wnta ?? '';\n }\n\n // Apply wta\n if (rawWta !== undefined) {\n const filteredWta = filterText(rawWta);\n checkAndMerge(\n tierKey,\n targetIndex,\n rawWta,\n filteredWta,\n whenToApplyConditions,\n setWhenToApplyConditions,\n parsed?.conflict_view,\n );\n triggerHighlight(tierKey, targetIndex, 'wta');\n }\n\n // Apply wnta\n if (rawWnta !== undefined) {\n const filteredWnta = filterText(rawWnta);\n checkAndMerge(\n tierKey,\n targetIndex,\n rawWnta,\n filteredWnta,\n whenNotToApplyConditions,\n setWhenNotToApplyConditions,\n parsed?.conflict_view,\n );\n triggerHighlight(tierKey, targetIndex, 'wnta');\n }\n\n // FIX: Also apply rule_description from CARE staged data\n let descSource: string | undefined;\n if (\n hasOwnField(parsed, 'rule_description') &&\n parsed?.rule_description !== undefined\n ) {\n descSource = parsed?.rule_description ?? '';\n } else if (\n hasOwnField(prevStaged, 'rule_description') &&\n prevStaged?.rule_description !== undefined\n ) {\n descSource = prevStaged?.rule_description ?? '';\n }\n if (descSource !== undefined) {\n const filteredDesc = filterText(descSource);\n setRuleDescription((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tierKey) || new Map());\n tierMap.set(targetIndex, filteredDesc);\n newMap.set(tierKey, tierMap);\n return newMap;\n });\n triggerHighlight(tierKey, targetIndex, 'ruleDescription');\n }\n\n // Apply scheduling config only when present in CARE/validation payload.\n let configSource: any = undefined;\n if (\n hasOwnField(parsed, 'scheduling_config') &&\n parsed?.scheduling_config !== undefined\n ) {\n configSource = parsed?.scheduling_config;\n } else if (\n hasOwnField(prevStaged, 'scheduling_config') &&\n prevStaged?.scheduling_config !== undefined\n ) {\n configSource = prevStaged?.scheduling_config;\n }\n if (configSource) {\n setConfigData((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tierKey) || new Map());\n tierMap.set(targetIndex, {\n order_rules: {\n enabled: !!configSource.order_rules?.global_min_separation_seconds,\n global_min_separation_seconds: Math.floor(\n (configSource.order_rules?.global_min_separation_seconds || 0) / 60,\n ),\n },\n advertiser_rules: {\n enabled: !!configSource.advertiser_rules?.global_min_separation_seconds,\n global_min_separation_seconds: Math.floor(\n (configSource.advertiser_rules?.global_min_separation_seconds || 0) / 60,\n ),\n },\n inventory_rules: {\n respect_inventory_code:\n !!configSource.inventory_rules?.respect_inventory_code,\n },\n break_code_rules: {\n respect_break_code: !!configSource.break_code_rules?.respect_break_code,\n },\n is_default_enabled:\n prevStaged?.variant_type === 'Default' ||\n prevStaged?.variant_type === 'default_variant' ||\n prevStaged?.variant_type === 'default',\n });\n newMap.set(tierKey, tierMap);\n return newMap;\n });\n triggerHighlight(tierKey, targetIndex, 'order_enabled');\n triggerHighlight(tierKey, targetIndex, 'advertiser_enabled');\n triggerHighlight(tierKey, targetIndex, 'respect_inventory_code');\n triggerHighlight(tierKey, targetIndex, 'respect_break_code');\n }\n\n // Keep source response in sync so subsequent merges don't lose the targeted edit.\n setStructuredAIResponse((prev: any) => {\n if (!Array.isArray(prev) || targetIndex < 0 || !prev[targetIndex]) return prev;\n const next = [...prev];\n const updated = { ...next[targetIndex] };\n if (rawWta !== undefined) updated.wta = rawWta;\n if (rawWnta !== undefined) updated.wnta = rawWnta;\n if (descSource !== undefined) updated.rule_description = filterText(descSource);\n if (configSource) updated.scheduling_config = configSource;\n console.log('updated variantxxx', updated);\n next[targetIndex] = updated;\n return next;\n });\n\n // ─── STEP 1: Take variant_type from AI (CARE staged response) ───\n // Propagate CARE variant_type into structuredAIResponse for editingVariants flow.\n // This ensures templateState picks up the latest variant_type from CARE when rendering.\n const careVariantTypeForEdit = prevStaged?.variant_type;\n if (careVariantTypeForEdit) {\n setStructuredAIResponse((prev: any) => {\n const existingData = Array.isArray(prev) ? [...prev] : [];\n // Find the slot matching this variant (by variantId or index position)\n const slotIndex = existingData.findIndex(\n (item: any) =>\n (item?.variant_id && item.variant_id === editId) ||\n (item?.variant_id && item.variant_id === parsed?.set_variant_id) ||\n item?.variantId === editId,\n );\n if (slotIndex !== -1) {\n existingData[slotIndex] = {\n ...existingData[slotIndex],\n variant_type: careVariantTypeForEdit,\n };\n } else {\n // No existing slot — create a minimal entry so templateState can read it\n existingData[targetIndex] = {\n ...(existingData[targetIndex] || {}),\n variant_type: careVariantTypeForEdit,\n variant_id: editId || parsed?.set_variant_id,\n };\n }\n return existingData;\n });\n }\n }\n return;\n }\n return finalData;\n });\n } else {\n console.warn('⚠️ parsed.is_valid is false, not committing to structuredAIResponse');\n }\n\n // Update variant states\n if (!isLoadAndEditCase) {\n if (isVariant) {\n setIsVariantFlow(true);\n if (incomingNewId && incomingNewId !== lastProcessedVariantId.current) {\n console.log(`🚀 New Variant detected (${incomingNewId}). Triggering loader.`);\n\n setIsLoadingVariants(true);\n setMainText('Loading a variant');\n console.log('reaching here in new variant flow');\n setSubMainText('This may take a moment as we update the rule with the new variant.');\n\n lastProcessedVariantId.current = incomingNewId;\n } else if (!incomingNewId) {\n console.log('ℹ️ Variant flow detected without specific ID.');\n }\n } else {\n setIsVariantFlow(false);\n lastProcessedVariantId.current = null;\n }\n\n if (variantIds) {\n setVariantIds(variantIds);\n }\n }\n },\n 'Rule comparison results': (data: any) => {\n if(cognitiveCompareCompatibility){\n // try {\n // let parsedData = data;\n const parsedData = extractAndParseResponse1(data);\n\n // 1. Safely parse string payloads (extracting from HTML comments if needed)\n // if (typeof data === 'string') {\n // try {\n // parsedData = JSON.parse(data);\n // } catch (e) {\n // parsedData = extractAndParseResponse(data) || [];\n // }\n // }\n\n console.log(' LLM Push Comparison Received:', parsedData);\n\n const currentContext = parsedData[0]?.current_rule_details;\n if (currentContext) {\n setLlmProposedRule({\n title: currentContext.rule_title || '',\n description: currentContext.description || '',\n scope: currentContext.scope || '',\n wta: Array.isArray(currentContext.wta)\n ? currentContext.wta.join('\\n')\n : currentContext.wta || '',\n wnta: Array.isArray(currentContext.wnta)\n ? currentContext.wnta.join('\\n')\n : currentContext.wnta || '',\n });\n }\n // 2. Ensure parsedData is an array to prevent .map() crashes\n // if (!Array.isArray(parsedData)) {\n // if (parsedData && typeof parsedData === 'object') {\n // parsedData = [parsedData]; // Wrap single object into an array\n // } else {\n // console.error('[Rule comparison results] Data is not an array:', data);\n // return; // Exit early safely\n // }\n // }\n\n const mappedVariants = parsedData.map((item: any) => {\n const variantContext = item.variant_rule_details || {};\n const analysis = item.rule_difference_comparison || {};\n // const mappedVariants = parsedData.map((item: any, index: number) => {\n // let intentTree: any = null;\n // let behaviorTree: any = null;\n\n // 1. NEW SMART EXTRACTION\n // const itemsToCheck = Array.isArray(item) ? item : [item];\n // itemsToCheck.forEach((obj: any) => {\n // if (!obj) return;\n // if (obj.intent_output) { intentTree = obj.intent_output; }\n // if (obj.behaviour_output) { behaviorTree = obj.behaviour_output; }\n // });\n // Grab the raw values, checking both potential key names from the LLM\n const rawWta = variantContext.when_to_apply || variantContext.wta || '';\n const rawWnta = variantContext.when_not_to_apply || variantContext.wnta || '';\n\n return {\n id:\n (variantContext?.variant_id && variantContext.variant_id) ||\n (variantContext?.id && variantContext.id) ||\n `fallback-id-${Math.random()}`,\n // Notice the updated keys here:\n title: variantContext.variant_title || variantContext.rule_title || '',\n description: variantContext.variant_text || variantContext.description || '',\n scope: variantContext.scope || '',\n wta: Array.isArray(rawWta) ? rawWta.join('\\n') : rawWta,\n wnta: Array.isArray(rawWnta) ? rawWnta.join('\\n') : rawWnta,\n similarity: analysis.summary?.overall_score || 0,\n summaryText: analysis.summary?.overall_summary || '',\n analysis: { rule_difference_comparison: analysis },\n isLoading: false,\n };\n });\n setLlmComparisonVariants(mappedVariants);\n // 2. PARSE STRINGS TO JSON\n // if (typeof intentTree === 'string') {\n // try { intentTree = JSON.parse(intentTree); } catch (e) { console.error(\"Failed to parse intent_output\", e); }\n // }\n // if (typeof behaviorTree === 'string') {\n // try { behaviorTree = JSON.parse(behaviorTree); } catch (e) { console.error(\"Failed to parse behaviour_output\", e); }\n // }\n\n // // 3. EXTRACT REFERENCE ID\n // let originalRefKey = \"existing_variant\"; // The actual key in the JSON\n // let uniqueId = `fallback-id-${Math.random()}`; // The unique ID for the React Card\n \n // const docs = intentTree?.documents || behaviorTree?.documents;\n // if (docs) {\n // const foundKey = Object.keys(docs).find(k => docs[k].role === \"reference\");\n // if (foundKey) {\n // originalRefKey = foundKey;\n // uniqueId = `${foundKey}-${index}`; // Append index for uniqueness\n // }\n // }\n\n // // 4. EXTRACT TITLE FOR CAROUSEL\n // let extractedTitle = \"\";\n\n // if (intentTree?.nodes && intentTree.nodes[\"title\"]) {\n // const titleNode = intentTree.nodes[\"title\"];\n \n // // ADDED 'comparison_inputs' to the path\n // if (titleNode?.comparison_inputs?.[originalRefKey]?.content) {\n // extractedTitle = titleNode.comparison_inputs[originalRefKey].content;\n // }\n // }\n\n // let extractedScore = \"Score\"; // Default fallback\n \n // // 1st Check: Look for final_score in behaviorTree\n // if (behaviorTree?.final_score) {\n // extractedScore = behaviorTree.final_score;\n // }\n\n // // SCOPE\n // let extractedScope = \"Unknown Tier\"; // Fallback value\n \n // // Try to get the title from the existing variant first, fallback to new_variant if needed\n // const documentTitle = docs?.[originalRefKey]?.title || docs?.[\"existing_variant\"]?.title;\n \n // if (documentTitle && documentTitle.includes('|')) {\n // // Split by the pipe character and grab the second part\n // extractedScope = documentTitle.split('|')[1].trim(); \n // }\n\n // console.log('Extracted for carousel:', { uniqueId, extractedTitle, extractedScore, extractedScope });\n // return {\n // id: uniqueId,\n // title: extractedTitle,\n // similarityScoreText: extractedScore,\n // scope: extractedScope,\n // intentTreeData: intentTree,\n // behaviorTreeData: behaviorTree,\n // isLoading: false,\n // };\n // });\n\n // setLlmComparisonVariants(mappedVariants);\n\n // } catch (error) {\n // console.error('[Rule comparison results] Critical Handler Error:', error);\n // }\n }\n else{\n try {\n let parsedData = data;\n\n // 1. Safely parse string payloads (extracting from HTML comments if needed)\n if (typeof data === 'string') {\n try {\n parsedData = JSON.parse(data);\n } catch (e) {\n parsedData = extractAndParseResponse(data) || [];\n }\n }\n\n // 2. Ensure parsedData is an array to prevent .map() crashes\n if (!Array.isArray(parsedData)) {\n if (parsedData && typeof parsedData === 'object') {\n parsedData = [parsedData]; // Wrap single object into an array\n } else {\n console.error('[Rule comparison results] Data is not an array:', data);\n return; // Exit early safely\n }\n }\n\n const mappedVariants = parsedData.map((item: any, index: number) => {\n let intentTree: any = null;\n let behaviorTree: any = null;\n\n // 1. NEW SMART EXTRACTION\n const itemsToCheck = Array.isArray(item) ? item : [item];\n itemsToCheck.forEach((obj: any) => {\n if (!obj) return;\n if (obj.intent_output) { intentTree = obj.intent_output; }\n if (obj.behaviour_output) { behaviorTree = obj.behaviour_output; }\n });\n\n // 2. PARSE STRINGS TO JSON\n if (typeof intentTree === 'string') {\n try { intentTree = JSON.parse(intentTree); } catch (e) { console.error(\"Failed to parse intent_output\", e); }\n }\n if (typeof behaviorTree === 'string') {\n try { behaviorTree = JSON.parse(behaviorTree); } catch (e) { console.error(\"Failed to parse behaviour_output\", e); }\n }\n\n // 3. EXTRACT REFERENCE ID\n let originalRefKey = \"existing_variant\"; // The actual key in the JSON\n let uniqueId = `fallback-id-${Math.random()}`; // The unique ID for the React Card\n \n const docs = intentTree?.documents || behaviorTree?.documents;\n if (docs) {\n const foundKey = Object.keys(docs).find(k => docs[k].role === \"reference\");\n if (foundKey) {\n originalRefKey = foundKey;\n uniqueId = behaviorTree?.rule_id; // Append index for uniqueness\n }\n }\n\n // 4. EXTRACT TITLE FOR CAROUSEL\n let extractedTitle = \"\";\n\n if (intentTree?.nodes && intentTree.nodes[\"title\"]) {\n const titleNode = intentTree.nodes[\"title\"];\n \n // ADDED 'comparison_inputs' to the path\n if (titleNode?.comparison_inputs?.[originalRefKey]?.content) {\n extractedTitle = titleNode.comparison_inputs[originalRefKey].content;\n }\n }\n\n let extractedScore = \"Score\"; // Default fallback\n \n // 1st Check: Look for final_score in behaviorTree\n if (behaviorTree?.final_score) {\n extractedScore = behaviorTree.final_score;\n }\n\n // SCOPE\n let extractedScope = \"Unknown Tier\"; // Fallback value\n \n // Try to get the title from the existing variant first, fallback to new_variant if needed\n const documentTitle = docs?.[originalRefKey]?.title || docs?.[\"existing_variant\"]?.title;\n \n if (documentTitle && documentTitle.includes('|')) {\n // Split by the pipe character and grab the second part\n extractedScope = documentTitle.split('|')[1].trim(); \n }\n\n console.log('Extracted for carousel:', { uniqueId, extractedTitle, extractedScore, extractedScope });\n return {\n id: uniqueId,\n title: extractedTitle,\n similarityScoreText: extractedScore,\n scope: extractedScope,\n intentTreeData: intentTree,\n behaviorTreeData: behaviorTree,\n isLoading: false,\n };\n });\n\n setLlmComparisonVariants(mappedVariants);\n\n } catch (error) {\n console.error('[Rule comparison results] Critical Handler Error:', error);\n }\n }\n },\n };\n\n const tierOptions = backwardCompatibility ? ['Tier 1', 'Tier 2'] : tiers.map((t) =>\n t.tier_name\n .replace(/(\\d+)/, ' $1')\n .replace(/\\b\\w/g, (char) => char.toUpperCase())\n .trim()\n );\n const stationOptions = [\n { label: 'Global Scope', value: 'global' },\n { label: 'Genre Scope', value: 'genre' },\n { label: 'Custom Scope', value: 'custom' },\n ];\n\n\n const mergeConditions = (\n incomingString: string,\n currentItems: ConditionItem[],\n conflictView?: any,\n ) => {\n if (!incomingString.trim()) {\n return { updatedItems: [...currentItems], newIds: [] };\n }\n\n // 1. Extract ALL reasoning blocks (in order)\n const reasoningBlocks = incomingString.match(/<ai_reasoning>[\\s\\S]*?<\\/ai_reasoning>/g) || [];\n\n // 2. Remove reasoning blocks and JSON conflict blocks BEFORE splitting\n let cleanText = incomingString\n .replace(/<ai_reasoning>[\\s\\S]*?<\\/ai_reasoning>/g, '')\n .replace(/<!--```json[\\s\\S]*?```-->/g, ''); // Strip JSON blocks\n\n // 2.5 Protect <conflicting> blocks from splitting by newlines inside them\n const conflictPlaceholders: string[] = [];\n const protectedText = cleanText.replace(/<conflicting>[\\s\\S]*?<\\/conflicting>/g, (match) => {\n conflictPlaceholders.push(match);\n return `__CONFLICT_BLOCK_${conflictPlaceholders?.length - 1}__`;\n });\n\n // 3. Split only on real condition separators\n const lines = protectedText\n .split(/\\s*(?:\\r?\\n|\\\\+n)\\s*/)\n .map((l) => l.trim().replace(/^-\\s*/, '')) // ← strip leading \"- \"\n .filter(Boolean);\n\n const itemMap = new Map(currentItems.map((i) => [i.text, i]));\n const newIds: string[] = [];\n const updatedItems: ConditionItem[] = [];\n\n // Search for conflict entries for this list (wta or wnta)\n const conflictList =\n Array.isArray(conflictView?.wta) && incomingString.includes('wta')\n ? conflictView.wta\n : Array.isArray(conflictView?.wnta)\n ? conflictView.wnta\n : [];\n\n lines.forEach((lineText, index) => {\n // Restore conflicting block if present\n let text = lineText;\n if (text.includes('__CONFLICT_BLOCK_')) {\n text = text.replace(\n /__CONFLICT_BLOCK_(\\d+)__/g,\n (_, id) => conflictPlaceholders[parseInt(id)],\n );\n }\n\n const incomingReasoning = reasoningBlocks[index] || '';\n\n // Find structured conflict for this line\n const cleanLineText = text.replace(/<conflicting>[\\s\\S]*?<\\/conflicting>/g, '').trim();\n const structuredConflict = conflictList?.find((c: any) => c.value === cleanLineText);\n\n const existing = itemMap.get(text);\n\n if (existing) {\n updatedItems.push({\n ...existing,\n reasoning: incomingReasoning || existing.reasoning,\n conflict: structuredConflict || existing.conflict,\n });\n } else {\n const newId = `new-${Date.now()}-${index}`;\n newIds.push(newId);\n updatedItems.push({\n id: newId,\n text,\n reasoning: incomingReasoning,\n conflict: structuredConflict,\n });\n }\n });\n\n return { updatedItems, newIds };\n };\n\n const extractReasoning = (val: any) => {\n const str = Array.isArray(val) ? val.join(' ') : String(val || ''); //for scope, joining to search directly\n const match = str?.match(/<ai_reasoning>([\\s\\S]*?)<\\/ai_reasoning>/);\n return match ? match[1] : null;\n };\n\n const filterText = (val: string | any) => {\n if (typeof val !== 'string') return '';\n return val\n .replace(/<ai_reasoning>[\\s\\S]*?<\\/ai_reasoning>/g, '')\n .replace(/<!--```json[\\s\\S]*?```-->/g, '') // Strip JSON blocks\n .trim();\n };\n const checkAndMerge = (\n tier: string, // ✅ tier key\n index: number, // ✅ variant index\n raw: string | undefined, // raw can be undefined or empty string\n filteredVal: string,\n currentItemsMap: Map<string, Map<number, any[]>>, // ✅ Map<tier, Map<index, items>>\n setter: Function,\n conflictView?: any, // ✅ Structured JSON conflicts\n ) => {\n if (raw !== undefined) {\n // ✅ Extract the tier map, then the array for this variant\n const tierMap = currentItemsMap.get(tier) || new Map();\n const currentItems = tierMap.get(index) || [];\n\n const currentText = currentItems.map((c: any) => c.text).join('\\n');\n const currentLastReasoning = currentItems[currentItems?.length - 1]?.reasoning || '';\n const incomingReasoning = extractReasoning(raw) || '';\n\n // Support clearing: if raw is empty but currentItems is not, we should update\n if (\n (raw === '' && currentItems.length > 0) ||\n filteredVal.trim() !== currentText.trim() ||\n incomingReasoning !== currentLastReasoning\n ) {\n // If raw is empty, we want to clear the items for this variant\n const { updatedItems, newIds } =\n raw === ''\n ? { updatedItems: [], newIds: [] }\n : mergeConditions(raw, currentItems, conflictView);\n\n setter((prev: Map<string, Map<number, any[]>>) => {\n const newMap = new Map(prev);\n const newTierMap = new Map(newMap.get(tier) || new Map());\n newTierMap.set(index, updatedItems); // ✅ Set array at this tier and index\n newMap.set(tier, newTierMap);\n return newMap;\n });\n\n if (newIds?.length > 0) {\n setHighlightedIds((prev) => new Set([...Array.from(prev), ...newIds]));\n setTimeout(() => {\n setHighlightedIds((prev) => {\n const next = new Set(prev);\n newIds.forEach((id) => next.delete(id));\n return next;\n });\n }, 1500);\n }\n }\n }\n };\n\n const logCitationAudit = (params: {\n requestId: string;\n keys: string[];\n newReasoningMap: Record<string, any>;\n getLatestReasoning: (key: string) => any;\n currentCitations: any[];\n }) => {\n const { requestId, keys, newReasoningMap, getLatestReasoning, currentCitations } = params;\n\n console.group(\n `%c Citation Audit: ${requestId} `,\n 'background: #5928ed; color: #fff; font-weight: bold;',\n );\n\n const auditData: Record<string, any> = {};\n\n keys.forEach((key) => {\n const prevEntry = getLatestReasoning(key);\n const hasNew = !!newReasoningMap[key];\n const activeCitations = hasNew ? currentCitations : prevEntry?.associatedCitations || [];\n\n auditData[key] = {\n Status: hasNew ? 'NEW ✅' : prevEntry ? 'FALLBACK 🔄' : 'EMPTY ❌',\n Source: hasNew ? 'Current Msg' : prevEntry ? 'History' : 'N/A',\n 'Reasoning Preview': hasNew\n ? newReasoningMap[key].reasoning\n : prevEntry?.reasoning || 'None',\n 'Full Citations': activeCitations,\n };\n });\n\n console.table(auditData);\n console.groupEnd();\n };\n\n const getConfigHighlights = (\n tier: string,\n index: number,\n newConfig: any,\n currentConfigMap: Map<string, Map<number, any>>,\n ) => {\n const highlightKeys: string[] = [];\n\n // Get the tier map, then the config for this specific variant\n const tierMap = currentConfigMap.get(tier) || new Map();\n const currentConfig = tierMap.get(index) || {\n order_rules: { enabled: false, global_min_separation_seconds: 0 },\n advertiser_rules: { enabled: false, global_min_separation_seconds: 0 },\n inventory_rules: { respect_inventory_code: false },\n break_code_rules: { respect_break_code: false },\n };\n\n // Check order rules\n const newOrderSecs = Math.floor(\n (newConfig.order_rules?.global_min_separation_seconds || 0) / 60,\n );\n if (newOrderSecs !== currentConfig.order_rules.global_min_separation_seconds) {\n highlightKeys.push('config_order_rules');\n }\n\n // Check advertiser rules\n const newAdvSecs = Math.floor(\n (newConfig.advertiser_rules?.global_min_separation_seconds || 0) / 60,\n );\n if (newAdvSecs !== currentConfig.advertiser_rules.global_min_separation_seconds) {\n highlightKeys.push('config_advertiser_rules');\n }\n\n // Check inventory rules\n if (\n !!newConfig.inventory_rules?.respect_inventory_code !==\n currentConfig.inventory_rules.respect_inventory_code\n ) {\n highlightKeys.push('config_inventory_rules');\n }\n\n if (\n !!newConfig.break_code_rules?.respect_break_code !==\n currentConfig.break_code_rules.respect_break_code\n ) {\n highlightKeys.push('config_break_code_rules');\n }\n\n // Check is_default_enabled\n if (!!newConfig.is_default_enabled !== !!currentConfig.is_default_enabled) {\n highlightKeys.push('config_is_default_enabled');\n }\n\n return highlightKeys;\n };\n const formatScopeTiers = (scope: any) => {\n const rawScopeArray = Array.isArray(scope) ? scope : scope ? [scope] : [];\n return rawScopeArray.map((tier) =>\n String(tier)\n .replace(/<ai_reasoning>[\\s\\S]*?<\\/ai_reasoning>/, '')\n .trim()\n .replace(/_/g, ' ')\n .replace(/\\b\\w/g, (char) => char.toUpperCase()),\n );\n };\n\n \n const updateTextField = (\n tier: string,\n index: number,\n key: string,\n newVal: any,\n currentVal: any,\n setter: any,\n ) => {\n const filtered = filterText(newVal);\n // Only trigger if the text has actually changed to prevent redundant highlights\n if (filtered && filtered !== currentVal) {\n triggerHighlight(tier, index, key);\n setter(filtered);\n }\n };\n const updateScopeField = (newScope: any[], prevScope: any[]) => {\n const mappedTiers = formatScopeTiers(newScope);\n const prevMappedTiers = prevScope ? formatScopeTiers(prevScope) : [];\n\n // Update the state\n setScopeData((prev) => ({ ...prev, tiers: mappedTiers }));\n\n // Trigger highlights for NEWLY added tiers\n mappedTiers.forEach((tierName: string) => {\n const cleanName = tierName.trim();\n if (!prevMappedTiers.includes(tierName)) {\n // Ensure tierName is trimmed to match UI exactly\n triggerHighlight('global', 0, `scope_${cleanName}`);\n }\n });\n };\n\n useEffect(() => {\n // Only clear the response if we are NOT in the middle of a save operation\n if (\n sendMessageInChat &&\n !isSendingSaveRef.current &&\n sendMessageInChat.toLowerCase() !== 'save this learning'\n ) {\n // Reset BOTH error states when the user sends a new message\n setIsError(false);\n setErrorMessage('');\n // setStructuredAIResponse([]);\n // Lock in the current index so AI doesn't force it back to a stale ID at start of stream\n lastAutoSetIndexRef.current = editVariantIndex ?? -1;\n }\n }, [sendMessageInChat]);\n\n useEffect(() => {\n latestCitationsRef.current = citations;\n if (Array.isArray(structuredAIResponse) && structuredAIResponse.length > 0) {\n const deepClone = <T,>(value: T): T => {\n const sc = (globalThis as any)?.structuredClone;\n if (typeof sc === 'function') {\n return sc(value);\n }\n return JSON.parse(JSON.stringify(value));\n };\n\n const requestId = currentRequestId || `local-${Date.now()}`;\n const keys = [\n 'ruleTitle',\n 'ruleDescription',\n 'whenToApply',\n 'whenNotToApply',\n 'scopeData',\n 'configData',\n ];\n\n let aggregatedReasoning: Record<string, any> = {};\n const prevResponse = lastProcessedResponseRef.current || [];\n\n // LOOP through every item in the response\n structuredAIResponse.forEach((item, index) => {\n // console.log(\"processing variant item:\", item, index);\n if (!item) return;\n if (!item.is_readOnly) {\n newVariantMapIndexRef.current = index;\n }\n // Determine the true target variant index:\n // In the modal's state, structuredAIResponse IS the complete list of variants.\n // The index in this loop corresponds directly to the slot for that variant.\n let targetIndex = index;\n\n // If this item has a variant_id, we can verify its index in editingVariants\n // but since we maintain the full list in structuredAIResponse, 'index' is reliable.\n if (item?.variant_id && editingVariants) {\n const matchIdx = editingVariants.findIndex((v) => v.variantId === item.variant_id);\n if (matchIdx !== -1) {\n targetIndex = matchIdx;\n }\n } else if (editVariantId && editingVariants && structuredAIResponse.length === 1) {\n // Fallback for single-item AI responses that aren't yet mapped to a slot\n const matchIdx = editingVariants.findIndex((v) => v.variantId === editVariantId);\n if (matchIdx !== -1) {\n targetIndex = matchIdx;\n }\n }\n\n const prevItem = prevResponse[targetIndex] ?? prevResponse[index];\n\n // ✅ Extract tiers from scope\n // Fallback to previous item's scope if current item's scope is undefined or null\n const effectiveScope = item.scope ?? prevItem?.scope;\n const tiers = formatScopeTiers(effectiveScope); // [\"Tier 1\", \"Tier 2\"]\n const tierKeys = tiers.map(\n (tier: string) => tier.toLowerCase().replace(/ /g, '_'), // Convert to \"tier_1\", \"tier_2\"\n );\n\n // If no tiers specified, default to tier_1\n const targetTiers =\n tierKeys.length > 0\n ? tierKeys\n : prevTierRef.current.length > 0\n ? prevTierRef.current\n : ['tier_1'];\n if (targetTiers.length > 0) {\n prevTierRef.current = targetTiers;\n }\n console.log('prevTierRef.current', prevTierRef.current, 'targetTiers', targetTiers);\n\n // 1. Update Global Fields (only once, first occurrence)\n const filteredTitle = filterText(item.title);\n if (filteredTitle && filteredTitle !== filterText(prevItem?.title) && !item.is_readOnly) {\n updateTextField('global', 0, 'ruleTitle', item.title, ruleTitle, setRuleTitle);\n }\n\n // 2. Process for EACH tier this variant belongs to\n targetTiers.forEach((tier: string) => {\n // Update variant-specific rule description for this tier\n const prevItem = prevResponse[targetIndex] ?? prevResponse[index];\n const isNewVariant = !prevItem;\n\n const hasRuleDescriptionField =\n item.rule_description !== undefined && item.rule_description !== null;\n const filteredDescription = filterText(item.rule_description);\n const currentRawDescription = ruleDescription.get(tier)?.get(targetIndex) || '';\n const currentDescription = filterText(currentRawDescription);\n\n if (\n hasRuleDescriptionField &&\n (filteredDescription !== currentDescription ||\n (filteredDescription === '' && currentRawDescription !== ''))\n ) {\n setRuleDescription((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier) || new Map());\n tierMap.set(targetIndex, item.rule_description);\n newMap.set(tier, tierMap);\n return newMap;\n });\n triggerHighlight(tier, targetIndex, 'ruleDescription');\n }\n\n const isRuleInvalid = stagedAiResponse?.is_valid === false;\n\n const filtered_wta = filterText(item.wta);\n const prevFilteredWta = filterText(prevItem?.wta);\n const currentWtaItems = whenToApplyConditions.get(tier)?.get(targetIndex) || [];\n const preventWtaWipe = isRuleInvalid && filtered_wta === '' && currentWtaItems.length > 0;\n\n if (\n !preventWtaWipe && // Use the new specific guard here\n item.wta !== undefined &&\n item.wta !== null &&\n (filtered_wta !== prevFilteredWta ||\n (filtered_wta === '' && currentWtaItems.length > 0) ||\n (currentWtaItems.length === 0 && filtered_wta !== ''))\n ) {\n checkAndMerge(\n tier,\n targetIndex,\n item.wta,\n filtered_wta,\n whenToApplyConditions,\n setWhenToApplyConditions,\n stagedAiResponse?.conflict_view,\n );\n triggerHighlight(tier, targetIndex, 'wta');\n }\n\n // Merge Conditions (WNTA)\n const filtered_wnta = filterText(item.wnta);\n const prevFilteredWnta = filterText(prevItem?.wnta);\n const currentWntaItems = whenNotToApplyConditions.get(tier)?.get(targetIndex) || [];\n\n // 🛡️ Prevent the AI from wiping the UI (sending \"\") if there's an active conflict\n const preventWntaWipe =\n isRuleInvalid && filtered_wnta === '' && currentWntaItems.length > 0;\n\n if (\n !preventWntaWipe &&\n item.wnta !== undefined &&\n item.wnta !== null &&\n (filtered_wnta !== prevFilteredWnta ||\n (filtered_wnta === '' && currentWntaItems.length > 0) ||\n (currentWntaItems.length === 0 && filtered_wnta !== ''))\n ) {\n checkAndMerge(\n tier,\n targetIndex,\n item.wnta,\n filtered_wnta,\n whenNotToApplyConditions,\n setWhenNotToApplyConditions,\n stagedAiResponse?.conflict_view,\n );\n triggerHighlight(tier, targetIndex, 'wnta');\n }\n\n // 4. Process Configuration - Per tier and variant\n // CRITICAL: Ensure we initialize configData for new variants even if scheduling_config is missing\n // because the UI depends on configData keys to know which variants exist and should be rendered.\n if (item.scheduling_config || isNewVariant || item.variant_type || item.variantType) {\n const s_config = item.scheduling_config || {\n order_rules: { enabled: false, global_min_separation_seconds: 0 },\n advertiser_rules: { enabled: false, global_min_separation_seconds: 0 },\n inventory_rules: { respect_inventory_code: false },\n break_code_rules: { respect_break_code: false },\n };\n const prev_config = prevItem?.scheduling_config;\n const currentTierConfig = configData.get(tier)?.get(targetIndex);\n const incomingVariantType = item.variant_type || item.variantType;\n const isDefaultChunk = incomingVariantType\n ? isDefaultVariantType(incomingVariantType)\n : undefined;\n\n const hasConfigChanged = JSON.stringify(s_config) !== JSON.stringify(prev_config);\n // - Does the incoming Default status differ from what we have stored right now?\n const hasDefaultStatusChanged =\n isDefaultChunk !== undefined &&\n isDefaultChunk !== currentTierConfig?.is_default_enabled;\n\n // Helper for deep merging configs so we don't drop nested properties like exemption_advertiser_list\n // when s_config only contains a partial object (like just global_min_separation_seconds)\n const mergeConfig = (prevObj: any, newObj: any) => {\n if (!prevObj) return newObj;\n if (!newObj) return prevObj;\n const merged = { ...prevObj };\n for (const key in newObj) {\n if (newObj[key] && typeof newObj[key] === 'object' && !Array.isArray(newObj[key])) {\n merged[key] = { ...(merged[key] || {}), ...newObj[key] };\n } else {\n merged[key] = newObj[key];\n }\n }\n return merged;\n };\n\n // Merge with previous rawAiConfig to preserve keys from earlier AI responses (Deep Merge)\n setRawAiConfig((prev: any) => mergeConfig(prev, s_config));\n\n // Get highlights for this specific variant in this tier\n if (hasConfigChanged || hasDefaultStatusChanged) {\n setRawAiConfig((prev: any) => mergeConfig(prev, s_config));\n const configHighlightKeys = getConfigHighlights(\n tier,\n targetIndex,\n s_config,\n configData,\n );\n configHighlightKeys.forEach((key) => triggerHighlight(tier, targetIndex, key));\n setOpenSections((prev) => new Set(prev).add('config'));\n\n setConfigData((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier) || new Map());\n // Preserve existing config for this tier+variant; only update keys present in new AI response\n const existingConfig = tierMap.get(targetIndex) || DEFAULT_CONFIG;\n tierMap.set(targetIndex, {\n ...existingConfig,\n // Only update order_rules if present in the new response\n ...(s_config.order_rules && {\n order_rules: {\n enabled: !!s_config.order_rules?.global_min_separation_seconds,\n global_min_separation_seconds: Math.floor(\n (s_config.order_rules?.global_min_separation_seconds || 0) / 60,\n ),\n },\n }),\n // Only update advertiser_rules if present in the new response\n ...(s_config.advertiser_rules && {\n advertiser_rules: {\n enabled: !!s_config.advertiser_rules?.global_min_separation_seconds,\n global_min_separation_seconds: Math.floor(\n (s_config.advertiser_rules?.global_min_separation_seconds || 0) / 60,\n ),\n },\n }),\n // Only update inventory_rules if present in the new response\n ...(s_config.inventory_rules && {\n inventory_rules: {\n respect_inventory_code: !!s_config.inventory_rules?.respect_inventory_code,\n },\n }),\n // Only update break_code_rules if present in the new response\n ...(s_config.break_code_rules && {\n break_code_rules: {\n respect_break_code: !!s_config.break_code_rules?.respect_break_code,\n },\n }),\n // ─── STEP 1: Take variant_type from AI (streaming structuredAIResponse) ───\n // Derive is_default_enabled from the item's variant_type in the AI response\n ...(isDefaultChunk !== undefined && {\n is_default_enabled: isDefaultChunk,\n }),\n });\n newMap.set(tier, tierMap);\n return newMap;\n });\n\n // CRITICAL: Also update touchedConfigKeys so getRuleConfig includes these in payload\n setTouchedConfigKeys((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier) || new Map());\n const currentSet = tierMap.get(targetIndex) || new Set<string>();\n // Mark all config keys as touched\n if (s_config.order_rules) currentSet.add('order_rules');\n if (s_config.advertiser_rules) currentSet.add('advertiser_rules');\n if (s_config.inventory_rules) currentSet.add('inventory_rules');\n if (s_config.break_code_rules) currentSet.add('break_code_rules');\n // Always mark is_default_enabled as touched when AI streams — its value\n // is derived from variant_type which the AI always provides.\n // currentSet.add('is_default_enabled');\n if (isDefaultChunk !== undefined) currentSet.add('is_default_enabled');\n tierMap.set(targetIndex, currentSet);\n newMap.set(tier, tierMap);\n return newMap;\n });\n }\n }\n\n // 5. Aggregate Reasoning - Per tier and variant\n const itemRawSource: any = {\n ruleTitle: item.title,\n ruleDescription: item.rule_description,\n whenToApply: item.wta,\n whenNotToApply: item.wnta,\n scopeData: item.scope,\n configData: item.action,\n };\n\n if (!item.is_readOnly) {\n keys.forEach((key) => {\n const reasoningText = extractReasoning(itemRawSource[key]);\n\n const tieredKey = key === 'ruleTitle' || key === 'scopeData' ? key : `${key}_${tier}`;\n\n if (!reasoningText) return;\n\n const prevReasoning = prevReasoningRef.current[tieredKey];\n if (reasoningText === prevReasoning) return;\n\n // Reasoning changed — update reasoning ref and mark this key as needing a citation flush\n prevReasoningRef.current[tieredKey] = reasoningText;\n pendingCitationFlushRef.current[tieredKey] = true;\n\n aggregatedReasoning[tieredKey] = {\n reasoning: reasoningText,\n associatedCitations: [], // empty placeholder — citations written separately\n tier,\n variantIndex: targetIndex,\n };\n });\n }\n\n if (item.conflictingConditions) {\n setValidationErrors((prev) => {\n const next = { ...prev };\n item.conflictingConditions.forEach((conflict: any) => {\n if (conflict.condition_wta) {\n next[`whenToApply-${tier}-${targetIndex}`] = conflict.reason;\n }\n if (conflict.condition_wnta) {\n next[`whenNotToApply-${tier}-${targetIndex}`] = conflict.reason;\n }\n });\n return next;\n });\n // Open the sections that have conflicts\n setOpenSections((prev) => new Set([...Array.from(prev), 'conditions']));\n }\n });\n });\n\n // 6. Focus the active update — Smart behavior for Edit vs Create\n // Edit flow now preserves the accordion the user has open.\n // Only changes when AI explicitly tells us to switch.\n let activeIndex = -1;\n\n const isEditMode = resolveIsEditMode({ flow, editingRule, editingVariants });\n const isEditAction = action === 'edit' || action === 'edit_current_rule';\n const matchesVariantId = (item: any, targetId: string) =>\n (item?.variant_id && item.variant_id === targetId) ||\n (item?.new_variant_id && item.new_variant_id === targetId) ||\n (item?.id && item.id === targetId);\n const getTierRelativeIndexByVariantId = (items: any[], targetId: string) => {\n if (!targetId) return -1;\n const targetItem = items.find((it: any) => matchesVariantId(it, targetId));\n if (!targetItem) return -1;\n\n const targetTierId = String(targetItem?.tier_id || '');\n if (!targetTierId) {\n return items.findIndex((it: any) => matchesVariantId(it, targetId));\n }\n\n const sameTierItems = items.filter((it: any) => String(it?.tier_id || '') === targetTierId);\n const tierRelativeIndex = sameTierItems.findIndex((it: any) =>\n matchesVariantId(it, targetId),\n );\n return tierRelativeIndex !== -1\n ? tierRelativeIndex\n : items.findIndex((it: any) => matchesVariantId(it, targetId));\n };\n\n if (!isEditMode) {\n // === CREATION / ADD NEW VARIANT FLOW ===\n // 1. If we are explicitly merging/editing an existing rule, prioritize opening that specific variant.\n const targetId = editVariantId || pendingFocusVariantId || lastProcessedVariantId.current;\n if (targetId && isEditAction) {\n activeIndex = getTierRelativeIndexByVariantId(structuredAIResponse, targetId);\n }\n\n // 2. For non-edit actions, open only the latest non-readonly variant.\n // For edit actions, keep current accordion when we can't resolve a target id.\n if (\n !isEditAction &&\n activeIndex === -1 &&\n Array.isArray(structuredAIResponse) &&\n structuredAIResponse.length > 0\n ) {\n // Search backwards → newest non-readonly (AI-generated) variant\n for (let i = structuredAIResponse.length - 1; i >= 0; i--) {\n if (structuredAIResponse[i] && !structuredAIResponse[i]?.is_readOnly) {\n activeIndex = i;\n break;\n }\n }\n // fallback to last item if somehow all are read-only\n if (activeIndex === -1) {\n activeIndex = structuredAIResponse.length - 1;\n }\n }\n } else {\n // === VARIANT / RULE EDIT FLOW ===\n // Do NOT auto-switch accordion unless AI explicitly instructs us.\n // This fixes the bug where editing Variant 2/3 jumps back to Variant 1.\n // Priority -1: We just added a new variant via flow, we MUST prioritize it over editVariantId\n if (lastProcessedVariantId.current && isVariantFlow) {\n activeIndex = structuredAIResponse.findIndex(\n (it: any) =>\n (it?.new_variant_id && it.new_variant_id === lastProcessedVariantId.current) ||\n (it?.variant_id && it.variant_id === lastProcessedVariantId.current) ||\n (it?.id && it.id === lastProcessedVariantId.current),\n );\n // Nullify after one-time use to prevent it from forcing the index stuck for the rest of the stream\n if (activeIndex !== -1) {\n lastProcessedVariantId.current = null;\n }\n }\n // Priority 1: AI explicitly sent edit_variant_id in latest response\n else if (editVariantId || pendingFocusVariantId) {\n const targetId = editVariantId || pendingFocusVariantId;\n if (targetId) {\n activeIndex = getTierRelativeIndexByVariantId(structuredAIResponse, targetId);\n }\n }\n // Priority 2: Adding a NEW Variant in Edit Mode (triggerAddVariant)\n // If we are adding a variant, auto-focus the newest ai-generated (non-readonly) variant\n else if (\n triggerAddVariant &&\n Array.isArray(structuredAIResponse) &&\n structuredAIResponse.length > 0\n ) {\n for (let i = structuredAIResponse.length - 1; i >= 0; i--) {\n if (structuredAIResponse[i] && !structuredAIResponse[i]?.is_readOnly) {\n activeIndex = i;\n break;\n }\n }\n }\n // Priority 3: Initial load only (first AI response after modal opens)\n else if (\n focusedVariantIndex != null &&\n (!lastProcessedResponseRef.current || lastProcessedResponseRef.current.length === 0)\n ) {\n activeIndex = focusedVariantIndex;\n }\n // If none of the above → keep whatever accordion the user currently has open\n // (we intentionally leave activeIndex = -1 so we skip setEditVariantIndex)\n }\n\n // Only update state if we actually have a new index to set\n if (activeIndex !== -1 && editVariantIndex !== activeIndex) {\n // Only force open if the AI's target index explicitly CHANGED since the last time we auto-opened it.\n // This stops the UI from aggressively hijacking \"editVariantIndex\" every chunk if the user manually clicked elsewhere.\n if (\n lastAutoSetIndexRef.current !== activeIndex &&\n (!isLoadAndEditModeRef.current || isEditAction)\n ) {\n console.log(\n `🎯 Setting active variant accordion to index ${activeIndex} (${\n isEditMode ? 'EDIT' : 'CREATE'\n } mode)`,\n );\n setEditVariantIndex(activeIndex);\n lastAutoSetIndexRef.current = activeIndex;\n }\n }\n\n // 7. Process Scope & Other Global fields (Run ONCE using first item if available)\n const firstItem = structuredAIResponse[0];\n if (firstItem) {\n if (\n firstItem.scope &&\n JSON.stringify(firstItem.scope) !== JSON.stringify(prevResponse[0]?.scope)\n ) {\n if (firstItem.action !== 'copy') {\n updateScopeField(firstItem.scope, prevResponse[0]?.scope);\n }\n }\n\n // Station Rule Set highlighting\n if (\n firstItem.scope_rule_set &&\n firstItem.scope_rule_set !== prevResponse[0]?.scope_rule_set\n ) {\n const station = firstItem.scope_rule_set.toLowerCase().trim();\n if (['global', 'genre', 'custom'].includes(station)) {\n setScopeData((prev) => ({ ...prev, station }));\n triggerHighlight('global', 0, 'scope_station');\n }\n }\n\n if (firstItem.wtl) setWhyThisLearning(firstItem.wtl);\n }\n\n lastProcessedResponseRef.current = structuredAIResponse.map((item: any) =>\n item ? deepClone(item) : item,\n );\n\n // Update refs and dispatch only for actually changed keys\n if (Object.keys(aggregatedReasoning).length > 0) {\n dispatch({\n type: 'SAVE_CITATIONS',\n requestId: requestId,\n reasoningMap: aggregatedReasoning,\n rawCitations: citations,\n });\n\n logCitationAudit({\n requestId,\n keys: Object.keys(aggregatedReasoning),\n newReasoningMap: aggregatedReasoning,\n getLatestReasoning,\n currentCitations: citations,\n });\n\n // Only update reasoning state and fieldCitations for keys that ACTUALLY changed\n setReasoning((prev) => {\n const nextReasoning = { ...prev };\n const updatedCitations: Record<string, string[]> = {};\n let reasoningActuallyChanged = false;\n\n Object.keys(aggregatedReasoning).forEach((key) => {\n const entry = aggregatedReasoning[key];\n if (entry.reasoning && nextReasoning[key] !== entry.reasoning) {\n nextReasoning[key] = entry.reasoning;\n reasoningActuallyChanged = true;\n }\n // Only set citations for this key if reasoning changed OR citations changed\n updatedCitations[key] = entry.associatedCitations;\n });\n\n return reasoningActuallyChanged ? nextReasoning : prev;\n });\n }\n }\n }, [structuredAIResponse, citations, currentRequestId]);\n\n useEffect(() => {\n // Only flush keys that had reasoning changes since last citation update\n const keysToFlush = Object.keys(pendingCitationFlushRef.current);\n if (keysToFlush.length === 0) return;\n\n const updates: Record<string, string[]> = {};\n keysToFlush.forEach((key) => {\n updates[key] = [...citations];\n });\n\n // Clear pending flush BEFORE setting state to avoid double-write\n pendingCitationFlushRef.current = {};\n\n setFieldCitations((prev) => ({ ...prev, ...updates }));\n }, [citations]);\n\n const mapScopes = (tiers: string[]) => {\n return tiers.map((tier) => {\n // Extract the number (e.g., \"Tier 2\" -> \"2\")\n const tierId = tier.match(/\\d+/)?.[0] || '1';\n // Format name (e.g., \"Tier 2\" -> \"Tier-2\")\n const formattedName = tier.replace(/\\s+/g, '-');\n\n return {\n name: 'Custom',\n parentScopeId: null, // AI\n scopeRowId: effectiveRuleSetId, // AI\n value: {\n scopeName: ruleSet?.ruleSetName || '',\n scopeId: 'Audacy_' + uuidv4(),\n customScopeGroupName: configuration?.CUSTOM_SCOPE_GROUP_NAME || '',\n description: ruleSet?.ruleSetDesc || '',\n },\n };\n });\n };\n\n type ConfigPayload = {\n config_structure: {\n scheduling_config: Record<string, string>;\n };\n config_data: {\n scheduling_config: Record<string, any>;\n };\n };\n\n /**\n * Builds the config payload for API with flat structure using prefixed keys.\n * Keys are prefixed with rule type to avoid collisions.\n * E.g., order_rules.global_min_separation_seconds -> order_global_min_separation_seconds\n * @param ruleConfig - Config object keyed by rule type\n * @returns ConfigPayload with config_structure and config_data, or null if empty\n */\nconst buildConfigPayload = (ruleConfig: Record<string, any>): ConfigPayload | null => {\n // Hardcode the required structure as requested.\n const ILstructure: Record<string, string> = \n {advertiser_exemption_advertiser_list: \"array\",\n advertiser_exemption_break_code_list: \"array\",\n advertiser_exemption_priority_code_list: \"array\",\n advertiser_exemption_product_code_list: \"array\",\n advertiser_global_min_separation_seconds: \"int\",\n break_code_exemption_advertiser_list: \"array\",\n break_code_exemption_break_code_list: \"array\",\n break_code_exemption_priority_code_list: \"array\",\n break_code_exemption_product_code_list: \"array\",\n custom_sep_time_for_entities: \"object\",\n inventory_exemption_advertiser_list: \"array\",\n inventory_exemption_break_code_list: \"array\",\n inventory_exemption_priority_code_list: \"array\",\n inventory_exemption_product_code_list: \"array\",\n order_exemption_advertiser_list: \"array\",\n order_exemption_break_code_list: \"array\",\n order_exemption_priority_code_list: \"array\",\n order_exemption_product_code_list: \"array\",\n order_global_min_separation_seconds: \"int\",\n override_priority_code: \"str\",\n product_exemption_advertiser_list: \"array\",\n product_exemption_break_code_list: \"array\",\n product_exemption_priority_code_list: \"array\",\n product_exemption_product_code_list: \"array\",\n max_priority_override_priority_code_list: \"array\",\n max_priority_override_exemption_advertiser_list: \"array\",\n max_priority_override_exemption_break_code_list: \"array\",\n max_priority_override_exemption_priority_code_list: \"array\",\n max_priority_override_exemption_product_code_list: \"array\",\n first_in_break_exemption_advertiser_list: \"array\",\n first_in_break_exemption_break_code_list: \"array\",\n first_in_break_exemption_priority_code_list: \"array\",\n first_in_break_exemption_product_code_list: \"array\",\n first_in_break_condition_advertiser_list: \"array\",\n first_in_break_condition_break_code_list: \"array\",\n first_in_break_condition_priority_code_list: \"array\",\n first_in_break_condition_product_code_list: \"array\",\n advertiser_pair_break_constraint: \"array\",\n respect_break_code: \"bool\",\n respect_inventory_code: \"bool\"\n }\n const backwardCompatibiltyStructure: Record<string, string> = {\n \"respect_break_code\":\"bool\",\n \"override_priority_code\":\"str\",\n \"respect_inventory_code\":\"bool\",\n \"custom_sep_time_for_entities\":\"object\",\n \"order_exemption_advertiser_list\":\"array\",\n \"order_exemption_break_code_list\":\"array\",\n \"advertiser_pair_break_constraint\":\"array\",\n \"order_exemption_product_code_list\":\"array\",\n \"product_exemption_advertiser_list\":\"array\",\n \"product_exemption_break_code_list\":\"array\",\n \"order_exemption_priority_code_list\":\"array\",\n \"inventory_exemption_advertiser_list\":\"array\",\n \"inventory_exemption_break_code_list\":\"array\",\n \"order_global_min_separation_seconds\":\"int\",\n \"product_exemption_product_code_list\":\"array\",\n \"advertiser_exemption_advertiser_list\":\"array\",\n \"advertiser_exemption_break_code_list\":\"array\",\n \"break_code_exemption_advertiser_list\":\"array\",\n \"break_code_exemption_break_code_list\":\"array\",\n \"product_exemption_priority_code_list\":\"array\",\n \"inventory_exemption_product_code_list\":\"array\",\n \"advertiser_exemption_product_code_list\":\"array\",\n \"break_code_exemption_product_code_list\":\"array\",\n \"inventory_exemption_priority_code_list\":\"array\",\n \"advertiser_exemption_priority_code_list\":\"array\",\n \"break_code_exemption_priority_code_list\":\"array\",\n \"advertiser_global_min_separation_seconds\":\"int\",\n \"first_in_break_condition_advertiser_list\":\"array\",\n \"first_in_break_condition_break_code_list\":\"array\",\n \"first_in_break_exemption_advertiser_list\":\"array\",\n \"first_in_break_exemption_break_code_list\":\"array\",\n \"max_priority_override_priority_code_list\":\"array\",\n \"first_in_break_condition_product_code_list\":\"array\",\n \"first_in_break_exemption_product_code_list\":\"array\",\n \"first_in_segment_condition_advertiser_list\":\"array\",\n \"first_in_segment_condition_break_code_list\":\"array\",\n \"first_in_segment_exemption_advertiser_list\":\"array\",\n \"first_in_segment_exemption_break_code_list\":\"array\",\n \"first_in_break_condition_priority_code_list\":\"array\",\n \"first_in_break_exemption_priority_code_list\":\"array\",\n \"first_in_segment_condition_product_code_list\":\"array\",\n \"first_in_segment_exemption_product_code_list\":\"array\",\n \"time_based_break_prioritization_time_windows\":\"object\",\n \"first_in_segment_condition_priority_code_list\":\"array\",\n \"first_in_segment_exemption_priority_code_list\":\"array\",\n \"max_priority_override_exemption_advertiser_list\":\"array\",\n \"max_priority_override_exemption_break_code_list\":\"array\",\n \"max_priority_override_exemption_product_code_list\":\"array\",\n \"max_priority_override_exemption_priority_code_list\":\"array\",\n \"time_based_break_prioritization_condition_advertiser_list\":\"array\",\n \"time_based_break_prioritization_condition_break_code_list\":\"array\",\n \"time_based_break_prioritization_condition_product_code_list\":\"array\",\n \"time_based_break_prioritization_condition_priority_code_list\":\"array\",\n \"time_based_break_prioritization_exemption_advertiser_list\":\"array\",\n \"time_based_break_prioritization_exemption_break_code_list\":\"array\",\n \"time_based_break_prioritization_exemption_product_code_list\":\"array\",\n \"time_based_break_prioritization_exemption_priority_code_list\":\"array\"\n\n}\n const structure = backwardCompatibility ? backwardCompatibiltyStructure : ILstructure;\n const data: Record<string, any> = {};\n\n // Iterate over rule types (order_rules, advertiser_rules, etc.)\n Object.entries(ruleConfig).forEach(([ruleType, configBlock]) => {\n // is_default_enabled is a top-level boolean, not a nested rule object — handle separately\n // if (ruleType === 'is_default_enabled') {\n // structure['is_default_enabled'] = 'bool';\n // data['is_default_enabled'] = typeof configBlock === 'boolean' ? configBlock : false;\n // return;\n // }\n\n if (ruleType === 'custom_sep_time_for_entities' && configBlock) {\n // Send as it is, without flattening\n data['custom_sep_time_for_entities'] = configBlock;\n } else if (\n ruleType === 'max_priority_override' &&\n configBlock &&\n configBlock.override_priority_code !== undefined\n ) {\n data['override_priority_code'] = configBlock.override_priority_code;\n }else if (ruleType === 'advertiser_pair_break_constraint' && configBlock) {\n // This is when configBlock is always of the form { advertiser_pair_list: [[advertiser1, advertiser2,..]] }\n data['advertiser_pair_break_constraint'] = configBlock.advertiser_pair_list;\n }\n else if (\n configBlock &&\n typeof configBlock === 'object' &&\n Object.keys(configBlock)?.length > 0\n ) {\n // Extract prefix from rule type (e.g., \"order_rules\" -> \"order\", \"advertiser_rules\" -> \"advertiser\")\n const prefix = ruleType.replace(/_rules$/, '');\n\n // Expand allowed keys based on the structure provided by AI\n const allowedKeys = [\n 'global_min_separation_seconds',\n 'respect_inventory_code',\n 'respect_break_code',\n 'exemption_advertiser_list',\n 'exemption_break_code_list',\n 'exemption_priority_code_list',\n \"priority_code_list\",\n \"exemption_product_code_list\",\n \"condition_advertiser_list\",\n \"condition_break_code_list\",\n \"condition_priority_code_list\",\n \"condition_product_code_list\",\n \"time_windows\"\n ];\n\n Object.entries(configBlock).forEach(([key, value]) => {\n // Only include allowed keys\n if (!allowedKeys.includes(key)) return;\n\n // Skip product_global_min_separation_seconds\n if (ruleType === 'product_rules' && key === 'global_min_separation_seconds') {\n return;\n }\n\n // For separation times and lists, prefix with rule type\n // For toggles (respect_*), keep as-is since they're unique\n const prefixedKey =\n key === 'respect_inventory_code' || key === 'respect_break_code'\n ? key\n : `${prefix}_${key}`;\n\n data[prefixedKey] = value;\n });\n } else if (configBlock !== undefined && typeof configBlock !== 'object') {\n // Skip station_guid as requested\n if (ruleType === 'station_guid' || ruleType === 'is_default_enabled') return;\n\n data[ruleType] = configBlock;\n }\n });\n\n return {\n config_structure: {\n scheduling_config: structure,\n },\n config_data: {\n scheduling_config: data,\n },\n };\n };\n\n /**\n * Gets the rule config for a specific variant index.\n * @param touchedConfigKeysMap - Map of touched config keys per tier/variant\n * @param rawAiConfig - Raw AI config data\n * @param configDataMap - Map of config data per tier/variant\n * @param targetVariantIndex - The specific variant index to get config for\n * @returns Rule config object for the specified variant\n */\n const getRuleConfig = (\n touchedConfigKeysMap: Map<string, Map<number, Set<string>>>,\n rawAiConfig: any,\n configDataMap: Map<string, Map<number, ConfigDataType>>,\n targetVariantIndex: number = 0,\n ) => {\n // Start with all raw config properties from the AI to ensure lists and objects aren't dropped\n const ruleConfig: any = { ...(rawAiConfig || {}) };\n\n touchedConfigKeysMap.forEach((tierMap, tier) => {\n // Only process the target variant index\n const keysSet = tierMap.get(targetVariantIndex);\n if (!keysSet) return;\n\n keysSet.forEach((key) => {\n const baseData = rawAiConfig[key] || {};\n const tierConfig = configDataMap.get(tier);\n const variantConfig = tierConfig?.get(targetVariantIndex);\n const uiData = (variantConfig as any)?.[key];\n\n if (key === 'order_rules' || key === 'advertiser_rules') {\n // If toggle is OFF (enabled=false), send 0 regardless of the entered value\n const isEnabled = uiData?.enabled ?? false;\n const separationValue = isEnabled ? (uiData?.global_min_separation_seconds || 0) * 60 : 0;\n\n ruleConfig[key] = {\n ...baseData,\n global_min_separation_seconds: separationValue,\n };\n } else if (key === 'inventory_rules') {\n ruleConfig[key] = {\n ...baseData,\n respect_inventory_code: uiData?.respect_inventory_code,\n };\n } else if (key === 'break_code_rules') {\n ruleConfig[key] = {\n ...baseData,\n respect_break_code: uiData?.respect_break_code,\n };\n } else if (key === 'is_default_enabled') {\n // Pass the boolean directly — not nested under a rule object\n ruleConfig[key] = uiData ?? false;\n } else {\n ruleConfig[key] = baseData;\n }\n });\n });\n return ruleConfig;\n };\n\n /**\n * Helper function to compute variant type from a list of variants\n * @param variants - Array of variants to check\n * @param index - Current variant index\n * @param typeField - Field name for variant type ('variantType' or 'variant_type')\n * @returns Computed variant type string and if its default\n */\n const computeVariantType = (\n variants: any[],\n index: number,\n typeField: 'variantType' | 'variant_type' = 'variantType',\n ): { label: string; isDefault: boolean } => {\n const matchingVariant = variants?.[index];\n if (!matchingVariant) {\n return { label: getNextVariantType(variants), isDefault: false };\n }\n\n const baseType = matchingVariant[typeField] || '';\n const isDefault = isDefaultVariantType(baseType);\n\n // All variants get numbers now\n // The isDefault flag will be used to render the \"Default\" tag separately\n return {\n label: `variant ${index + 1}`,\n isDefault: isDefault,\n };\n };\n\n /**\n * Normalises a raw variant_type string coming from CARE/API so that\n * \"default_variant\" and \"default\" are NEVER sent as a visible label.\n * Always returns a display-safe \"variant N\" label plus the isDefault flag.\n */\n const normalizeCareVariantType = (\n careType: string,\n fallbackIndex: number,\n ): { label: string; isDefault: boolean } => {\n const isDefault = isDefaultVariantType(careType);\n // Always use numbered label — never expose the internal \"default_variant\" string\n return {\n label: `variant ${fallbackIndex + 1}`,\n isDefault,\n };\n };\n\n /**\n * ─── STEP 3: Send variant_type in save/edit API payloads ───\n * Returns the canonical variant_type string for API payloads based on the\n * live is_default_enabled toggle for a given tier/index slot.\n *\n * Priority:\n * 1. Live toggle from configData (user may have changed it)\n * 2. Fallback to CARE/originalItem variant_type if configData slot not yet populated\n *\n * Result: \"default_variant\" when isDefault=true, \"variant\" (no number) otherwise.\n */\n const resolveVariantTypeForPayload = (\n tier: string,\n index: number,\n fallbackVariantType: string = '',\n ): string => {\n const liveConfig = configData.get(tier)?.get(index);\n if (liveConfig) {\n // is_default_enabled is a boolean — compare directly\n return liveConfig.is_default_enabled ? 'Default' : 'Variant';\n }\n // Fallback: derive from the raw string sent by the AI / stored in props\n return isDefaultVariantType(fallbackVariantType) ? 'Default' : 'Variant';\n };\n\n const handleSaveInstantLearningQuestion = async () => {\n try {\n setSaveApiStatus(apiConstants.IN_PROGRESS);\n\n /** Call saveInstantLearningQuestion once per tier and collect per-tier question IDs */\n const questionIdMap = new Map<string, string | null>();\n\n for (const tierName of scopeData.tiers) {\n const tKey = tierName.toLowerCase().replace(/ /g, '_');\n const matchedTier = tiers.find(\n (t) =>\n t.tier_name.toLowerCase().replace(/ /g, '_') === tKey ||\n t.tier_name.toLowerCase() === tKey.replace(/_/g, ''),\n );\n const tierId = matchedTier?.tier_id;\n\n if (!tierId) {\n questionIdMap.set(tKey, null);\n continue;\n }\n\n const payload: SaveInstantLearningQuestionPayload = {\n question: ruleTitle,\n orgName: configuration.ORGANIZATION_NAME,\n scope_id: effectiveRuleSetId,\n tier_id: tierId,\n };\n\n try {\n const response = await saveInstantLearningQuestion(payload);\n questionIdMap.set(tKey, response?.data?.id || null);\n console.log(`✅ Question saved for ${tierName}:`, response);\n } catch (innerError) {\n console.error(`❌ Error saving question for ${tierName}:`, innerError);\n questionIdMap.set(tKey, null);\n }\n }\n\n publishFeedbackSaveLearning(questionIdMap);\n } catch (error: any) {\n // Build a fallback map with null values for all tiers\n const fallbackMap = new Map<string, string | null>();\n scopeData.tiers.forEach((tierName) => {\n fallbackMap.set(tierName.toLowerCase().replace(/ /g, '_'), null);\n });\n publishFeedbackSaveLearning(fallbackMap);\n console.error('❌ Error saving Instant Learning Question:', error);\n }\n };\n\n const handleSaveWithoutValParent = async () => {\n // 1. Validation\n const errors = validateForm();\n if (Object.keys(errors).length > 0) {\n setValidationErrors(errors);\n return;\n }\n\n console.log('✅ Bypass Save: Initiated');\n\n // 2. Route to the correct API based on the mode (Edit vs Create)\n if (resolveIsEditMode({ flow, editingRule, editingVariants })) {\n await saveEditedVariant();\n } else if (isLoadAndEditModeRef.current === true) {\n await saveLoadAndEditVariant();\n } else {\n // 3. Direct API flow for Create — call question ID API per tier\n try {\n setSaveApiStatus(apiConstants.IN_PROGRESS);\n\n /** Call saveInstantLearningQuestion once per tier and collect per-tier question IDs */\n const questionIdMap = new Map<string, string | null>();\n\n for (const tierName of scopeData.tiers) {\n const tKey = tierName.toLowerCase().replace(/ /g, '_');\n const matchedTier = tiers.find(\n (t) =>\n t.tier_name.toLowerCase().replace(/ /g, '_') === tKey ||\n t.tier_name.toLowerCase() === tKey.replace(/_/g, ''),\n );\n const tierId = matchedTier?.tier_id;\n\n if (!tierId) {\n questionIdMap.set(tKey, null);\n continue;\n }\n\n const payload: SaveInstantLearningQuestionPayload = {\n question: ruleTitle,\n orgName: configuration.ORGANIZATION_NAME,\n scope_id: effectiveRuleSetId,\n tier_id: tierId,\n };\n\n try {\n const response = await saveInstantLearningQuestion(payload);\n questionIdMap.set(tKey, response?.data?.id || null);\n } catch (innerError) {\n console.error(`❌ Bypass Save: Error saving question for ${tierName}:`, innerError);\n questionIdMap.set(tKey, null);\n }\n }\n\n // Trigger publish feedback and FORCE the modal to close (passing true)\n await publishFeedbackSaveLearning(questionIdMap, true);\n } catch (error: any) {\n setSaveApiStatus(apiConstants.FAILURE);\n // Build a fallback map with null values for all tiers\n const fallbackMap = new Map<string, string | null>();\n scopeData.tiers.forEach((tierName) => {\n fallbackMap.set(tierName.toLowerCase().replace(/ /g, '_'), null);\n });\n publishFeedbackSaveLearning(fallbackMap, true);\n console.error('❌ Bypass Save: Error', error);\n }\n }\n };\n\n const publishFeedbackSaveLearning = async (\n questionIdMap: Map<string, string | null>,\n forceClose: boolean = false,\n ) => {\n const formattedScopes = mapScopes(scopeData.tiers);\n const backwardCompatibility = useLearningTemplateStore.getState().backwardCompatibility;\n const isILMarketplace = useLearningTemplateStore.getState().isILMarketplace;\n // 1. Identify the Active Variant Index\n // If structuredAIResponse is empty (manual creation), default to 0.\n // Otherwise, find the first item that is NOT read-only.\n // Safety fallback: if findIndex returns -1 (e.g. all are read-only, though unlikely in edit mode), default to 0\n const targetIndex = newVariantMapIndexRef.current;\n\n // Get config for the ACTIVE variant only\n const ruleConfig = getRuleConfig(touchedConfigKeys, rawAiConfig, configData, targetIndex);\n\n try {\n setSaveApiStatus(apiConstants.IN_PROGRESS);\n setErrorMessage('');\n\n const configPayload = buildConfigPayload(ruleConfig);\n const tierLinkId = uuidv4();\n\n const publishRequests: Promise<any>[] = [];\n const tierMapping: string[] = [];\n const originalItem = (structuredAIResponse || [])[targetIndex] || {};\n console.log('originalItem check :', originalItem, targetIndex);\n // const newComputedVariantType = getNextVariantType(existingVariants);\n // const finalVariantType = originalItem.is_variant ? \"\" : getNextVariantType(existingVariants);\n\n scopeData.tiers.forEach((tier) => {\n const tierKey = tier.toLowerCase().replace(/ /g, '_');\n tierMapping.push(tierKey);\n\n // 2. Retrieve description only for the active variant\n const tierDesc = ruleDescription.get(tierKey)?.get(targetIndex) || '';\n\n // 3. Retrieve conditions ONLY for the active variant index\n const tierWtaConditions = whenToApplyConditions.get(tierKey)?.get(targetIndex) || [];\n const tierWntaConditions = whenNotToApplyConditions.get(tierKey)?.get(targetIndex) || [];\n if (backwardCompatibility === false) {\n const payload =\n [{\n ...(configPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n ...configPayload,\n },\n }),\n datasource: {\n type: 'link',\n ref: 'www.something.com',\n tag: 'something',\n },\n tierLinkId: tierLinkId,\n variant: filterText(tierDesc),\n conditions_whentoapply: tierWtaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n conditions_whennottoapply: tierWntaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n isDefault: configData.get(tierKey)?.get(targetIndex)?.is_default_enabled ?? true,\n tier_id: tiers.find(\n (t) =>\n t.tier_name.toLowerCase().replace(/ /g, '_') === tierKey ||\n t.tier_name.toLowerCase() === tierKey.replace(/_/g, ''),\n )?.tier_id || '',\n topic_id: null,\n scope_id: effectiveRuleSetId,\n question_title: ruleTitle,\n variantType: resolveVariantTypeForPayload(\n tierKey,\n targetIndex,\n originalItem.variant_type || originalItem.variantType,\n ),\n instantLearningType: configuration.INSTANT_LEARNING_TYPE,\n is_user_accepted_risk: false,\n propagation: !isILMarketplace,\n applicationMappingId: applicationIntegrationId,\n modeId: modeId\n }]\n\n publishRequests.push(publishFeedback(payload, configuration.ASSISTANT_NAME));\n } else {\n const payload: PublishFeedbackPayload = {\n status: 'approved',\n metadata: {\n userName: user?.firstname ?? '',\n userEmailId: user?.email ?? '',\n llm: IL_CONFIG_CONSTANTS.MODEL,\n isVariantFlow: true,\n\n ...(configPayload && {\n config: {\n master_name: IL_CONFIG_CONSTANTS.CONFIG_MASTER_NAME,\n ...configPayload,\n },\n }),\n\n datasource: {\n type: 'link',\n ref: 'www.something.com',\n tag: 'something',\n },\n\n variant: {\n tierLinkId: tierLinkId,\n variant: filterText(tierDesc),\n conditions_whentoapply: tierWtaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n conditions_whennottoapply: tierWntaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n referenceVariantID: null,\n referenceVariantIDVersion: null,\n scope: formattedScopes[0] || {\n name: IL_CONFIG_CONSTANTS.SCOPE_NAME,\n parentScopeId: null,\n scopeRowId: effectiveRuleSetId,\n value: {\n scopeName: ruleSet?.ruleSetName || '',\n scopeId: 'Audacy_' + uuidv4(),\n customScopeGroupName: IL_CONFIG_CONSTANTS.CUSTOM_SCOPE_GROUP_NAME,\n description: ruleSet?.ruleSetDesc || '',\n },\n },\n overriden: false,\n isDefault: configData.get(tierKey)?.get(targetIndex)?.is_default_enabled ?? true,\n tier: {\n name: tier.split(' ').join('').toLowerCase(),\n tierGroupName: IL_CONFIG_CONSTANTS.CUSTOM_SCOPE_GROUP_NAME,\n tierPriority: parseInt(tier.split(' ')[1] || '1'),\n tier_id:\n tiers.find(\n (t) =>\n t.tier_name.toLowerCase().replace(/ /g, '_') === tierKey ||\n t.tier_name.toLowerCase() === tierKey.replace(/_/g, ''),\n )?.tier_id || '',\n },\n topic: {\n id: null,\n value: `${scopeData.station || initialScope}RuleSet`,\n description: null,\n },\n categories: [\n {\n id: null,\n value: IL_CONFIG_CONSTANTS.CATEGORY,\n description: IL_CONFIG_CONSTANTS.CATEGORY,\n },\n ],\n originalQuestion: ruleTitle,\n questionId: questionIdMap.get(tierKey) || null,\n // ─── STEP 3: Send variant_type in save API payload ───\n variantType: resolveVariantTypeForPayload(\n tierKey,\n targetIndex,\n originalItem.variant_type || originalItem.variantType,\n ),\n parameterizedQuestion: null,\n created_at: new Date().toISOString(),\n created_by: user?.email ?? '',\n instantLearningType: IL_CONFIG_CONSTANTS.INSTANT_LEARNING_TYPE,\n appliedTagsIL: [],\n tagMappingInfoIL: {},\n // Send is_user_accepted_risk from CARE or Validation Agent, defaulting to false\n is_user_accepted_risk: !!(\n originalItem?.is_user_accepted_risk ?? stagedAiResponse?.is_user_accepted_risk\n ),\n },\n isAgentsFeedback: true,\n },\n appsecData: {\n application: rbacConfig?.applicationId ?? '',\n scopeLevelModuleId:rbacConfig?.moduleId||\"\",\n applicationLevelModuleId:rbacConfig?.applicationModuleId??\"\",\n applicationLevelResourceId:rbacConfig?.applicationResourceId??\"\",\n }\n };\n\n publishRequests.push(publishFeedback(payload, configuration.ASSISTANT_NAME));\n }\n \n });\n\n const responses = await Promise.all(publishRequests);\n setIsSendSaveMessage(false);\n console.log('✅ All feedback published:', responses);\n\n setSaveApiStatus(apiConstants.SUCCESS);\n setIsSavedSuccessfully(true);\n\n // Store created variant info for auto-scroll after modal close\n const variantInfoMap = new Map<string, { id: string; action: 'new' | 'existing' }[]>();\n responses.forEach((res, index) => {\n const tierName = tierMapping[index];\n // Handle various API response structures\n let newVariantId =\n res?.data?.id ||\n (res?.data?.variant_id && res.data.variant_id) ||\n res?.id ||\n (res?.variant_id && res.variant_id);\n if (!newVariantId && typeof res?.data === 'string') {\n newVariantId = res.data;\n }\n if (newVariantId && typeof newVariantId === 'string') {\n const existing = variantInfoMap.get(tierName) || [];\n existing.push({ id: newVariantId, action: 'new' });\n variantInfoMap.set(tierName, existing);\n }\n });\n\n useLearningTemplateStore.getState().setCreatedVariantInfo(\n Array.from(variantInfoMap.entries()).map(([tierName, variants]) => ({\n tierName,\n variants,\n })),\n );\n toast.current?.show({\n severity: 'success',\n sticky: false,\n life: 6000,\n className: toastStyles.toastSuccess,\n content: (\n <div className={toastStyles.toastContent}>\n <div className={toastStyles.toastHeaderLeft}>\n <Check className={toastStyles.iconSuccess} />\n <span className={`${toastStyles.toastTitle} ${toastStyles.toastTitleSuccess}`}>Success</span>\n </div>\n <p className={`${toastStyles.toastMessage} ${toastStyles.toastMessageSuccess}`}>Learning saved successfully!</p>\n </div>\n ),\n });\n closeTimeoutRef.current = setTimeout(() => {\n if (isCloseModal || forceClose) {\n console.log('Closing modal after save success', { isCloseModal, forceClose });\n handleSaveSuccessClose();\n } else {\n // setSaveApiStatus(apiConstants.INITIAL);\n // setIsSavedSuccessfully(false);\n resetAllStates(true);\n }\n }, 3000);\n } catch (error: any) {\n console.error('❌ Error publishing feedback:', error);\n setIsSendSaveMessage(false);\n setSaveApiStatus(apiConstants.FAILURE);\n setIsError(true);\n // Error Handling\n const errorData = error?.response?.data || {};\n console.log('errorData: ', errorData);\n const isUniqueViolation = errorData?.message === 'Variant already exists';\n\n if (isUniqueViolation || error?.status === 409) {\n setErrorMessage(\n `Looks like a similar rule already exists with the same conditions. You can update the description or conditions to make it unique, or discard this learning. <br/> How would you like to proceed?\n <br/><button class=\"clickable-button\" data-value=\"Discard learning\">Discard learning</button>\n <br/><button class=\"clickable-button\" data-value=\"Continue editing learning\">Continue editing learning</button>\n <br/><button class=\"clickable-button\" id=\"typeYourAnswer\">Or, type your response</button>`,\n );\n } else {\n setErrorMessage(\n (errorData?.message || errorData?.detail || 'Error Occurred while saving the rule.') +\n `Please try again.<br/><button class=\"clickable-button\" data-value=\"Save this Learning\">Retry</button>`,\n );\n }\n toast.current?.show({\n severity: 'error',\n sticky: false,\n className: toastStyles.toastError,\n content: (\n <div className={toastStyles.toastContent}>\n <div className={toastStyles.toastHeaderLeft}>\n <AlertTriangle className={toastStyles.iconError} />\n <span className={`${toastStyles.toastTitle} ${toastStyles.toastTitleError}`}>Error</span>\n </div>\n <p className={`${toastStyles.toastMessage} ${toastStyles.toastMessageError}`}>\n {isUniqueViolation || error?.status === 409\n ? 'Similar rule already exists. Please update and try again.'\n : errorData?.message ||\n errorData?.detail ||\n 'Something went wrong while saving the learning!'}\n </p>\n </div>\n ),\n });\n }\n };\n\n /**\n * Save edited variant(s) by calling updateVariant API.\n * Calls the API for each tier in scopeData.tiers.\n * Uses variant data from editingVariants and form state.\n */\n const saveEditedVariant = async () => {\n const { tiers: storeTiers } = useLearningTemplateStore.getState();\n const ruleConfig = getRuleConfig(touchedConfigKeys, rawAiConfig, configData);\n const configPayload = buildConfigPayload(ruleConfig);\n\n const targetIndex = newVariantMapIndexRef.current;\n const originalItem = (structuredAIResponse || [])[targetIndex] || {};\n\n const careVariantType = stagedAiResponse?.variant_type || originalItem.variant_type || '';\n\n try {\n setSaveApiStatus(apiConstants.IN_PROGRESS);\n setErrorMessage('');\n\n // Get base variants to update (from Props)\n const baseVariants = editingVariants || [];\n\n // Get the link_id from the first variant (assuming all are linked if one is)\n const existingLinkId =\n baseVariants.length > 0\n ? baseVariants.find((v) => v?.link_id && v.link_id.trim() !== '')?.link_id\n : null;\n\n // Construct a unified variants array.\n // We know how many total variants exist now by looking at the Map size for the first tier.\n const firstTierKey = scopeData.tiers[0]?.toLowerCase().replace(/ /g, '_') || 'tier_1';\n const totalVariantsCount = ruleDescription.get(firstTierKey)?.size || baseVariants.length;\n\n const variantsToUpdate = [...baseVariants];\n\n // If there are more variants in the UI state than in the base prop, those are the newly added ones.\n for (let i = baseVariants.length; i < totalVariantsCount; i++) {\n variantsToUpdate.push({\n isNewVariant: true, // Custom flag to identify new variants\n variantId: uuidv4(), // Generate a new ID for the publish payload\n } as any);\n }\n\n // Create requests for each tier\n const editRequests: Promise<any>[] = [];\n const tierMappingEdit: {\n tierKey: string;\n payloadType: 'new' | 'existing';\n existingId?: string;\n }[] = [];\n const formattedScopes = mapScopes(scopeData.tiers);\n\n scopeData.tiers.forEach((tierName) => {\n const tierKey = tierName.toLowerCase().replace(/ /g, '_');\n\n // Find tier_id from mainStore\n const tierData = storeTiers.find(\n (t) =>\n t.tier_name.toLowerCase().replace(/ /g, '_') === tierKey ||\n t.tier_name.toLowerCase() === tierKey.replace(/_/g, ''),\n );\n\n // Get variant data for this tier\n const tierDescMap = ruleDescription.get(tierKey);\n const tierWtaMap = whenToApplyConditions.get(tierKey);\n const tierWntaMap = whenNotToApplyConditions.get(tierKey);\n\n // Iterate through unified variantsToUpdate\n variantsToUpdate.forEach((variant, index) => {\n const description = tierDescMap?.get(index) || variant.description || '';\n const wtaConditions = tierWtaMap?.get(index) || [];\n const wntaConditions = tierWntaMap?.get(index) || [];\n\n if ((variant as any).isNewVariant) {\n tierMappingEdit.push({ tierKey, payloadType: 'new' });\n // --- CONSTRUCT PUBLISH REQUEST FOR NEW VARIANT ---\n const specificRuleConfig = getRuleConfig(\n touchedConfigKeys,\n rawAiConfig,\n configData,\n index,\n );\n const specificConfigPayload = buildConfigPayload(specificRuleConfig);\n\n console.log('variant in save edit add part :', variant, originalItem);\n\n\n if(backwardCompatibility===false){\n const publishPayload: PublishFeedbackPayload = {\n status: 'approved',\n metadata: {\n userName: user?.firstname ?? '',\n userEmailId: user?.email ?? '',\n llm: configuration.MODEL,\n isVariantFlow: true,\n ...(specificConfigPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n ...specificConfigPayload,\n },\n }),\n datasource: { type: 'link', ref: 'www.something.com', tag: 'something' },\n variant: {\n // id: variant.variantId,\n tierLinkId: existingLinkId || uuidv4(),\n variant: filterText(description),\n conditions_whentoapply: wtaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n conditions_whennottoapply: wntaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n referenceVariantID: null,\n referenceVariantIDVersion: null,\n scope: formattedScopes[0] || {\n name: configuration.SCOPE_NAME,\n parentScopeId: null,\n scopeRowId: effectiveRuleSetId,\n value: {\n scopeName: ruleSet?.ruleSetName || '',\n scopeId: 'Audacy_' + uuidv4(),\n customScopeGroupName: configuration.CUSTOM_SCOPE_GROUP_NAME,\n description: ruleSet?.ruleSetDesc || '',\n },\n },\n overriden: false,\n isDefault:\n configData.get(tierKey)?.get(index)?.is_default_enabled ??\n isDefaultVariantType(\n variant.variantType ||\n (variant as any).variant_type ||\n (index === 0 ? 'Default' : 'variant'),\n ),\n tier: {\n name: tierName.split(' ').join('').toLowerCase(),\n tierGroupName: configuration.CUSTOM_SCOPE_GROUP_NAME,\n tierPriority: parseInt(tierName.split(' ')[1] || '1'),\n },\n topic: { id: null, value: `${scopeData.station}RuleSet`, description: null },\n categories: [\n {\n id: null,\n value: configuration.CATEGORY,\n description: configuration.CATEGORY,\n },\n ],\n originalQuestion: ruleTitle,\n questionId: editingRule?.ruleId,\n // ─── STEP 3: Send variant_type in publish API payload (new variant) ───\n variantType: resolveVariantTypeForPayload(\n tierKey,\n index,\n originalItem.variant_type || '',\n ),\n parameterizedQuestion: null,\n created_at: new Date().toISOString(),\n created_by: user?.email ?? '',\n instantLearningType: configuration.INSTANT_LEARNING_TYPE,\n appliedTagsIL: [],\n tagMappingInfoIL: {},\n // Send is_user_accepted_risk from CARE or Validation Agent, defaulting to false\n is_user_accepted_risk: !!(\n (structuredAIResponse || [])[index]?.is_user_accepted_risk ??\n stagedAiResponse?.is_user_accepted_risk\n ),\n },\n isAgentsFeedback: true,\n },\n };\n\n console.log('payload (publish new variant)', publishPayload);\n editRequests.push(publishFeedback(publishPayload, configuration.ASSISTANT_NAME));\n }\n else{\n const publishPayload: PublishFeedbackPayload = {\n status: 'approved',\n metadata: {\n userName: user?.firstname ?? '',\n userEmailId: user?.email ?? '',\n llm: configuration.MODEL,\n isVariantFlow: true,\n ...(specificConfigPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n ...specificConfigPayload,\n },\n }),\n datasource: { type: 'link', ref: 'www.something.com', tag: 'something' },\n variant: {\n // id: variant.variantId,\n tierLinkId: existingLinkId || uuidv4(),\n variant: filterText(description),\n conditions_whentoapply: wtaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n conditions_whennottoapply: wntaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n referenceVariantID: null,\n referenceVariantIDVersion: null,\n scope: formattedScopes[0] || {\n name: configuration.SCOPE_NAME,\n parentScopeId: null,\n scopeRowId: effectiveRuleSetId,\n value: {\n scopeName: ruleSet?.ruleSetName || '',\n scopeId: 'Audacy_' + uuidv4(),\n customScopeGroupName: configuration.CUSTOM_SCOPE_GROUP_NAME,\n description: ruleSet?.ruleSetDesc || '',\n },\n },\n overriden: false,\n isDefault:\n configData.get(tierKey)?.get(index)?.is_default_enabled ??\n isDefaultVariantType(\n variant.variantType ||\n (variant as any).variant_type ||\n (index === 0 ? 'Default' : 'variant'),\n ),\n tier: {\n name: tierName.split(' ').join('').toLowerCase(),\n tierGroupName: configuration.CUSTOM_SCOPE_GROUP_NAME,\n tierPriority: parseInt(tierName.split(' ')[1] || '1'),\n },\n topic: { id: null, value: `${scopeData.station}RuleSet`, description: null },\n categories: [\n {\n id: null,\n value: configuration.CATEGORY,\n description: configuration.CATEGORY,\n },\n ],\n originalQuestion: ruleTitle,\n questionId: editingRule?.ruleId,\n // ─── STEP 3: Send variant_type in publish API payload (new variant) ───\n variantType: resolveVariantTypeForPayload(\n tierKey,\n index,\n originalItem.variant_type || '',\n ),\n parameterizedQuestion: null,\n created_at: new Date().toISOString(),\n created_by: user?.email ?? '',\n instantLearningType: configuration.INSTANT_LEARNING_TYPE,\n appliedTagsIL: [],\n tagMappingInfoIL: {},\n // Send is_user_accepted_risk from CARE or Validation Agent, defaulting to false\n is_user_accepted_risk: !!(\n (structuredAIResponse || [])[index]?.is_user_accepted_risk ??\n stagedAiResponse?.is_user_accepted_risk\n ),\n },\n isAgentsFeedback: true,\n },\n appsecData: {\n application: rbacConfig?.applicationId ?? '',\n scopeLevelModuleId:rbacConfig?.moduleId||\"\",\n applicationLevelModuleId:rbacConfig?.applicationModuleId??\"\",\n applicationLevelResourceId:rbacConfig?.applicationResourceId??\"\",\n }\n };\n\n console.log('payload (publish new variant)', publishPayload);\n editRequests.push(publishFeedback(publishPayload, configuration.ASSISTANT_NAME));\n }\n\n\n } else {\n tierMappingEdit.push({\n tierKey,\n payloadType: 'existing',\n existingId: variant.variantId,\n });\n // --- CONSTRUCT UPDATE REQUEST FOR EXISTING VARIANT ---\n\n const isThisVariantBeingEdited = variant.variantId === editVariantId;\n // ─── STEP 3: Send variant_type in update API payload (existing variant) ───\n // resolveVariantTypeForPayload reads configData[tier][index].is_default_enabled,\n // falling back to CARE/prop value if the slot is not yet populated.\n const variantTypeToUse = resolveVariantTypeForPayload(\n tierKey,\n index,\n isThisVariantBeingEdited\n ? careVariantType || variant.variantType || ''\n : variant.variantType || '',\n );\n\n console.log(\n 'isThisVariantBeingEdited variantTypeToUse :',\n variantTypeToUse,\n isThisVariantBeingEdited,\n variant,\n editVariantId,\n );\n\n const payload: UpdateVariantPayload = {\n variantId: variant.variantId,\n ruleDesc: ruleSet?.ruleSetDesc || '',\n whenToApply: wtaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n whenNotToApply: wntaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n isDefault:\n configData.get(tierKey)?.get(index)?.is_default_enabled ??\n isDefaultVariantType(\n variant.variantType ||\n (variant as any).variant_type ||\n (index === 0 ? 'Default' : 'variant'),\n ),\n tier: {\n tier_id: tierData?.tier_id || '',\n tier_name: tierData?.tier_name || tierName,\n tier_priority: tierData?.tier_priority ?? null,\n },\n scope_id: effectiveRuleSetId,\n description: filterText(description) || '',\n topic: `${scopeData.station}RuleSet`,\n ...(configPayload && {\n configuration:\n {\n master_name: configuration.CONFIG_MASTER_NAME,\n config_data: {\n scheduling_config: { ...configPayload },\n }\n },\n }),\n tierLinkId: existingLinkId ?? null,\n variantType: variantTypeToUse,\n // Send is_user_accepted_risk directly from the variant state or fallback to props; defaulting to false\n is_user_accepted_risk: !!(\n (structuredAIResponse || [])[index]?.is_user_accepted_risk ??\n variant?.is_user_accepted_risk\n ),\n is_enabled: variant.is_enabled,\n appsecData: {\n application: rbacConfig?.applicationId ?? '',\n scopeLevelModuleId:rbacConfig?.moduleId||\"\",\n applicationLevelModuleId:rbacConfig?.applicationModuleId??\"\",\n applicationLevelResourceId:rbacConfig?.applicationResourceId??\"\",\n },\n };\n\n const baselineVariants = baselineTierVariants.get(tierKey) || [];\n const baselineVariant = baselineVariants.find(\n (v: any) => v?.variant_id && v.variant_id === variant.variantId,\n );\n\n let hasChanged = true;\n if (baselineVariant) {\n const normalizeAndClean = (t: any) => {\n let s = (t || '').trim();\n if (typeof filterAgentText === 'function') s = filterAgentText(s); // Use component's native parser\n return s.replace(/\\s+/g, ' ').replace(/(\\s*OR\\s*)/g, ' OR ');\n };\n\n const isSameRuleTitle = normalizeAndClean(ruleTitle) === normalizeAndClean(baselineVariant.title);\n const isSameDesc = normalizeAndClean(description) === normalizeAndClean(baselineVariant.rule_description);\n const isSameWta = normalizeAndClean(payload.whenToApply) === normalizeAndClean(baselineVariant.wta);\n const isSameWnta = normalizeAndClean(payload.whenNotToApply) === normalizeAndClean(baselineVariant.wnta);\n const isSameIsDefault = !!payload.isDefault === isDefaultVariantType(baselineVariant.variant_type);\n \n const oldConfig = baselineVariant.scheduling_config || {};\n const oldOrderSec = oldConfig.order_global_min_separation_seconds ?? oldConfig.order_rules?.global_min_separation_seconds ?? 0;\n const oldAdvSec = oldConfig.advertiser_global_min_separation_seconds ?? oldConfig.advertiser_rules?.global_min_separation_seconds ?? 0;\n const oldInv = oldConfig.inventory_rules?.respect_inventory_code ?? oldConfig.respect_inventory_code ?? false;\n const oldBrk = oldConfig.break_code_rules?.respect_break_code ?? oldConfig.respect_break_code ?? false;\n\n const curConfig = configData.get(tierKey)?.get(index) || DEFAULT_CONFIG;\n const isSameConfig = \n curConfig.order_rules.enabled === (oldOrderSec > 0) &&\n curConfig.order_rules.global_min_separation_seconds === Math.floor(oldOrderSec / 60) &&\n curConfig.advertiser_rules.enabled === (oldAdvSec > 0) &&\n curConfig.advertiser_rules.global_min_separation_seconds === Math.floor(oldAdvSec / 60) &&\n curConfig.inventory_rules.respect_inventory_code === oldInv &&\n curConfig.break_code_rules.respect_break_code === oldBrk;\n\n if (isSameRuleTitle && isSameDesc && isSameWta && isSameWnta && isSameIsDefault && isSameConfig) {\n hasChanged = false;\n }\n }\n\n if (!hasChanged) {\n console.log(\n `[saveEditedVariant] No changes for variant ${variant.variantId}, skipping API call`,\n );\n // Resolve promise directly to maintain mapping consistency in the responses array loop later\n editRequests.push(\n Promise.resolve({ data: { id: variant.variantId }, skipped: true }),\n );\n } else {\n console.log('payloadv (update existing variant)', payload);\n editRequests.push(updateVariant(payload, user?.email ?? ''));\n }\n }\n });\n });\n\n const responses = await Promise.all(editRequests);\n console.log('✅ All variants updated:', responses);\n\n setSaveApiStatus(apiConstants.SUCCESS);\n setIsSavedSuccessfully(true);\n setIsSendSaveMessage(false);\n\n const variantInfoMap = new Map<string, { id: string; action: 'new' | 'existing' }[]>();\n responses.forEach((res, index) => {\n if (res?.skipped) return;\n const mapping = tierMappingEdit[index];\n let newVariantId = res?.data?.id || res?.data?.variant_id || res?.id || res?.variant_id;\n if (!newVariantId && typeof res?.data === 'string') {\n newVariantId = res.data;\n }\n const variantId = mapping.payloadType === 'existing' ? mapping.existingId : newVariantId;\n if (variantId && typeof variantId === 'string') {\n const existing = variantInfoMap.get(mapping.tierKey) || [];\n existing.push({ id: variantId, action: mapping.payloadType });\n variantInfoMap.set(mapping.tierKey, existing);\n }\n });\n useLearningTemplateStore.getState().setCreatedVariantInfo(\n Array.from(variantInfoMap.entries()).map(([tierName, variants]) => ({\n tierName,\n variants,\n })),\n );\n\n toast.current?.show({\n severity: 'success',\n sticky: false,\n life: 3000,\n className: toastStyles.toastSuccess,\n content: (\n <div className={toastStyles.toastContent}>\n <div className={toastStyles.toastHeaderLeft}>\n <Check className={toastStyles.iconSuccess} />\n <span className={`${toastStyles.toastTitle} ${toastStyles.toastTitleSuccess}`}>Success</span>\n </div>\n <p className={`${toastStyles.toastMessage} ${toastStyles.toastMessageSuccess}`}>Changes saved successfully!</p>\n </div>\n ),\n });\n\n closeTimeoutRef.current = setTimeout(() => {\n handleSaveSuccessClose();\n // setSaveApiStatus(apiConstants.INITIAL);\n // setIsSavedSuccessfully(false);\n }, 3000);\n } catch (error: any) {\n console.error('❌ Error updating variant:', error);\n setSaveApiStatus(apiConstants.FAILURE);\n setIsError(true);\n setIsSendSaveMessage(false);\n // Error Handling\n const errorData = error?.response?.data || {};\n console.log('errorData: ', errorData);\n const isUniqueViolation = errorData?.message === 'Variant already exists';\n\n if (isUniqueViolation || error?.status === 409) {\n setErrorMessage(\n `Looks like a similar rule already exists with the same conditions. You can update the description or conditions to make it unique, or discard this learning. <br/> How would you like to proceed?\n <br/><button class=\"clickable-button\" data-value=\"Discard learning\">Discard learning</button>\n <br/><button class=\"clickable-button\" data-value=\"Continue editing learning\">Continue editing learning</button>\n <br/><button class=\"clickable-button\" id=\"typeYourAnswer\">Or, type your response</button>`,\n );\n } else {\n setErrorMessage((errorData?.message || errorData?.detail || 'Error Occurred while saving the rule.')\n + `Please try again.<br/><button class=\"clickable-button\" data-value=\"Save this Learning\">Retry</button>`,\n );\n }\n toast.current?.show({\n severity: 'error',\n sticky: false,\n className: toastStyles.toastError,\n content: (\n <div className={toastStyles.toastContent}>\n <div className={toastStyles.toastHeaderLeft}>\n <AlertTriangle className={toastStyles.iconError} />\n <span className={`${toastStyles.toastTitle} ${toastStyles.toastTitleError}`}>Error</span>\n </div>\n <p className={`${toastStyles.toastMessage} ${toastStyles.toastMessageError}`}>\n {(isUniqueViolation || error?.status === 409)\n ? 'Similar rule already exists. Please update and try again.'\n : (errorData?.message || errorData?.detail || 'Something went wrong while saving the learning!')\n }\n </p>\n </div>\n ),\n });\n }\n };\n\n const saveLoadAndEditVariant = async () => {\n const { tiers: storeTiers } = useLearningTemplateStore.getState();\n const ruleConfig = getRuleConfig(touchedConfigKeys, rawAiConfig, configData);\n const configPayload = buildConfigPayload(ruleConfig);\n\n try {\n setSaveApiStatus(apiConstants.IN_PROGRESS);\n setErrorMessage('');\n\n // Build a unified variants array from structuredAIResponse to handle both new and existing\n const allVariants = Array.isArray(structuredAIResponse) ? structuredAIResponse : [];\n if (allVariants.length === 0) {\n console.warn('No variants found to save.');\n setSaveApiStatus(apiConstants.FAILURE);\n return;\n }\n\n // Separate new vs existing variants for logging clarity\n const newVariants = allVariants.filter((v: any) => v.is_new_variant);\n const loadedVariants = allVariants.filter((v: any) => !v.is_new_variant && v?.variant_id);\n console.log(\n `[saveLoadAndEditVariant] New: ${newVariants.length}, Existing: ${loadedVariants.length}`,\n );\n\n // Get the link_id from the first existing variant (assuming all are linked if one is)\n const existingLinkId =\n loadedVariants.length > 0\n ? loadedVariants.find((v: any) => v?.link_id && v.link_id.trim() !== '')?.link_id\n : null;\n\n // Create requests for each tier\n const editRequests: Promise<any>[] = [];\n const publishTasks: { payload: PublishFeedbackPayload; tierKey: string }[] = [];\n const existingMappings: { tierKey: string; existingId: string }[] = [];\n const newMappings: { tierKey: string }[] = [];\n const formattedScopes = mapScopes(scopeData.tiers);\n\n scopeData.tiers.forEach((tierName) => {\n const tierKey = tierName.toLowerCase().replace(/ /g, '_');\n\n // Find tier_id from mainStore\n const tierData = storeTiers.find(\n (t) =>\n t.tier_name.toLowerCase().replace(/ /g, '_') === tierKey ||\n t.tier_name.toLowerCase() === tierKey.replace(/_/g, ''),\n );\n\n // Get variant data for this tier\n const tierDescMap = ruleDescription.get(tierKey);\n const tierWtaMap = whenToApplyConditions.get(tierKey);\n const tierWntaMap = whenNotToApplyConditions.get(tierKey);\n\n // Iterate over ALL variants (new + existing) by their structuredAIResponse index\n allVariants.forEach((variant: any, index: number) => {\n const description =\n tierDescMap?.get(index) || variant.rule_description || variant.description || '';\n const wtaConditions = tierWtaMap?.get(index) || [];\n const wntaConditions = tierWntaMap?.get(index) || [];\n\n if (variant.is_new_variant) {\n // ─── NEW VARIANT: Call publishFeedback ───\n\n const specificRuleConfig = getRuleConfig(\n touchedConfigKeys,\n rawAiConfig,\n configData,\n index,\n );\n const specificConfigPayload = buildConfigPayload(specificRuleConfig);\n\n const variantTypeForPayload = resolveVariantTypeForPayload(\n tierKey,\n index,\n variant.variant_type || variant.variantType || '',\n );\n console.log(\"Debug 5000\")\n if(backwardCompatibility===false){\n const publishPayload: PublishFeedbackPayload = {\n status: 'approved',\n metadata: {\n userName: user?.firstname ?? '',\n userEmailId: user?.email ?? '',\n llm: configuration.MODEL,\n isVariantFlow: true,\n ...(specificConfigPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n ...specificConfigPayload,\n },\n }),\n datasource: { type: 'link', ref: 'www.something.com', tag: 'something' },\n variant: {\n tierLinkId: existingLinkId || uuidv4(),\n variant: filterText(description),\n conditions_whentoapply: wtaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' OR '),\n conditions_whennottoapply: wntaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' OR '),\n referenceVariantID: null,\n referenceVariantIDVersion: null,\n scope: formattedScopes[0] || {\n name: configuration.SCOPE_NAME,\n parentScopeId: null,\n scopeRowId: effectiveRuleSetId,\n value: {\n scopeName: ruleSet?.ruleSetName || '',\n scopeId: 'Audacy_' + uuidv4(),\n customScopeGroupName: configuration.CUSTOM_SCOPE_GROUP_NAME,\n description: ruleSet?.ruleSetDesc || '',\n },\n },\n overriden: false,\n isDefault:\n configData.get(tierKey)?.get(index)?.is_default_enabled ??\n isDefaultVariantType(\n variant.variantType ||\n (variant as any).variant_type ||\n (index === 0 ? 'Default' : 'variant'),\n ),\n tier: {\n name: tierName.split(' ').join('').toLowerCase(),\n tierGroupName: configuration.CUSTOM_SCOPE_GROUP_NAME,\n tierPriority: parseInt(tierName.split(' ')[1] || '1'),\n tier_id: tierData?.tier_id || '',\n },\n topic: {\n id: null,\n value: `${scopeData.station || initialScope}RuleSet`,\n description: null,\n },\n categories: [\n {\n id: null,\n value: configuration.CATEGORY,\n description: configuration.CATEGORY,\n },\n ],\n originalQuestion: ruleTitle,\n questionId: lastLoadedQuestionIdRef.current || null,\n variantType: variantTypeForPayload,\n parameterizedQuestion: null,\n created_at: new Date().toISOString(),\n created_by: user?.email ?? '',\n instantLearningType: configuration.INSTANT_LEARNING_TYPE,\n appliedTagsIL: [],\n tagMappingInfoIL: {},\n is_user_accepted_risk: !!(\n variant?.is_user_accepted_risk ?? stagedAiResponse?.is_user_accepted_risk\n ),\n },\n isAgentsFeedback: true,\n },\n };\n console.log('[saveLoadAndEditVariant] publish payload (new variant)', publishPayload);\n publishTasks.push({ payload: publishPayload, tierKey });\n newMappings.push({ tierKey });\n }\n else{\n const publishPayload: PublishFeedbackPayload = {\n status: 'approved',\n metadata: {\n userName: user?.firstname ?? '',\n userEmailId: user?.email ?? '',\n llm: configuration.MODEL,\n isVariantFlow: true,\n ...(specificConfigPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n ...specificConfigPayload,\n },\n }),\n datasource: { type: 'link', ref: 'www.something.com', tag: 'something' },\n variant: {\n tierLinkId: existingLinkId || uuidv4(),\n variant: filterText(description),\n conditions_whentoapply: wtaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' OR '),\n conditions_whennottoapply: wntaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' OR '),\n referenceVariantID: null,\n referenceVariantIDVersion: null,\n scope: formattedScopes[0] || {\n name: configuration.SCOPE_NAME,\n parentScopeId: null,\n scopeRowId: effectiveRuleSetId,\n value: {\n scopeName: ruleSet?.ruleSetName || '',\n scopeId: 'Audacy_' + uuidv4(),\n customScopeGroupName: configuration.CUSTOM_SCOPE_GROUP_NAME,\n description: ruleSet?.ruleSetDesc || '',\n },\n },\n overriden: false,\n isDefault:\n configData.get(tierKey)?.get(index)?.is_default_enabled ??\n isDefaultVariantType(\n variant.variantType ||\n (variant as any).variant_type ||\n (index === 0 ? 'Default' : 'variant'),\n ),\n tier: {\n name: tierName.split(' ').join('').toLowerCase(),\n tierGroupName: configuration.CUSTOM_SCOPE_GROUP_NAME,\n tierPriority: parseInt(tierName.split(' ')[1] || '1'),\n tier_id: tierData?.tier_id || '',\n },\n topic: {\n id: null,\n value: `${scopeData.station || initialScope}RuleSet`,\n description: null,\n },\n categories: [\n {\n id: null,\n value: configuration.CATEGORY,\n description: configuration.CATEGORY,\n },\n ],\n originalQuestion: ruleTitle,\n questionId: lastLoadedQuestionIdRef.current || null,\n variantType: variantTypeForPayload,\n parameterizedQuestion: null,\n created_at: new Date().toISOString(),\n created_by: user?.email ?? '',\n instantLearningType: configuration.INSTANT_LEARNING_TYPE,\n appliedTagsIL: [],\n tagMappingInfoIL: {},\n is_user_accepted_risk: !!(\n variant?.is_user_accepted_risk ?? stagedAiResponse?.is_user_accepted_risk\n ),\n },\n isAgentsFeedback: true,\n },\n appsecData: {\n application: rbacConfig?.applicationId ?? '',\n scopeLevelModuleId:rbacConfig?.moduleId||\"\",\n applicationLevelModuleId:rbacConfig?.applicationModuleId??\"\",\n applicationLevelResourceId:rbacConfig?.applicationResourceId??\"\",\n }\n };\n console.log('[saveLoadAndEditVariant] publish payload (new variant)', publishPayload);\n publishTasks.push({ payload: publishPayload, tierKey });\n newMappings.push({ tierKey });\n }\n \n\n } else if (variant?.variant_id) {\n // ─── EXISTING VARIANT: Call updateVariant ───\n existingMappings.push({ tierKey, existingId: variant.variant_id });\n\n const isThisVariantBeingEdited = variant?.variant_id && variant.variant_id === ruleId;\n const careVariantTypeForThisVariant = isThisVariantBeingEdited\n ? stagedAiResponse?.variant_type || variant.variant_type || variant.variantType || ''\n : variant.variant_type || variant.variantType || '';\n\n const variantTypeForPayload = resolveVariantTypeForPayload(\n tierKey,\n index,\n careVariantTypeForThisVariant,\n );\n\n const payload: UpdateVariantPayload = {\n variantId: variant.variant_id,\n ruleDesc: ruleSet?.ruleSetDesc || '',\n whenToApply: wtaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' OR '),\n whenNotToApply: wntaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' OR '),\n isDefault:\n configData.get(tierKey)?.get(index)?.is_default_enabled ??\n isDefaultVariantType(\n variant.variantType ||\n (variant as any).variant_type ||\n (index === 0 ? 'Default' : 'variant'),\n ),\n tier: {\n tier_id: tierData?.tier_id || '',\n tier_name: tierData?.tier_name || tierName,\n tier_priority: tierData?.tier_priority ?? null,\n },\n scope_id: effectiveRuleSetId,\n description: filterText(description) || '',\n topic: `${scopeData.station}RuleSet`,\n ...(configPayload && {\n configuration:\n {\n master_name: configuration.CONFIG_MASTER_NAME,\n config_data: {\n scheduling_config: { ...configPayload },\n }\n },\n }),\n tierLinkId: existingLinkId ?? null,\n variantType: variantTypeForPayload,\n is_user_accepted_risk: !!(\n variant?.is_user_accepted_risk ??\n (structuredAIResponse || [])[index]?.is_user_accepted_risk\n ),\n is_enabled: variant.is_enabled,\n appsecData: {\n application: rbacConfig?.applicationId ?? '',\n scopeLevelModuleId:rbacConfig?.moduleId||\"\",\n applicationLevelModuleId:rbacConfig?.applicationModuleId??\"\",\n applicationLevelResourceId:rbacConfig?.applicationResourceId??\"\",\n },\n };\n\n const baselineVariants = baselineTierVariants.get(tierKey) || [];\n const baselineVariant = baselineVariants.find(\n (v: any) => v?.variant_id && v.variant_id === variant?.variant_id,\n );\n\n let hasChanged = true;\n if (baselineVariant) {\n const normalizeAndClean = (t: any) => {\n let s = (t || '').trim();\n if (typeof filterAgentText === 'function') s = filterAgentText(s); // Use component's native parser\n return s.replace(/\\s+/g, ' ').replace(/(\\s*OR\\s*)/g, ' OR ');\n };\n\n const isSameRuleTitle = normalizeAndClean(ruleTitle) === normalizeAndClean(baselineVariant.title);\n const isSameDesc = normalizeAndClean(description) === normalizeAndClean(baselineVariant.rule_description);\n const isSameWta = normalizeAndClean(payload.whenToApply) === normalizeAndClean(baselineVariant.wta);\n const isSameWnta = normalizeAndClean(payload.whenNotToApply) === normalizeAndClean(baselineVariant.wnta);\n const isSameIsDefault = !!payload.isDefault === isDefaultVariantType(baselineVariant.variant_type);\n \n const oldConfig = baselineVariant.scheduling_config || {};\n const oldOrderSec = oldConfig.order_global_min_separation_seconds ?? oldConfig.order_rules?.global_min_separation_seconds ?? 0;\n const oldAdvSec = oldConfig.advertiser_global_min_separation_seconds ?? oldConfig.advertiser_rules?.global_min_separation_seconds ?? 0;\n const oldInv = oldConfig.inventory_rules?.respect_inventory_code ?? oldConfig.respect_inventory_code ?? false;\n const oldBrk = oldConfig.break_code_rules?.respect_break_code ?? oldConfig.respect_break_code ?? false;\n\n const curConfig = configData.get(tierKey)?.get(index) || DEFAULT_CONFIG;\n const isSameConfig =\n curConfig.order_rules.enabled === (oldOrderSec > 0) &&\n curConfig.order_rules.global_min_separation_seconds === Math.floor(oldOrderSec / 60) &&\n curConfig.advertiser_rules.enabled === (oldAdvSec > 0) &&\n curConfig.advertiser_rules.global_min_separation_seconds === Math.floor(oldAdvSec / 60) &&\n curConfig.inventory_rules.respect_inventory_code === oldInv &&\n curConfig.break_code_rules.respect_break_code === oldBrk;\n\n if (isSameRuleTitle && isSameDesc && isSameWta && isSameWnta && isSameIsDefault && isSameConfig) {\n hasChanged = false;\n }\n }\n\n if (!hasChanged) {\n console.log(`[saveLoadAndEditVariant] No changes for variant ${variant.variant_id}, skipping API call`);\n // Resolve promise directly to maintain mapping consistency in the responses array loop later\n editRequests.push(Promise.resolve({ data: { id: variant.variant_id }, skipped: true }));\n } else {\n console.log('[saveLoadAndEditVariant] update payload (existing variant)', payload);\n editRequests.push(updateVariant(payload, user?.email ?? ''));\n }\n }\n });\n });\n\n // 1. Wait for ALL Edit API requests first (parallel)\n const editResponses = await Promise.all(editRequests);\n console.log('✅ All existing variants updated:', editResponses);\n\n // 2. ONLY if all Edits succeed (no throw), proceed with Publish (Save) APIs\n // They are executed sequentially as per requirement\n const publishResponses = [];\n for (const publishTask of publishTasks) {\n try {\n const res = await publishFeedback(publishTask.payload, configuration.ASSISTANT_NAME);\n publishResponses.push(res);\n } catch (error) {\n console.error('❌ Error publishing new variant:', error);\n throw error; // Bubble to main catch properly, aborting flow\n }\n }\n\n console.log('✅ All new variants published:', publishResponses);\n\n const variantInfoMap = new Map<string, { id: string; action: 'new' | 'existing' }[]>();\n \n // Process existing mappings\n editResponses.forEach((res, index) => {\n if (res?.skipped) return;\n const mapping = existingMappings[index];\n let newVariantId =\n res?.data?.id ||\n (res?.data?.variant_id && res.data.variant_id) ||\n res?.id ||\n (res?.variant_id && res.variant_id);\n if (!newVariantId && typeof res?.data === 'string') {\n newVariantId = res.data;\n }\n const variantId = mapping.existingId || newVariantId;\n if (variantId && typeof variantId === 'string') {\n const existing = variantInfoMap.get(mapping.tierKey) || [];\n existing.push({ id: variantId, action: 'existing' });\n variantInfoMap.set(mapping.tierKey, existing);\n }\n });\n\n // Process new mappings\n publishResponses.forEach((res, index) => {\n const mapping = newMappings[index];\n let newVariantId =\n res?.data?.id ||\n (res?.data?.variant_id && res.data.variant_id) ||\n res?.id ||\n (res?.variant_id && res.variant_id);\n if (!newVariantId && typeof res?.data === 'string') {\n newVariantId = res.data;\n }\n if (newVariantId && typeof newVariantId === 'string') {\n const existing = variantInfoMap.get(mapping.tierKey) || [];\n existing.push({ id: newVariantId, action: 'new' });\n variantInfoMap.set(mapping.tierKey, existing);\n }\n });\n useLearningTemplateStore.getState().setCreatedVariantInfo(\n Array.from(variantInfoMap.entries()).map(([tierName, variants]) => ({\n tierName,\n variants,\n })),\n );\n\n setSaveApiStatus(apiConstants.SUCCESS);\n setIsSavedSuccessfully(true);\n setIsSendSaveMessage(false);\n isLoadAndEditModeRef.current = false;\n\n toast.current?.show({\n severity: 'success',\n sticky: false,\n life: 3000,\n className: toastStyles.toastSuccess,\n content: (\n <div className={toastStyles.toastContent}>\n <div className={toastStyles.toastHeaderLeft}>\n <Check className={toastStyles.iconSuccess} />\n <span className={`${toastStyles.toastTitle} ${toastStyles.toastTitleSuccess}`}>Success</span>\n </div>\n <p className={`${toastStyles.toastMessage} ${toastStyles.toastMessageSuccess}`}>Changes saved successfully!</p>\n </div>\n ),\n });\n\n closeTimeoutRef.current = setTimeout(() => {\n handleSaveSuccessClose();\n // setSaveApiStatus(apiConstants.INITIAL);\n // setIsSavedSuccessfully(false);\n }, 3000);\n } catch (error: any) {\n console.error('❌ Error updating variant:', error);\n setSaveApiStatus(apiConstants.FAILURE);\n setIsError(true);\n setIsSendSaveMessage(false);\n // Error Handling\n const errorData = error?.response?.data || {};\n console.log('errorData: ', errorData);\n const isUniqueViolation = errorData?.message === 'Variant already exists';\n if (isUniqueViolation || error?.status === 409) {\n setErrorMessage(\n `Looks like a similar rule already exists with the same conditions. You can update the description or conditions to make it unique, or discard this learning. <br/> How would you like to proceed?\n <br/><button class=\"clickable-button\" data-value=\"Discard learning\">Discard learning</button>\n <br/><button class=\"clickable-button\" data-value=\"Continue editing learning\">Continue editing learning</button>\n <br/><button class=\"clickable-button\" id=\"typeYourAnswer\">Or, type your response</button>`,\n );\n } else {\n setErrorMessage((errorData?.message || errorData?.detail || 'Error Occurred while saving the rule.')\n + `Please try again.<br/><button class=\"clickable-button\" data-value=\"Save this Learning\">Retry</button>`,\n );\n }\n\n toast.current?.show({\n severity: 'error',\n sticky: false,\n className: toastStyles.toastError,\n content: (\n <div className={toastStyles.toastContent}>\n <div className={toastStyles.toastHeaderLeft}>\n <AlertTriangle className={toastStyles.iconError} />\n <span className={`${toastStyles.toastTitle} ${toastStyles.toastTitleError}`}>Error</span>\n </div>\n <p className={`${toastStyles.toastMessage} ${toastStyles.toastMessageError}`}>\n {(isUniqueViolation || error?.status === 409)\n ? 'Similar rule already exists. Please update and try again.'\n : (errorData?.message || errorData?.detail || 'Something went wrong while saving the learning!')\n }\n </p>\n </div>\n ),\n });\n }\n };\n // Helper to strip conflict metadata tags and leave only the raw condition text\n const sanitizeConditionText = (text: string) => {\n if (typeof text !== 'string') return text;\n return text\n .replace(/<conflicting_text>[\\s\\S]*?<\\/conflicting_text>/g, '')\n .replace(/<decision_strength>[\\s\\S]*?<\\/decision_strength>/g, '')\n .replace(/<conflicting_reasoning>[\\s\\S]*?<\\/conflicting_reasoning>/g, '')\n .replace(/<conflicting_gap>[\\s\\S]*?<\\/conflicting_gap>/g, '')\n .replace(/<\\/?conflicting>/g, '')\n .trim();\n };\n const confirmReset = () => {\n resetAllStates();\n setShowConfirmReset(false);\n // setIsOpen(false);\n handleClose();\n };\n\n /**\n * Handles the Save Rule button click.\n * Validates the form, then triggers the GraphQL agent via sendMessageInChat\n * instead of calling REST APIs directly.\n */\n const handleSaveParent = (data?: any) => {\n console.log('Save this Learning', data);\n // Match validation to the JSON-driven RHS store.\n const jsonSchema =\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n if (!hasRequiredFieldsForCurrentSave(jsonSchema)) {\n return;\n }\n // Only trigger the agent message — no direct API calls\n setIsSendSaveMessage(true);\n setIsError(false);\n setErrorMessage('');\n };\n\n const isEditFlow = resolveIsEditMode({ flow, editingRule, editingVariants });\n // Validate only the tier and variant(s) this save will submit.\n const hasRequiredFieldsForCurrentSave = (jsonSchema: any): boolean =>\n areRequiredFieldsFilled(\n jsonSchema,\n configData,\n scopeData.tiers.length ? scopeData.tiers.map(normalizeTierKey) : undefined,\n isEditFlow || isLoadAndEditModeRef.current ? undefined : [newVariantMapIndexRef.current],\n );\n const canSaveDraft = !isEditFlow && ruleTitle.trim().length > 0;\n const saveDraftDisabledTooltip = isEditFlow\n ? 'Drafts cannot be saved in Edit Mode.'\n : 'Add a learning title before saving a draft.';\n\n const saveDraft = async () => {\n if (!canSaveDraft) {\n setValidationErrors((prev) => ({\n ...prev,\n ruleTitle: 'Rule Title is required',\n }));\n return;\n }\n\n setSaveApiStatus(apiConstants.IN_PROGRESS);\n setIsError(false);\n setErrorMessage('');\n\n try {\n const existingDraftVariantId =\n editingVariants?.[0]?.is_drafted ? editingVariants?.[0]?.variantId ?? '' : '';\n const draftPayload = buildSaveDraftPayload(\n customMetaDataRef.current?.save_api_payload,\n existingDraftVariantId,\n );\n\n console.log('[DRAFT FLOW] Save as Draft payload:', draftPayload);\n await saveDraftVariant(draftPayload);\n setSaveApiStatus(apiConstants.SUCCESS);\n setSavedMessage('Your learning draft has been saved successfully.');\n setIsSavedSuccessfully(true);\n await postSaveCallback?.();\n handleClose();\n } catch (error: any) {\n console.error('[DRAFT FLOW] Failed to save draft:', error);\n const message =\n error?.response?.data?.message ||\n error?.message ||\n 'Failed to save draft. Please try again.';\n setErrorMessage(message);\n setIsError(true);\n setSaveApiStatus(apiConstants.FAILURE);\n }\n };\n\n const handleSaveDraftClick = () => {\n if (!canSaveDraft) {\n setValidationErrors((prev) => ({\n ...prev,\n ruleTitle: 'Rule Title is required',\n }));\n return;\n }\n\n setShowConfirmSaveDraft(true);\n };\n\n const handleConfirmSaveDraft = async () => {\n await saveDraft();\n setShowConfirmSaveDraft(false);\n };\n\n /**\n * When the agent confirms save (is_save=true) and streaming is complete,\n * call the publish APIs directly. Do NOT call handleSaveParent here — that\n * would re-send the agent message and create an infinite loop.\n */\n useEffect(() => {\n if (isSaveRule && !isAiStreaming && backwardCompatibility) {\n console.log('isSaveRule received from agent — calling publish APIs directly.');\n setIsSaveRule(false);\n\n // Call the appropriate save API based on mode (edit vs create)\n if (resolveIsEditMode({ flow, editingRule, editingVariants })) {\n saveEditedVariant();\n } else if (isLoadAndEditModeRef.current === true) {\n saveLoadAndEditVariant();\n } else {\n handleSaveInstantLearningQuestion();\n }\n }\n }, [isSaveRule, isAiStreaming]);\n // Derive metadata from state for edit flow to ensure latest values are used\n\n const editTierKey = (scopeData?.tiers?.[0] || editingTier || 'Tier 1')?.toLowerCase().replace(/ /g, '_') || 'tier_1'; \n const editIndex = editVariantIndex ?? focusedVariantIndex ?? 0;\n /** True when a variant accordion is currently open */\n const isVariantAccordionOpen = editVariantIndex != null;\n\n const currentAccordionData = isVariantAccordionOpen ? structuredAIResponse?.[editIndex] : null;\n\n const activeVariant =\n structuredAIResponse &&\n structuredAIResponse?.find(\n (variant: any) =>\n variant &&\n !variant.is_readOnly &&\n ((variant?.new_variant_id && newVariantIds.includes(variant.new_variant_id)) ||\n (variant?.variant_id && variantIds.includes(variant.variant_id))),\n );\n\n const currentNewId =\n currentAccordionData?.new_variant_id &&\n newVariantIds.includes(currentAccordionData.new_variant_id)\n ? currentAccordionData.new_variant_id\n : activeVariant?.new_variant_id && newVariantIds.includes(activeVariant.new_variant_id)\n ? activeVariant.new_variant_id\n : '';\n\n /**\n * Builds the variants map for ui_state by iterating over all variant indices\n * from configData for the active tier. Each variant is keyed by its ID\n * (existing: editingVariants[].variantId, new: structuredAIResponse[].new_variant_id).\n * Includes rule_title, variant_description, wta, wnta, scope, scope_rule_set, and scheduling_config.\n */\n const buildVariantsMap = (): Record<string, any> => {\n const variantsMap: Record<string, any> = {};\n const tierConfigMap = configData.get(editTierKey);\n if (!tierConfigMap) return variantsMap;\n\n // 1. Fetch the JSON Schema\n const jsonSchema = useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n\n tierConfigMap.forEach((_config, index) => {\n const existingVarId = editingVariants?.[index]?.variantId;\n const aiResponseItem = (structuredAIResponse || [])[index];\n const newVarId = aiResponseItem?.new_variant_id || '';\n const varId = existingVarId || newVarId || variantIds[index] || `variant_${index}`;\n\n // 2. Generate payload dynamically from Store + Schema\n let dynamicPayload: ReturnType<typeof generatePayloadFromSchema> = { rootPayload: {}, learningMetadata: {} as any, variantScopedMetadataKeys: [] };\n if (jsonSchema) {\n dynamicPayload = generatePayloadFromSchema(jsonSchema, editTierKey, index);\n }\n\n // 3. Populate variantsMap dynamically. learning_metadata is GLOBAL in the\n // store, so a LOADED variant must keep its own API-saved metadata rather than\n // the shared RHS value (only the drafted/new variant reflects the user's pick).\n // The new variant's learning_metadata has no `properties` bag, so it falls back.\n const apiMetaProps =\n aiResponseItem?.learning_metadata?.properties ?? editingVariants?.[index]?.learning_metadata?.properties;\n // Variant-scoped leaves (e.g. instruction_prompt) live in THIS variant's own store\n // slot, not the shared global one — the API snapshot above predates any edit made\n // in this session, so those specific keys must always take the live store value\n // dynamicPayload just read, even though the rest of apiMetaProps wins.\n const dynamicMetaProps = dynamicPayload.learningMetadata?.properties ?? {};\n const learningMetadata = apiMetaProps && Object.keys(apiMetaProps).length > 0\n ? {\n properties: {\n ...apiMetaProps,\n ...Object.fromEntries(\n (dynamicPayload.variantScopedMetadataKeys ?? []).map((key: string) => [key, dynamicMetaProps[key]]),\n ),\n },\n required: dynamicPayload.learningMetadata?.required ?? [],\n }\n : dynamicPayload.learningMetadata;\n\n variantsMap[varId] = {\n ...dynamicPayload.rootPayload,\n // Hardcoded — the schema has no leaf for it yet, so it never lands via\n // generatePayloadFromSchema. Edit flow only.\n scope: ['tier_1'],\n learning_metadata: learningMetadata,\n is_user_accepted_risk: !!(\n aiResponseItem?.is_user_accepted_risk ??\n editingVariants?.[index]?.is_user_accepted_risk ??\n false\n ),\n };\n });\n\n return variantsMap;\n };\n\n const buildCreateVariantsMap = (fetchedVariants: any[]): Record<string, any> => {\n const variantsMap: Record<string, any> = {};\n \n // 1. Fetch the JSON Schema\n const jsonSchema = useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n\n fetchedVariants.forEach((variant, index) => {\n const varId = (variant?.variant_id && variant.variant_id) || variantIds[index] || `new_variant_${index}`;\n const variantTierKey = variant.scope?.[0] || editTierKey;\n\n // 2. Generate payload dynamically\n let dynamicPayload: ReturnType<typeof generatePayloadFromSchema> = { rootPayload: {}, learningMetadata: {} as any, variantScopedMetadataKeys: [] };\n if (jsonSchema) {\n dynamicPayload = generatePayloadFromSchema(jsonSchema, variantTierKey, index);\n }\n\n // 3. Populate variantsMap dynamically.\n // learning_metadata (category/sub_category) is GLOBAL in the store, so\n // generatePayloadFromSchema stamps the SAME (current RHS) value onto every\n // variant. A LOADED variant must instead keep its own API-saved metadata —\n // only new_current_variant reflects the user's selection. So when the variant\n // carries its API learning_metadata (a non-empty `properties` bag), use it.\n // Variant-scoped leaves (e.g. instruction_prompt) are the exception — they live\n // in THIS variant's own store slot, so those specific keys always take the live\n // value dynamicPayload just read, even though the rest of apiMetaProps wins.\n const apiMetaProps = variant?.learning_metadata?.properties;\n const dynamicMetaProps = dynamicPayload.learningMetadata?.properties ?? {};\n const learningMetadata = apiMetaProps && Object.keys(apiMetaProps).length > 0\n ? {\n properties: {\n ...apiMetaProps,\n ...Object.fromEntries(\n (dynamicPayload.variantScopedMetadataKeys ?? []).map((key: string) => [key, dynamicMetaProps[key]]),\n ),\n },\n required: dynamicPayload.learningMetadata?.required ?? [],\n }\n : dynamicPayload.learningMetadata;\n\n variantsMap[varId] = {\n ...dynamicPayload.rootPayload,\n // Hardcoded for the same reason as buildVariantsMap — no `scope` leaf in\n // the schema. Each fetched variant keeps its own tier.\n scope: [variantTierKey],\n learning_metadata: learningMetadata,\n is_user_accepted_risk: !!(\n variant?.is_user_accepted_risk ??\n (structuredAIResponse || [])[index]?.is_user_accepted_risk ??\n false\n ),\n };\n });\n\n return variantsMap;\n };\n if (isVariantsLoadedFromApi) {\n console.log(\n 'customMetaData.ui_state for addvariant flow',\n buildCreateVariantsMap(existingVariants),\n );\n }\n const learningMetadata = useLearningTemplateStore((state) => state.learningMetadata);\n\n // x_full_url must carry ?rulesetid=<id> so the BE/AI knows which ruleset to add\n // the variant/template into. When TeachMePlugin is opened without that query\n // param in the URL, append it from effectiveRuleSetId (the schema's\n // Sub-Category pick, else the host's ruleSet prop via the store). Never\n // overwrite an id already present in the URL.\n const buildXFullUrl = (): string => {\n try {\n const url = new URL(window.location.href);\n if (!url.searchParams.get('rulesetid') && effectiveRuleSetId) {\n url.searchParams.set('rulesetid', effectiveRuleSetId);\n }\n return url.toString();\n } catch {\n return window.location.href;\n }\n };\n\n const uiStateVariants = isEditFlow ? buildVariantsMap() : {};\n const marketplaceEditVariantId = instantLearningId && isEditFlow\n ? ('variant_0' in uiStateVariants ? 'variant_0' : Object.keys(uiStateVariants)[0] ?? null)\n : variantIdToBeEdited;\n\n customMetaDataRef.current = {\n send_metadata_to_orchestrator: false,\n is_draft_flow: isDraftFlow,\n default: ['scope'],\n app_mapping_id: applicationIntegrationId,\n content_mode_mapping_id: contentModeMappingId ?? null,\n instant_learning_id: instantLearningId ?? null,\n LearningTerm: dt('agents.LearningTerm', 'Learnings'),\n mode_name: baseModeName ? baseModeName : undefined,\n x_full_url: buildXFullUrl(),\n agents_from_ilkb_config: useLMSConfigStore.getState().lmsConfig?.agents,\n appsecData: {\n application: rbacConfig?.applicationId ?? '',\n scopeLevelModuleId:rbacConfig?.moduleId||\"\",\n applicationLevelModuleId:rbacConfig?.applicationModuleId??\"\",\n applicationLevelResourceId:rbacConfig?.applicationResourceId??\"\",\n },\n save_api_payload: (() => {\n if (!scopeData.tiers?.length || !tiers?.length) return [];\n const backwardCompatibility = useLearningTemplateStore.getState().backwardCompatibility;\n const isILMarketplace = useLearningTemplateStore.getState().isILMarketplace;\n const targetIndex = newVariantMapIndexRef.current;\n const originalItem = (structuredAIResponse || [])[targetIndex] || {};\n const ruleConfig = getRuleConfig(touchedConfigKeys, rawAiConfig, configData, targetIndex);\n const configPayload = buildConfigPayload(ruleConfig);\n const tierLinkId = uuidv4();\n const formattedScopes = mapScopes(scopeData.tiers);\n const jsonSchema =\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n\n return scopeData.tiers.map((tier) => {\n const tierKey = tier.toLowerCase().replace(/ /g, '_');\n const tierDesc = ruleDescription.get(tierKey)?.get(targetIndex) || '';\n const tierWtaConditions = whenToApplyConditions.get(tierKey)?.get(targetIndex) || [];\n const tierWntaConditions = whenNotToApplyConditions.get(tierKey)?.get(targetIndex) || [];\n const dynamicPayload = jsonSchema\n ? generatePayloadFromSchema(jsonSchema, tierKey, targetIndex)\n : null;\n\n if (backwardCompatibility === false) {\n return {\n ...(configPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n ...configPayload,\n },\n }),\n datasource: {\n type: 'link',\n ref: 'www.something.com',\n tag: 'something',\n },\n tierLinkId: tierLinkId,\n variant: filterText(tierDesc),\n conditions_whentoapply: tierWtaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n conditions_whennottoapply: tierWntaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n isDefault: configData.get(tierKey)?.get(targetIndex)?.is_default_enabled ?? true,\n tier_id:\n tiers.find(\n (t) =>\n t?.tier_name &&\n (t.tier_name.toLowerCase().replace(/ /g, '_') === tierKey ||\n t.tier_name.toLowerCase() === tierKey.replace(/_/g, '')),\n )?.tier_id || '',\n topic_id: null,\n scope_id: effectiveRuleSetId,\n question_title: ruleTitle,\n variantType: resolveVariantTypeForPayload(\n tierKey,\n targetIndex,\n originalItem.variant_type || originalItem.variantType,\n ),\n learning_metadata: dynamicPayload?.learningMetadata ?? {\n required: [],\n properties: {},\n },\n instantLearningType: configuration.INSTANT_LEARNING_TYPE,\n is_user_accepted_risk: false,\n propagation: !isILMarketplace,\n applicationMappingId: applicationIntegrationId,\n modeId: modeId,\n appsecData: {\n application: rbacConfig?.applicationId ?? '',\n scopeLevelModuleId:rbacConfig?.moduleId||\"\",\n applicationLevelModuleId:rbacConfig?.applicationModuleId??\"\",\n applicationLevelResourceId:rbacConfig?.applicationResourceId??\"\",\n },\n };\n } else {\n return {\n status: 'approved',\n metadata: {\n userName: user?.firstname ?? '',\n userEmailId: user?.email ?? '',\n llm: IL_CONFIG_CONSTANTS.MODEL,\n isVariantFlow: true,\n ...(configPayload && {\n config: {\n master_name: IL_CONFIG_CONSTANTS.CONFIG_MASTER_NAME,\n ...configPayload,\n },\n }),\n datasource: {\n type: 'link',\n ref: 'www.something.com',\n tag: 'something',\n },\n variant: {\n tierLinkId: tierLinkId,\n variant: filterText(tierDesc),\n conditions_whentoapply: tierWtaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n conditions_whennottoapply: tierWntaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n referenceVariantID: null,\n referenceVariantIDVersion: null,\n scope: formattedScopes[0] || {\n name: IL_CONFIG_CONSTANTS.SCOPE_NAME,\n parentScopeId: null,\n scopeRowId: effectiveRuleSetId,\n value: {\n scopeName: ruleSet?.ruleSetName || '',\n scopeId: 'Audacy_' + uuidv4(),\n customScopeGroupName: IL_CONFIG_CONSTANTS.CUSTOM_SCOPE_GROUP_NAME,\n description: ruleSet?.ruleSetDesc || '',\n },\n },\n overriden: false,\n isDefault: configData.get(tierKey)?.get(targetIndex)?.is_default_enabled ?? true,\n tier_id:\n tiers.find(\n (t) =>\n t?.tier_name &&\n (t.tier_name.toLowerCase().replace(/ /g, '_') === tierKey ||\n t.tier_name.toLowerCase() === tierKey.replace(/_/g, '')),\n )?.tier_id || '',\n topic: {\n id: null,\n value: `${scopeData.station || initialScope}RuleSet`,\n description: null,\n },\n categories: [\n {\n id: null,\n value: IL_CONFIG_CONSTANTS.CATEGORY,\n description: IL_CONFIG_CONSTANTS.CATEGORY,\n },\n ],\n originalQuestion: ruleTitle,\n questionId: null,\n variantType: resolveVariantTypeForPayload(\n tierKey,\n targetIndex,\n originalItem.variant_type || originalItem.variantType,\n ),\n parameterizedQuestion: null,\n created_at: new Date().toISOString(),\n created_by: user?.email ?? '',\n instantLearningType: IL_CONFIG_CONSTANTS.INSTANT_LEARNING_TYPE,\n appliedTagsIL: [],\n tagMappingInfoIL: {},\n is_user_accepted_risk: !!(\n originalItem?.is_user_accepted_risk ?? stagedAiResponse?.is_user_accepted_risk\n ),\n },\n isAgentsFeedback: true,\n appsecData: {\n application: rbacConfig?.applicationId ?? '',\n scopeLevelModuleId:rbacConfig?.moduleId||\"\",\n applicationLevelModuleId:rbacConfig?.applicationModuleId??\"\",\n applicationLevelResourceId:rbacConfig?.applicationResourceId??\"\",\n }\n },\n };\n }\n });\n })(),\n update_api_payload: (() => {\n if (!editingVariants?.length || !scopeData.tiers?.length || !tiers?.length) return [];\n\n const backwardCompatibility = useLearningTemplateStore.getState().backwardCompatibility;\n const ruleConfig = getRuleConfig(touchedConfigKeys, rawAiConfig, configData);\n const configPayload = buildConfigPayload(ruleConfig);\n\n const existingLinkId =\n editingVariants.find((v) => v?.link_id && v.link_id.trim() !== '')?.link_id ?? null;\n\n const results: any[] = [];\n\n scopeData.tiers.forEach((tierName) => {\n const tierKey = tierName.toLowerCase().replace(/ /g, '_');\n\n const tierData = tiers.find(\n (t) =>\n t.tier_name.toLowerCase().replace(/ /g, '_') === tierKey ||\n t.tier_name.toLowerCase() === tierKey.replace(/_/g, ''),\n );\n\n const tierDescMap = ruleDescription.get(tierKey);\n const tierWtaMap = whenToApplyConditions.get(tierKey);\n const tierWntaMap = whenNotToApplyConditions.get(tierKey);\n\n editingVariants.forEach((variant, index) => {\n // Skip newly added variants — those belong in save_api_payload\n if ((variant as any).isNewVariant) return;\n\n const description = tierDescMap?.get(index) || variant.description || '';\n const wtaConditions = tierWtaMap?.get(index) || [];\n const wntaConditions = tierWntaMap?.get(index) || [];\n\n const variantTypeToUse = resolveVariantTypeForPayload(\n tierKey,\n index,\n variant.variantType || '',\n );\n\n const payload: UpdateVariantPayload = {\n variantId: variant.variantId,\n ruleDesc: ruleSet?.ruleSetDesc || '',\n whenToApply: wtaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n whenNotToApply: wntaConditions\n .map((c) => c.text)\n .filter((t) => t.trim() !== '')\n .join(' OR '),\n isDefault:\n configData.get(tierKey)?.get(index)?.is_default_enabled ??\n isDefaultVariantType(variant.variantType || ''),\n tier: {\n tier_id: tierData?.tier_id || '',\n tier_name: tierData?.tier_name || tierName,\n tier_priority: tierData?.tier_priority ?? null,\n },\n scope_id: effectiveRuleSetId,\n description: filterText(description) || '',\n topic: `${scopeData.station}RuleSet`,\n ...(configPayload && {\n configuration:\n {\n master_name: configuration.CONFIG_MASTER_NAME,\n config_data: {\n scheduling_config: { ...configPayload },\n }\n },\n }),\n tierLinkId: existingLinkId ?? uuidv4(),\n variantType: variantTypeToUse,\n is_user_accepted_risk: !!(\n (structuredAIResponse || [])[index]?.is_user_accepted_risk ??\n variant?.is_user_accepted_risk\n ),\n is_enabled: variant.is_enabled,\n appsecData: {\n application: rbacConfig?.applicationId ?? '',\n scopeLevelModuleId:rbacConfig?.moduleId||\"\",\n applicationLevelModuleId:rbacConfig?.applicationModuleId??\"\",\n applicationLevelResourceId:rbacConfig?.applicationResourceId??\"\",\n },\n };\n\n results.push(payload);\n });\n });\n\n return results;\n })(),\n\n ui_state: isEditFlow\n ? {\n variants: uiStateVariants,\n }\n : (() => {\n const newVariantIndex = (structuredAIResponse || []).findIndex(\n (v: any) => v.is_new_variant === true,\n );\n\n let targetIndex = -1;\n\n if (newVariantIndex !== -1) {\n targetIndex = newVariantIndex;\n } else if (isAddingNewVariant) {\n targetIndex = -1;\n } else if (!isVariantsLoadedFromApi) {\n targetIndex = editIndex;\n }\n\n const hasNewVariant = targetIndex !== -1;\n\n // 1. Fetch the JSON Schema\n const jsonSchema = useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n\n // 2. Generate payload dynamically\n let dynamicPayload = { rootPayload: {}, learningMetadata: {} };\n if (hasNewVariant && jsonSchema) {\n dynamicPayload = generatePayloadFromSchema(jsonSchema, editTierKey, targetIndex);\n }\n\n return {\n new_current_variant: hasNewVariant\n ? {\n // Dump all core_field: true properties directly at the root\n ...dynamicPayload.rootPayload,\n // Hardcoded — the schema has no `scope` leaf yet, so it never\n // lands via generatePayloadFromSchema, but the AI still expects\n // it on the wire. Same patch as buildVariantsMap (edit flow).\n scope: [editTierKey],\n // Dump all core_field: false properties inside learning_metadata\n learning_metadata: dynamicPayload.learningMetadata,\n is_user_accepted_risk: !!(structuredAIResponse || [])[targetIndex]?.is_user_accepted_risk,\n }\n : {\n scope: [],\n learning_metadata: {},\n is_user_accepted_risk: false,\n },\n variants: isVariantsLoadedFromApi ? buildCreateVariantsMap(existingVariants) : {},\n };\n })(),\n rule_id_in_current_session: ruleIdInCurrentSession,\n new_variant_id: (() => {\n if (isVariantAccordionOpen && editingRule) {\n const existingVarId = editingVariants?.[editIndex]?.variantId;\n if (existingVarId) {\n return null;\n }\n return currentNewId;\n }\n return null;\n })(),\n edit_variant_id: marketplaceEditVariantId,\n rule_id: lastLoadedQuestionIdRef.current,\n backward_compatibility: useLearningTemplateStore.getState().backwardCompatibility,\n ruleset_id: effectiveRuleSetId,\n ...(initialRuleSetId ? { initial_ruleset_id: initialRuleSetId } : {}),\n current_variants_length: editingRule\n ? Array.isArray(structuredAIResponse) && structuredAIResponse.length > 0\n ? Math.max(editingRule?.variants?.length || 0, structuredAIResponse.length)\n : editingRule?.variants?.length\n : undefined,\n tiers: useLearningTemplateStore.getState().tiers,\n authToken: user?.accessToken || '',\n ...(is_publishing && { is_publishing: is_publishing }),\n };\n\n const nextVariantString = getNextVariantType(existingVariants);\n const templateState = {\n ruleTitle,\n scopeData,\n dynamicGlobalState,\n // ✅ Organize variants by tier\n variantsByTier: Array.from(configData.keys()).reduce(\n (acc, tier) => {\n const tierConfigMap = configData.get(tier) || new Map();\n const tierDescMap = ruleDescription.get(tier) || new Map();\n const tierWtaMap = whenToApplyConditions.get(tier) || new Map();\n const tierWntaMap = whenNotToApplyConditions.get(tier) || new Map();\n\n console.log('tier config map', tierConfigMap);\n\n acc[tier] = Array.from(tierConfigMap.keys()).map((index, relativeIndex) => {\n // Find the original item to get metadata\n const originalItem = (structuredAIResponse || [])[index] || {};\n console.log('Original item for tier', tier, 'index', index, ':', originalItem);\n let computedVariantData = { label: '', isDefault: false };\n\n if (originalItem.is_variant && !isDefaultVariantType(originalItem.variant_type)) {\n computedVariantData = { label: '', isDefault: false };\n } else if (editingVariants && editingVariants.length > 0) {\n computedVariantData = computeVariantType(editingVariants, index, 'variantType');\n console.log('Found matching variant at index', index, ':', computedVariantData);\n\n // Find matching variant by index or variantId\n const matchingVariant = editingVariants[index];\n if (matchingVariant) {\n // Fallback if computeVariantType didn't work as expected\n if (!computedVariantData.label) {\n const baseType = matchingVariant.variantType || '';\n const isDefault = isDefaultVariantType(baseType);\n computedVariantData = {\n label: `variant ${index + 1}`,\n isDefault: isDefault,\n };\n }\n\n // FIX: If this variant was edited by the AI, use CARE's variant_type\n // to reflect the latest classification rather than the stale prop value.\n const isThisVariantEdited = matchingVariant.variantId === editVariantId;\n if (isThisVariantEdited) {\n // Prefer variant_type from structuredAIResponse slot (set by Validation Agent handler)\n // then fall back to stagedAiResponse (CARE), then keep computed label.\n const careType = originalItem.variant_type || stagedAiResponse?.variant_type;\n if (careType) {\n // Normalise: never expose \"default_variant\"/\"default\" as a label\n computedVariantData = normalizeCareVariantType(careType, index);\n console.log(\n `[templateState] editingVariants[${index}]: using CARE variant_type \"${careType}\" → label \"${computedVariantData.label}\"`,\n );\n }\n }\n\n console.log('Computed variant type at index', index, ':', computedVariantData);\n } else {\n // Fallback: use getNextVariantType for new variants being added\n computedVariantData = {\n label: getNextVariantType(editingVariants),\n isDefault: false,\n };\n console.log('No match found, using getNextVariantType:', computedVariantData);\n }\n } else if (existingVariants && existingVariants.length > 0) {\n computedVariantData = computeVariantType(existingVariants, index, 'variant_type');\n console.log('Found matching variant at index', index, ':', computedVariantData);\n\n // FIX: For load-and-edit flow, check if this variant was edited by the AI.\n // If so, use CARE's variant_type from stagedAiResponse instead of the stale API value.\n if (isLoadAndEditModeRef.current) {\n const matchingExistingVariant = existingVariants[index];\n const isThisVariantEdited =\n matchingExistingVariant?.variant_id === ruleId ||\n matchingExistingVariant?.variantId === ruleId;\n\n if (isThisVariantEdited) {\n // Check structuredAIResponse slot first (set by Validation Agent handler),\n // then fall back to stagedAiResponse (CARE).\n const careType = originalItem.variant_type || stagedAiResponse?.variant_type;\n if (careType) {\n // Normalise: never expose \"default_variant\"/\"default\" as a label\n computedVariantData = normalizeCareVariantType(careType, index);\n console.log(\n `[templateState] existingVariants[${index}]: load-and-edit using CARE variant_type \"${careType}\" → label \"${computedVariantData.label}\"`,\n );\n }\n }\n }\n } else {\n const careType = originalItem.variant_type || '';\n computedVariantData = {\n label: nextVariantString,\n isDefault: isDefaultVariantType(careType),\n };\n }\n\n console.log(\n 'Computed variant data for tier',\n tier,\n 'index',\n index,\n ':',\n computedVariantData,\n );\n\n // ─── STEP 2: Send variant_type to UI (template library) ───\n // is_default_enabled is the live toggle state (user can change it).\n // It always overrides whatever computedVariantData derived from stale strings.\n // Read directly from configData for this tier+index slot.\n const liveIsDefault =\n tierConfigMap.get(index)?.is_default_enabled ?? computedVariantData.isDefault;\n\n console.log('live is default :', liveIsDefault);\n\n // variantType label sent to the template is ALWAYS \"variant N\" — the UI uses\n // isDefault separately to show the \"Default\" badge. Never expose raw API strings.\n const liveVariantTypeLabel = `variant ${relativeIndex + 1}`;\n const rawDescription = tierDescMap.get(index) || '';\n \n const variantStableKey = getVariantStableKey(originalItem) ?? `idx-${index}`;\n const variantPrompt = instructionPromptOverrides[variantStableKey] ??\n (getInstructionPromptValue(originalItem.learning_metadata) ||\n getInstructionPromptValue(editingVariants?.[index]?.learning_metadata));\n\n return {\n variantId: variantIds[index] || originalItem.variant_id || originalItem.variantId,\n instructionPrompt: variantPrompt,\n variantType: liveVariantTypeLabel,\n isDefault: liveIsDefault,\n isModified: originalItem.is_modified,\n tier: tier,\n index: index,\n ruleDescription: rawDescription.replace(/<ai_reasoning>[\\s\\S]*?<\\/ai_reasoning>/g, ''),\n whenToApplyConditions: (tierWtaMap.get(index) || []).flatMap((condition: any) => {\n const parts = condition?.text?.split(/\\s+OR\\s+/) || [];\n\n return parts.length > 1\n ? parts.map((text: string, i: number) => ({\n ...condition,\n id: `split-${condition.id}-${i}`, // unique\n text: text.trim()\n }))\n : [condition];\n }),\n whenNotToApplyConditions: (tierWntaMap.get(index) || []).flatMap((condition: any) => {\n const parts = condition?.text?.split(/\\s+OR\\s+/) || [];\n\n return parts.length > 1\n ? parts.map((text: string, i: number) => ({\n ...condition,\n id: `split-${condition.id}-${i}`, // unique\n text: text.trim()\n }))\n : [condition];\n }),\n configData: tierConfigMap.get(index) || DEFAULT_CONFIG,\n isReadOnly: originalItem.is_readOnly || false,\n is_variant: originalItem.is_variant || false,\n reasoning: {\n ruleDescription: extractReasoning(rawDescription),\n whenToApply: extractReasoning(originalItem.wta),\n whenNotToApply: extractReasoning(originalItem.wnta),\n configData: extractReasoning(originalItem.action),\n },\n // Add this to merge dynamic JSON fields down to the adapter\n dynamicFields: dynamicVariantState.get(tier)?.get(index) || {},\n };\n });\n\n return acc;\n },\n {} as Record<string, any[]>,\n ),\n citation: reasoning,\n fieldCitations: fieldCitations,\n citations: citations,\n };\n\n console.log('templateState', templateState);\n\n const templateHandlers = {\n setRuleTitle: (value: any) => {\n const newValue = value?.target?.value !== undefined ? value.target.value : value;\n setRuleTitle(newValue);\n // Clear validation error\n setValidationErrors((prev) => {\n if (prev['ruleTitle']) {\n const newErrors = { ...prev };\n delete newErrors['ruleTitle'];\n return newErrors;\n }\n return prev;\n });\n },\n // NEW: Generic Handler for any new JSON fields\n setDynamicField: (key: string, value: any, tier?: string, index?: number) => {\n if (tier && index !== undefined) {\n setDynamicVariantState((prev) => {\n const newMap = new Map(prev);\n const tierMap = new Map(newMap.get(tier) || new Map());\n const variantData = tierMap.get(index) || {};\n tierMap.set(index, { ...variantData, [key]: value });\n newMap.set(tier, tierMap);\n return newMap;\n });\n } else {\n setDynamicGlobalState(prev => ({ ...prev, [key]: value }));\n }\n },\n\n // ✅ All handlers now accept tier parameter\n setRuleDescription: (tier: string, index: number, value: any) =>\n handleSetRuleDescription(tier, index, value),\n\n addWhenToApply: (tier: string, index: number) => handleAddWhenToApply(tier, index),\n removeWhenToApply: (tier: string, index: number, id: number | string) =>\n handleRemoveWhenToApply(tier, index, id),\n editWhenToApply: (tier: string, index: number, id: number | string, text: string) =>\n handleEditWhenToApply(tier, index, id, text),\n\n addWhenNotToApply: (tier: string, index: number) => handleAddWhenNotToApply(tier, index),\n removeWhenNotToApply: (tier: string, index: number, id: number | string) =>\n handleRemoveWhenNotToApply(tier, index, id),\n editWhenNotToApply: (tier: string, index: number, id: string | number, text: string) =>\n handleEditWhenNotToApply(tier, index, id, text),\n addNewVariant: (tier: string) => handleAddNewVariant(tier),\n\n onScopeChange: handleScopeChange,\n onConfigChange: (tier: string, index: number, key: keyof ConfigDataType, value: any) =>\n handleConfigChange(tier, index, key, value),\n };\n\n const separationItemsByTier: Record<string, Map<number, any[]>> = {};\n const togglesByTier: Record<string, Map<number, any[]>> = {};\n\n // Iterate through each tier\n configData.forEach((tierConfigMap, tier) => {\n // Initialize Maps for this tier\n separationItemsByTier[tier] = new Map<number, any[]>();\n togglesByTier[tier] = new Map<number, any[]>();\n\n // Iterate through each variant in this tier\n tierConfigMap.forEach((config, variantIndex) => {\n // Create separation items for this tier's variant\n separationItemsByTier[tier].set(variantIndex, [\n { key: 'order_rules', label: 'Order', ...config.order_rules },\n { key: 'advertiser_rules', label: 'Advertiser', ...config.advertiser_rules },\n ]);\n\n // Create toggles for this tier's variant\n togglesByTier[tier].set(variantIndex, [\n {\n key: 'inventory_rules',\n label: 'Inventory code',\n enabled: config.inventory_rules.respect_inventory_code,\n },\n {\n key: 'break_code_rules',\n label: 'Break Code',\n enabled: config.break_code_rules.respect_break_code,\n },\n {\n key: 'is_default_enabled',\n label: 'Default Variant',\n enabled: config.is_default_enabled,\n },\n ]);\n });\n });\n\n const defaultTierOpenIndex = useMemo(() => {\n if (!editingTier) return undefined;\n // When editing a tier, we render ONLY that tier → always index 0\n if (scopeData.tiers.length === 1) {\n return 0;\n }\n // Fallback for create/multi-tier mode\n const idx = scopeData.tiers.findIndex((t) => t.toLowerCase() === editingTier.toLowerCase());\n return idx >= 0 ? idx : 0;\n }, [editingTier, scopeData.tiers]);\n\n const uiState = {\n // openSections,\n // setOpenSections,\n defaultOpen: true,\n tierOptions,\n stationOptions,\n separationItemsByTier, // Now organized by tier\n togglesByTier,\n highlights,\n highlightedIds,\n openSections,\n setOpenSections,\n setSendMessageInChat,\n isAiStreaming,\n // For variant-level edit: open only the focused variant\n // For rule-level edit: open all variants (focusedVariantIndex = null)\n // defaultTierOpen: parseInt(editingTier?.split(' ')[1] || '1') - 1 || undefined,\n defaultTierOpen: defaultTierOpenIndex,\n defaultVariantOpen: isAddingNewVariant ? undefined : editVariantIndex,\n autoScrollVariantIndex: isAddingNewVariant ? undefined : editVariantIndex,\n\n activeVariantAccordionIndex: isAddingNewVariant ? undefined : editVariantIndex,\n setActiveVariantAccordionIndex: (index: number | undefined) => {\n setEditVariantIndex(index);\n if (index !== undefined && index !== null) {\n setTimeout(() => {\n setIsAddingNewVariant(false); // delay so defaultVariantOpen doesn't jump in same render\n }, 100);\n }\n },\n validationErrors,\n activeEditId,\n setActiveEditId,\n pendingEditId,\n setPendingEditId,\n conflictReason,\n usedFor: resolveIsEditMode({ flow, editingRule, editingVariants }) ? 'Edit' : 'Create',\n // JSON-driven operational config (dropdown option sources + host-prefilled\n // values). Kept out of uiStateLabels so labels stay label-only; the schema\n // renderer / ComponentRegistry read these off uiState.\n dynamicOptions: dynamicFormConfig?.dynamicOptions ?? {},\n prefilledData: dynamicFormConfig?.prefilledData ?? {},\n ...ilLabels,\n scrollTrigger,\n ...uiStateLabels,\n // Wrap uiStateLabels.setInstructionPrompt so an applied edit is also remembered per-variant\n // here, not just written into the transient learningMetadata store — see the resync effect\n // above (lastSyncedMetadataIdxRef) that would otherwise stomp it back to the original value\n // on a later structuredAIResponse/editingVariants update.\n setInstructionPrompt: (val: string) => {\n const idx = editVariantIndex ?? focusedVariantIndex;\n if (idx != null) {\n const key = getVariantStableKey(structuredAIResponse?.[idx]) ?? `idx-${idx}`;\n setInstructionPromptOverrides((prev) => ({ ...prev, [key]: val }));\n }\n uiStateLabels?.setInstructionPrompt?.(val);\n },\n };\n // console.log(uiState?.defaultVariantOpen, 'editing defaultVariantOpen')\n // console.log(templateState.variantsByTier, 'templateState checking')\n console.log(editVariantIndex, 'editVariantIndex checking');\n // When modal closes, reset.\n useEffect(() => {\n if (!isOpen) {\n // resetAllStates(); // Optional: reset state on close.\n // The usage in temp.tsx called closeFunction which did setIsModalOpen(false) and resetAllStates().\n // Here we should probably do the same or let parent handle it.\n // But if parent manages isOpen, we should detect when it becomes false.\n }\n }, [isOpen]);\n\n useEffect(() => {\n const isEditMode = resolveIsEditMode({ flow, editingRule, editingVariants });\n // In edit mode (even when adding variants), we respect the current focus\n // or the intended focus set by the AI payload. We only auto-focus post-stream in pure creation mode.\n if (!isAiStreaming && isVariantFlow && !isEditMode) {\n const latestActiveIndex = [...structuredAIResponse]\n .reverse()\n .findIndex((item: any) => item.action === 'variant' || item.is_variant);\n\nconst resolvedIndex = latestActiveIndex === -1\n ? -1\n : structuredAIResponse.length - 1 - latestActiveIndex;\n\n if (latestActiveIndex !== -1) {\n console.log('Post-stream: Focusing new variant at index', latestActiveIndex);\n setEditVariantIndex(latestActiveIndex);\n }\n }\n }, [isAiStreaming, isVariantFlow]);\n\n const handleClose = () => {\n if (closeTimeoutRef.current) {\n clearTimeout(closeTimeoutRef.current);\n closeTimeoutRef.current = null;\n }\n isLoadAndEditModeRef.current = false;\n onClose();\n resetAllStates();\n };\n\n\n /**\n * Resolve the tier/variantIndex whose schema-driven store slot represents the\n * variant the user just saved — shared by the payload builder and the raw\n * snapshot below so both look at the exact same slot.\n */\n const resolveActiveTierAndVariant = () => {\n const selectedTierKey =\n scopeData.tiers?.[0]\n ? normalizeTierKey(scopeData.tiers[0])\n : Array.from(configData.keys())[0] || 'tier_1';\n const tierConfigMap = configData.get(selectedTierKey);\n const variantIndex = editVariantIndex ?? Array.from(tierConfigMap?.keys() || [])[0] ?? 0;\n return { selectedTierKey, variantIndex };\n };\n\n const buildConfigureNowPayload = (): ConfigureNowPayload => {\n const { selectedTierKey, variantIndex } = resolveActiveTierAndVariant();\n\n // Fully schema-driven — rootPayload + learning_metadata.properties are read\n // FRESH from the dynamic form store (the only store the schema-driven RHS\n // fields actually write to). Previously this hand-picked title/description/\n // whenToApply/whenNotToApply from legacy component state (ruleTitle,\n // ruleDescription, the condition Maps) that the schema-driven fields\n // (TextInputField/ConditionSectionField, wired through BPARenderer) never\n // write to at all — that state is only ever populated as a side effect of\n // handleAILoadAction after an API load, so pre-load (or for any field not\n // covered by that load) it was stale or empty. Reading `rootPayload`/\n // `learning_metadata.properties` directly fixes that AND naturally covers\n // any field a template's JSON adds or removes — matching this store's own\n // documented \"form as-is\" contract (see ConfigureNowPayload's doc comment).\n const jsonSchema =\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n const { rootPayload, learningMetadata } = jsonSchema\n ? generatePayloadFromSchema(jsonSchema, selectedTierKey, variantIndex)\n : { rootPayload: {} as Record<string, any>, learningMetadata: { properties: {} as Record<string, any>, required: [] as string[] } };\n\n const cleanValue = (value: any): any => (typeof value === 'string' ? filterAgentText(value) : value);\n const cleanFields = (fields: Record<string, any>) =>\n Object.fromEntries(Object.entries(fields).map(([key, value]) => [key, cleanValue(value)]));\n\n // Id of the variant that was just saved for this tier (set right before\n // the save-success toast, ahead of this close/continue flow).\n const createdVariantInfo = useLearningTemplateStore.getState().createdVariantInfo || [];\n const tierVariants =\n createdVariantInfo.find((info) => normalizeTierKey(info.tierName) === selectedTierKey)?.variants || [];\n const variantId = tierVariants[tierVariants.length - 1]?.id || '';\n\n // Log the RHS form as-is — whatever fields the current template's schema\n // defines, under their own property-key names — instead of remapping into a\n // fixed title/goal/category shape. The receiving client parses whatever\n // keys it needs out of the resulting payload.\n return {\n ...cleanFields(rootPayload),\n learning_metadata: cleanFields(learningMetadata.properties || {}),\n variant_id: variantId,\n };\n };\n\n /**\n * Raw, unfiltered copy of the dynamic form store for the active tier/variant —\n * a safety net alongside buildConfigureNowPayload's schema-shaped output, so\n * a store field the schema mapping doesn't surface is never silently lost.\n * MUST be captured before the modal closes: `resetStore()` (see the isOpen\n * effect above) wipes the dynamic store once the modal actually closes.\n */\n const buildRawFormSnapshot = () => {\n const { selectedTierKey, variantIndex } = resolveActiveTierAndVariant();\n const { globalData, variantData } = useDynamicFormStore.getState();\n const variantSlice = variantData?.[selectedTierKey]?.[variantIndex];\n return {\n globalData: { ...globalData },\n variantData: variantSlice ? { [selectedTierKey]: { [variantIndex]: { ...variantSlice } } } : {},\n };\n };\n\n /**\n * Called only after a successful save (not on a normal cancel/close). Closes\n * the learning modal, then — when the external workflow is enabled — opens the\n * \"Continue with template\" modal so the user can pick the next step — but only\n * in the ADD flow. An EDIT amends a template that already exists, so there is\n * no \"what's next\" to offer and the modal simply closes.\n */\n const handleSaveSuccessClose = async () => {\n const teachMeConfig = useTeachMeConfigStore.getState().teachMeConfig;\n const externalWorkflowMetaData = teachMeConfig?.externalWorkflowMetaData;\n const isExternalWorkflowEnabled = externalWorkflowMetaData?.enableExternalWorkflow === true;\n console.log(\n '[ContinueModal] enableExternalWorkflow raw value:',\n externalWorkflowMetaData?.enableExternalWorkflow,\n '(type:',\n typeof externalWorkflowMetaData?.enableExternalWorkflow,\n ')',\n );\n\n const isEditFlow = resolveIsEditMode({ flow, editingRule, editingVariants });\n const shouldRunExternalWorkflow =\n isExternalWorkflowEnabled && !isEditFlow && !hasSnapshottedForCloseRef.current;\n if (shouldRunExternalWorkflow) hasSnapshottedForCloseRef.current = true;\n\n // BUILD the snapshots before postSaveCallback / handleClose() — handleClose()\n // resets the dynamic form store, so the values must be read while it's still\n // populated regardless of what postSaveCallback does.\n let capturedConfigureNowPayload: ConfigureNowPayload | undefined;\n let capturedRawFormSnapshot: ReturnType<typeof buildRawFormSnapshot> | undefined;\n if (shouldRunExternalWorkflow) {\n capturedConfigureNowPayload = buildConfigureNowPayload();\n capturedRawFormSnapshot = buildRawFormSnapshot();\n }\n\n if (postSaveCallback) {\n try {\n await postSaveCallback();\n } catch (err) {\n console.error('postSaveCallback threw after successful save — keeping modal open', err);\n // Let a retry re-run the external workflow capture instead of being\n // permanently skipped by the guard we just set above.\n if (shouldRunExternalWorkflow) hasSnapshottedForCloseRef.current = false;\n setIsError(true);\n setErrorMessage(\n 'Learning was saved, but something went wrong finishing up. Please try again.' +\n `<br/><button class=\"clickable-button\" data-value=\"Save this Learning\">Retry</button>`,\n );\n return; // don't close, don't open the continue modal\n }\n }\n\n handleClose();\n\n if (shouldRunExternalWorkflow) {\n // Write AFTER handleClose() has run its clearCapturedSnapshot(), so the\n // payload survives into the continue modal / host handlers.\n setConfigureNowPayload(capturedConfigureNowPayload as ConfigureNowPayload);\n setRawFormSnapshot(capturedRawFormSnapshot!);\n console.log('[ContinueModal] configureNowPayload set:', capturedConfigureNowPayload);\n openContinueModal();\n console.log(\n '[ContinueModal] isContinueModalOpen after open:',\n useExternalWorkflowStore.getState().isContinueModalOpen,\n );\n }\n };\n const hasConflictingConditions = (): boolean => {\n const checkMap = (map: Map<string, Map<number, ConditionItem[]>>) => {\n return Array.from(map.values()).some((tierMap) =>\n Array.from(tierMap.values()).some((conditions) =>\n // Look for the actual conflict object instead of the old HTML tag\n conditions.some((c) => !!c.conflict),\n ),\n );\n };\n return checkMap(whenToApplyConditions) || checkMap(whenNotToApplyConditions);\n };\n\n const handleGlobalClickCapture = (e: React.MouseEvent) => {\n if (activeEditId !== null) {\n const target = e.target as HTMLElement;\n const activeZone = target.closest(`[data-edit-id=\"${activeEditId}\"]`);\n if (!activeZone) {\n e.preventDefault();\n e.stopPropagation();\n setPendingEditId(activeEditId);\n // Already pending → the id doesn't change, so replay the highlight manually.\n if (pendingEditId === activeEditId) pulsePendingEdit(activeEditId);\n }\n }\n };\n\n const validateForm = () => {\n const errors: Record<string, string> = {};\n\n // 1. Validate Rule Title\n if (!ruleTitle.trim()) {\n errors['ruleTitle'] = 'Rule Title is required';\n }\n\n // 2. Validate Scope\n if (!scopeData.station) {\n errors['station'] = 'Station Rule Set is required';\n }\n if (!scopeData.tiers || scopeData.tiers.length === 0) {\n errors['tiers'] = 'At least one tier must be selected';\n }\n\n // Helper to get formatted tier key e.g. \"Tier 1\" -> \"tier_1\"\n const getTierKey = (t: string) => t.toLowerCase().replace(/ /g, '_');\n\n const activeTiers = scopeData.tiers.map(getTierKey);\n\n activeTiers.forEach((tierKey) => {\n // Get all variants for this tier\n const tierDescMap = ruleDescription.get(tierKey);\n const tierWtaMap = whenToApplyConditions.get(tierKey);\n // We don't have a direct \"list of variants\" stored easily besides the keys in these maps\n // effectively `configData.get(tierKey)` keys are the variant indices.\n\n const tierConfig = configData.get(tierKey);\n if (tierConfig) {\n Array.from(tierConfig.keys()).forEach((variantIndex) => {\n // Validate Rule Description\n const desc = tierDescMap?.get(variantIndex);\n if (!desc || !desc.trim()) {\n errors[`ruleDescription-${tierKey}-${variantIndex}`] = 'Rule Description is required';\n }\n\n // Validate When to Apply\n const wta = tierWtaMap?.get(variantIndex);\n // wta is ConditionItem[]\n // Check if array is empty OR if all items are empty text\n const hasValidWta = wta && wta.some((c) => c.text.trim() !== '');\n if (!hasValidWta) {\n errors[`whenToApply-${tierKey}-${variantIndex}`] =\n 'At least one \"When to apply\" condition is required';\n }\n });\n }\n });\n return errors;\n };\n\n /**\n * Extracted handler for processing 'load' events from the AI.\n * Fetches fresh variant data by question ID and directly updates UI maps to completely replace previous data.\n */\n async function handleAILoadAction(parsed: any, data: any, isTierChanged: boolean = false) {\n const incomingQuestionId = parsed.question_id;\n const targetVariantId = parsed?.variant_id || null;\n // The tier the fetched variants were loaded into — assigned inside the try once\n // the API tier is known, and reused in `finally` to seed the drafted variant's\n // schema store slot in the SAME tier the loaded variants use.\n let loadedTierKey = 'tier_1';\n\n // Prevent redundant API calls if already fetching the same question ID\n if (isLoadAndEditFetchingRef.current && fetchInProgressIdRef.current === incomingQuestionId) {\n console.log(\n '[handleAILoadAction] Already fetching question ID, skipping duplicate request:',\n incomingQuestionId,\n );\n return;\n }\n\n // Optimization: If question_id is the same AND tier has not changed, just update variant focus and return\n if (lastLoadedQuestionIdRef.current === incomingQuestionId && !isTierChanged) {\n\n console.log(\n '[handleAILoadAction] Question ID unchanged, updating variant focus only:',\n targetVariantId,\n );\n setVariantIdToBeEdited(targetVariantId);\n\n if (targetVariantId) {\n // Find if there is a drafted new variant\n const draftIndex = (structuredAIResponse || []).findIndex((v: any) => v.is_new_variant);\n\n if (draftIndex !== -1) {\n setIsLoadingVariants(true);\n setMainText('Removing new variant...');\n setSubMainText('Please wait while we remove new variant.');\n }\n\n // Discard any newly added variant that the user was drafting\n setStructuredAIResponse((prev: any) => {\n if (!Array.isArray(prev)) return prev;\n const filtered = prev.filter((v: any) => !v.is_new_variant);\n\n const foundIndex = filtered.findIndex((v: any) => v.variant_id === targetVariantId);\n if (foundIndex !== -1) {\n setTimeout(() => {\n setEditVariantIndex(foundIndex);\n setScrollTrigger((prev) => prev + 1); // trigger scroll to focused variant\n lastAutoSetIndexRef.current = foundIndex;\n }, 0);\n }\n return filtered;\n });\n\n // DEEP CLEAN: Purge the drafted index from all local UI Maps so it stops rendering\n if (draftIndex !== -1) {\n const removeIndexFromTierMaps = (setMap: any) => {\n setMap((prev: Map<string, Map<number, any>>) => {\n const newMap = new Map();\n prev.forEach((tierMap, tierKey) => {\n const newTierMap = new Map(tierMap);\n\n // Delete the drafted index\n newTierMap.delete(draftIndex);\n\n // Rebuild sequentially to perfectly match filtered array indices\n const rebuiltTierMap = new Map();\n let currentIndex = 0;\n newTierMap.forEach((value) => {\n rebuiltTierMap.set(currentIndex, value);\n currentIndex++;\n });\n\n newMap.set(tierKey, rebuiltTierMap);\n });\n return newMap;\n });\n };\n\n removeIndexFromTierMaps(setConfigData);\n removeIndexFromTierMaps(setRuleDescription);\n removeIndexFromTierMaps(setWhenToApplyConditions);\n removeIndexFromTierMaps(setWhenNotToApplyConditions);\n\n setVariantIds((prev) => {\n const newIds = [...prev];\n if (newIds.length > draftIndex) newIds.splice(draftIndex, 1);\n return newIds;\n });\n }\n if (isLoadAndEditFetchingRef.current === false) {\n isLoadAndEditFetchingRef.current = true;\n if (draftIndex !== -1) {\n toast.current?.show({\n severity: 'success',\n summary: 'Success',\n detail:\n 'New variant removed successfully because you selected to edit an existing variant',\n life: 4000,\n });\n }\n }\n\n setIsAddingNewVariant(false);\n } else {\n // Adding a new variant to the same question\n // Only show loader once per question ID\n console.log('lastLoadedQuestionIdRef.current in else', lastLoadedQuestionIdRef.current);\n if (lastLoadedQuestionIdRef.current === null) {\n setIsLoadingVariants(true);\n setMainText('Adding new variant...');\n setSubMainText('Please wait while we add new variant.');\n }\n }\n return;\n }\n\n // ─── SNAPSHOT THE DRAFT BEFORE THE LOAD OVERWRITES IT ───\n // Everything the user + C.A.R.E. have drafted so far lives in the dynamic store, in\n // the slot the C.A.R.E. handler writes to — `currentTierRef` / `editVariantIndex ?? 0`,\n // mirrored exactly here. The load below re-hydrates the FETCHED variants into\n // indices 0..n-1 of that tier, clobbering that slot, and the draft is then\n // re-created at a fresh index further down.\n // `targetVariantId` means \"open existing variant X\", where the\n // draft is deliberately discarded — rebuilding one would resurrect a variant the\n // user just abandoned. And once a question is loaded, `editVariantIndex ?? 0` can\n // point at a LOADED variant (adding a variant clears editVariantIndex), so we'd\n // copy its values into the new draft.\n const isDraftingFlow = !targetVariantId && lastLoadedQuestionIdRef.current === null;\n const draftSlotTierKey =\n currentTierRef.current ||\n scopeData?.tiers?.[0]?.toLowerCase().replace(/ /g, '_') ||\n 'tier_1';\n const draftSlotIndex = editVariantIndex ?? 0;\n\n let draftStoreSnapshot: Record<string, any> | null = null;\n let draftReasoningSnapshot: Record<string, string> | null = null;\n if (isDraftingFlow) {\n const { variantData, variantReasoning } = useDynamicFormStore.getState();\n draftStoreSnapshot = { ...(variantData[draftSlotTierKey]?.[draftSlotIndex] || {}) };\n draftReasoningSnapshot = { ...(variantReasoning[draftSlotTierKey]?.[draftSlotIndex] || {}) };\n console.log(\n '[handleAILoadAction] Captured draft snapshot',\n draftSlotTierKey,\n draftSlotIndex,\n draftStoreSnapshot,\n );\n }\n // Last field payload seen, for the legacy structuredAIResponse entry only when this\n // turn carried none. Never used to seed the store — the snapshot is newer there.\n const draftFieldsFallback = isDraftingFlow ? lastCareUpdatedFieldsRef.current : null;\n\n console.log('User Action: fetching fresh variant info for question', incomingQuestionId);\n loadedLoadAndEditIdsRef.current.clear();\n loadedLoadAndEditIdsRef.current.add(incomingQuestionId);\n\n setIsLoadingVariants(true);\n setMainText('Loading variants...');\n console.log('reaching here in load and edit');\n setSubMainText('Please wait while we fetch the latest variant data.');\n\n // Mark as fetching before starting the async call\n isLoadAndEditFetchingRef.current = true;\n fetchInProgressIdRef.current = incomingQuestionId;\n\n try {\n const startTime = Date.now();\n const result = await fetchRulesByQuestionId(incomingQuestionId, effectiveRuleSetId);\n\n // Enforce a minimum 2-second UX delay so the loader doesn't flicker\n const elapsed = Date.now() - startTime;\n if (elapsed < 3000) {\n await new Promise((resolve) => setTimeout(resolve, 3000 - elapsed));\n }\n\n const variantsData = result?.data?.variants || [];\n if (variantsData.length === 0) {\n console.warn('No variants found for question_id', incomingQuestionId);\n setIsLoadingVariants(false);\n setMainText('');\n toast.current?.show({\n severity: 'error',\n summary: 'Error',\n detail: 'No variants found for this question.',\n life: 3000,\n });\n return;\n }\n\n isLoadAndEditModeRef.current = true;\n isLoadAndEditFetchingRef.current = true;\n\n const ruleTitle = result?.data?.ruleTitle || '';\n setRuleTitle(ruleTitle);\n\n const rawTier = result?.data?.tier; // e.g. \"tier1\", \"tier2\"\n let tierKey = 'tier_1';\n let displayTier = 'Tier 1';\n let tierId = '1';\n\n if (rawTier) {\n const tierNumMatch = String(rawTier).match(/(\\d+)/);\n if (tierNumMatch) {\n const num = tierNumMatch[1];\n tierId = num;\n tierKey = `tier_${num}`;\n displayTier = `Tier ${num}`;\n } else {\n tierKey = String(rawTier).toLowerCase().trim().replace(/ /g, '_');\n displayTier = tierKey.replace(/_/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase());\n // Fallback tierId if no digit found\n tierId = tierKey.includes('2') ? '2' : '1';\n }\n }\n\n loadedTierKey = tierKey;\n console.log(\n `[handleAILoadAction] Detected Tier: ${displayTier} (ID: ${tierId}, Key: ${tierKey})`,\n );\n\n // Force the UI checkbox to select the tier, and NOT select others\n // Ensure station defaults to initialScope to maintain valid context\n const finalStation = initialScope || 'global';\n setScopeData({\n station: finalStation,\n tiers: [displayTier],\n });\n\n // Use pure helper to transform data\n const { transformedVariants, tierConfigMap, tierDescMap, tierWtaMap, tierWntaMap } =\n transformFetchedAIDataToUIState(\n variantsData,\n ruleTitle,\n tierKey,\n tierId,\n incomingQuestionId,\n targetVariantId,\n );\n\n setBaselineTierVariants((prev) => {\n const newMap = new Map(prev);\n newMap.set(tierKey, JSON.parse(JSON.stringify(transformedVariants)));\n return newMap;\n });\n\n setStructuredAIResponse((prev) => {\n const existingOtherTiers = (Array.isArray(prev) ? prev : []).filter(\n (v) => v.action === 'copy' || (v.tier_id && v.tier_id !== tierId)\n );\n return [...existingOtherTiers, ...transformedVariants];\n });\n\n setExistingVariants((prev) => {\n const existingOtherTiers = (Array.isArray(prev) ? prev : []).filter(\n (v) => v.action === 'copy' || (v.tier_id && v.tier_id !== tierId)\n );\n return [...existingOtherTiers, ...transformedVariants];\n });\n setIsVariantsLoadedFromApi(true);\n lastLoadedQuestionIdRef.current = incomingQuestionId;\n\n setVariantIdToBeEdited(targetVariantId);\n let targetIndex = 0;\n if (targetVariantId) {\n const foundIndex = transformedVariants.findIndex(\n (v: any) => v.variant_id === targetVariantId,\n );\n if (foundIndex !== -1) {\n targetIndex = foundIndex;\n }\n }\n setEditVariantIndex(targetIndex);\n setScrollTrigger((prev) => prev + 1);\n lastAutoSetIndexRef.current = targetIndex;\n setIsAddingNewVariant(false);\n\n // Seed ONLY the variant fields (description / whenToApply / whenNotToApply) of\n // each fetched variant into variantData[tierKey][index]. `variantOnly` skips the\n // global pass so the API never fills title/category/sub_category — those stay\n // owned by the user + C.A.R.E. `hydrateAll` bypasses the ai_generated gate so\n // the loaded (existing) variants show their saved values.\n const loadSchema =\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n if (loadSchema) {\n // Wipe the tier's slots first. `applyResponseToStore` MERGES, and slots\n // 0..n-1 are the ones the drafted variant was accumulating into right up\n // to this load (its snapshot was taken above and is re-seeded at its own\n // index below). Without this the loaded read-only variants keep every\n // draft leaf the API payload omits — and, since the reasoning bucket is a\n // parallel map the hydrate never writes, the draft's <ai_reasoning>\n // citations render on top of the loaded variants' values.\n useDynamicFormStore.getState().resetVariantSlots(tierKey);\n variantsData.forEach((variant: any, index: number) => {\n applyResponseToStore(\n loadSchema,\n variant,\n tierKey,\n index,\n { hydrateAll: true, variantOnly: true },\n );\n });\n }\n\n setConfigData((prev) => {\n const newMap = new Map(prev);\n newMap.set(tierKey, tierConfigMap);\n return newMap;\n });\n\n setRuleDescription((prev) => {\n const newMap = new Map(prev);\n newMap.set(tierKey, tierDescMap);\n return newMap;\n });\n\n setWhenToApplyConditions((prev) => {\n const newMap = new Map(prev);\n newMap.set(tierKey, tierWtaMap);\n return newMap;\n });\n\n setWhenNotToApplyConditions((prev) => {\n const newMap = new Map(prev);\n newMap.set(tierKey, tierWntaMap);\n return newMap;\n });\n setValidationErrors({});\n } catch (err) {\n console.error('Failed to fetch variants by question ID:', err);\n toast.current?.show({\n severity: 'error',\n summary: 'Error',\n detail: 'Failed to fetch variants. Please try again.',\n life: 3000,\n });\n } finally {\n isLoadAndEditFetchingRef.current = false;\n setIsLoadingVariants(false);\n setMainText('');\n setSubMainText('');\n if (\n parsed?.is_interpretation_ready &&\n parsed?.question_id &&\n lastLoadedQuestionIdRef.current &&\n variantIdToBeEdited\n ) {\n console.log(\n 'inside edit variant flow',\n lastLoadedQuestionIdRef.current,\n variantIdToBeEdited,\n );\n setStructuredAIResponse((prev: any) => {\n if (!Array.isArray(prev)) return prev;\n const updated = prev.map((variant: any) => {\n if (variant?.variant_id === variantIdToBeEdited) {\n return { ...variant, ...data };\n }\n return variant;\n });\n\n // Compute the target index from `prev` (the actual live state), not the stale closure\n const targetIndex = prev.findIndex((v: any) => v?.variant_id === variantIdToBeEdited);\n console.log(targetIndex, 'targetIndexif');\n if (targetIndex !== -1) {\n setTimeout(() => {\n console.log('targetIndex', targetIndex);\n setEditVariantIndex(targetIndex);\n setScrollTrigger((prev) => prev + 1);\n lastAutoSetIndexRef.current = targetIndex;\n }, 0);\n }\n\n return updated;\n });\n } else if (\n parsed?.is_interpretation_ready &&\n parsed?.question_id &&\n lastLoadedQuestionIdRef.current &&\n !variantIdToBeEdited\n ) {\n // Adding a new variant to the same question.\n console.log(\n 'inside add new variant flow',\n lastLoadedQuestionIdRef.current,\n variantIdToBeEdited,\n );\n setIsLoadingVariants(true);\n setMainText('Adding new variant...');\n setSubMainText('Please wait while we add new variant.');\n await new Promise((resolve) => setTimeout(resolve, 3000));\n setIsLoadingVariants(false);\n setMainText('');\n setSubMainText('');\n\n // CLEAN INJECTION:\n // Extract the drafted instruction prompt from the temporary 'idx-0' slot.\n const draftedPrompt = instructionPromptOverrides['idx-0'] || '';\n\n // Clear the temporary override so it doesn't accidentally apply to the \n // existing variants that the API just loaded into index 0.\n if (draftedPrompt) {\n setInstructionPromptOverrides((prev) => ({ ...prev, 'idx-0': '' }));\n }\n\n // Seed the drafted variant's schema-driven fields into\n // variantData[loadedTierKey][finalIndex]. The load loop seeded the existing\n // variants at 0..n-1; the draft lands at its own index, so its values don't\n // collide with (or get clobbered by) a loaded variant.\n //\n // Two passes, in this order:\n // 1. Re-lay everything the draft had accumulated before the load (snapshot).\n // 2. Apply this turn's `updated_fields` on top, so the fields the AI just\n // changed win and every other drafted field survives untouched.\n // `applyResponseToStore` no-ops on a null response, so when C.A.R.E. sent only\n // `general_details` the snapshot alone carries the draft across.\n const draftSchema =\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n const seedDraftVariant = (idx: number) => {\n if (draftStoreSnapshot) {\n useDynamicFormStore\n .getState()\n .mergeVariantSlot(\n loadedTierKey,\n idx,\n draftStoreSnapshot,\n draftReasoningSnapshot || undefined,\n );\n }\n if (draftSchema) applyResponseToStore(draftSchema, data, loadedTierKey, idx, { variantOnly: true });\n };\n\n setStructuredAIResponse((prev: any) => {\n let nextState; // Create a variable to hold the new state\n\n // Embed the prompt directly into the new variant's metadata.\n // This ensures the prompt remains cleanly tied to the object without needing external key tracking.\n const newVariantBase = {\n // Accumulated draft first, this turn's payload on top — so every field\n // C.A.R.E. sent across the conversation survives and the newest values win.\n // `data` alone is one turn's `updated_fields` (often a single key) and is\n // null outright on a `general_details`-only load.\n ...(draftFieldsFallback || {}),\n ...(data || {}),\n is_new_variant: true,\n is_variant: true,\n learning_metadata: { instruction_prompt: draftedPrompt }\n };\n\n if (!Array.isArray(prev)) {\n setTimeout(() => {\n seedDraftVariant(0);\n setEditVariantIndex(0);\n setScrollTrigger(0);\n lastAutoSetIndexRef.current = 0;\n }, 0);\n nextState = [{ ...newVariantBase, client_id: uuidv4() }];\n } else {\n const newVariantIndex = prev.findIndex((v: any) => v.is_new_variant === true);\n\n if (newVariantIndex !== -1) {\n setTimeout(() => {\n seedDraftVariant(newVariantIndex);\n setEditVariantIndex(newVariantIndex);\n setScrollTrigger((prev) => prev + 1);\n lastAutoSetIndexRef.current = newVariantIndex;\n }, 0);\n \n const existingClientId = prev[newVariantIndex].client_id || uuidv4();\n const existingPrompt = prev[newVariantIndex].learning_metadata?.instruction_prompt || draftedPrompt;\n\n nextState = prev.map((v: any, idx: number) =>\n idx === newVariantIndex\n ? { ...v, ...newVariantBase, client_id: existingClientId, learning_metadata: { instruction_prompt: existingPrompt } }\n : v,\n );\n } else {\n const newIndex = prev.length;\n setTimeout(() => {\n seedDraftVariant(newIndex);\n setEditVariantIndex(newIndex);\n setScrollTrigger((prev) => prev + 1);\n lastAutoSetIndexRef.current = newIndex;\n }, 0);\n nextState = [...prev, { ...newVariantBase, client_id: uuidv4() }];\n }\n }\n\n // SYNCHRONOUSLY UPDATE THE REF BEFORE RETURNING\n liveVariantsRef.current = nextState;\n return nextState;\n });\n }\n }\n }\n\n const handleChatFeedback = async (payload: any) => {\n const backwardCompatibility = useLearningTemplateStore.getState().backwardCompatibility;\n try {\n const basePayload: ChatFeedbackPayload = {\n user_id: user?._id ?? '',\n user_name: user?.firstname ?? '',\n user_email: user?.email ?? '',\n assistant_name: configuration.ASSISTANT_NAME,\n ...payload,\n };\n const finalPayload: ChatFeedbackPayload | NewChatFeedbackPayload = backwardCompatibility\n ? basePayload\n : {\n ...basePayload,\n feedback_type: 'Negative',\n application_mapping_id: applicationIntegrationId,\n };\n await submitChatFeedback(finalPayload);\n } catch (error) {\n console.error('Failed to submit chat feedback', error);\n throw error;\n }\n };\n\n console.log('RuleSet in render', ruleSet);\n\n\n const handleValidateSession = async (sessionStartTime: string) => {\n // Grab the scope_id the template is being saved into (schema Sub-Category\n // pick when the JSON owns it, else the host's ruleSet prop)\n const currentScopeId = effectiveRuleSetId;\n console.log('Validating session for scope_id:', currentScopeId, 'sessionStartTime:', sessionStartTime);\n \n if (!currentScopeId) {\n console.warn(\"No scope_id found for session validation.\");\n return false; \n }\n\n try {\n return await validateSession({\n scope_id: currentScopeId,\n session_start_time: sessionStartTime\n });\n } catch (error) {\n console.error(\"Session validation failed\", error);\n return false;\n }\n };\nconsole.log(configuration, 'configuration checking')\n return (\n <>\n <Toast ref={toast} />\n <ILOTJ\n open={isOpen}\n chatAssistantName={ configuration.ASSISTANT_NAME}\n organizationName={ configuration.ORGANIZATION_NAME}\n baseUrl={ configuration.BASE_URL}\n baseWebsocketUrl={ configuration.BASE_WEBSOCKET_URL}\n closeFunction={handleClose}\n enableChatLogs={enableChatLogs}\n ThinkingBulbIconComponent={<MockBulbIcon />}\n customSections={customSections ?? <></>}\n // customSections={\n // <></>\n // <DebuggerPanel\n // careData={careDebugData}\n // rhsValidationData={rhsDebugData}\n // validationAgentData={validationAgentDebugData}\n // variantInfoData={variantInfoDebugData}\n // comparisonData={comparisonDebugData}\n // />\n // } // Empty for now as per temp.tsx usage\n customMetaData={customMetaDataRef}\n chatTitle={\n editingRule\n ? (uiStateLabels?.chatTitleEdit ?? configuration.CHAT_TITLE_EDIT).replace('{scope}',ruleSet?.ruleSetName || '')\n : (uiStateLabels?.chatTitle ?? configuration.CHAT_TITLE).replace('{scope}', ruleSet?.ruleSetName || '')\n }\n formTitle={ uiState?.formTitle||configuration.FORM_TITLE}\n showSavedMessage={false}\n savedMessage={savedMessage}\n isError={isError}\n errorMessage={errorMessage}\n isSaving={isSendSaveMessage}\n onSave={handleSaveParent}\n showSaveWithoutValidation={false} // Set to true for testing\n onSaveWithoutValidation={handleSaveWithoutValParent} // REST API flow\n headerMessageHandlers={myCustomHandlers}\n aiResponse={structuredAIResponse}\n setAIResponse={setStructuredAIResponse}\n width={'90vw'}\n height={'90vh'}\n sendMessageInChat={sendMessageInChat}\n // Dynamic modal → schema-driven renderer (ILPopup resolves SchemaDrivenCreateRule).\n useDynamicForm={true}\n // template={TemplateList.CreateRule}\n isLoading={saveApiStatus === apiConstants.IN_PROGRESS}\n templateProps={{\n state: templateState,\n handlers: templateHandlers,\n uiState,\n }}\n setSendMessageInChat={setSendMessageInChat}\n onResetChat={() => {\n resetAllStates();\n }}\n onResetRequest={handleResetRequest}\n isFormDirty={isFormDirty}\n initialChatMessage={\n editingRule\n ? getEditRuleChatMessage(\n editingRule.ruleTitle || 'this rule',\n editingVariants?.[focusedVariantIndex ?? 0]?.is_user_accepted_risk === true,\n )\n : initialChatMessage?? configuration.INITIAL_CHAT_MESSAGE\n }\n validateCustom={() => {\n // Once an API succeeds, disable the save button while the modal is closing\n if (saveApiStatus === apiConstants.SUCCESS || isSavedSuccessfully) return false;\n if (activeEditId !== null) return false;\n\n // Fields are schema-driven now: read/write happens against\n // useDynamicFormStore, not the legacy ruleTitle/scopeData/ruleDescription\n // state. Validate against the JSON's `is_required` flags instead.\n const jsonSchema = useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents?.teachMe ||\n useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n // Use the same check as the Save click handler.\n if (!hasRequiredFieldsForCurrentSave(jsonSchema)) return false;\n\n if (hasConflictingConditions()) return false;\n\n if (hasCriticalGapsCard) return false;\n return true;\n }}\n // chatSize={chatSize}\n // movingTowards={movingTowards}\n // setChatSize={handleResizeChat}\n setCitations={setCitations}\n isLocked={true} //for not closing modal on click of outside area\n textareaPlaceholder={uiStateLabels?.chatTextareaPlaceholder||'Tell me more about this learning..'}\n saveButtonConfig={uiState?.saveBtnConfig||{\n label: editingRule ? 'Save Changes' : 'Save Learning',\n loadingLabel: (\n <span style={{ display: 'flex', gap: '5px', alignItems: 'center' }}>\n <Loader size={20} color='white' className='animate-spin' />\n <span> Saving Changes...</span>\n </span>\n ),\n }}\n showSaveDraft\n onSaveDraft={handleSaveDraftClick}\n onSaveDraftWithoutConfirmation={saveDraft}\n isSaveDraftDisabled={!canSaveDraft}\n saveDraftDisabledTooltip={saveDraftDisabledTooltip}\n saveDraftButtonConfig={{\n label: 'Save Draft',\n loadingLabel: 'Saving Draft...',\n }}\n setCurrentRequestId={setCurrentRequestId}\n isAiStreaming={isAiStreaming}\n setIsAiStreaming={setIsAiStreaming}\n showConfirmReset={showConfirmReset}\n setShowConfirmReset={setShowConfirmReset}\n confirmReset={confirmReset}\n isLoadingVariants={isLoadingVariants}\n mainText={mainText}\n subText={subMainText}\n // Update this specific line:\n proposedRule={llmProposedRule}\n isFetchingComparison={isFetchingComparison}\n handleOpenComparison={handleOpenComparison}\n showComparison={showComparison}\n setShowComparison={setShowComparison}\n variants={llmComparisonVariants}\n onComparisonLinkClick={handleComparisonLinkClick}\n targetComparisonVariantId={targetComparisonVariantId}\n highlightedComparisonField={highlightedComparisonField}\n onAddAsVariant={() => {\n setShowComparison(false);\n // Add logic to actually apply the selected variant if needed\n }}\n isCopyEnabled={true}\n onSubmitFeedback={handleChatFeedback}\n handleGlobalClickCapture={handleGlobalClickCapture}\n isGlobalEditActive={activeEditId !== null}\n fieldLabelMap={fieldLabelMap}\n initialDraftMessage={initialDraftMessage}\n socketTimeOutInMilliSeconds={ configuration.SOCKET_TIMEOUT}\n // onValidateSession={handleValidateSession}\n userDetails={{\n name: `${user?.firstname ?? ''} ${user?.lastname ?? ''}`.trim() || 'Guest Userr',\n id: user?._id ?? 'Guest Userr',\n email: user?.email ?? 'guestUserr@example.com',\n }}\n />\n <ConfirmationModal\n isOpen={showConfirmSaveDraft}\n title=\"Save as Draft?\"\n description=\"Are you sure you want to save this learning as a draft?\"\n confirmText=\"Save as Draft\"\n cancelText=\"Cancel\"\n onConfirm={handleConfirmSaveDraft}\n onCancel={() => setShowConfirmSaveDraft(false)}\n confirmBgColor=\"#5925DC\"\n isLoading={saveApiStatus === apiConstants.IN_PROGRESS}\n position=\"fixed\"\n />\n </>\n );\n};\n\nexport default InstantLearningModalDynamic;\n"],"names":["_a","React","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","existingVariants","prev","uuidv4","activeVariant","variantIds","errorMessage","isCloseModal","isSaveRule","action","getLatestReasoning","tiers","prevItem","rawAiConfig","backwardCompatibility","_n","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","learningMetadata","isEditFlow","ruleTitle"],"mappings":"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"}