@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.
- package/dist/CommonComponents/GradientSparkleIcon.js +30 -1
- package/dist/CommonComponents/GradientSparkleIcon.js.map +1 -1
- package/dist/ComponentRegistry.js +36 -1
- package/dist/ComponentRegistry.js.map +1 -1
- package/dist/ContinueWithTemplateModal.js +143 -1
- package/dist/ContinueWithTemplateModal.js.map +1 -1
- package/dist/ContinueWithTemplateModal.module.css.js +7 -1
- package/dist/ContinueWithTemplateModal.module.css.js.map +1 -1
- package/dist/ILMarketplaceWrapper.js +1377 -1
- package/dist/ILMarketplaceWrapper.js.map +1 -1
- package/dist/ILMarketplaceWrapper.module.css.js +7 -1
- package/dist/ILMarketplaceWrapper.module.css.js.map +1 -1
- package/dist/adapters/creativeWorkspaceAdapter.js +74 -1
- package/dist/adapters/creativeWorkspaceAdapter.js.map +1 -1
- package/dist/api/transport.js +73 -1
- package/dist/api/transport.js.map +1 -1
- package/dist/cjs/CommonComponents/GradientSparkleIcon.js +34 -1
- package/dist/cjs/CommonComponents/GradientSparkleIcon.js.map +1 -1
- package/dist/cjs/ComponentRegistry.js +48 -1
- package/dist/cjs/ComponentRegistry.js.map +1 -1
- package/dist/cjs/ContinueWithTemplateModal.js +147 -1
- package/dist/cjs/ContinueWithTemplateModal.js.map +1 -1
- package/dist/cjs/ContinueWithTemplateModal.module.css.js +11 -1
- package/dist/cjs/ContinueWithTemplateModal.module.css.js.map +1 -1
- package/dist/cjs/ILMarketplaceWrapper.js +1385 -1
- package/dist/cjs/ILMarketplaceWrapper.js.map +1 -1
- package/dist/cjs/ILMarketplaceWrapper.module.css.js +11 -1
- package/dist/cjs/ILMarketplaceWrapper.module.css.js.map +1 -1
- package/dist/cjs/adapters/creativeWorkspaceAdapter.js +79 -1
- package/dist/cjs/adapters/creativeWorkspaceAdapter.js.map +1 -1
- package/dist/cjs/api/transport.js +86 -1
- package/dist/cjs/api/transport.js.map +1 -1
- package/dist/cjs/features/DocumentLearning/DocumentLearning.js +294 -1
- package/dist/cjs/features/DocumentLearning/DocumentLearning.js.map +1 -1
- package/dist/cjs/features/DocumentLearning/InstantLearning.module.css.js +11 -1
- package/dist/cjs/features/DocumentLearning/InstantLearning.module.css.js.map +1 -1
- package/dist/cjs/features/DocumentLearning/_components/AudioWaveform.js +135 -1
- package/dist/cjs/features/DocumentLearning/_components/AudioWaveform.js.map +1 -1
- package/dist/cjs/features/DocumentLearning/_components/BookLearningForm.js +1336 -1
- package/dist/cjs/features/DocumentLearning/_components/BookLearningForm.js.map +1 -1
- package/dist/cjs/features/DocumentLearning/_components/ChatComponent.js +1972 -1
- package/dist/cjs/features/DocumentLearning/_components/ChatComponent.js.map +1 -1
- package/dist/cjs/features/DocumentLearning/_components/ConflictingLearningWarnCard.js +263 -1
- package/dist/cjs/features/DocumentLearning/_components/ConflictingLearningWarnCard.js.map +1 -1
- package/dist/cjs/features/DocumentLearning/_components/MessageRendering.js +705 -1
- package/dist/cjs/features/DocumentLearning/_components/MessageRendering.js.map +1 -1
- package/dist/cjs/features/DocumentLearning/_components/_svg/NewChatIcon.js +16 -1
- package/dist/cjs/features/DocumentLearning/_components/_svg/NewChatIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/ILOTJ.js +671 -1
- package/dist/cjs/features/IL-OTJ/ILOTJ.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/ILOTJTest.js +26 -1
- package/dist/cjs/features/IL-OTJ/ILOTJTest.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/InstantLearning.module.css.js +11 -1
- package/dist/cjs/features/IL-OTJ/InstantLearning.module.css.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.js +196 -1
- package/dist/cjs/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js +141 -1
- package/dist/cjs/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/AccordianSection.js +192 -1
- package/dist/cjs/features/IL-OTJ/_components/AccordianSection.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/AudioWaveform.js +135 -1
- package/dist/cjs/features/IL-OTJ/_components/AudioWaveform.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatComponent.js +1348 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatComponent.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatComponent.module.css.js +11 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatComponent.module.css.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatHeader.js +105 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatHeader.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatHeader.module.css.js +11 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/ChatHeader.module.css.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/NormalChat.js +1108 -1
- package/dist/cjs/features/IL-OTJ/_components/ChatComponents/NormalChat.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/CitationLink.js +372 -1
- package/dist/cjs/features/IL-OTJ/_components/CitationLink.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ConflictingReasoningCard.js +183 -1
- package/dist/cjs/features/IL-OTJ/_components/ConflictingReasoningCard.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/CriticalGaps.js +703 -1
- package/dist/cjs/features/IL-OTJ/_components/CriticalGaps.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/GapExplanationAccordion.js +94 -1
- package/dist/cjs/features/IL-OTJ/_components/GapExplanationAccordion.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ILPopup.js +134 -1
- package/dist/cjs/features/IL-OTJ/_components/ILPopup.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ILPopup.styles.js +669 -1
- package/dist/cjs/features/IL-OTJ/_components/ILPopup.styles.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/InputDataReasoningCard.js +111 -1
- package/dist/cjs/features/IL-OTJ/_components/InputDataReasoningCard.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.js +554 -1
- package/dist/cjs/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.js +271 -1
- package/dist/cjs/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/MarkdownRenderer.js +304 -1
- package/dist/cjs/features/IL-OTJ/_components/MarkdownRenderer.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/MarkdownRenderer.module.css.js +11 -1
- package/dist/cjs/features/IL-OTJ/_components/MarkdownRenderer.module.css.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/ChatFeedback.js +231 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/ChatFeedback.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js +616 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/MessageRendering.js +873 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/MessageRendering.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js +133 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.js +145 -1
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/TooltipComponent.js +36 -1
- package/dist/cjs/features/IL-OTJ/_components/TooltipComponent.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/VariantLoadingOverlay.js +62 -1
- package/dist/cjs/features/IL-OTJ/_components/VariantLoadingOverlay.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ViewFormUpdateCard.js +194 -1
- package/dist/cjs/features/IL-OTJ/_components/ViewFormUpdateCard.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.js +175 -1
- package/dist/cjs/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/BookIcon.js +10 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/BookIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.js +21 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/ChevronDown.js +10 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/ChevronDown.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/ChevronUp.js +10 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/ChevronUp.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.js +55 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/CognitiveDecisioning.js +13 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/CognitiveDecisioning.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/EditPencilIcon.js +9 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/EditPencilIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/GapIcon.js +23 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/GapIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/InfoIcon.js +31 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/InfoIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/Lightbulb.js +25 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/Lightbulb.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/NewChatIcon.js +52 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/NewChatIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/PencilEdit.js +9 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/PencilEdit.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/RadioButton.js +48 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/RadioButton.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/RightSideIcons.js +64 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/RightSideIcons.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/ScrollToBottom.js +50 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/ScrollToBottom.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/SendButton.js +30 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/SendButton.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/SparkleIcon.js +30 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/SparkleIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/TickIcon.js +37 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/TickIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/UserIcon.js +27 -1
- package/dist/cjs/features/IL-OTJ/_components/_svg/UserIcon.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/Button/Button.js +12 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/Button/Button.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.js +27 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.js +30 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.module.css.js +11 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.module.css.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/Textarea/Textarea.js +230 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/Toggle/Toggle.js +20 -1
- package/dist/cjs/features/IL-OTJ/_components/atoms/Toggle/Toggle.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.js +46 -1
- package/dist/cjs/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/hooks/usePendingEditHighlight.js +84 -1
- package/dist/cjs/features/IL-OTJ/_components/hooks/usePendingEditHighlight.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/hooks/useVariantEditSession.js +168 -1
- package/dist/cjs/features/IL-OTJ/_components/hooks/useVariantEditSession.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/molecules/Condition/ConditionList.js +363 -1
- package/dist/cjs/features/IL-OTJ/_components/molecules/Condition/ConditionList.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.js +81 -1
- package/dist/cjs/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.js +62 -1
- package/dist/cjs/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.js +67 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.js +297 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.js +57 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.js +165 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/TextSection/TextSection.js +193 -1
- package/dist/cjs/features/IL-OTJ/_components/organisms/TextSection/TextSection.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.js +670 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.js +268 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.js +689 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.js +46 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.js +29 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/Testing/Testing.js +40 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/Testing/Testing.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.js +962 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.js +99 -1
- package/dist/cjs/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/helpers/message-rendering-utils.js +126 -1
- package/dist/cjs/features/IL-OTJ/helpers/message-rendering-utils.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/helpers/utils.js +153 -1
- package/dist/cjs/features/IL-OTJ/helpers/utils.js.map +1 -1
- package/dist/cjs/features/IL-OTJ/store/CitationsContext.js +52 -1
- package/dist/cjs/features/IL-OTJ/store/CitationsContext.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.js +301 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/PromoteFlow.js +655 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/PromoteFlow.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/PromoteFlow.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/PromoteFlow.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.api.js +69 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.api.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.store.js +53 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.store.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.utils.js +76 -1
- package/dist/cjs/features/IL-marketplace/PromoteFlow/promote-flow.utils.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCardMenu.js +110 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCardMenu.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCardMenu.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCardMenu.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCart.js +109 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCart.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCart.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCart.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCartHeader.js +76 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCartHeader.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCartHeader.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCartHeader.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCartItem.js +131 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCartItem.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCartItem.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineCartItem.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineConfirmDialog.js +130 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineConfirmDialog.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineConfirmDialog.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineConfirmDialog.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineEmptyState.js +45 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineEmptyState.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineEmptyState.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineEmptyState.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineFilterPanel.js +232 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineFilterPanel.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineFilterPanel.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineFilterPanel.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineHeader.js +121 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineHeader.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineHeader.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineHeader.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineIconButton.js +32 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineIconButton.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineIconButton.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineIconButton.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLandingPage.js +470 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLandingPage.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLandingPage.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLandingPage.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibrary.js +235 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibrary.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibrary.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibrary.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryCard.js +961 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryCard.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryCard.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryCard.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryContent.js +367 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryContent.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryTab.js +67 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineLibraryTab.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineProceedButton.js +66 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineProceedButton.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineProceedButton.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineProceedButton.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineSelectButton.js +34 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineSelectButton.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineSelectButton.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineSelectButton.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineStatusChip.js +35 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineStatusChip.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineStatusChip.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineStatusChip.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineTooltip.js +64 -1
- package/dist/cjs/features/IL-marketplace/components/GuidelineTooltip.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.js +12 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.js +12 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.js +12 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.js +12 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.js +137 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.js +21 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.js +16 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.js +39 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.js +88 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.js +9 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.js +452 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.js +164 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.js +34 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.js +54 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.js +24 -1
- package/dist/cjs/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/LearningManagementWrapper.js +224 -1
- package/dist/cjs/features/IL-marketplace/components/LearningManagementWrapper.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/VersionSelectDropdown.js +101 -1
- package/dist/cjs/features/IL-marketplace/components/VersionSelectDropdown.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/components/VersionSelectDropdown.module.css.js +11 -1
- package/dist/cjs/features/IL-marketplace/components/VersionSelectDropdown.module.css.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/constants.js +121 -1
- package/dist/cjs/features/IL-marketplace/constants.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/hooks/useControllableState.js +33 -1
- package/dist/cjs/features/IL-marketplace/hooks/useControllableState.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/hooks/useDeleteGuidelineMutation.js +28 -1
- package/dist/cjs/features/IL-marketplace/hooks/useDeleteGuidelineMutation.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/hooks/useGuidelineSelection.js +44 -1
- package/dist/cjs/features/IL-marketplace/hooks/useGuidelineSelection.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.js +28 -1
- package/dist/cjs/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/hooks/useMarketplacePublishILKBData.js +65 -1
- package/dist/cjs/features/IL-marketplace/hooks/useMarketplacePublishILKBData.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/hooks/usePublishingFlowConfig.js +44 -1
- package/dist/cjs/features/IL-marketplace/hooks/usePublishingFlowConfig.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/icons/GuidelineSpinner.js +41 -1
- package/dist/cjs/features/IL-marketplace/icons/GuidelineSpinner.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/marketplaceTheme.js +141 -1
- package/dist/cjs/features/IL-marketplace/marketplaceTheme.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/queryClient.js +9 -1
- package/dist/cjs/features/IL-marketplace/queryClient.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/services/IL-marketplace.api.js +161 -1
- package/dist/cjs/features/IL-marketplace/services/IL-marketplace.api.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/services/guideline.cart.api.js +216 -1
- package/dist/cjs/features/IL-marketplace/services/guideline.cart.api.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/services/guideline.core.api.js +60 -1
- package/dist/cjs/features/IL-marketplace/services/guideline.core.api.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/services/guideline.runtime.config.js +21 -1
- package/dist/cjs/features/IL-marketplace/services/guideline.runtime.config.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/services/guideline.session.js +37 -1
- package/dist/cjs/features/IL-marketplace/services/guideline.session.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/services/instant-learning.api.js +41 -1
- package/dist/cjs/features/IL-marketplace/services/instant-learning.api.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/store/usePublishTemplateStore.js +21 -1
- package/dist/cjs/features/IL-marketplace/store/usePublishTemplateStore.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/store/usePublishingFlowConfigStore.js +121 -1
- package/dist/cjs/features/IL-marketplace/store/usePublishingFlowConfigStore.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/utils/guidelineFiles.js +92 -1
- package/dist/cjs/features/IL-marketplace/utils/guidelineFiles.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/utils/guidelineOverlay.js +27 -1
- package/dist/cjs/features/IL-marketplace/utils/guidelineOverlay.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/utils/microfrontend.js +10 -1
- package/dist/cjs/features/IL-marketplace/utils/microfrontend.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/utils/publishingFlow.js +98 -1
- package/dist/cjs/features/IL-marketplace/utils/publishingFlow.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/utils/session.js +27 -1
- package/dist/cjs/features/IL-marketplace/utils/session.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/utils.js +102 -1
- package/dist/cjs/features/IL-marketplace/utils.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/workspace/useGuidelineWorkspace.js +251 -1
- package/dist/cjs/features/IL-marketplace/workspace/useGuidelineWorkspace.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/workspace/workspace.context.js +11 -1
- package/dist/cjs/features/IL-marketplace/workspace/workspace.context.js.map +1 -1
- package/dist/cjs/features/IL-marketplace/workspace/workspace.runtime.js +22 -1
- package/dist/cjs/features/IL-marketplace/workspace/workspace.runtime.js.map +1 -1
- package/dist/cjs/features/InstantLearning/InstantLearning.js +411 -1
- package/dist/cjs/features/InstantLearning/InstantLearning.js.map +1 -1
- package/dist/cjs/features/InstantLearning/InstantLearning.module.css.js +11 -1
- package/dist/cjs/features/InstantLearning/InstantLearning.module.css.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/AudioWaveform.js +135 -1
- package/dist/cjs/features/InstantLearning/_components/AudioWaveform.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/ChatComponent.js +1986 -1
- package/dist/cjs/features/InstantLearning/_components/ChatComponent.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/ConflictingLearningWarnCard.js +263 -1
- package/dist/cjs/features/InstantLearning/_components/ConflictingLearningWarnCard.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/ConflictingLearningWarnCardDB.js +1404 -1
- package/dist/cjs/features/InstantLearning/_components/ConflictingLearningWarnCardDB.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/ContextualChatComponent.js +2433 -1
- package/dist/cjs/features/InstantLearning/_components/ContextualChatComponent.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/ContextualConflictDBCard.js +662 -1
- package/dist/cjs/features/InstantLearning/_components/ContextualConflictDBCard.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/ContextualLearningForm.js +2578 -1
- package/dist/cjs/features/InstantLearning/_components/ContextualLearningForm.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/GeneralizationAccordion.js +553 -1
- package/dist/cjs/features/InstantLearning/_components/GeneralizationAccordion.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/LearningDetailsForm.js +2314 -1
- package/dist/cjs/features/InstantLearning/_components/LearningDetailsForm.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/MessageRendering.js +821 -1
- package/dist/cjs/features/InstantLearning/_components/MessageRendering.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/MinimizedThinkingSteps.js +209 -1
- package/dist/cjs/features/InstantLearning/_components/MinimizedThinkingSteps.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/_svg/ArrowDown.js +24 -1
- package/dist/cjs/features/InstantLearning/_components/_svg/ArrowDown.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/_svg/ArrowIconBlue.js +10 -1
- package/dist/cjs/features/InstantLearning/_components/_svg/ArrowIconBlue.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/_svg/CompleteIconGreen.js +31 -1
- package/dist/cjs/features/InstantLearning/_components/_svg/CompleteIconGreen.js.map +1 -1
- package/dist/cjs/features/InstantLearning/_components/_svg/NewChatIcon.js +16 -1
- package/dist/cjs/features/InstantLearning/_components/_svg/NewChatIcon.js.map +1 -1
- package/dist/cjs/features/LearningManagement/AuditLog/AuditLog.js +324 -1
- package/dist/cjs/features/LearningManagement/AuditLog/AuditLog.js.map +1 -1
- package/dist/cjs/features/LearningManagement/AuditLog/AuditLog.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/AuditLog/AuditLog.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/AuditLog/ChangeLogDiff.js +344 -1
- package/dist/cjs/features/LearningManagement/AuditLog/ChangeLogDiff.js.map +1 -1
- package/dist/cjs/features/LearningManagement/LearningManagement.js +886 -1
- package/dist/cjs/features/LearningManagement/LearningManagement.js.map +1 -1
- package/dist/cjs/features/LearningManagement/LearningTemplateLayout.js +173 -1
- package/dist/cjs/features/LearningManagement/LearningTemplateLayout.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RBAC/AccessManagementPanel.js +38 -1
- package/dist/cjs/features/LearningManagement/RBAC/AccessManagementPanel.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RBAC/AccessPanel.js +71 -1
- package/dist/cjs/features/LearningManagement/RBAC/AccessPanel.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RBAC/AccessPanel.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/RBAC/AccessPanel.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.js +429 -1
- package/dist/cjs/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/AddScopeModal.js +353 -1
- package/dist/cjs/features/LearningManagement/RuleContent/AddScopeModal.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/ApprovalActionButton.js +79 -1
- package/dist/cjs/features/LearningManagement/RuleContent/ApprovalActionButton.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/ApprovalLearningDialog.js +409 -1
- package/dist/cjs/features/LearningManagement/RuleContent/ApprovalLearningDialog.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/ContentLogic.js +345 -1
- package/dist/cjs/features/LearningManagement/RuleContent/ContentLogic.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/DraftsAccordion.js +108 -1
- package/dist/cjs/features/LearningManagement/RuleContent/DraftsAccordion.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/HistorySkeleton.js +34 -1
- package/dist/cjs/features/LearningManagement/RuleContent/HistorySkeleton.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/InheritanceBreadcrumb.js +36 -1
- package/dist/cjs/features/LearningManagement/RuleContent/InheritanceBreadcrumb.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/InstructionPromptBlock.js +45 -1
- package/dist/cjs/features/LearningManagement/RuleContent/InstructionPromptBlock.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/OverrideTimeline.js +68 -1
- package/dist/cjs/features/LearningManagement/RuleContent/OverrideTimeline.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/PendingApprovalChip.js +27 -1
- package/dist/cjs/features/LearningManagement/RuleContent/PendingApprovalChip.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RenameScopeModal.js +237 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RenameScopeModal.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordion.js +130 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordion.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordionHeader.js +259 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordionHeader.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordionShell.js +78 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleAccordionShell.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleConditionBlock.js +83 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleConditionBlock.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleContent.js +726 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleContent.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleHeader.js +84 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleHeader.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleTierList.js +60 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleTierList.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/TierCard.js +350 -1
- package/dist/cjs/features/LearningManagement/RuleContent/TierCard.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/VariantCard.js +592 -1
- package/dist/cjs/features/LearningManagement/RuleContent/VariantCard.js.map +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/VariantList.js +271 -1
- package/dist/cjs/features/LearningManagement/RuleContent/VariantList.js.map +1 -1
- package/dist/cjs/features/LearningManagement/ScopeSelector.js +222 -1
- package/dist/cjs/features/LearningManagement/ScopeSelector.js.map +1 -1
- package/dist/cjs/features/LearningManagement/Sidebar.js +70 -1
- package/dist/cjs/features/LearningManagement/Sidebar.js.map +1 -1
- package/dist/cjs/features/LearningManagement/SidebarWrapper.js +55 -1
- package/dist/cjs/features/LearningManagement/SidebarWrapper.js.map +1 -1
- package/dist/cjs/features/LearningManagement/StationsContent/StationsContent.js +118 -1
- package/dist/cjs/features/LearningManagement/StationsContent/StationsContent.js.map +1 -1
- package/dist/cjs/features/LearningManagement/apis/apiConfig.js +63 -1
- package/dist/cjs/features/LearningManagement/apis/apiConfig.js.map +1 -1
- package/dist/cjs/features/LearningManagement/apis/scopeApis.js +728 -1
- package/dist/cjs/features/LearningManagement/apis/scopeApis.js.map +1 -1
- package/dist/cjs/features/LearningManagement/assets/Vector.svg.js +38 -1
- package/dist/cjs/features/LearningManagement/assets/Vector.svg.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/CardSkeleton.js +36 -1
- package/dist/cjs/features/LearningManagement/components/CardSkeleton.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ConfirmationModal.js +73 -1
- package/dist/cjs/features/LearningManagement/components/ConfirmationModal.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/CreateRuleSetLegacyModal.js +330 -1
- package/dist/cjs/features/LearningManagement/components/CreateRuleSetLegacyModal.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/CustomTooltip.js +54 -1
- package/dist/cjs/features/LearningManagement/components/CustomTooltip.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/EmptyLearningState.js +69 -1
- package/dist/cjs/features/LearningManagement/components/EmptyLearningState.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ErrorStateDisplay.js +33 -1
- package/dist/cjs/features/LearningManagement/components/ErrorStateDisplay.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/InstantLearningModal.js +5521 -1
- package/dist/cjs/features/LearningManagement/components/InstantLearningModal.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/InstantLearningModalDynamic.js +5678 -1
- package/dist/cjs/features/LearningManagement/components/InstantLearningModalDynamic.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/LearningTemplateManagementSkeleton.js +75 -1
- package/dist/cjs/features/LearningManagement/components/LearningTemplateManagementSkeleton.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/PromptTextEditor.js +108 -1
- package/dist/cjs/features/LearningManagement/components/PromptTextEditor.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/RuleContentSkeleton.js +44 -1
- package/dist/cjs/features/LearningManagement/components/RuleContentSkeleton.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ScopeSkeletonLoader.js +178 -1
- package/dist/cjs/features/LearningManagement/components/ScopeSkeletonLoader.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/HighlightedText.js +19 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/HighlightedText.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeAddAction.js +31 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeAddAction.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeMenu.js +135 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeMenu.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNode.js +272 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNode.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNodeHeader.js +73 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeNodeHeader.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeSectionItem.js +37 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeSectionItem.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeSidebar.js +165 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeSidebar.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeTooltip.js +72 -1
- package/dist/cjs/features/LearningManagement/components/ScopeTree/TreeTooltip.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/SidebarSearch.js +38 -1
- package/dist/cjs/features/LearningManagement/components/SidebarSearch.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/Skeleton.js +26 -1
- package/dist/cjs/features/LearningManagement/components/Skeleton.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/DayToggleSelector.js +92 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/DayToggleSelector.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/InputField.js +240 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/InputField.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/OnboardingLoader.js +170 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/OnboardingLoader.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/StationAutocomplete.js +125 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/StationAutocomplete.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js +994 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/TemplateCard.js +74 -1
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/TemplateCard.js.map +1 -1
- package/dist/cjs/features/LearningManagement/components/ToolTip.js +48 -1
- package/dist/cjs/features/LearningManagement/components/ToolTip.js.map +1 -1
- package/dist/cjs/features/LearningManagement/config.js +75 -1
- package/dist/cjs/features/LearningManagement/config.js.map +1 -1
- package/dist/cjs/features/LearningManagement/constants.js +29 -1
- package/dist/cjs/features/LearningManagement/constants.js.map +1 -1
- package/dist/cjs/features/LearningManagement/hooks/useLearningTemplateQueryParams.js +79 -1
- package/dist/cjs/features/LearningManagement/hooks/useLearningTemplateQueryParams.js.map +1 -1
- package/dist/cjs/features/LearningManagement/queries/useApprovalQueries.js +69 -1
- package/dist/cjs/features/LearningManagement/queries/useApprovalQueries.js.map +1 -1
- package/dist/cjs/features/LearningManagement/queries/useLMSConfigQuery.js +66 -1
- package/dist/cjs/features/LearningManagement/queries/useLMSConfigQuery.js.map +1 -1
- package/dist/cjs/features/LearningManagement/shared/ErrorToastContent.js +23 -1
- package/dist/cjs/features/LearningManagement/shared/ErrorToastContent.js.map +1 -1
- package/dist/cjs/features/LearningManagement/shared/SuccessToastContent.js +23 -1
- package/dist/cjs/features/LearningManagement/shared/SuccessToastContent.js.map +1 -1
- package/dist/cjs/features/LearningManagement/store/useAppSecRolesStore.js +12 -1
- package/dist/cjs/features/LearningManagement/store/useAppSecRolesStore.js.map +1 -1
- package/dist/cjs/features/LearningManagement/store/useAuthStore.js +19 -1
- package/dist/cjs/features/LearningManagement/store/useAuthStore.js.map +1 -1
- package/dist/cjs/features/LearningManagement/store/useConfigStore.js +47 -1
- package/dist/cjs/features/LearningManagement/store/useConfigStore.js.map +1 -1
- package/dist/cjs/features/LearningManagement/store/useEnvStore.js +27 -1
- package/dist/cjs/features/LearningManagement/store/useEnvStore.js.map +1 -1
- package/dist/cjs/features/LearningManagement/store/useExternalWorkflowStore.js +60 -1
- package/dist/cjs/features/LearningManagement/store/useExternalWorkflowStore.js.map +1 -1
- package/dist/cjs/features/LearningManagement/store/useLMSConfigStore.js +285 -1
- package/dist/cjs/features/LearningManagement/store/useLMSConfigStore.js.map +1 -1
- package/dist/cjs/features/LearningManagement/store/useLearningTemplateStore.js +132 -1
- package/dist/cjs/features/LearningManagement/store/useLearningTemplateStore.js.map +1 -1
- package/dist/cjs/features/LearningManagement/store/usePermissionsStore.js +80 -1
- package/dist/cjs/features/LearningManagement/store/usePermissionsStore.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/CardSkeleton.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/CardSkeleton.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/ConfirmationModal.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/ConfirmationModal.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/CustomTooltip.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/CustomTooltip.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/DraftsAccordion.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/DraftsAccordion.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/EmptyRuleState.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/EmptyRuleState.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/ErrorStateDisplay.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/ErrorStateDisplay.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/InputField.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/InputField.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/InstantLearningModal.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/InstantLearningModal.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/LearningContent.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/LearningContent.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/LearningContentSkeleton.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/LearningContentSkeleton.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/LearningTemplateLayout.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/LearningTemplateLayout.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/LearningTemplateManagement.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/LearningTemplateManagement.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/LearningTemplateManagementSkeleton.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/LearningTemplateManagementSkeleton.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/OnboardingLoader.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/OnboardingLoader.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/OverrideTimeline.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/OverrideTimeline.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/PromptTextEditor.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/PromptTextEditor.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/RuleAccordion.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/RuleAccordion.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/RuleHeader.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/RuleHeader.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/RuleTierList.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/RuleTierList.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/ScopeTree.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/ScopeTree.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/Sidebar.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/Sidebar.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/StationAutocomplete.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/StationAutocomplete.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/StationOnboardModal.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/StationOnboardModal.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/StationsContent.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/StationsContent.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/TemplateCard.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/TemplateCard.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/TierCard.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/TierCard.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/ToastContent.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/ToastContent.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/ToolTip.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/ToolTip.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/VariantCard.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/VariantCard.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/VariantList.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/VariantList.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/common.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/common.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/styles/skeleton.module.css.js +11 -1
- package/dist/cjs/features/LearningManagement/styles/skeleton.module.css.js.map +1 -1
- package/dist/cjs/features/LearningManagement/utils/learningFlow.js +14 -1
- package/dist/cjs/features/LearningManagement/utils/learningFlow.js.map +1 -1
- package/dist/cjs/features/LearningManagement/utils/learningMetadataUtils.js +73 -1
- package/dist/cjs/features/LearningManagement/utils/learningMetadataUtils.js.map +1 -1
- package/dist/cjs/features/LearningManagement/utils/saveDraft.js +35 -1
- package/dist/cjs/features/LearningManagement/utils/saveDraft.js.map +1 -1
- package/dist/cjs/features/LearningManagement/utils/treeUtils.js +44 -1
- package/dist/cjs/features/LearningManagement/utils/treeUtils.js.map +1 -1
- package/dist/cjs/features/WtaWnta/WtaWnta.js +427 -1
- package/dist/cjs/features/WtaWnta/WtaWnta.js.map +1 -1
- package/dist/cjs/features/WtaWnta/WtaWnta.module.css.js +11 -1
- package/dist/cjs/features/WtaWnta/WtaWnta.module.css.js.map +1 -1
- package/dist/cjs/features/WtaWnta/_components/AgentDetailsForm.js +982 -1
- package/dist/cjs/features/WtaWnta/_components/AgentDetailsForm.js.map +1 -1
- package/dist/cjs/features/WtaWnta/_components/SimilarConflictingCard.js +244 -1
- package/dist/cjs/features/WtaWnta/_components/SimilarConflictingCard.js.map +1 -1
- package/dist/cjs/features/WtaWnta/_components/ValidationCard.js +303 -1
- package/dist/cjs/features/WtaWnta/_components/ValidationCard.js.map +1 -1
- package/dist/cjs/hooks/useAgentFix.js +50 -1
- package/dist/cjs/hooks/useAgentFix.js.map +1 -1
- package/dist/cjs/hooks/useAgentSuggestions.js +58 -1
- package/dist/cjs/hooks/useAgentSuggestions.js.map +1 -1
- package/dist/cjs/hooks/useAgentValidation.js +55 -1
- package/dist/cjs/hooks/useAgentValidation.js.map +1 -1
- package/dist/cjs/hooks/useDebounce.js +20 -1
- package/dist/cjs/hooks/useDebounce.js.map +1 -1
- package/dist/cjs/hooks/useExistingAgentCheck.js +49 -1
- package/dist/cjs/hooks/useExistingAgentCheck.js.map +1 -1
- package/dist/cjs/hooks/useExistingPromptCheck.js +55 -1
- package/dist/cjs/hooks/useExistingPromptCheck.js.map +1 -1
- package/dist/cjs/hooks/usePromptFix.js +49 -1
- package/dist/cjs/hooks/usePromptFix.js.map +1 -1
- package/dist/cjs/hooks/usePromptSuggestions.js +55 -1
- package/dist/cjs/hooks/usePromptSuggestions.js.map +1 -1
- package/dist/cjs/hooks/usePromptValidation.js +57 -1
- package/dist/cjs/hooks/usePromptValidation.js.map +1 -1
- package/dist/cjs/index.js +157 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +32 -1
- package/dist/cjs/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +1 -1
- package/dist/cjs/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js +183 -1
- package/dist/cjs/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js.map +1 -1
- package/dist/cjs/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js +160 -1
- package/dist/cjs/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js.map +1 -1
- package/dist/cjs/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js +70 -1
- package/dist/cjs/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js.map +1 -1
- package/dist/cjs/schema-driven/BPARenderer.js +183 -1
- package/dist/cjs/schema-driven/BPARenderer.js.map +1 -1
- package/dist/cjs/schema-driven/FallbackField.js +37 -1
- package/dist/cjs/schema-driven/FallbackField.js.map +1 -1
- package/dist/cjs/schema-driven/components/ConditionSectionField.js +44 -1
- package/dist/cjs/schema-driven/components/ConditionSectionField.js.map +1 -1
- package/dist/cjs/schema-driven/components/ConfigSectionField.js +20 -1
- package/dist/cjs/schema-driven/components/ConfigSectionField.js.map +1 -1
- package/dist/cjs/schema-driven/components/DropdownSectionField.js +35 -1
- package/dist/cjs/schema-driven/components/DropdownSectionField.js.map +1 -1
- package/dist/cjs/schema-driven/components/GlobalSetupAccordionField.js +186 -1
- package/dist/cjs/schema-driven/components/GlobalSetupAccordionField.js.map +1 -1
- package/dist/cjs/schema-driven/components/GroupEditRow.js +170 -1
- package/dist/cjs/schema-driven/components/GroupEditRow.js.map +1 -1
- package/dist/cjs/schema-driven/components/PromptTextEditorField.js +215 -1
- package/dist/cjs/schema-driven/components/PromptTextEditorField.js.map +1 -1
- package/dist/cjs/schema-driven/components/ScopeSectionField.js +25 -1
- package/dist/cjs/schema-driven/components/ScopeSectionField.js.map +1 -1
- package/dist/cjs/schema-driven/components/TableComponent.js +393 -1
- package/dist/cjs/schema-driven/components/TableComponent.js.map +1 -1
- package/dist/cjs/schema-driven/components/TextInputField.js +51 -1
- package/dist/cjs/schema-driven/components/TextInputField.js.map +1 -1
- package/dist/cjs/schema-driven/components/VariantListField.js +341 -1
- package/dist/cjs/schema-driven/components/VariantListField.js.map +1 -1
- package/dist/cjs/schema-driven/helper.js +123 -1
- package/dist/cjs/schema-driven/helper.js.map +1 -1
- package/dist/cjs/schema-driven/hooks/useParentEditEnabled.js +23 -1
- package/dist/cjs/schema-driven/hooks/useParentEditEnabled.js.map +1 -1
- package/dist/cjs/schema-driven/hooks/useSectionEditSession.js +162 -1
- package/dist/cjs/schema-driven/hooks/useSectionEditSession.js.map +1 -1
- package/dist/cjs/schema-driven/primitives/Accordion.js +164 -1
- package/dist/cjs/schema-driven/primitives/Accordion.js.map +1 -1
- package/dist/cjs/schema-driven/store/useDynamicFormStore.js +124 -1
- package/dist/cjs/schema-driven/store/useDynamicFormStore.js.map +1 -1
- package/dist/cjs/schema-driven/types.js +19 -1
- package/dist/cjs/schema-driven/types.js.map +1 -1
- package/dist/cjs/schema-driven/utils/PayloadUtils.js +258 -1
- package/dist/cjs/schema-driven/utils/PayloadUtils.js.map +1 -1
- package/dist/cjs/schema-driven/utils/aiReasoning.js +12 -1
- package/dist/cjs/schema-driven/utils/aiReasoning.js.map +1 -1
- package/dist/cjs/schema-driven/utils/conditionText.js +22 -1
- package/dist/cjs/schema-driven/utils/conditionText.js.map +1 -1
- package/dist/cjs/schema-driven/utils/editLock.js +52 -1
- package/dist/cjs/schema-driven/utils/editLock.js.map +1 -1
- package/dist/cjs/service/InstantLearningService.js +37 -1
- package/dist/cjs/service/InstantLearningService.js.map +1 -1
- package/dist/cjs/utils/agentGenieAPI.js +118 -1
- package/dist/cjs/utils/agentGenieAPI.js.map +1 -1
- package/dist/cjs/utils/bookGenieAPI.js +18 -1
- package/dist/cjs/utils/bookGenieAPI.js.map +1 -1
- package/dist/cjs/utils/instantLearning.utils.js +16 -1
- package/dist/cjs/utils/instantLearning.utils.js.map +1 -1
- package/dist/cjs/utils/instantLearningAPI.js +83 -1
- package/dist/cjs/utils/instantLearningAPI.js.map +1 -1
- package/dist/cjs/utils/recommendationParser.js +22 -1
- package/dist/cjs/utils/recommendationParser.js.map +1 -1
- package/dist/cjs/utils/variantParser.js +64 -1
- package/dist/cjs/utils/variantParser.js.map +1 -1
- package/dist/features/DocumentLearning/DocumentLearning.js +290 -1
- package/dist/features/DocumentLearning/DocumentLearning.js.map +1 -1
- package/dist/features/DocumentLearning/InstantLearning.module.css.js +7 -1
- package/dist/features/DocumentLearning/InstantLearning.module.css.js.map +1 -1
- package/dist/features/DocumentLearning/_components/AudioWaveform.js +131 -1
- package/dist/features/DocumentLearning/_components/AudioWaveform.js.map +1 -1
- package/dist/features/DocumentLearning/_components/BookLearningForm.js +1322 -1
- package/dist/features/DocumentLearning/_components/BookLearningForm.js.map +1 -1
- package/dist/features/DocumentLearning/_components/ChatComponent.js +1962 -1
- package/dist/features/DocumentLearning/_components/ChatComponent.js.map +1 -1
- package/dist/features/DocumentLearning/_components/ConflictingLearningWarnCard.js +254 -1
- package/dist/features/DocumentLearning/_components/ConflictingLearningWarnCard.js.map +1 -1
- package/dist/features/DocumentLearning/_components/MessageRendering.js +695 -1
- package/dist/features/DocumentLearning/_components/MessageRendering.js.map +1 -1
- package/dist/features/DocumentLearning/_components/_svg/NewChatIcon.js +12 -1
- package/dist/features/DocumentLearning/_components/_svg/NewChatIcon.js.map +1 -1
- package/dist/features/IL-OTJ/ILOTJ.js +663 -1
- package/dist/features/IL-OTJ/ILOTJ.js.map +1 -1
- package/dist/features/IL-OTJ/ILOTJTest.js +21 -1
- package/dist/features/IL-OTJ/ILOTJTest.js.map +1 -1
- package/dist/features/IL-OTJ/InstantLearning.module.css.js +7 -1
- package/dist/features/IL-OTJ/InstantLearning.module.css.js.map +1 -1
- package/dist/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.js +191 -1
- package/dist/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.js.map +1 -1
- package/dist/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js +133 -1
- package/dist/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.js.map +1 -1
- package/dist/features/IL-OTJ/_components/AccordianSection.js +188 -1
- package/dist/features/IL-OTJ/_components/AccordianSection.js.map +1 -1
- package/dist/features/IL-OTJ/_components/AudioWaveform.js +131 -1
- package/dist/features/IL-OTJ/_components/AudioWaveform.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/ChatComponent.js +1337 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/ChatComponent.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/ChatComponent.module.css.js +7 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/ChatComponent.module.css.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/ChatHeader.js +96 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/ChatHeader.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/ChatHeader.module.css.js +7 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/ChatHeader.module.css.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/NormalChat.js +1098 -1
- package/dist/features/IL-OTJ/_components/ChatComponents/NormalChat.js.map +1 -1
- package/dist/features/IL-OTJ/_components/CitationLink.js +364 -1
- package/dist/features/IL-OTJ/_components/CitationLink.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ConflictingReasoningCard.js +173 -1
- package/dist/features/IL-OTJ/_components/ConflictingReasoningCard.js.map +1 -1
- package/dist/features/IL-OTJ/_components/CriticalGaps.js +699 -1
- package/dist/features/IL-OTJ/_components/CriticalGaps.js.map +1 -1
- package/dist/features/IL-OTJ/_components/GapExplanationAccordion.js +90 -1
- package/dist/features/IL-OTJ/_components/GapExplanationAccordion.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ILPopup.js +130 -1
- package/dist/features/IL-OTJ/_components/ILPopup.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ILPopup.styles.js +665 -1
- package/dist/features/IL-OTJ/_components/ILPopup.styles.js.map +1 -1
- package/dist/features/IL-OTJ/_components/InputDataReasoningCard.js +107 -1
- package/dist/features/IL-OTJ/_components/InputDataReasoningCard.js.map +1 -1
- package/dist/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.js +543 -1
- package/dist/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.js.map +1 -1
- package/dist/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.js +266 -1
- package/dist/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.js.map +1 -1
- package/dist/features/IL-OTJ/_components/MarkdownRenderer.js +293 -1
- package/dist/features/IL-OTJ/_components/MarkdownRenderer.js.map +1 -1
- package/dist/features/IL-OTJ/_components/MarkdownRenderer.module.css.js +7 -1
- package/dist/features/IL-OTJ/_components/MarkdownRenderer.module.css.js.map +1 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/ChatFeedback.js +227 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/ChatFeedback.js.map +1 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js +609 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.js.map +1 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/MessageRendering.js +863 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/MessageRendering.js.map +1 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js +129 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js.map +1 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.js +141 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.js.map +1 -1
- package/dist/features/IL-OTJ/_components/TooltipComponent.js +28 -1
- package/dist/features/IL-OTJ/_components/TooltipComponent.js.map +1 -1
- package/dist/features/IL-OTJ/_components/VariantLoadingOverlay.js +58 -1
- package/dist/features/IL-OTJ/_components/VariantLoadingOverlay.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ViewFormUpdateCard.js +186 -1
- package/dist/features/IL-OTJ/_components/ViewFormUpdateCard.js.map +1 -1
- package/dist/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.js +167 -1
- package/dist/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/BookIcon.js +6 -1
- package/dist/features/IL-OTJ/_components/_svg/BookIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.js +17 -1
- package/dist/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/ChevronDown.js +6 -1
- package/dist/features/IL-OTJ/_components/_svg/ChevronDown.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/ChevronUp.js +6 -1
- package/dist/features/IL-OTJ/_components/_svg/ChevronUp.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.js +51 -1
- package/dist/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/CognitiveDecisioning.js +9 -1
- package/dist/features/IL-OTJ/_components/_svg/CognitiveDecisioning.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/EditPencilIcon.js +5 -1
- package/dist/features/IL-OTJ/_components/_svg/EditPencilIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/GapIcon.js +19 -1
- package/dist/features/IL-OTJ/_components/_svg/GapIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/InfoIcon.js +27 -1
- package/dist/features/IL-OTJ/_components/_svg/InfoIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/Lightbulb.js +21 -1
- package/dist/features/IL-OTJ/_components/_svg/Lightbulb.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/NewChatIcon.js +48 -1
- package/dist/features/IL-OTJ/_components/_svg/NewChatIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/PencilEdit.js +5 -1
- package/dist/features/IL-OTJ/_components/_svg/PencilEdit.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/RadioButton.js +44 -1
- package/dist/features/IL-OTJ/_components/_svg/RadioButton.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/RightSideIcons.js +55 -1
- package/dist/features/IL-OTJ/_components/_svg/RightSideIcons.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/ScrollToBottom.js +46 -1
- package/dist/features/IL-OTJ/_components/_svg/ScrollToBottom.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/SendButton.js +26 -1
- package/dist/features/IL-OTJ/_components/_svg/SendButton.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/SparkleIcon.js +26 -1
- package/dist/features/IL-OTJ/_components/_svg/SparkleIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/TickIcon.js +33 -1
- package/dist/features/IL-OTJ/_components/_svg/TickIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/_svg/UserIcon.js +23 -1
- package/dist/features/IL-OTJ/_components/_svg/UserIcon.js.map +1 -1
- package/dist/features/IL-OTJ/_components/atoms/Button/Button.js +8 -1
- package/dist/features/IL-OTJ/_components/atoms/Button/Button.js.map +1 -1
- package/dist/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.js +23 -1
- package/dist/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.js.map +1 -1
- package/dist/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.js +26 -1
- package/dist/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.js.map +1 -1
- package/dist/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.module.css.js +7 -1
- package/dist/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.module.css.js.map +1 -1
- package/dist/features/IL-OTJ/_components/atoms/Textarea/Textarea.js +226 -1
- package/dist/features/IL-OTJ/_components/atoms/Textarea/Textarea.js.map +1 -1
- package/dist/features/IL-OTJ/_components/atoms/Toggle/Toggle.js +16 -1
- package/dist/features/IL-OTJ/_components/atoms/Toggle/Toggle.js.map +1 -1
- package/dist/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.js +41 -1
- package/dist/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.js.map +1 -1
- package/dist/features/IL-OTJ/_components/hooks/usePendingEditHighlight.js +79 -1
- package/dist/features/IL-OTJ/_components/hooks/usePendingEditHighlight.js.map +1 -1
- package/dist/features/IL-OTJ/_components/hooks/useVariantEditSession.js +159 -1
- package/dist/features/IL-OTJ/_components/hooks/useVariantEditSession.js.map +1 -1
- package/dist/features/IL-OTJ/_components/molecules/Condition/ConditionList.js +358 -1
- package/dist/features/IL-OTJ/_components/molecules/Condition/ConditionList.js.map +1 -1
- package/dist/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.js +77 -1
- package/dist/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.js.map +1 -1
- package/dist/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.js +58 -1
- package/dist/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.js.map +1 -1
- package/dist/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.js +63 -1
- package/dist/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.js.map +1 -1
- package/dist/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.js +293 -1
- package/dist/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.js.map +1 -1
- package/dist/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.js +53 -1
- package/dist/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.js.map +1 -1
- package/dist/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.js +161 -1
- package/dist/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.js.map +1 -1
- package/dist/features/IL-OTJ/_components/organisms/TextSection/TextSection.js +189 -1
- package/dist/features/IL-OTJ/_components/organisms/TextSection/TextSection.js.map +1 -1
- package/dist/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.js +662 -1
- package/dist/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.js.map +1 -1
- package/dist/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.js +264 -1
- package/dist/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.js.map +1 -1
- package/dist/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.js +681 -1
- package/dist/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.js.map +1 -1
- package/dist/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.js +41 -1
- package/dist/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.js.map +1 -1
- package/dist/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.js +24 -1
- package/dist/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.js.map +1 -1
- package/dist/features/IL-OTJ/_components/templates/Testing/Testing.js +36 -1
- package/dist/features/IL-OTJ/_components/templates/Testing/Testing.js.map +1 -1
- package/dist/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.js +953 -1
- package/dist/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.js.map +1 -1
- package/dist/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.js +95 -1
- package/dist/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.js.map +1 -1
- package/dist/features/IL-OTJ/helpers/message-rendering-utils.js +118 -1
- package/dist/features/IL-OTJ/helpers/message-rendering-utils.js.map +1 -1
- package/dist/features/IL-OTJ/helpers/utils.js +144 -1
- package/dist/features/IL-OTJ/helpers/utils.js.map +1 -1
- package/dist/features/IL-OTJ/store/CitationsContext.js +47 -1
- package/dist/features/IL-OTJ/store/CitationsContext.js.map +1 -1
- package/dist/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.js +297 -1
- package/dist/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.js.map +1 -1
- package/dist/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.module.css.js +7 -1
- package/dist/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/PromoteFlow/PromoteFlow.js +647 -1
- package/dist/features/IL-marketplace/PromoteFlow/PromoteFlow.js.map +1 -1
- package/dist/features/IL-marketplace/PromoteFlow/PromoteFlow.module.css.js +7 -1
- package/dist/features/IL-marketplace/PromoteFlow/PromoteFlow.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/PromoteFlow/promote-flow.api.js +58 -1
- package/dist/features/IL-marketplace/PromoteFlow/promote-flow.api.js.map +1 -1
- package/dist/features/IL-marketplace/PromoteFlow/promote-flow.store.js +49 -1
- package/dist/features/IL-marketplace/PromoteFlow/promote-flow.store.js.map +1 -1
- package/dist/features/IL-marketplace/PromoteFlow/promote-flow.utils.js +63 -1
- package/dist/features/IL-marketplace/PromoteFlow/promote-flow.utils.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineCardMenu.js +105 -1
- package/dist/features/IL-marketplace/components/GuidelineCardMenu.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineCardMenu.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineCardMenu.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineCart.js +105 -1
- package/dist/features/IL-marketplace/components/GuidelineCart.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineCart.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineCart.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineCartHeader.js +72 -1
- package/dist/features/IL-marketplace/components/GuidelineCartHeader.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineCartHeader.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineCartHeader.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineCartItem.js +127 -1
- package/dist/features/IL-marketplace/components/GuidelineCartItem.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineCartItem.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineCartItem.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineConfirmDialog.js +126 -1
- package/dist/features/IL-marketplace/components/GuidelineConfirmDialog.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineConfirmDialog.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineConfirmDialog.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineEmptyState.js +41 -1
- package/dist/features/IL-marketplace/components/GuidelineEmptyState.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineEmptyState.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineEmptyState.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineFilterPanel.js +228 -1
- package/dist/features/IL-marketplace/components/GuidelineFilterPanel.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineFilterPanel.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineFilterPanel.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineHeader.js +117 -1
- package/dist/features/IL-marketplace/components/GuidelineHeader.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineHeader.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineHeader.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineIconButton.js +28 -1
- package/dist/features/IL-marketplace/components/GuidelineIconButton.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineIconButton.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineIconButton.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineLandingPage.js +466 -1
- package/dist/features/IL-marketplace/components/GuidelineLandingPage.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineLandingPage.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineLandingPage.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineLibrary.js +231 -1
- package/dist/features/IL-marketplace/components/GuidelineLibrary.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineLibrary.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineLibrary.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineLibraryCard.js +957 -1
- package/dist/features/IL-marketplace/components/GuidelineLibraryCard.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineLibraryCard.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineLibraryCard.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineLibraryContent.js +363 -1
- package/dist/features/IL-marketplace/components/GuidelineLibraryContent.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineLibraryTab.js +63 -1
- package/dist/features/IL-marketplace/components/GuidelineLibraryTab.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineProceedButton.js +62 -1
- package/dist/features/IL-marketplace/components/GuidelineProceedButton.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineProceedButton.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineProceedButton.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineSelectButton.js +30 -1
- package/dist/features/IL-marketplace/components/GuidelineSelectButton.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineSelectButton.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineSelectButton.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineStatusChip.js +30 -1
- package/dist/features/IL-marketplace/components/GuidelineStatusChip.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineStatusChip.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/GuidelineStatusChip.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/GuidelineTooltip.js +40 -1
- package/dist/features/IL-marketplace/components/GuidelineTooltip.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.js +8 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.js +8 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.js +8 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.js +8 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.js +132 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.js +17 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.js +12 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.js +35 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.js +83 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.js +4 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.js +447 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.js +140 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.js +30 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.js +50 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.js +20 -1
- package/dist/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.js.map +1 -1
- package/dist/features/IL-marketplace/components/LearningManagementWrapper.js +219 -1
- package/dist/features/IL-marketplace/components/LearningManagementWrapper.js.map +1 -1
- package/dist/features/IL-marketplace/components/VersionSelectDropdown.js +97 -1
- package/dist/features/IL-marketplace/components/VersionSelectDropdown.js.map +1 -1
- package/dist/features/IL-marketplace/components/VersionSelectDropdown.module.css.js +7 -1
- package/dist/features/IL-marketplace/components/VersionSelectDropdown.module.css.js.map +1 -1
- package/dist/features/IL-marketplace/constants.js +109 -1
- package/dist/features/IL-marketplace/constants.js.map +1 -1
- package/dist/features/IL-marketplace/hooks/useControllableState.js +29 -1
- package/dist/features/IL-marketplace/hooks/useControllableState.js.map +1 -1
- package/dist/features/IL-marketplace/hooks/useDeleteGuidelineMutation.js +24 -1
- package/dist/features/IL-marketplace/hooks/useDeleteGuidelineMutation.js.map +1 -1
- package/dist/features/IL-marketplace/hooks/useGuidelineSelection.js +40 -1
- package/dist/features/IL-marketplace/hooks/useGuidelineSelection.js.map +1 -1
- package/dist/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.js +24 -1
- package/dist/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.js.map +1 -1
- package/dist/features/IL-marketplace/hooks/useMarketplacePublishILKBData.js +59 -1
- package/dist/features/IL-marketplace/hooks/useMarketplacePublishILKBData.js.map +1 -1
- package/dist/features/IL-marketplace/hooks/usePublishingFlowConfig.js +40 -1
- package/dist/features/IL-marketplace/hooks/usePublishingFlowConfig.js.map +1 -1
- package/dist/features/IL-marketplace/icons/GuidelineSpinner.js +37 -1
- package/dist/features/IL-marketplace/icons/GuidelineSpinner.js.map +1 -1
- package/dist/features/IL-marketplace/marketplaceTheme.js +135 -1
- package/dist/features/IL-marketplace/marketplaceTheme.js.map +1 -1
- package/dist/features/IL-marketplace/queryClient.js +5 -1
- package/dist/features/IL-marketplace/queryClient.js.map +1 -1
- package/dist/features/IL-marketplace/services/IL-marketplace.api.js +142 -1
- package/dist/features/IL-marketplace/services/IL-marketplace.api.js.map +1 -1
- package/dist/features/IL-marketplace/services/guideline.cart.api.js +207 -1
- package/dist/features/IL-marketplace/services/guideline.cart.api.js.map +1 -1
- package/dist/features/IL-marketplace/services/guideline.core.api.js +53 -1
- package/dist/features/IL-marketplace/services/guideline.core.api.js.map +1 -1
- package/dist/features/IL-marketplace/services/guideline.runtime.config.js +15 -1
- package/dist/features/IL-marketplace/services/guideline.runtime.config.js.map +1 -1
- package/dist/features/IL-marketplace/services/guideline.session.js +29 -1
- package/dist/features/IL-marketplace/services/guideline.session.js.map +1 -1
- package/dist/features/IL-marketplace/services/instant-learning.api.js +36 -1
- package/dist/features/IL-marketplace/services/instant-learning.api.js.map +1 -1
- package/dist/features/IL-marketplace/store/usePublishTemplateStore.js +17 -1
- package/dist/features/IL-marketplace/store/usePublishTemplateStore.js.map +1 -1
- package/dist/features/IL-marketplace/store/usePublishingFlowConfigStore.js +116 -1
- package/dist/features/IL-marketplace/store/usePublishingFlowConfigStore.js.map +1 -1
- package/dist/features/IL-marketplace/utils/guidelineFiles.js +85 -1
- package/dist/features/IL-marketplace/utils/guidelineFiles.js.map +1 -1
- package/dist/features/IL-marketplace/utils/guidelineOverlay.js +23 -1
- package/dist/features/IL-marketplace/utils/guidelineOverlay.js.map +1 -1
- package/dist/features/IL-marketplace/utils/microfrontend.js +6 -1
- package/dist/features/IL-marketplace/utils/microfrontend.js.map +1 -1
- package/dist/features/IL-marketplace/utils/publishingFlow.js +91 -1
- package/dist/features/IL-marketplace/utils/publishingFlow.js.map +1 -1
- package/dist/features/IL-marketplace/utils/session.js +21 -1
- package/dist/features/IL-marketplace/utils/session.js.map +1 -1
- package/dist/features/IL-marketplace/utils.js +85 -1
- package/dist/features/IL-marketplace/utils.js.map +1 -1
- package/dist/features/IL-marketplace/workspace/useGuidelineWorkspace.js +242 -1
- package/dist/features/IL-marketplace/workspace/useGuidelineWorkspace.js.map +1 -1
- package/dist/features/IL-marketplace/workspace/workspace.context.js +6 -1
- package/dist/features/IL-marketplace/workspace/workspace.context.js.map +1 -1
- package/dist/features/IL-marketplace/workspace/workspace.runtime.js +16 -1
- package/dist/features/IL-marketplace/workspace/workspace.runtime.js.map +1 -1
- package/dist/features/InstantLearning/InstantLearning.js +407 -1
- package/dist/features/InstantLearning/InstantLearning.js.map +1 -1
- package/dist/features/InstantLearning/InstantLearning.module.css.js +7 -1
- package/dist/features/InstantLearning/InstantLearning.module.css.js.map +1 -1
- package/dist/features/InstantLearning/_components/AudioWaveform.js +131 -1
- package/dist/features/InstantLearning/_components/AudioWaveform.js.map +1 -1
- package/dist/features/InstantLearning/_components/ChatComponent.js +1976 -1
- package/dist/features/InstantLearning/_components/ChatComponent.js.map +1 -1
- package/dist/features/InstantLearning/_components/ConflictingLearningWarnCard.js +254 -1
- package/dist/features/InstantLearning/_components/ConflictingLearningWarnCard.js.map +1 -1
- package/dist/features/InstantLearning/_components/ConflictingLearningWarnCardDB.js +1391 -1
- package/dist/features/InstantLearning/_components/ConflictingLearningWarnCardDB.js.map +1 -1
- package/dist/features/InstantLearning/_components/ContextualChatComponent.js +2423 -1
- package/dist/features/InstantLearning/_components/ContextualChatComponent.js.map +1 -1
- package/dist/features/InstantLearning/_components/ContextualConflictDBCard.js +650 -1
- package/dist/features/InstantLearning/_components/ContextualConflictDBCard.js.map +1 -1
- package/dist/features/InstantLearning/_components/ContextualLearningForm.js +2565 -1
- package/dist/features/InstantLearning/_components/ContextualLearningForm.js.map +1 -1
- package/dist/features/InstantLearning/_components/GeneralizationAccordion.js +542 -1
- package/dist/features/InstantLearning/_components/GeneralizationAccordion.js.map +1 -1
- package/dist/features/InstantLearning/_components/LearningDetailsForm.js +2300 -1
- package/dist/features/InstantLearning/_components/LearningDetailsForm.js.map +1 -1
- package/dist/features/InstantLearning/_components/MessageRendering.js +811 -1
- package/dist/features/InstantLearning/_components/MessageRendering.js.map +1 -1
- package/dist/features/InstantLearning/_components/MinimizedThinkingSteps.js +201 -1
- package/dist/features/InstantLearning/_components/MinimizedThinkingSteps.js.map +1 -1
- package/dist/features/InstantLearning/_components/_svg/ArrowDown.js +20 -1
- package/dist/features/InstantLearning/_components/_svg/ArrowDown.js.map +1 -1
- package/dist/features/InstantLearning/_components/_svg/ArrowIconBlue.js +6 -1
- package/dist/features/InstantLearning/_components/_svg/ArrowIconBlue.js.map +1 -1
- package/dist/features/InstantLearning/_components/_svg/CompleteIconGreen.js +27 -1
- package/dist/features/InstantLearning/_components/_svg/CompleteIconGreen.js.map +1 -1
- package/dist/features/InstantLearning/_components/_svg/NewChatIcon.js +12 -1
- package/dist/features/InstantLearning/_components/_svg/NewChatIcon.js.map +1 -1
- package/dist/features/LearningManagement/AuditLog/AuditLog.js +320 -1
- package/dist/features/LearningManagement/AuditLog/AuditLog.js.map +1 -1
- package/dist/features/LearningManagement/AuditLog/AuditLog.module.css.js +7 -1
- package/dist/features/LearningManagement/AuditLog/AuditLog.module.css.js.map +1 -1
- package/dist/features/LearningManagement/AuditLog/ChangeLogDiff.js +340 -1
- package/dist/features/LearningManagement/AuditLog/ChangeLogDiff.js.map +1 -1
- package/dist/features/LearningManagement/LearningManagement.js +878 -1
- package/dist/features/LearningManagement/LearningManagement.js.map +1 -1
- package/dist/features/LearningManagement/LearningTemplateLayout.js +169 -1
- package/dist/features/LearningManagement/LearningTemplateLayout.js.map +1 -1
- package/dist/features/LearningManagement/RBAC/AccessManagementPanel.js +34 -1
- package/dist/features/LearningManagement/RBAC/AccessManagementPanel.js.map +1 -1
- package/dist/features/LearningManagement/RBAC/AccessPanel.js +67 -1
- package/dist/features/LearningManagement/RBAC/AccessPanel.js.map +1 -1
- package/dist/features/LearningManagement/RBAC/AccessPanel.module.css.js +7 -1
- package/dist/features/LearningManagement/RBAC/AccessPanel.module.css.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.js +425 -1
- package/dist/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/AddScopeModal.js +349 -1
- package/dist/features/LearningManagement/RuleContent/AddScopeModal.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/ApprovalActionButton.js +75 -1
- package/dist/features/LearningManagement/RuleContent/ApprovalActionButton.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/ApprovalLearningDialog.js +399 -1
- package/dist/features/LearningManagement/RuleContent/ApprovalLearningDialog.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/ContentLogic.js +341 -1
- package/dist/features/LearningManagement/RuleContent/ContentLogic.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/DraftsAccordion.js +104 -1
- package/dist/features/LearningManagement/RuleContent/DraftsAccordion.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/HistorySkeleton.js +29 -1
- package/dist/features/LearningManagement/RuleContent/HistorySkeleton.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/InheritanceBreadcrumb.js +28 -1
- package/dist/features/LearningManagement/RuleContent/InheritanceBreadcrumb.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/InstructionPromptBlock.js +41 -1
- package/dist/features/LearningManagement/RuleContent/InstructionPromptBlock.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/OverrideTimeline.js +64 -1
- package/dist/features/LearningManagement/RuleContent/OverrideTimeline.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/PendingApprovalChip.js +23 -1
- package/dist/features/LearningManagement/RuleContent/PendingApprovalChip.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/RenameScopeModal.js +233 -1
- package/dist/features/LearningManagement/RuleContent/RenameScopeModal.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/RuleAccordion.js +126 -1
- package/dist/features/LearningManagement/RuleContent/RuleAccordion.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/RuleAccordionHeader.js +255 -1
- package/dist/features/LearningManagement/RuleContent/RuleAccordionHeader.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/RuleAccordionShell.js +74 -1
- package/dist/features/LearningManagement/RuleContent/RuleAccordionShell.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/RuleConditionBlock.js +75 -1
- package/dist/features/LearningManagement/RuleContent/RuleConditionBlock.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/RuleContent.js +722 -1
- package/dist/features/LearningManagement/RuleContent/RuleContent.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/RuleHeader.js +76 -1
- package/dist/features/LearningManagement/RuleContent/RuleHeader.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/RuleTierList.js +56 -1
- package/dist/features/LearningManagement/RuleContent/RuleTierList.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/TierCard.js +346 -1
- package/dist/features/LearningManagement/RuleContent/TierCard.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/VariantCard.js +588 -1
- package/dist/features/LearningManagement/RuleContent/VariantCard.js.map +1 -1
- package/dist/features/LearningManagement/RuleContent/VariantList.js +267 -1
- package/dist/features/LearningManagement/RuleContent/VariantList.js.map +1 -1
- package/dist/features/LearningManagement/ScopeSelector.js +218 -1
- package/dist/features/LearningManagement/ScopeSelector.js.map +1 -1
- package/dist/features/LearningManagement/Sidebar.js +66 -1
- package/dist/features/LearningManagement/Sidebar.js.map +1 -1
- package/dist/features/LearningManagement/SidebarWrapper.js +51 -1
- package/dist/features/LearningManagement/SidebarWrapper.js.map +1 -1
- package/dist/features/LearningManagement/StationsContent/StationsContent.js +114 -1
- package/dist/features/LearningManagement/StationsContent/StationsContent.js.map +1 -1
- package/dist/features/LearningManagement/apis/apiConfig.js +58 -1
- package/dist/features/LearningManagement/apis/apiConfig.js.map +1 -1
- package/dist/features/LearningManagement/apis/scopeApis.js +686 -1
- package/dist/features/LearningManagement/apis/scopeApis.js.map +1 -1
- package/dist/features/LearningManagement/assets/Vector.svg.js +14 -1
- package/dist/features/LearningManagement/assets/Vector.svg.js.map +1 -1
- package/dist/features/LearningManagement/components/CardSkeleton.js +32 -1
- package/dist/features/LearningManagement/components/CardSkeleton.js.map +1 -1
- package/dist/features/LearningManagement/components/ConfirmationModal.js +69 -1
- package/dist/features/LearningManagement/components/ConfirmationModal.js.map +1 -1
- package/dist/features/LearningManagement/components/CreateRuleSetLegacyModal.js +326 -1
- package/dist/features/LearningManagement/components/CreateRuleSetLegacyModal.js.map +1 -1
- package/dist/features/LearningManagement/components/CustomTooltip.js +50 -1
- package/dist/features/LearningManagement/components/CustomTooltip.js.map +1 -1
- package/dist/features/LearningManagement/components/EmptyLearningState.js +65 -1
- package/dist/features/LearningManagement/components/EmptyLearningState.js.map +1 -1
- package/dist/features/LearningManagement/components/ErrorStateDisplay.js +29 -1
- package/dist/features/LearningManagement/components/ErrorStateDisplay.js.map +1 -1
- package/dist/features/LearningManagement/components/InstantLearningModal.js +5512 -1
- package/dist/features/LearningManagement/components/InstantLearningModal.js.map +1 -1
- package/dist/features/LearningManagement/components/InstantLearningModalDynamic.js +5669 -1
- package/dist/features/LearningManagement/components/InstantLearningModalDynamic.js.map +1 -1
- package/dist/features/LearningManagement/components/LearningTemplateManagementSkeleton.js +71 -1
- package/dist/features/LearningManagement/components/LearningTemplateManagementSkeleton.js.map +1 -1
- package/dist/features/LearningManagement/components/PromptTextEditor.js +99 -1
- package/dist/features/LearningManagement/components/PromptTextEditor.js.map +1 -1
- package/dist/features/LearningManagement/components/RuleContentSkeleton.js +40 -1
- package/dist/features/LearningManagement/components/RuleContentSkeleton.js.map +1 -1
- package/dist/features/LearningManagement/components/ScopeSkeletonLoader.js +174 -1
- package/dist/features/LearningManagement/components/ScopeSkeletonLoader.js.map +1 -1
- package/dist/features/LearningManagement/components/ScopeTree/HighlightedText.js +15 -1
- package/dist/features/LearningManagement/components/ScopeTree/HighlightedText.js.map +1 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeAddAction.js +27 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeAddAction.js.map +1 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeMenu.js +131 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeMenu.js.map +1 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeNode.js +268 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeNode.js.map +1 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeNodeHeader.js +69 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeNodeHeader.js.map +1 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeSectionItem.js +33 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeSectionItem.js.map +1 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeSidebar.js +161 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeSidebar.js.map +1 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeTooltip.js +48 -1
- package/dist/features/LearningManagement/components/ScopeTree/TreeTooltip.js.map +1 -1
- package/dist/features/LearningManagement/components/SidebarSearch.js +34 -1
- package/dist/features/LearningManagement/components/SidebarSearch.js.map +1 -1
- package/dist/features/LearningManagement/components/Skeleton.js +22 -1
- package/dist/features/LearningManagement/components/Skeleton.js.map +1 -1
- package/dist/features/LearningManagement/components/StationOnboarding/DayToggleSelector.js +88 -1
- package/dist/features/LearningManagement/components/StationOnboarding/DayToggleSelector.js.map +1 -1
- package/dist/features/LearningManagement/components/StationOnboarding/InputField.js +236 -1
- package/dist/features/LearningManagement/components/StationOnboarding/InputField.js.map +1 -1
- package/dist/features/LearningManagement/components/StationOnboarding/OnboardingLoader.js +166 -1
- package/dist/features/LearningManagement/components/StationOnboarding/OnboardingLoader.js.map +1 -1
- package/dist/features/LearningManagement/components/StationOnboarding/StationAutocomplete.js +121 -1
- package/dist/features/LearningManagement/components/StationOnboarding/StationAutocomplete.js.map +1 -1
- package/dist/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js +990 -1
- package/dist/features/LearningManagement/components/StationOnboarding/StationOnboardModal.js.map +1 -1
- package/dist/features/LearningManagement/components/StationOnboarding/TemplateCard.js +70 -1
- package/dist/features/LearningManagement/components/StationOnboarding/TemplateCard.js.map +1 -1
- package/dist/features/LearningManagement/components/ToolTip.js +20 -1
- package/dist/features/LearningManagement/components/ToolTip.js.map +1 -1
- package/dist/features/LearningManagement/config.js +69 -1
- package/dist/features/LearningManagement/config.js.map +1 -1
- package/dist/features/LearningManagement/constants.js +15 -1
- package/dist/features/LearningManagement/constants.js.map +1 -1
- package/dist/features/LearningManagement/hooks/useLearningTemplateQueryParams.js +72 -1
- package/dist/features/LearningManagement/hooks/useLearningTemplateQueryParams.js.map +1 -1
- package/dist/features/LearningManagement/queries/useApprovalQueries.js +62 -1
- package/dist/features/LearningManagement/queries/useApprovalQueries.js.map +1 -1
- package/dist/features/LearningManagement/queries/useLMSConfigQuery.js +62 -1
- package/dist/features/LearningManagement/queries/useLMSConfigQuery.js.map +1 -1
- package/dist/features/LearningManagement/shared/ErrorToastContent.js +19 -1
- package/dist/features/LearningManagement/shared/ErrorToastContent.js.map +1 -1
- package/dist/features/LearningManagement/shared/SuccessToastContent.js +19 -1
- package/dist/features/LearningManagement/shared/SuccessToastContent.js.map +1 -1
- package/dist/features/LearningManagement/store/useAppSecRolesStore.js +8 -1
- package/dist/features/LearningManagement/store/useAppSecRolesStore.js.map +1 -1
- package/dist/features/LearningManagement/store/useAuthStore.js +15 -1
- package/dist/features/LearningManagement/store/useAuthStore.js.map +1 -1
- package/dist/features/LearningManagement/store/useConfigStore.js +43 -1
- package/dist/features/LearningManagement/store/useConfigStore.js.map +1 -1
- package/dist/features/LearningManagement/store/useEnvStore.js +23 -1
- package/dist/features/LearningManagement/store/useEnvStore.js.map +1 -1
- package/dist/features/LearningManagement/store/useExternalWorkflowStore.js +56 -1
- package/dist/features/LearningManagement/store/useExternalWorkflowStore.js.map +1 -1
- package/dist/features/LearningManagement/store/useLMSConfigStore.js +271 -1
- package/dist/features/LearningManagement/store/useLMSConfigStore.js.map +1 -1
- package/dist/features/LearningManagement/store/useLearningTemplateStore.js +127 -1
- package/dist/features/LearningManagement/store/useLearningTemplateStore.js.map +1 -1
- package/dist/features/LearningManagement/store/usePermissionsStore.js +76 -1
- package/dist/features/LearningManagement/store/usePermissionsStore.js.map +1 -1
- package/dist/features/LearningManagement/styles/CardSkeleton.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/CardSkeleton.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/ConfirmationModal.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/ConfirmationModal.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/CustomTooltip.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/CustomTooltip.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/DraftsAccordion.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/DraftsAccordion.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/EmptyRuleState.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/EmptyRuleState.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/ErrorStateDisplay.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/ErrorStateDisplay.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/InputField.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/InputField.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/InstantLearningModal.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/InstantLearningModal.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/LearningContent.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/LearningContent.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/LearningContentSkeleton.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/LearningContentSkeleton.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/LearningTemplateLayout.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/LearningTemplateLayout.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/LearningTemplateManagement.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/LearningTemplateManagement.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/LearningTemplateManagementSkeleton.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/LearningTemplateManagementSkeleton.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/OnboardingLoader.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/OnboardingLoader.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/OverrideTimeline.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/OverrideTimeline.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/PromptTextEditor.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/PromptTextEditor.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/RuleAccordion.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/RuleAccordion.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/RuleHeader.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/RuleHeader.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/RuleTierList.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/RuleTierList.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/ScopeTree.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/ScopeTree.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/Sidebar.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/Sidebar.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/StationAutocomplete.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/StationAutocomplete.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/StationOnboardModal.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/StationOnboardModal.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/StationsContent.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/StationsContent.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/TemplateCard.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/TemplateCard.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/TierCard.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/TierCard.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/ToastContent.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/ToastContent.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/ToolTip.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/ToolTip.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/VariantCard.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/VariantCard.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/VariantList.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/VariantList.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/common.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/common.module.css.js.map +1 -1
- package/dist/features/LearningManagement/styles/skeleton.module.css.js +7 -1
- package/dist/features/LearningManagement/styles/skeleton.module.css.js.map +1 -1
- package/dist/features/LearningManagement/utils/learningFlow.js +10 -1
- package/dist/features/LearningManagement/utils/learningFlow.js.map +1 -1
- package/dist/features/LearningManagement/utils/learningMetadataUtils.js +66 -1
- package/dist/features/LearningManagement/utils/learningMetadataUtils.js.map +1 -1
- package/dist/features/LearningManagement/utils/saveDraft.js +31 -1
- package/dist/features/LearningManagement/utils/saveDraft.js.map +1 -1
- package/dist/features/LearningManagement/utils/treeUtils.js +38 -1
- package/dist/features/LearningManagement/utils/treeUtils.js.map +1 -1
- package/dist/features/WtaWnta/WtaWnta.js +423 -1
- package/dist/features/WtaWnta/WtaWnta.js.map +1 -1
- package/dist/features/WtaWnta/WtaWnta.module.css.js +7 -1
- package/dist/features/WtaWnta/WtaWnta.module.css.js.map +1 -1
- package/dist/features/WtaWnta/_components/AgentDetailsForm.js +974 -1
- package/dist/features/WtaWnta/_components/AgentDetailsForm.js.map +1 -1
- package/dist/features/WtaWnta/_components/SimilarConflictingCard.js +240 -1
- package/dist/features/WtaWnta/_components/SimilarConflictingCard.js.map +1 -1
- package/dist/features/WtaWnta/_components/ValidationCard.js +295 -1
- package/dist/features/WtaWnta/_components/ValidationCard.js.map +1 -1
- package/dist/hooks/useAgentFix.js +46 -1
- package/dist/hooks/useAgentFix.js.map +1 -1
- package/dist/hooks/useAgentSuggestions.js +54 -1
- package/dist/hooks/useAgentSuggestions.js.map +1 -1
- package/dist/hooks/useAgentValidation.js +51 -1
- package/dist/hooks/useAgentValidation.js.map +1 -1
- package/dist/hooks/useDebounce.js +16 -1
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useExistingAgentCheck.js +45 -1
- package/dist/hooks/useExistingAgentCheck.js.map +1 -1
- package/dist/hooks/useExistingPromptCheck.js +51 -1
- package/dist/hooks/useExistingPromptCheck.js.map +1 -1
- package/dist/hooks/usePromptFix.js +45 -1
- package/dist/hooks/usePromptFix.js.map +1 -1
- package/dist/hooks/usePromptSuggestions.js +51 -1
- package/dist/hooks/usePromptSuggestions.js.map +1 -1
- package/dist/hooks/usePromptValidation.js +53 -1
- package/dist/hooks/usePromptValidation.js.map +1 -1
- package/dist/index.js +56 -1
- package/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +28 -1
- package/dist/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +1 -1
- package/dist/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js +175 -1
- package/dist/plugins/ValueTypes/Default/DefaultTeachMeRenderer.js.map +1 -1
- package/dist/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js +156 -1
- package/dist/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.js.map +1 -1
- package/dist/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js +66 -1
- package/dist/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js.map +1 -1
- package/dist/schema-driven/BPARenderer.js +179 -1
- package/dist/schema-driven/BPARenderer.js.map +1 -1
- package/dist/schema-driven/FallbackField.js +33 -1
- package/dist/schema-driven/FallbackField.js.map +1 -1
- package/dist/schema-driven/components/ConditionSectionField.js +40 -1
- package/dist/schema-driven/components/ConditionSectionField.js.map +1 -1
- package/dist/schema-driven/components/ConfigSectionField.js +16 -1
- package/dist/schema-driven/components/ConfigSectionField.js.map +1 -1
- package/dist/schema-driven/components/DropdownSectionField.js +31 -1
- package/dist/schema-driven/components/DropdownSectionField.js.map +1 -1
- package/dist/schema-driven/components/GlobalSetupAccordionField.js +182 -1
- package/dist/schema-driven/components/GlobalSetupAccordionField.js.map +1 -1
- package/dist/schema-driven/components/GroupEditRow.js +166 -1
- package/dist/schema-driven/components/GroupEditRow.js.map +1 -1
- package/dist/schema-driven/components/PromptTextEditorField.js +211 -1
- package/dist/schema-driven/components/PromptTextEditorField.js.map +1 -1
- package/dist/schema-driven/components/ScopeSectionField.js +21 -1
- package/dist/schema-driven/components/ScopeSectionField.js.map +1 -1
- package/dist/schema-driven/components/TableComponent.js +388 -1
- package/dist/schema-driven/components/TableComponent.js.map +1 -1
- package/dist/schema-driven/components/TextInputField.js +47 -1
- package/dist/schema-driven/components/TextInputField.js.map +1 -1
- package/dist/schema-driven/components/VariantListField.js +333 -1
- package/dist/schema-driven/components/VariantListField.js.map +1 -1
- package/dist/schema-driven/helper.js +116 -1
- package/dist/schema-driven/helper.js.map +1 -1
- package/dist/schema-driven/hooks/useParentEditEnabled.js +13 -1
- package/dist/schema-driven/hooks/useParentEditEnabled.js.map +1 -1
- package/dist/schema-driven/hooks/useSectionEditSession.js +156 -1
- package/dist/schema-driven/hooks/useSectionEditSession.js.map +1 -1
- package/dist/schema-driven/primitives/Accordion.js +160 -1
- package/dist/schema-driven/primitives/Accordion.js.map +1 -1
- package/dist/schema-driven/store/useDynamicFormStore.js +120 -1
- package/dist/schema-driven/store/useDynamicFormStore.js.map +1 -1
- package/dist/schema-driven/types.js +13 -1
- package/dist/schema-driven/types.js.map +1 -1
- package/dist/schema-driven/utils/PayloadUtils.js +248 -1
- package/dist/schema-driven/utils/PayloadUtils.js.map +1 -1
- package/dist/schema-driven/utils/aiReasoning.js +8 -1
- package/dist/schema-driven/utils/aiReasoning.js.map +1 -1
- package/dist/schema-driven/utils/conditionText.js +18 -1
- package/dist/schema-driven/utils/conditionText.js.map +1 -1
- package/dist/schema-driven/utils/editLock.js +43 -1
- package/dist/schema-driven/utils/editLock.js.map +1 -1
- package/dist/service/InstantLearningService.js +33 -1
- package/dist/service/InstantLearningService.js.map +1 -1
- package/dist/types/src/AccordianHeadTest.d.ts +2 -2
- package/dist/types/src/App.d.ts +3 -3
- package/dist/types/src/CommonComponents/AccordianHead/AccordianHead.d.ts +8 -8
- package/dist/types/src/CommonComponents/CustomDropdown.d.ts +3 -3
- package/dist/types/src/CommonComponents/GradientSparkleIcon.d.ts +5 -5
- package/dist/types/src/CommonComponents/HelloWorld.d.ts +2 -2
- package/dist/types/src/CommonComponents/NoTableData.d.ts +6 -6
- package/dist/types/src/CommonComponents/Spinner.d.ts +4 -4
- package/dist/types/src/CommonConstants/CommonConstants.d.ts +4 -4
- package/dist/types/src/ComponentRegistry.d.ts +12 -12
- package/dist/types/src/ContinueWithTemplateModal.d.ts +23 -23
- package/dist/types/src/CustomStylesProvider.d.ts +5 -5
- package/dist/types/src/CustomThemeProvider.d.ts +6 -6
- package/dist/types/src/GoogleFilePickerDemo.d.ts +2 -2
- package/dist/types/src/ILMarketplaceMockTest.d.ts +3 -3
- package/dist/types/src/ILMarketplaceMockTest.d.ts.map +1 -1
- package/dist/types/src/ILMarketplaceWrapper.d.ts +200 -194
- package/dist/types/src/ILMarketplaceWrapper.d.ts.map +1 -1
- package/dist/types/src/PublishToMarketplaceTest.d.ts +3 -3
- package/dist/types/src/adapters/creativeWorkspaceAdapter.d.ts +64 -64
- package/dist/types/src/api/transport.d.ts +43 -43
- package/dist/types/src/context/DataSelectedContext.d.ts +72 -72
- package/dist/types/src/features/DataSelector/DataSelector.d.ts +17 -17
- package/dist/types/src/features/DataSelector/components/DataSelectionOptionsScreen.d.ts +3 -3
- package/dist/types/src/features/DataSelector/components/RLEFDataPointsListInSelectedDataSetCollection.d.ts +3 -3
- package/dist/types/src/features/DataSelector/components/RLEFDataSetCollectionsList.d.ts +3 -3
- package/dist/types/src/features/DataSelector/components/RlefDataTabsComponent.d.ts +3 -3
- package/dist/types/src/features/DataSelector/components/RlefHistoricalCopilotData.d.ts +3 -3
- package/dist/types/src/features/DataSelector/components/SavedDataSetListScreen.d.ts +13 -13
- package/dist/types/src/features/DataSelector/components/SelectedDataList.d.ts +3 -3
- package/dist/types/src/features/DataSelector/components/subcomponents/DataSetElement/DataSetElement.d.ts +10 -10
- package/dist/types/src/features/DataSelector/components/subcomponents/Pagination/Pagination.d.ts +7 -7
- package/dist/types/src/features/DataSelector/tables/ShowSelectedDataTable.d.ts +3 -3
- package/dist/types/src/features/DocumentLearning/DocumentLearning.d.ts +20 -20
- package/dist/types/src/features/DocumentLearning/_components/AudioWaveform.d.ts +12 -12
- package/dist/types/src/features/DocumentLearning/_components/BookLearningForm.d.ts +22 -22
- package/dist/types/src/features/DocumentLearning/_components/ChatComponent.d.ts +60 -60
- package/dist/types/src/features/DocumentLearning/_components/ConflictingLearningWarnCard.d.ts +12 -12
- package/dist/types/src/features/DocumentLearning/_components/ConflictingLearningWarnCardDB.d.ts +40 -40
- package/dist/types/src/features/DocumentLearning/_components/ContextualChatComponent.d.ts +61 -61
- package/dist/types/src/features/DocumentLearning/_components/ContextualConflictDBCard.d.ts +29 -29
- package/dist/types/src/features/DocumentLearning/_components/LearningDetailsForm.d.ts +70 -70
- package/dist/types/src/features/DocumentLearning/_components/MessageRendering.d.ts +9 -9
- package/dist/types/src/features/DocumentLearning/_components/MinimizedThinkingSteps.d.ts +3 -3
- package/dist/types/src/features/DocumentLearning/_components/SimilarLearningCard.d.ts +19 -19
- package/dist/types/src/features/DocumentLearning/_components/TemplateRetrievalForm.d.ts +49 -49
- package/dist/types/src/features/DocumentLearning/_components/TooltipComponent.d.ts +7 -7
- package/dist/types/src/features/DocumentLearning/_components/_svg/ArrowDown.d.ts +3 -3
- package/dist/types/src/features/DocumentLearning/_components/_svg/ArrowIconBlue.d.ts +3 -3
- package/dist/types/src/features/DocumentLearning/_components/_svg/CompleteIconGreen.d.ts +3 -3
- package/dist/types/src/features/DocumentLearning/_components/_svg/NewChatIcon.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/ILOTJ.d.ts +100 -100
- package/dist/types/src/features/IL-OTJ/ILOTJTest.d.ts +608 -608
- package/dist/types/src/features/IL-OTJ/ILOTJTriageAITest.d.ts +11 -11
- package/dist/types/src/features/IL-OTJ/ValueTypeWrappers/TeachMePlugin.d.ts +98 -98
- package/dist/types/src/features/IL-OTJ/ValueTypeWrappers/TeachMeWrapper.d.ts +34 -34
- package/dist/types/src/features/IL-OTJ/_components/AccordianSection.d.ts +51 -51
- package/dist/types/src/features/IL-OTJ/_components/AudioWaveform.d.ts +12 -12
- package/dist/types/src/features/IL-OTJ/_components/ChatComponents/ChatComponent.d.ts +58 -58
- package/dist/types/src/features/IL-OTJ/_components/ChatComponents/ChatComponent.d.ts.map +1 -1
- package/dist/types/src/features/IL-OTJ/_components/ChatComponents/ChatHeader.d.ts +11 -11
- package/dist/types/src/features/IL-OTJ/_components/ChatComponents/NormalChat.d.ts +44 -44
- package/dist/types/src/features/IL-OTJ/_components/ChatComponents/NormalChat.d.ts.map +1 -1
- package/dist/types/src/features/IL-OTJ/_components/ChatComponents/mockComparisonData.d.ts +1502 -1502
- package/dist/types/src/features/IL-OTJ/_components/CitationLink.d.ts +17 -17
- package/dist/types/src/features/IL-OTJ/_components/CognitiveDecisioningCard.d.ts +10 -10
- package/dist/types/src/features/IL-OTJ/_components/ConflictingReasoningCard.d.ts +10 -10
- package/dist/types/src/features/IL-OTJ/_components/CriticalGaps.d.ts +10 -10
- package/dist/types/src/features/IL-OTJ/_components/GapExplanationAccordion.d.ts +9 -9
- package/dist/types/src/features/IL-OTJ/_components/ILPopup.d.ts +37 -37
- package/dist/types/src/features/IL-OTJ/_components/ILPopup.styles.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/InputDataReasoningCard.d.ts +10 -10
- package/dist/types/src/features/IL-OTJ/_components/MarkdownComponents/MarkdownElements.d.ts +32 -32
- package/dist/types/src/features/IL-OTJ/_components/MarkdownComponents/MarkdownSelect.d.ts +25 -25
- package/dist/types/src/features/IL-OTJ/_components/MarkdownRenderer.d.ts +24 -24
- package/dist/types/src/features/IL-OTJ/_components/MessageRendering/ChatFeedback.d.ts +25 -25
- package/dist/types/src/features/IL-OTJ/_components/MessageRendering/ClickableChatComponents.d.ts +7 -7
- package/dist/types/src/features/IL-OTJ/_components/MessageRendering/MessageRendering.d.ts +34 -34
- package/dist/types/src/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.d.ts +23 -23
- package/dist/types/src/features/IL-OTJ/_components/MessageRendering/RuleVariantCard.d.ts +16 -16
- package/dist/types/src/features/IL-OTJ/_components/MinimizedThinkingSteps.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/NewMinimizedThinkingSteps.d.ts +6 -6
- package/dist/types/src/features/IL-OTJ/_components/TooltipComponent.d.ts +7 -7
- package/dist/types/src/features/IL-OTJ/_components/VariantLoadingOverlay.d.ts +8 -8
- package/dist/types/src/features/IL-OTJ/_components/ViewFormUpdateCard.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/_components/ViewIdentifiedFieldsCard.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/AgentStepsView.d.ts +15 -15
- package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/StepDetailView.d.ts +10 -10
- package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/Thinkingstepshelper.d.ts +42 -42
- package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/Usethinkingsteps.d.ts +26 -26
- package/dist/types/src/features/IL-OTJ/_components/WatchMeWork/WorkingIndicator.d.ts +6 -6
- package/dist/types/src/features/IL-OTJ/_components/_svg/ArrowDown.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/ArrowIconBlue.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/BookIcon.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/ButtonCognitiveIcon.d.ts +6 -6
- package/dist/types/src/features/IL-OTJ/_components/_svg/ChevronDown.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/ChevronIcon.d.ts +6 -6
- package/dist/types/src/features/IL-OTJ/_components/_svg/ChevronUp.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/CitationLinkSparkleIcon.d.ts +9 -9
- package/dist/types/src/features/IL-OTJ/_components/_svg/CognitiveDecisioning.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/CompleteIconGreen.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/EditPencilIcon.d.ts +6 -6
- package/dist/types/src/features/IL-OTJ/_components/_svg/GapIcon.d.ts +9 -9
- package/dist/types/src/features/IL-OTJ/_components/_svg/HumanWithBrainIcon.d.ts +8 -8
- package/dist/types/src/features/IL-OTJ/_components/_svg/InfoIcon.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/LeftAndRightArrow.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/Lightbulb.d.ts +9 -9
- package/dist/types/src/features/IL-OTJ/_components/_svg/NewChatIcon.d.ts +9 -9
- package/dist/types/src/features/IL-OTJ/_components/_svg/PencilEdit.d.ts +8 -8
- package/dist/types/src/features/IL-OTJ/_components/_svg/RadioButton.d.ts +9 -9
- package/dist/types/src/features/IL-OTJ/_components/_svg/RightSideIcons.d.ts +9 -9
- package/dist/types/src/features/IL-OTJ/_components/_svg/ScrollToBottom.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/_components/_svg/SendButton.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/_components/_svg/SparkleIcon.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/TickIcon.d.ts +9 -9
- package/dist/types/src/features/IL-OTJ/_components/_svg/UserIcon.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/_components/_svg/WarningIcon.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/_svg/WatchMeWorkIcon.d.ts +3 -3
- package/dist/types/src/features/IL-OTJ/_components/atoms/Button/Button.d.ts +6 -6
- package/dist/types/src/features/IL-OTJ/_components/atoms/Button/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/atoms/Dropdown/Dropdown.d.ts +14 -14
- package/dist/types/src/features/IL-OTJ/_components/atoms/Dropdown/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/atoms/SkeletonLoader/SkeletonLoader.d.ts +10 -10
- package/dist/types/src/features/IL-OTJ/_components/atoms/Textarea/Textarea.d.ts +27 -27
- package/dist/types/src/features/IL-OTJ/_components/atoms/Textarea/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/atoms/Toggle/Toggle.d.ts +8 -8
- package/dist/types/src/features/IL-OTJ/_components/atoms/Toggle/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/cognitiveDecisioningThemeStyles.d.ts +97 -97
- package/dist/types/src/features/IL-OTJ/_components/hooks/usePendingEditHighlight.d.ts +4 -4
- package/dist/types/src/features/IL-OTJ/_components/hooks/useVariantEditSession.d.ts +65 -65
- package/dist/types/src/features/IL-OTJ/_components/index.d.ts +21 -21
- package/dist/types/src/features/IL-OTJ/_components/molecules/Condition/ConditionList.d.ts +38 -38
- package/dist/types/src/features/IL-OTJ/_components/molecules/Condition/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/molecules/Sections/SectionWrapper.d.ts +18 -18
- package/dist/types/src/features/IL-OTJ/_components/molecules/Sections/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/molecules/SeperationRow/SeparationRow.d.ts +14 -14
- package/dist/types/src/features/IL-OTJ/_components/molecules/SeperationRow/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/organisms/ConditionSection/ConditionSection.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/_components/organisms/ConditionSection/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/organisms/ConfigSection/ConfigSection.d.ts +29 -29
- package/dist/types/src/features/IL-OTJ/_components/organisms/ConfigSection/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/organisms/DropdownSection/DropdownSection.d.ts +16 -16
- package/dist/types/src/features/IL-OTJ/_components/organisms/DropdownSection/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/organisms/ScopeSection/ScopeSection.d.ts +33 -33
- package/dist/types/src/features/IL-OTJ/_components/organisms/ScopeSection/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/organisms/TextSection/TextSection.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/_components/organisms/TextSection/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/templates/BaseTemplate/BaseTemplate.d.ts +72 -72
- package/dist/types/src/features/IL-OTJ/_components/templates/CreateCategory/CreateCategory.d.ts +70 -70
- package/dist/types/src/features/IL-OTJ/_components/templates/RuleComparison/AgentComposerRuleComparison.d.ts +54 -54
- package/dist/types/src/features/IL-OTJ/_components/templates/RuleComparison/RuleComparison.d.ts +21 -21
- package/dist/types/src/features/IL-OTJ/_components/templates/RuleComparison/RuleComparisonNew.d.ts +56 -56
- package/dist/types/src/features/IL-OTJ/_components/templates/SchemaDriven/SchemaDrivenCreateRule.d.ts +11 -11
- package/dist/types/src/features/IL-OTJ/_components/templates/TemplatesMap/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/templates/TemplatesMap/templatesMap.d.ts +11 -11
- package/dist/types/src/features/IL-OTJ/_components/templates/Testing/Testing.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/_components/templates/Testing/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/templates/TrafficManager/CreateRule.d.ts +9 -9
- package/dist/types/src/features/IL-OTJ/_components/templates/TrafficManager/TrafficManagerTemplate.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/_components/templates/TrafficManager/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/_components/templates/WorkflowComposer/WorkflowComposer.d.ts +2 -2
- package/dist/types/src/features/IL-OTJ/helpers/index.d.ts +1 -1
- package/dist/types/src/features/IL-OTJ/helpers/message-rendering-utils.d.ts +25 -25
- package/dist/types/src/features/IL-OTJ/helpers/utils.d.ts +22 -22
- package/dist/types/src/features/IL-OTJ/store/CitationsContext.d.ts +22 -22
- package/dist/types/src/features/IL-OTJ/store/index.d.ts +1 -1
- package/dist/types/src/features/IL-marketplace/PromoteFlow/EnvironmentConfigurationModal.d.ts +17 -17
- package/dist/types/src/features/IL-marketplace/PromoteFlow/PromoteFlow.d.ts +10 -10
- package/dist/types/src/features/IL-marketplace/PromoteFlow/promote-flow.api.d.ts +9 -9
- package/dist/types/src/features/IL-marketplace/PromoteFlow/promote-flow.interfaces.d.ts +79 -79
- package/dist/types/src/features/IL-marketplace/PromoteFlow/promote-flow.store.d.ts +17 -17
- package/dist/types/src/features/IL-marketplace/PromoteFlow/promote-flow.utils.d.ts +14 -14
- package/dist/types/src/features/IL-marketplace/components/GuidelineCardMenu.d.ts +33 -33
- package/dist/types/src/features/IL-marketplace/components/GuidelineCart.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/components/GuidelineCartHeader.d.ts +13 -13
- package/dist/types/src/features/IL-marketplace/components/GuidelineCartItem.d.ts +15 -15
- package/dist/types/src/features/IL-marketplace/components/GuidelineConfirmDialog.d.ts +17 -17
- package/dist/types/src/features/IL-marketplace/components/GuidelineEmptyState.d.ts +10 -10
- package/dist/types/src/features/IL-marketplace/components/GuidelineFilterPanel.d.ts +8 -8
- package/dist/types/src/features/IL-marketplace/components/GuidelineHeader.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/components/GuidelineIconButton.d.ts +14 -14
- package/dist/types/src/features/IL-marketplace/components/GuidelineLandingPage.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/components/GuidelineLibrary.d.ts +67 -67
- package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryCard.d.ts +109 -109
- package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryCard.d.ts.map +1 -1
- package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryContent.d.ts +98 -96
- package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryContent.d.ts.map +1 -1
- package/dist/types/src/features/IL-marketplace/components/GuidelineLibraryTab.d.ts +26 -26
- package/dist/types/src/features/IL-marketplace/components/GuidelineProceedButton.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/components/GuidelineSelectButton.d.ts +10 -10
- package/dist/types/src/features/IL-marketplace/components/GuidelineStatusChip.d.ts +9 -9
- package/dist/types/src/features/IL-marketplace/components/GuidelineTooltip.d.ts +9 -9
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionBody.d.ts +2 -2
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/LearningsSelectionFooter.d.ts +7 -7
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationBody.d.ts +2 -2
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/LearningsValidationFooter.d.ts +7 -7
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishDetailsCards.d.ts +23 -23
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishEmptyState.d.ts +7 -7
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepBody.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepFooter.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishStepper.d.ts +4 -4
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.constants.d.ts +2 -2
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplace.types.d.ts +95 -95
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/PublishToMarketplaceCompnent.d.ts +34 -34
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryBody.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/ReleaseSummaryFooter.d.ts +13 -13
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsBody.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/components/ILMarketPlacePublish/TemplateDetailsFooter.d.ts +7 -7
- package/dist/types/src/features/IL-marketplace/components/LearningManagementWrapper.d.ts +36 -36
- package/dist/types/src/features/IL-marketplace/components/VersionSelectDropdown.d.ts +12 -12
- package/dist/types/src/features/IL-marketplace/constants.d.ts +182 -182
- package/dist/types/src/features/IL-marketplace/hooks/useControllableState.d.ts +7 -7
- package/dist/types/src/features/IL-marketplace/hooks/useDeleteGuidelineMutation.d.ts +9 -9
- package/dist/types/src/features/IL-marketplace/hooks/useGuidelineSelection.d.ts +16 -16
- package/dist/types/src/features/IL-marketplace/hooks/useGuidelineWorkspaceLegacyBridge.d.ts +5 -5
- package/dist/types/src/features/IL-marketplace/hooks/useMarketplaceApprovalStatus.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/hooks/useMarketplacePublishILKBData.d.ts +28 -28
- package/dist/types/src/features/IL-marketplace/hooks/usePublishingFlowConfig.d.ts +15 -15
- package/dist/types/src/features/IL-marketplace/icons/GuidelineSpinner.d.ts +6 -6
- package/dist/types/src/features/IL-marketplace/index.d.ts +43 -43
- package/dist/types/src/features/IL-marketplace/marketplaceTheme.d.ts +98 -98
- package/dist/types/src/features/IL-marketplace/queryClient.d.ts +2 -2
- package/dist/types/src/features/IL-marketplace/services/IL-marketplace.api.d.ts +172 -172
- package/dist/types/src/features/IL-marketplace/services/guideline.api.d.ts +1 -1
- package/dist/types/src/features/IL-marketplace/services/guideline.cart.api.d.ts +27 -27
- package/dist/types/src/features/IL-marketplace/services/guideline.chat.d.ts +1 -1
- package/dist/types/src/features/IL-marketplace/services/guideline.content.d.ts +1 -1
- package/dist/types/src/features/IL-marketplace/services/guideline.core.api.d.ts +50 -50
- package/dist/types/src/features/IL-marketplace/services/guideline.runtime.config.d.ts +49 -49
- package/dist/types/src/features/IL-marketplace/services/guideline.session.d.ts +9 -9
- package/dist/types/src/features/IL-marketplace/services/instant-learning.api.d.ts +112 -112
- package/dist/types/src/features/IL-marketplace/services/instant-learning.wishlist.d.ts +7 -7
- package/dist/types/src/features/IL-marketplace/store/usePublishTemplateStore.d.ts +13 -13
- package/dist/types/src/features/IL-marketplace/store/usePublishingFlowConfigStore.d.ts +131 -131
- package/dist/types/src/features/IL-marketplace/types/add-context.types.d.ts +39 -39
- package/dist/types/src/features/IL-marketplace/types/api.types.d.ts +115 -115
- package/dist/types/src/features/IL-marketplace/types/file-item.d.ts +61 -61
- package/dist/types/src/features/IL-marketplace/types/guideline.api.types.d.ts +10 -10
- package/dist/types/src/features/IL-marketplace/types/guideline.types.d.ts +41 -41
- package/dist/types/src/features/IL-marketplace/types.d.ts +546 -469
- package/dist/types/src/features/IL-marketplace/types.d.ts.map +1 -1
- package/dist/types/src/features/IL-marketplace/utils/addContextHelpers.d.ts +6 -6
- package/dist/types/src/features/IL-marketplace/utils/cn.d.ts +2 -2
- package/dist/types/src/features/IL-marketplace/utils/guidelineFiles.d.ts +16 -16
- package/dist/types/src/features/IL-marketplace/utils/guidelineOverlay.d.ts +2 -2
- package/dist/types/src/features/IL-marketplace/utils/guidelineSort.d.ts +2 -2
- package/dist/types/src/features/IL-marketplace/utils/microfrontend.d.ts +22 -22
- package/dist/types/src/features/IL-marketplace/utils/publishingFlow.d.ts +34 -34
- package/dist/types/src/features/IL-marketplace/utils/session.d.ts +3 -3
- package/dist/types/src/features/IL-marketplace/utils/url.d.ts +1 -1
- package/dist/types/src/features/IL-marketplace/utils.d.ts +74 -74
- package/dist/types/src/features/IL-marketplace/workspace/useGuidelineWorkspace.d.ts +43 -43
- package/dist/types/src/features/IL-marketplace/workspace/workspace.context.d.ts +8 -8
- package/dist/types/src/features/IL-marketplace/workspace/workspace.runtime.d.ts +11 -11
- package/dist/types/src/features/IL-marketplace/workspace/workspace.selectors.d.ts +4 -4
- package/dist/types/src/features/IL-marketplace/workspace/workspace.types.d.ts +88 -88
- package/dist/types/src/features/InstantLearning/InstantLearning.d.ts +118 -118
- package/dist/types/src/features/InstantLearning/_components/AudioWaveform.d.ts +12 -12
- package/dist/types/src/features/InstantLearning/_components/ChatComponent.d.ts +58 -58
- package/dist/types/src/features/InstantLearning/_components/ConflictingLearningWarnCard.d.ts +12 -12
- package/dist/types/src/features/InstantLearning/_components/ConflictingLearningWarnCardDB.d.ts +40 -40
- package/dist/types/src/features/InstantLearning/_components/ContextualChatComponent.d.ts +64 -64
- package/dist/types/src/features/InstantLearning/_components/ContextualConflictDBCard.d.ts +31 -31
- package/dist/types/src/features/InstantLearning/_components/ContextualLearningForm.d.ts +45 -45
- package/dist/types/src/features/InstantLearning/_components/DebuggerPanel.d.ts +15 -15
- package/dist/types/src/features/InstantLearning/_components/GeneralizationAccordion.d.ts +27 -27
- package/dist/types/src/features/InstantLearning/_components/LearningDetailsForm.d.ts +73 -73
- package/dist/types/src/features/InstantLearning/_components/MessageRendering.d.ts +9 -9
- package/dist/types/src/features/InstantLearning/_components/MinimizedThinkingSteps.d.ts +3 -3
- package/dist/types/src/features/InstantLearning/_components/SimilarLearningCard.d.ts +19 -19
- package/dist/types/src/features/InstantLearning/_components/TemplateRetrievalForm.d.ts +49 -49
- package/dist/types/src/features/InstantLearning/_components/TooltipComponent.d.ts +7 -7
- package/dist/types/src/features/InstantLearning/_components/_svg/ArrowDown.d.ts +3 -3
- package/dist/types/src/features/InstantLearning/_components/_svg/ArrowIconBlue.d.ts +3 -3
- package/dist/types/src/features/InstantLearning/_components/_svg/CompleteIconGreen.d.ts +3 -3
- package/dist/types/src/features/InstantLearning/_components/_svg/NewChatIcon.d.ts +3 -3
- package/dist/types/src/features/LearningManagement/AuditLog/AuditLog.d.ts +11 -11
- package/dist/types/src/features/LearningManagement/AuditLog/ChangeLogDiff.d.ts +14 -14
- package/dist/types/src/features/LearningManagement/LearningManagement.d.ts +73 -73
- package/dist/types/src/features/LearningManagement/LearningManagement.d.ts.map +1 -1
- package/dist/types/src/features/LearningManagement/LearningManagementTest.d.ts +3 -3
- package/dist/types/src/features/LearningManagement/LearningTemplateLayout.d.ts +44 -44
- package/dist/types/src/features/LearningManagement/RBAC/AccessManagementPanel.d.ts +7 -7
- package/dist/types/src/features/LearningManagement/RBAC/AccessPanel.d.ts +11 -11
- package/dist/types/src/features/LearningManagement/RBAC/index.d.ts +3 -3
- package/dist/types/src/features/LearningManagement/RuleContent/AddScopeApprovalSearchComponent.d.ts +11 -11
- package/dist/types/src/features/LearningManagement/RuleContent/AddScopeModal.d.ts +18 -18
- package/dist/types/src/features/LearningManagement/RuleContent/AddScopeModal.d.ts.map +1 -1
- package/dist/types/src/features/LearningManagement/RuleContent/ApprovalActionButton.d.ts +7 -7
- package/dist/types/src/features/LearningManagement/RuleContent/ApprovalLearningDialog.d.ts +17 -17
- package/dist/types/src/features/LearningManagement/RuleContent/ContentLogic.d.ts +45 -45
- package/dist/types/src/features/LearningManagement/RuleContent/DraftsAccordion.d.ts +17 -17
- package/dist/types/src/features/LearningManagement/RuleContent/HistorySkeleton.d.ts +9 -9
- package/dist/types/src/features/LearningManagement/RuleContent/InheritanceBreadcrumb.d.ts +21 -21
- package/dist/types/src/features/LearningManagement/RuleContent/InstructionPromptBlock.d.ts +26 -26
- package/dist/types/src/features/LearningManagement/RuleContent/OverrideTimeline.d.ts +22 -22
- package/dist/types/src/features/LearningManagement/RuleContent/PendingApprovalChip.d.ts +6 -6
- package/dist/types/src/features/LearningManagement/RuleContent/RenameScopeModal.d.ts +9 -9
- package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordion.d.ts +130 -130
- package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordionHeader.d.ts +46 -46
- package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordionShell.d.ts +68 -68
- package/dist/types/src/features/LearningManagement/RuleContent/RuleConditionBlock.d.ts +38 -38
- package/dist/types/src/features/LearningManagement/RuleContent/RuleContent.d.ts +51 -51
- package/dist/types/src/features/LearningManagement/RuleContent/RuleHeader.d.ts +42 -42
- package/dist/types/src/features/LearningManagement/RuleContent/RuleTierList.d.ts +52 -52
- package/dist/types/src/features/LearningManagement/RuleContent/TierCard.d.ts +59 -59
- package/dist/types/src/features/LearningManagement/RuleContent/VariantCard.d.ts +108 -108
- package/dist/types/src/features/LearningManagement/RuleContent/VariantList.d.ts +105 -105
- package/dist/types/src/features/LearningManagement/ScopeSelector.d.ts +44 -44
- package/dist/types/src/features/LearningManagement/Sidebar.d.ts +36 -36
- package/dist/types/src/features/LearningManagement/SidebarWrapper.d.ts +33 -33
- package/dist/types/src/features/LearningManagement/StationsContent/StationsContent.d.ts +16 -16
- package/dist/types/src/features/LearningManagement/apis/apiConfig.d.ts +55 -55
- package/dist/types/src/features/LearningManagement/apis/scopeApis.d.ts +385 -385
- package/dist/types/src/features/LearningManagement/components/CardSkeleton.d.ts +7 -7
- package/dist/types/src/features/LearningManagement/components/ConfirmationModal.d.ts +21 -21
- package/dist/types/src/features/LearningManagement/components/CreateLearningSetModal.d.ts +19 -19
- package/dist/types/src/features/LearningManagement/components/CreateRuleSetLegacyModal.d.ts +11 -11
- package/dist/types/src/features/LearningManagement/components/CustomTooltip.d.ts +15 -15
- package/dist/types/src/features/LearningManagement/components/EmptyLearningState.d.ts +41 -41
- package/dist/types/src/features/LearningManagement/components/ErrorStateDisplay.d.ts +24 -24
- package/dist/types/src/features/LearningManagement/components/InstantLearningModal.d.ts +53 -53
- package/dist/types/src/features/LearningManagement/components/InstantLearningModalDynamic.d.ts +76 -76
- package/dist/types/src/features/LearningManagement/components/LearningTemplateManagementSkeleton.d.ts +7 -7
- package/dist/types/src/features/LearningManagement/components/PromptTextEditor.d.ts +45 -45
- package/dist/types/src/features/LearningManagement/components/RuleContentSkeleton.d.ts +7 -7
- package/dist/types/src/features/LearningManagement/components/ScopeSkeletonLoader.d.ts +35 -35
- package/dist/types/src/features/LearningManagement/components/ScopeSkeletonLoader.d.ts.map +1 -1
- package/dist/types/src/features/LearningManagement/components/ScopeTree/HighlightedText.d.ts +7 -7
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeAddAction.d.ts +9 -9
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeMenu.d.ts +16 -16
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNode.d.ts +37 -37
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNodeHeader.d.ts +21 -21
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeSectionItem.d.ts +15 -15
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeSidebar.d.ts +22 -22
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeTooltip.d.ts +9 -9
- package/dist/types/src/features/LearningManagement/components/SidebarSearch.d.ts +24 -24
- package/dist/types/src/features/LearningManagement/components/Skeleton.d.ts +11 -11
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/DayToggleSelector.d.ts +12 -12
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/InputField.d.ts +26 -26
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/OnboardingLoader.d.ts +18 -18
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/StationAutocomplete.d.ts +14 -14
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/StationOnboardModal.d.ts +15 -15
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/TemplateCard.d.ts +21 -21
- package/dist/types/src/features/LearningManagement/components/ToolTip.d.ts +7 -7
- package/dist/types/src/features/LearningManagement/config.d.ts +63 -63
- package/dist/types/src/features/LearningManagement/constants.d.ts +18 -18
- package/dist/types/src/features/LearningManagement/hooks/useLearningTemplateQueryParams.d.ts +61 -61
- package/dist/types/src/features/LearningManagement/queries/useApprovalQueries.d.ts +19 -19
- package/dist/types/src/features/LearningManagement/queries/useLMSConfigQuery.d.ts +8 -8
- package/dist/types/src/features/LearningManagement/shared/ErrorToastContent.d.ts +21 -21
- package/dist/types/src/features/LearningManagement/shared/SuccessToastContent.d.ts +21 -21
- package/dist/types/src/features/LearningManagement/shared/index.d.ts +6 -6
- package/dist/types/src/features/LearningManagement/store/types.d.ts +31 -31
- package/dist/types/src/features/LearningManagement/store/useAppSecRolesStore.d.ts +10 -10
- package/dist/types/src/features/LearningManagement/store/useAuthStore.d.ts +11 -11
- package/dist/types/src/features/LearningManagement/store/useConfigStore.d.ts +17 -17
- package/dist/types/src/features/LearningManagement/store/useEnvStore.d.ts +35 -35
- package/dist/types/src/features/LearningManagement/store/useExternalWorkflowStore.d.ts +37 -37
- package/dist/types/src/features/LearningManagement/store/useLMSConfigStore.d.ts +389 -389
- package/dist/types/src/features/LearningManagement/store/useLMSConfigStore.d.ts.map +1 -1
- package/dist/types/src/features/LearningManagement/store/useLearningTemplateStore.d.ts +85 -85
- package/dist/types/src/features/LearningManagement/store/usePermissionsStore.d.ts +34 -34
- package/dist/types/src/features/LearningManagement/types.d.ts +295 -295
- package/dist/types/src/features/LearningManagement/utils/learningFlow.d.ts +29 -29
- package/dist/types/src/features/LearningManagement/utils/learningMetadataUtils.d.ts +16 -16
- package/dist/types/src/features/LearningManagement/utils/saveDraft.d.ts +10 -10
- package/dist/types/src/features/LearningManagement/utils/treeUtils.d.ts +17 -17
- package/dist/types/src/features/UploadData/Components/SelectDataFromGoogleDrive/SelectDataFromGoogleDrive.d.ts +3 -3
- package/dist/types/src/features/UploadData/Components/SelectDataFromGoogleDrive/SelectDataFromGoogleDriveButton.d.ts +9 -9
- package/dist/types/src/features/UploadData/Components/SelectDataFromLocalSystem/SelectDataFromLocalSystem.d.ts +3 -3
- package/dist/types/src/features/UploadData/Components/SelectDataFromLocalSystem/SelectDataFromLocalSystemButton.d.ts +9 -9
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/Dataset-collection.d.ts +12 -12
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/DatasetCollectionInfo.d.ts +3 -3
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/ProjectTaskSelect.d.ts +3 -3
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/Tooltip.d.ts +9 -9
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/ConfidenceScoreColumnMenu.d.ts +21 -21
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/FilterHandlerUtility.d.ts +32 -32
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/LabelColumnMenu.d.ts +19 -19
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/TableColumnResetFilterButton.d.ts +6 -6
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dataset-collectionFilterColumnMenuComponents/TagColumnMenu.d.ts +17 -17
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/dropdown-with-radio.d.ts +25 -25
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/Components/input-label-with-info.d.ts +3 -3
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/RELFInterfaces.d.ts +2 -2
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/SelectDataFromRLEF.d.ts +3 -3
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/SelectDataFromRLEFButton.d.ts +9 -9
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/collections.d.ts +1107 -1107
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/common.d.ts +56 -56
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/data.d.ts +642 -642
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/modelGroup.type.d.ts +23 -23
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/models.d.ts +282 -282
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/projects.d.ts +57 -57
- package/dist/types/src/features/UploadData/Components/SelectDataFromRLEF/interfaces/tags.d.ts +19 -19
- package/dist/types/src/features/UploadData/Components/SelectDataFromSavedDataSet/SelectDataFromSavedDataSet.d.ts +3 -3
- package/dist/types/src/features/UploadData/Components/SelectDataFromSavedDataSet/SelectDataFromSavedDataSetButton.d.ts +3 -3
- package/dist/types/src/features/UploadData/NotFound.d.ts +3 -3
- package/dist/types/src/features/UploadData/main.d.ts +9 -9
- package/dist/types/src/features/WtaWnta/WtaWnta.d.ts +54 -54
- package/dist/types/src/features/WtaWnta/_components/AgentDetailsForm.d.ts +42 -42
- package/dist/types/src/features/WtaWnta/_components/SimilarConflictingCard.d.ts +17 -17
- package/dist/types/src/features/WtaWnta/_components/ValidationCard.d.ts +29 -29
- package/dist/types/src/hooks/useAgentFix.d.ts +14 -14
- package/dist/types/src/hooks/useAgentSuggestions.d.ts +19 -19
- package/dist/types/src/hooks/useAgentValidation.d.ts +16 -16
- package/dist/types/src/hooks/useDebounce copy.d.ts +1 -1
- package/dist/types/src/hooks/useDebounce.d.ts +1 -1
- package/dist/types/src/hooks/useExistingAgentCheck.d.ts +27 -27
- package/dist/types/src/hooks/useExistingPromptCheck.d.ts +35 -35
- package/dist/types/src/hooks/usePromptFix.d.ts +13 -13
- package/dist/types/src/hooks/usePromptSuggestions.d.ts +7 -7
- package/dist/types/src/hooks/usePromptValidation.d.ts +17 -17
- package/dist/types/src/hooks/useTableHeadCellsCount copy.d.ts +5 -5
- package/dist/types/src/hooks/useTableHeadCellsCount.d.ts +5 -5
- package/dist/types/src/hooks/useURLQuery copy.d.ts +9 -9
- package/dist/types/src/hooks/useURLQuery.d.ts +9 -9
- package/dist/types/src/index.d.ts +59 -59
- package/dist/types/src/methodsToExpose.d.ts +17 -17
- package/dist/types/src/plugins/ValueTypes/Category/CategoryTeachMeRenderer.d.ts +28 -28
- package/dist/types/src/plugins/ValueTypes/Default/DefaultTeachMeRenderer.d.ts +21 -21
- package/dist/types/src/plugins/ValueTypes/Default/DefaultTeachMeRendererOld.d.ts +27 -27
- package/dist/types/src/plugins/ValueTypes/Guidelines/GuidelinesTeachMeRenderer.d.ts +28 -28
- package/dist/types/src/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.d.ts +4 -4
- package/dist/types/src/schema-driven/BPARenderer.d.ts +13 -13
- package/dist/types/src/schema-driven/FallbackField.d.ts +12 -12
- package/dist/types/src/schema-driven/components/ConditionSectionField.d.ts +2 -2
- package/dist/types/src/schema-driven/components/ConfigSectionField.d.ts +2 -2
- package/dist/types/src/schema-driven/components/DropdownSectionField.d.ts +2 -2
- package/dist/types/src/schema-driven/components/GlobalSetupAccordionField.d.ts +2 -2
- package/dist/types/src/schema-driven/components/GroupEditRow.d.ts +2 -2
- package/dist/types/src/schema-driven/components/PromptTextEditorField.d.ts +2 -2
- package/dist/types/src/schema-driven/components/ScopeSectionField.d.ts +2 -2
- package/dist/types/src/schema-driven/components/TableComponent.d.ts +4 -4
- package/dist/types/src/schema-driven/components/TextInputField.d.ts +2 -2
- package/dist/types/src/schema-driven/components/VariantListField.d.ts +2 -2
- package/dist/types/src/schema-driven/demoSchema.d.ts +12 -12
- package/dist/types/src/schema-driven/helper.d.ts +22 -22
- package/dist/types/src/schema-driven/hooks/useParentEditEnabled.d.ts +17 -17
- package/dist/types/src/schema-driven/hooks/useSectionEditSession.d.ts +33 -33
- package/dist/types/src/schema-driven/primitives/Accordion.d.ts +20 -20
- package/dist/types/src/schema-driven/store/useDynamicFormStore.d.ts +28 -28
- package/dist/types/src/schema-driven/types.d.ts +222 -222
- package/dist/types/src/schema-driven/utils/PayloadUtils.d.ts +80 -80
- package/dist/types/src/schema-driven/utils/aiReasoning.d.ts +4 -4
- package/dist/types/src/schema-driven/utils/conditionText.d.ts +7 -7
- package/dist/types/src/schema-driven/utils/editLock.d.ts +38 -38
- package/dist/types/src/service/API.d.ts +5 -5
- package/dist/types/src/service/DataService.d.ts +72 -72
- package/dist/types/src/service/GoogleFilePickerService.d.ts +60 -60
- package/dist/types/src/service/InstantLearningService.d.ts +19 -19
- package/dist/types/src/service/JavascriptFileService.d.ts +3 -3
- package/dist/types/src/service/ModelService.d.ts +67 -67
- package/dist/types/src/service/ProjectService.d.ts +15 -15
- package/dist/types/src/service/SavedDataSetService.d.ts +26 -26
- package/dist/types/src/service/constants.d.ts +2 -2
- package/dist/types/src/service/envHelperService.d.ts +4 -4
- package/dist/types/src/service/variableHelperService.d.ts +5 -5
- package/dist/types/src/shims/react-dom-shim.d.ts +17 -0
- package/dist/types/src/shims/react-dom-shim.d.ts.map +1 -0
- package/dist/types/src/theme.d.ts +3 -3
- package/dist/types/src/types/GoogleFilePicker/GoogleFilePickerCallbackFunctionType.d.ts +22 -22
- package/dist/types/src/userProvidedConfig.d.ts +7 -7
- package/dist/types/src/utils/CustomSkeleton.d.ts +2 -2
- package/dist/types/src/utils/SkeletonLoader.d.ts +7 -7
- package/dist/types/src/utils/agentGenieAPI.d.ts +16 -16
- package/dist/types/src/utils/api.d.ts +1 -1
- package/dist/types/src/utils/bookGenieAPI.d.ts +13 -13
- package/dist/types/src/utils/codeCitations.utils.d.ts +1 -1
- package/dist/types/src/utils/colors.d.ts +4 -4
- package/dist/types/src/utils/date.d.ts +7 -7
- package/dist/types/src/utils/helperFunctions.d.ts +1 -1
- package/dist/types/src/utils/instantLearning.utils.d.ts +2 -2
- package/dist/types/src/utils/instantLearningAPI.d.ts +20 -20
- package/dist/types/src/utils/payloadParsers.d.ts +15 -15
- package/dist/types/src/utils/recommendationParser.d.ts +21 -21
- package/dist/types/src/utils/regexHelperService.d.ts +8 -8
- package/dist/types/src/utils/urlQueryParamService.d.ts +1 -1
- package/dist/types/src/utils/variableHelperService.d.ts +6 -6
- package/dist/types/src/utils/variantParser.d.ts +13 -13
- package/dist/utils/agentGenieAPI.js +110 -1
- package/dist/utils/agentGenieAPI.js.map +1 -1
- package/dist/utils/bookGenieAPI.js +14 -1
- package/dist/utils/bookGenieAPI.js.map +1 -1
- package/dist/utils/instantLearning.utils.js +11 -1
- package/dist/utils/instantLearning.utils.js.map +1 -1
- package/dist/utils/instantLearningAPI.js +78 -1
- package/dist/utils/instantLearningAPI.js.map +1 -1
- package/dist/utils/recommendationParser.js +18 -1
- package/dist/utils/recommendationParser.js.map +1 -1
- package/dist/utils/variantParser.js +60 -1
- package/dist/utils/variantParser.js.map +1 -1
- package/package.json +11 -6
- package/dist/cjs/features/LearningManagement/LearningManagementTest.js +0 -2
- package/dist/cjs/features/LearningManagement/LearningManagementTest.js.map +0 -1
- package/dist/features/LearningManagement/LearningManagementTest.js +0 -2
- package/dist/features/LearningManagement/LearningManagementTest.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstantLearningModal.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"InstantLearningModal.js","sources":["../../../../../src/features/LearningManagement/components/InstantLearningModal.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\n\nimport { useLearningTemplateStore } from '../store/useLearningTemplateStore';\nimport { dt, useLMSConfigStore, useTeachMeConfigStore } from '../store/useLMSConfigStore';\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 { buildLegacyLearningMetadataPayload, getInstructionPromptValue, isSchedulingConfigLearningMetadata } from '../utils/learningMetadataUtils';\nimport { InstantLearningFlow, resolveIsEditMode } from '../utils/learningFlow';\nimport { buildSaveDraftPayload } from '../utils/saveDraft';\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 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 modeId: string;\n uiStateLabels?:any;\n customSections?: React.ReactNode;\n /** Verbose stream logs, already resolved by the renderer. Forwarded to ILOTJ. */\n enableChatLogs?: 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};\nconst pruneFlattenedDuplicates = (cfg: Record<string, any> = {}) => {\n const out = { ...cfg };\n Object.keys(cfg).forEach((k) => {\n const v = cfg[k];\n if (v && typeof v === 'object' && !Array.isArray(v)) {\n // nested block present → drop every `${k}_*` flattened sibling\n Object.keys(out).forEach((other) => {\n if (other !== k && other.startsWith(`${k}_`)) delete out[other];\n });\n }\n });\n return out;\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/**\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\nconst InstantLearningModal: 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 copiedRule,\n copiedSourceTier,\n copiedTargetTier,\n initialDraftMessage,\n postSaveCallback,\n initialChatMessage,\n applicationIntegrationId,\n contentModeMappingId,\n instantLearningId,\n modeId,\n uiStateLabels,\n customSections,\n enableChatLogs,\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 const [isSendSaveMessage, setIsSendSaveMessage] = useState<boolean>(false);\n const isSendingSaveRef = 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 prevTierByIndexRef = useRef<Map<number, string[]>>(new Map());\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 const [variantIdToBeEdited, setVariantIdToBeEdited] = useState<string | null>(null);\n const lastLoadedQuestionIdRef = useRef<string | null>(null);\n const currentTierRef = useRef<string | null>(null);\n /** Normalized key of the tier currently in scope (kept in sync with scopeData.tiers[0]) */\n const activeTierKeyRef = useRef<string | null>(null);\n const fetchInProgressIdRef = useRef<string | null>(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 const prevScopeTiersRef = useRef<string[]>(scopeData.tiers);\n useEffect(() => {\n const oldTier = prevScopeTiersRef.current[0] ? normalizeTierKey(prevScopeTiersRef.current[0]) : null;\n const newTier = scopeData.tiers[0] ? normalizeTierKey(scopeData.tiers[0]) : null;\n\n if (oldTier && newTier && oldTier !== newTier) {\n // Only EDITABLE variants follow the user into the new tier. Read-only / loaded\n // variants (fetched from the API, or copied-in context) belong to the tier they\n // were loaded for and must stay there — changing the scope must not drag them\n // forward. This mirrors the structuredAIResponse migration below, which already\n // leaves is_readOnly / copy items in place and only re-scopes editable ones.\n const liveVariants = liveVariantsRef.current || [];\n const isIndexEditable = (idx: number): boolean => {\n const v = liveVariants[idx];\n // No backing record → this is the empty \"add new variant\" placeholder box.\n // Each tier renders its own placeholder, so don't carry it into the new tier\n // (otherwise the new tier ends up with two empty variant boxes).\n if (!v) return false;\n return !v.is_readOnly && v.action !== 'copy';\n };\n\n // Move description/wta/wnta of editable variants into the new tier; read-only\n // variants are retained under the old tier so they render in their original scope.\n const migrateAndReset = <T,>(\n setter: React.Dispatch<React.SetStateAction<Map<string, Map<number, T>>>>,\n ) => {\n setter((prev) => {\n const newMap = new Map(prev);\n const oldData = newMap.get(oldTier) || new Map();\n const newData = new Map(newMap.get(newTier) || new Map());\n const retainedOld = new Map<number, T>();\n oldData.forEach((value, idx) => {\n if (isIndexEditable(idx)) newData.set(idx, value);\n else retainedOld.set(idx, value);\n });\n newMap.set(newTier, newData);\n newMap.set(oldTier, retainedOld);\n return newMap;\n });\n };\n\n migrateAndReset(setRuleDescription);\n migrateAndReset(setWhenToApplyConditions);\n migrateAndReset(setWhenNotToApplyConditions);\n\n // configData is special: variantsByTier iterates configData.get(tier).keys() to know\n // which variant indices exist for that tier. If the old tier's config map goes fully\n // empty (no read-only variants stayed behind), variantsForTier for it becomes []\n // instead of the expected single placeholder variant. In that case keep exactly one\n // DEFAULT_CONFIG slot at index 0 for the vacated tier.\n setConfigData((prev) => {\n const newMap = new Map(prev);\n const oldData = newMap.get(oldTier) || new Map();\n const newData = new Map(newMap.get(newTier) || new Map());\n const retainedOld = new Map<number, any>();\n oldData.forEach((value, idx) => {\n if (isIndexEditable(idx)) newData.set(idx, value);\n else retainedOld.set(idx, value);\n });\n newMap.set(newTier, newData);\n newMap.set(oldTier, retainedOld.size > 0 ? retainedOld : new Map([[0, DEFAULT_CONFIG]]));\n return newMap;\n });\n\n // Clear touched-keys tracking for the old tier too, so a stale \"touched\" flag\n // doesn't cause the reset DEFAULT_CONFIG to be treated as a real edit on save.\n setTouchedConfigKeys((prev) => {\n const newMap = new Map(prev);\n newMap.set(oldTier, new Map());\n return newMap;\n });\n\n setStructuredAIResponse((prev: any) => {\n if (!Array.isArray(prev)) return prev;\n return prev.map((item: any) =>\n item?.action === 'copy' || item?.is_readOnly\n ? item\n : { ...item, scope: [newTier], tier_id: newTier.replace('tier_', '') },\n );\n });\n\n currentTierRef.current = newTier;\n }\n\n prevScopeTiersRef.current = scopeData.tiers;\n }, [scopeData.tiers]);\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 // 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 // Pre-fill rule title. Normally from the rule; in the draft-create flow\n // there is no rule, so fall back to the selected variant's own title.\n const prefilledTitle =\n editingRule?.ruleTitle ??\n (variantsToEdit?.[focusedVariantIndex || 0] as any)?.title ??\n (variantsToEdit?.[focusedVariantIndex || 0] as any)?.ruleTitle ??\n '';\n if (prefilledTitle) {\n setRuleTitle(prefilledTitle);\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 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 // TODO: REVER IF DONT WORK\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: prefilledTitle,\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 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 // TODO: REVERT IF DONT WORK\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 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 }, [isOpen, editingRule, editingVariants, editingTier, copiedRule, copiedSourceTier, copiedTargetTier]);\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', 'tier_3'];\n return new Map(\n keys.map((k): [string, Map<number, T>] => [k, new Map()])\n );\n };\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', 'tier_3'];\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 // CARE updates are keyed by variant ID so they survive the edit-flow state\n // rehydration that otherwise falls back to the original API metadata.\n const [careLearningMetadataByVariant, setCareLearningMetadataByVariant] = useState<Record<string, any>>({});\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// Keep the active tier available to socket handlers (their closures capture stale state)\nuseEffect(() => {\n activeTierKeyRef.current = scopeData.tiers?.[0] ? normalizeTierKey(scopeData.tiers[0]) : null;\n}, [scopeData.tiers]);\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 [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 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 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 ['tier_3', new Map()],\n ]),\n );\n setWhenToApplyConditions(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ['tier_3', new Map()],\n ]),\n );\n setWhenNotToApplyConditions(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ['tier_3', 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 ['tier_3', new Map([[0, DEFAULT_CONFIG]])],\n ]),\n );\n setTouchedConfigKeys(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ['tier_3', 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 ['tier_3', 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 setCareLearningMetadataByVariant({});\n // setVariantInfoDebugData(null);\n // setComparisonDebugData([]);\n lastProcessedVariantId.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 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],\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 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 // Stage CARE's response. Metadata is additionally retained by variant ID so\n // edit-flow ui_state cannot fall back to stale API metadata.\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 const careVariantId = parsedGeneral?.variant_id;\n const careLearningMetadata = parsed?.learning_metadata;\n const careSchedulingConfig =\n careLearningMetadata?.properties?.scheduling_config ??\n careLearningMetadata?.scheduling_config;\n\n // Keep CARE metadata separate from the rendered form state. Edit records are\n // rehydrated from the original API response, so this ID-keyed override is the\n // reliable source for the next ui_state. CARE sends scheduling_config as a raw\n // value; normalize it to the metadata `properties` shape used by ui_state.\n if (careVariantId && careLearningMetadata) {\n setCareLearningMetadataByVariant((previous) => ({\n ...previous,\n [careVariantId]: {\n ...previous[careVariantId],\n ...careLearningMetadata,\n properties: {\n ...previous[careVariantId]?.properties,\n ...careLearningMetadata.properties,\n ...(careSchedulingConfig !== undefined && {\n scheduling_config: careSchedulingConfig?.value ?? careSchedulingConfig,\n }),\n },\n },\n }));\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: {\n ...(parsed.learning_metadata || {}),\n instruction_prompt: draftedPrompt,\n }\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 const existingMetadata = prev[newVariantIndex].learning_metadata || {};\n \n nextState = prev.map((v: any, idx: number) =>\n idx === newVariantIndex\n ? {\n ...v,\n ...newVariantBase,\n client_id: existingClientId,\n learning_metadata: {\n ...existingMetadata,\n ...(newVariantBase.learning_metadata || {}),\n instruction_prompt: existingPrompt,\n },\n }\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 setStructuredAIResponse([parsed]);\n setTimeout(()=>{\n setEditVariantIndex(0);\n setScrollTrigger((prev) => prev + 1);\n lastAutoSetIndexRef.current = 0;\n },0)\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 }\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 // Resolve the tier the conflicts belong to. Never default to Tier 1 blindly:\n // this handler's closure can hold a stale `editingTier` (null for new rules), which\n // used to inject Tier 3 conflicts into the disabled Tier 1 accordion.\n // Priority: tier on the validation payload → live tier ref → tier in scope → editingTier.\n const payloadTier =\n (Array.isArray(validationResult.scope) && validationResult.scope[0]) ||\n validationResult.tier ||\n null;\n const tierKey =\n (payloadTier ? normalizeTierKey(filterText(String(payloadTier)).trim()) : null) ||\n currentTierRef.current ||\n activeTierKeyRef.current ||\n (editingTier ? normalizeTierKey(editingTier) : null) ||\n 'tier_1';\n console.log('[RHS] Resolved tierKey for conflict injection:', tierKey);\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?.action === 'save') {\n const saveDetails = parsed?.save_details;\n const hasSaveDetails = saveDetails && Object.keys(saveDetails).length > 0;\n\n if (hasSaveDetails) {\n const variantIdsList = Object.keys(saveDetails);\n\n // Build a stable signature for this exact save result so repeated\n // stream chunks carrying the same payload don't re-fire toasts.\n const saveSignature = variantIdsList\n .sort()\n .map((id) => `${id}:${saveDetails[id].success}:${saveDetails[id].is_updated}`)\n .join('|');\n\n if (processedIdsRef.current.has(saveSignature)) {\n // Already handled this exact save result — skip re-processing.\n return;\n }\n processedIdsRef.current.add(saveSignature);\n\n const allSuccess = variantIdsList.every((id) => saveDetails[id].success);\n\n // Show ONE toast PER variant, reflecting its own status.\n variantIdsList.forEach((id) => {\n const detail = saveDetails[id];\n if (detail.success) {\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 {detail.is_updated ? 'Changes saved successfully test!' : 'Learning saved successfully test!'}\n </p>\n </div>\n ),\n });\n } else {\n const errMsg = detail.message || 'Error Occurred while saving the rule.';\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}`}>{errMsg}</p>\n </div>\n ),\n });\n }\n });\n\n if (allSuccess) {\n const variantInfoMap = new Map<string, { id: string; action: 'new' | 'existing' }[]>();\n const variantsList = variantIdsList.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 setIsCloseModal(true);\n setTimeout(() => {\n handleSaveSuccessAndClose();\n }, 3000);\n }\n } else if (parsed?.is_save) {\n setIsCloseModal(true);\n setIsSaveRule(true);\n }\n }\n // if (parsed?.action === 'exit'){\n // setIsCloseModal(true);\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 // Discarding drops the loaded rule, so the modal is back in create mode.\n // Leaving this set routes the next save into saveLoadAndEditVariant.\n isLoadAndEditModeRef.current = false;\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 ['tier_3', new Map([[0, DEFAULT_CONFIG]])],\n ]),\n );\n setRuleDescription(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ['tier_3', new Map()],\n ]),\n );\n setWhenToApplyConditions(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ['tier_3', new Map()],\n ]),\n );\n setWhenNotToApplyConditions(\n new Map([\n ['tier_1', new Map()],\n ['tier_2', new Map()],\n ['tier_3', 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 core 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 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', 'Tier 3'] : 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 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 fallbackTiers = prevTierByIndexRef.current.get(targetIndex);\n const targetTiers =\n tierKeys.length > 0\n ? tierKeys\n : (fallbackTiers && fallbackTiers.length > 0 ? fallbackTiers : ['tier_1']);\n if (targetTiers.length > 0) {\n prevTierByIndexRef.current.set(targetIndex, targetTiers);\n }\n // Source of truth: whatever is checked in Scope right now. Never write into a tier\n // that isn't currently selected, no matter what the AI payload or fallback ref says.\n const selectedTierKeys = (scopeData.tiers).map((t: string) =>\n normalizeTierKey(t),\n );\n const allowedTargetTiers = targetTiers.filter((t) => selectedTierKeys.includes(t));\n\n if (allowedTargetTiers.length === 0) {\n console.warn(\n `[tier guard] Dropping write — resolved tier(s) [${targetTiers.join(', ')}] not in selected tiers [${selectedTierKeys.join(', ')}]`,\n );\n }\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 allowedTargetTiers.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\n\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 if (!item.is_readOnly) {\n setRawAiConfig((prev:any) => mergeConfig(prev, s_config));\n }\n\n // Get highlights for this specific variant in this tier\n if (hasConfigChanged || hasDefaultStatusChanged || !item.is_readOnly) {\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: ruleSet?.ruleSetId || '', // 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 console.log('[CREATE FLOW] Starting handleSaveInstantLearningQuestion for tiers:', scopeData.tiers);\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 console.warn(`[CREATE FLOW] No tier_id found for tier: ${tierName}`);\n questionIdMap.set(tKey, null);\n continue;\n }\n\n const payload: SaveInstantLearningQuestionPayload = {\n question: ruleTitle,\n orgName: configuration.ORGANIZATION_NAME,\n scope_id: ruleSet?.ruleSetId || '',\n tier_id: tierId,\n };\n\n try {\n console.log(`[CREATE FLOW] Calling saveInstantLearningQuestion for ${tierName} (tier_id: ${tierId})`);\n const response = await saveInstantLearningQuestion(payload);\n const questionId = response?.data?.id || null;\n questionIdMap.set(tKey, questionId);\n console.log(`✅ [CREATE FLOW] Question saved for ${tierName}:`, { questionId, fullResponse: response });\n } catch (innerError) {\n console.error(`❌ [CREATE FLOW] Error saving question for ${tierName}:`, innerError);\n questionIdMap.set(tKey, null);\n }\n }\n\n console.log('[CREATE FLOW] Calling publishFeedbackSaveLearning with questionIdMap:', Array.from(questionIdMap.entries()));\n // CRITICAL: Await this promise to ensure it completes before the modal closes\n await 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 console.error('❌ [CREATE FLOW] Error in outer try-catch, calling publishFeedbackSaveLearning with fallback:', error);\n await publishFeedbackSaveLearning(fallbackMap);\n console.error('❌ [CREATE FLOW] 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 // An empty editingVariants array is truthy — match the create/edit test used\n // elsewhere (see the isEditMode derivation) so a create flow isn't routed to edit.\n if (resolveIsEditMode({ flow, editingRule, editingVariants })) {\n await saveEditedVariant();\n } else if (isLoadAndEditModeRef.current === true && lastLoadedQuestionIdRef.current) {\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: ruleSet?.ruleSetId || '',\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 // 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 // const configPayload = buildConfigPayload(ruleConfig);\n const configPayload = pruneFlattenedDuplicates(rawAiConfig);;\n const tierLinkId = uuidv4();\n\n const publishRequests: Promise<any>[] = [];\n const tierMapping: string[] = [];\n const originalItem = (structuredAIResponse || [])[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 // {...configPayload},\n {\n master_name: configuration.CONFIG_MASTER_NAME,\n config_data:{\n scheduling_config: {...configPayload},\n }\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: ruleSet?.ruleSetId || '',\n question_title: ruleTitle,\n variantType: resolveVariantTypeForPayload(\n tierKey,\n targetIndex,\n originalItem.variant_type || originalItem.variantType,\n ),\n learning_metadata: buildLegacyLearningMetadataPayload(\n teachMeLearningMetadataComponents,\n learningMetadata,\n ),\n instantLearningType: configuration.INSTANT_LEARNING_TYPE,\n is_user_accepted_risk: false,\n propagation: true,\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 ...(configPayload && {\n config:\n {\n master_name: configuration.CONFIG_MASTER_NAME,\n config_data: {\n scheduling_config: { ...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: ruleSet?.ruleSetId || '',\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 closeTimeoutRef.current = setTimeout(() => {\n if (isCloseModal || forceClose) {\n console.log('Closing modal after save success', { isCloseModal, forceClose });\n handleSaveSuccessAndClose();\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 const configPayload = pruneFlattenedDuplicates(rawAiConfig);\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 // No variants to iterate: the tier/variant loop below would push zero requests and\n // Promise.all([]) would still resolve into the success path. Fail loudly instead.\n if (totalVariantsCount === 0) {\n console.warn(\n '[saveEditedVariant] No variants to save (editingVariants empty and no ruleDescription entries for',\n firstTierKey,\n '). Aborting save.',\n );\n setSaveApiStatus(apiConstants.FAILURE);\n setIsSendSaveMessage(false);\n setErrorMessage('Nothing to save — no variant data found for this tier.');\n return;\n }\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 const specificConfigPayload = pruneFlattenedDuplicates(rawAiConfig);\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 // config:{...specificConfigPayload},\n ...(specificConfigPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n // ...specificConfigPayload,\n config_data: {\n scheduling_config: { ...specificConfigPayload },\n }\n },\n }),\n // ...(configPayload && {\n // config:\n // // {...configPayload},\n // {\n // master_name: configuration.CONFIG_MASTER_NAME,\n // config_data:{\n // scheduling_config: {...configPayload},\n // }\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: ruleSet?.ruleSetId || '',\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 // config:{...specificConfigPayload},\n ...(specificConfigPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n // ...specificConfigPayload,\n config_data: {\n scheduling_config: { ...specificConfigPayload },\n }\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: ruleSet?.ruleSetId || '',\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 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: ruleSet?.ruleSetId || '',\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 // No request left the UI — nothing was built, or every variant was skipped\n // by the dirty-check. Promise.all still resolves, so guard before reporting success.\n if (responses.every((res: any) => res?.skipped)) {\n console.warn(\n '[saveEditedVariant] No API calls were made — all variants unchanged. Skipping success toast.',\n );\n setSaveApiStatus(apiConstants.INITIAL);\n setIsSendSaveMessage(false);\n toast.current?.show({\n severity: 'info',\n sticky: false,\n life: 3000,\n summary: 'No changes',\n detail: 'No changes to save.',\n });\n return;\n }\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 closeTimeoutRef.current = setTimeout(() => {\n handleSaveSuccessAndClose();\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 const configPayload = pruneFlattenedDuplicates(rawAiConfig);\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 const specificConfigPayload = pruneFlattenedDuplicates(rawAiConfig);\n const variantTypeForPayload = resolveVariantTypeForPayload(\n tierKey,\n index,\n variant.variant_type || variant.variantType || '',\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 // config:{...specificConfigPayload},\n ...(specificConfigPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n // ...specificConfigPayload,\n\n config_data: {\n scheduling_config: { ...specificConfigPayload },\n }\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: ruleSet?.ruleSetId || '',\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 // config:{...specificConfigPayload},\n ...(specificConfigPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n // ...specificConfigPayload,\n config_data: {\n scheduling_config: { ...specificConfigPayload },\n }\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: ruleSet?.ruleSetId || '',\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: ruleSet?.ruleSetId || '',\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 // Every existing variant was skipped by the dirty-check and there were no new\n // variants to publish, so no request left the UI. Don't report a save.\n if (publishTasks.length === 0 && editResponses.every((res: any) => res?.skipped)) {\n console.warn(\n '[saveLoadAndEditVariant] No API calls were made — all variants unchanged. Skipping success toast.',\n );\n setSaveApiStatus(apiConstants.INITIAL);\n setIsSendSaveMessage(false);\n toast.current?.show({\n severity: 'info',\n sticky: false,\n life: 3000,\n summary: 'No changes',\n detail: 'No changes to save.',\n });\n return;\n }\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 closeTimeoutRef.current = setTimeout(() => {\n handleSaveSuccessAndClose();\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 const errors = validateForm();\n if (Object.keys(errors).length > 0) {\n console.log('validation errors', errors);\n setValidationErrors(errors);\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 const canSaveDraft = !isEditFlow && ruleTitle.trim().length > 0;\n const saveDraftDisabledTooltip = isEditFlow\n ? 'Drafts cannot be saved in Edit Mode.'\n : 'Add a 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 // CRITICAL: These are async operations — they must complete before modal closes\n const executeSync = async () => {\n try {\n if (resolveIsEditMode({ flow, editingRule, editingVariants })) {\n await saveEditedVariant();\n } else if (isLoadAndEditModeRef.current === true && lastLoadedQuestionIdRef.current) {\n await saveLoadAndEditVariant();\n } else {\n // No loaded question backing the flag: this is a create, not an edit.\n // BUGFIX: Ensure saveInstantLearningQuestion completes before modal closes\n await handleSaveInstantLearningQuestion();\n }\n } catch (error) {\n // Error handling is done inside each save function\n console.error('Error in save execution:', error);\n }\n };\n \n // Fire and forget — but don't return (useEffect doesn't return promises)\n executeSync();\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 const teachMeLearningMetadataComponents = useTeachMeConfigStore.getState().teachMeConfig?.learningMetadataComponents;\n const isSchedulingConfigMetadata = isSchedulingConfigLearningMetadata(\n teachMeLearningMetadataComponents,\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 const tierDescMap = ruleDescription.get(editTierKey);\n const tierWtaMap = whenToApplyConditions.get(editTierKey);\n const tierWntaMap = whenNotToApplyConditions.get(editTierKey);\n const scopeTiers = scopeData.tiers.map((tier) => tier?.toLowerCase().replace(/ /g, '_'));\n const scopeRuleSet = scopeData?.station + 'RuleSet';\n\n // Map the selected scopeTiers to their corresponding tier IDs\n const tierIds = scopeTiers\n .map((tierKey) => {\n const matchedTier = tiers.find(\n (t) =>\n t.tier_name.toLowerCase().replace(/ /g, '_') === tierKey ||\n t.tier_name.toLowerCase() === tierKey.replace(/_/g, ''),\n );\n return matchedTier?.tier_id || '';\n })\n .filter(Boolean); // Filter out any unmatched empty strings\n\n // Iterate over every variant index present in configData for this tier\n tierConfigMap.forEach((_config, index) => {\n // Resolve variant ID: existing variant → editingVariants[].variantId,\n // new variant → structuredAIResponse[].new_variant_id, fallback → variantIds[]\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 // Build variant description from ruleDescription map\n const description = tierDescMap?.get(index) || '';\n\n // Build WTA string from conditions\n const wtaConditions = tierWtaMap?.get(index) || [];\n const wtaText =\n wtaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' \\\\n ') || '';\n\n // Build WNTA string from conditions\n const wntaConditions = tierWntaMap?.get(index) || [];\n const wntaText =\n wntaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' \\\\n ') || '';\n\n // Build scheduling_config with seconds conversion for separation rules\n const config: any = tierConfigMap.get(index);\n let schedulingConfig: any = {};\n if (config && Object.keys(config).length > 0) {\n schedulingConfig = {\n ...config,\n order_rules: {\n ...config.order_rules,\n global_min_separation_seconds:\n (config.order_rules?.global_min_separation_seconds || 0) * 60,\n },\n advertiser_rules: {\n ...config.advertiser_rules,\n global_min_separation_seconds:\n (config.advertiser_rules?.global_min_separation_seconds || 0) * 60,\n },\n };\n }\n\n // Use the live store value for the variant currently open in the editor\n // (reflects unsaved edits), fall back to the variant's own saved metadata otherwise.\n const currentEditVariant = (structuredAIResponse || [])[editIndex];\n const isSameVariant =\n getVariantStableKey(aiResponseItem) !== undefined &&\n getVariantStableKey(aiResponseItem) === getVariantStableKey(currentEditVariant);\n\n const variantStableKey = getVariantStableKey(aiResponseItem) ?? `idx-${index}`;\n const variantInstructionPrompt =\n instructionPromptOverrides[variantStableKey] ??\n (getInstructionPromptValue(aiResponseItem?.learning_metadata) ||\n getInstructionPromptValue(editingVariants?.[index]?.learning_metadata));\n const careLearningMetadata = careLearningMetadataByVariant[varId] || {};\n const variantLearningMetadata = {\n ...(editingVariants?.[index]?.learning_metadata || {}),\n ...(aiResponseItem?.learning_metadata || {}),\n ...careLearningMetadata,\n properties: {\n ...(editingVariants?.[index]?.learning_metadata?.properties || {}),\n ...(aiResponseItem?.learning_metadata?.properties || {}),\n ...(careLearningMetadata.properties || {}),\n },\n instruction_prompt: variantInstructionPrompt,\n };\n\n variantsMap[varId] = {\n rule_title: ruleTitle,\n variant_description: description,\n wta: wtaText,\n ruleset_id: ruleSet?.ruleSetId || '',\n tier_id: tierIds,\n wnta: wntaText,\n scope: scopeTiers,\n scope_rule_set: scopeRuleSet,\n ...(!isSchedulingConfigMetadata ? { scheduling_config: schedulingConfig } : {}),\n learning_metadata: buildLegacyLearningMetadataPayload(\n teachMeLearningMetadataComponents,\n variantLearningMetadata,\n ),\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 const scopeTiers = scopeData.tiers.map((tier) => tier?.toLowerCase().replace(/ /g, '_'));\n const scopeRuleSet = scopeData?.station + 'RuleSet';\n\n const tierIds = scopeTiers\n .map((tierKey) => {\n const matchedTier = tiers.find(\n (t) =>\n t.tier_name.toLowerCase().replace(/ /g, '_') === tierKey ||\n t.tier_name.toLowerCase() === tierKey.replace(/_/g, ''),\n );\n return matchedTier?.tier_id || '';\n })\n .filter(Boolean);\n\n fetchedVariants.forEach((variant, index) => {\n const varId =\n (variant?.variant_id && variant.variant_id) || variantIds[index] || `new_variant_${index}`;\n const variantTierKey = variant.scope?.[0] || editTierKey;\n\n const tierDescMap = ruleDescription.get(variantTierKey);\n const tierWtaMap = whenToApplyConditions.get(variantTierKey);\n const tierWntaMap = whenNotToApplyConditions.get(variantTierKey);\n\n const description = tierDescMap?.get(index) || variant.rule_description || '';\n\n const wtaConditions = tierWtaMap?.get(index) || [];\n const wtaText =\n wtaConditions.length > 0\n ? wtaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' \\\\n ')\n : variant.wta || '';\n\n const wntaConditions = tierWntaMap?.get(index) || [];\n const wntaText =\n wntaConditions.length > 0\n ? wntaConditions\n .map((c: any) => c.text)\n .filter((t: string) => t.trim() !== '')\n .join(' \\\\n ')\n : variant.wnta || '';\n\n const tierConfigMap = configData.get(variantTierKey);\n const config: any = tierConfigMap?.get(index);\n let schedulingConfig: any = {};\n if (config && Object.keys(config).length > 0) {\n schedulingConfig = {\n ...config,\n order_rules: {\n ...config.order_rules,\n global_min_separation_seconds:\n (config.order_rules?.global_min_separation_seconds || 0) * 60,\n },\n advertiser_rules: {\n ...config.advertiser_rules,\n global_min_separation_seconds:\n (config.advertiser_rules?.global_min_separation_seconds || 0) * 60,\n },\n };\n } else if (variant.scheduling_config) {\n schedulingConfig = variant.scheduling_config;\n }\n const variantLearningMetadata = {\n ...(variant.learning_metadata || {}),\n instruction_prompt: getInstructionPromptValue(variant.learning_metadata),\n };\n\n variantsMap[varId] = {\n rule_title: ruleTitle,\n variant_description: description,\n wta: wtaText,\n ruleset_id: ruleSet?.ruleSetId || '',\n tier_id: tierIds,\n wnta: wntaText,\n scope: scopeTiers,\n scope_rule_set: scopeRuleSet,\n ...(!isSchedulingConfigMetadata ? { scheduling_config: schedulingConfig } : {}),\n learning_metadata: buildLegacyLearningMetadataPayload(\n teachMeLearningMetadataComponents,\n variantLearningMetadata,\n ),\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 selectedRuleSetId = useLearningTemplateStore((state) => state.selectedRuleSetId);\n const learningMetadata = useLearningTemplateStore((state) => state.learningMetadata);\n const buildXFullUrl = (): string => {\n try {\n const url = new URL(window.location.href);\n if (!url.searchParams.get('rulesetid') && ruleSet?.ruleSetId) {\n url.searchParams.set('rulesetid', ruleSet?.ruleSetId);\n }\n return url.toString();\n } catch {\n return window.location.href;\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 targetIndex = newVariantMapIndexRef.current;\n const originalItem = (structuredAIResponse || [])[targetIndex] || {};\n const ruleConfig = getRuleConfig(touchedConfigKeys, rawAiConfig, configData, targetIndex);\n // const configPayload = buildConfigPayload(ruleConfig);\n const configPayload = pruneFlattenedDuplicates(rawAiConfig);\n const tierLinkId = uuidv4();\n const formattedScopes = mapScopes(scopeData.tiers);\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\n if (backwardCompatibility === false) {\n return {\n // config:{...configPayload},\n ...(configPayload && {\n config: {\n master_name: configuration.CONFIG_MASTER_NAME,\n // ...configPayload,\n config_data: {\n scheduling_config: { ...configPayload },\n }\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: ruleSet?.ruleSetId || '',\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: true,\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 // config:{...configPayload},\n // ...(configPayload && {\n // config: {\n // master_name: IL_CONFIG_CONSTANTS.CONFIG_MASTER_NAME,\n // ...configPayload,\n // },\n // }),\n ...(configPayload && {\n configuration:\n {\n master_name: configuration.CONFIG_MASTER_NAME,\n config_data: {\n scheduling_config: { ...configPayload },\n }\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: ruleSet?.ruleSetId || '',\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 configPayload = pruneFlattenedDuplicates(rawAiConfig);\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: ruleSet?.ruleSetId || '',\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 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 const targetVariant = hasNewVariant ? (structuredAIResponse || [])[targetIndex] : undefined;\n const newCurrentVariantLearningMetadata = {\n ...(targetVariant?.learning_metadata || {}),\n ...learningMetadata,\n };\n\n return {\n new_current_variant: hasNewVariant\n ? {\n rule_title: ruleTitle,\n rule_description: ruleDescription.get(editTierKey)?.get(targetIndex) || '',\n wta:\n whenToApplyConditions\n .get(editTierKey)\n ?.get(targetIndex)\n ?.map((c) => sanitizeConditionText(c.text))\n .filter((t) => t !== '')\n .join(' \\\\n ') || '',\n wnta:\n whenNotToApplyConditions\n .get(editTierKey)\n ?.get(targetIndex)\n ?.map((c) => sanitizeConditionText(c.text))\n .filter((t) => t !== '')\n .join(' \\\\n ') || '',\n scope: scopeData.tiers.map((tier) => tier?.toLowerCase().replace(/ /g, '_')),\n scope_rule_set: scopeData?.station + 'RuleSet',\n ...(!isSchedulingConfigMetadata\n ? {\n scheduling_config: (() => {\n const config: any = configData.get(editTierKey)?.get(targetIndex);\n if (!config || Object.keys(config).length === 0) return {};\n return {\n ...config,\n order_rules: {\n ...config.order_rules,\n global_min_separation_seconds:\n (config.order_rules?.global_min_separation_seconds || 0) * 60,\n },\n advertiser_rules: {\n ...config.advertiser_rules,\n global_min_separation_seconds:\n (config.advertiser_rules?.global_min_separation_seconds || 0) * 60,\n },\n };\n })(),\n }\n : {}),\n learning_metadata: buildLegacyLearningMetadataPayload(\n teachMeLearningMetadataComponents,\n newCurrentVariantLearningMetadata,\n ),\n is_user_accepted_risk: !!(structuredAIResponse || [])[targetIndex]\n ?.is_user_accepted_risk,\n }\n : {\n rule_title: '',\n rule_description: '',\n wta: '',\n wnta: '',\n scope: [],\n scope_rule_set: '',\n ...(!isSchedulingConfigMetadata ? { scheduling_config: {} } : {}),\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: selectedRuleSetId,\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 };\n\n const nextVariantString = getNextVariantType(existingVariants);\n const templateState = {\n ruleTitle,\n scopeData,\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 acc[tier] = Array.from(tierConfigMap.keys()).map((index, relativeIndex) => {\n // Find the original item to get metadata\n // 1. structuredAIResponse must be looked up per-tier, not by raw array position.\n// If entries carry their own tier, filter+index within that tier:\nconst tierResponses = (structuredAIResponse || []).filter((r: any) => r.tier === tier);\nconst originalItem = tierResponses[index] || {};\n\n// If structuredAIResponse doesn't carry a `tier` field today, that has to be added\n// wherever it's produced (the AI response builder) — otherwise there's no way to\n// disambiguate tier_1's slot 0 from tier_3's slot 0 at all.\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\n // Find matching variant by index or variantId\n// 3. editingVariants / existingVariants lookups must also be tier-scoped\nconst matchingVariant = editingVariants?.find((v: any) => v.tier === tier && v.index === index);\n\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) {\nconst matchingExistingVariant = existingVariants?.find(\n (v: any) => v.tier === tier && v.index === index\n);\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 // 2. Stable key must be tier-qualified — this directly fixes the prompt bleed\n const variantStableKey = getVariantStableKey(originalItem) ?? `idx-${tier}-${index}`;\n const variantPrompt = instructionPromptOverrides[variantStableKey] ??\n (getInstructionPromptValue(originalItem.learning_metadata) ||\n getInstructionPromptValue(editingVariants?.find(\n (v: any) => v.tier === tier && v.index === index\n )?.learning_metadata));\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 };\n });\n\n return acc;\n },\n {} as Record<string, any[]>,\n ),\n citation: reasoning,\n fieldCitations: fieldCitations,\n citations: citations,\n };\n\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\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 ...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 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 const handleSaveSuccessAndClose = async () => {\n if (postSaveCallback) {\n try {\n await postSaveCallback();\n } catch (err) {\n console.error('postSaveCallback threw after successful save — keeping modal open', err);\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;\n }\n }\n handleClose();\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 }\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\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 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, ruleSet?.ruleSetId || '');\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 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 const filtered = [...existingOtherTiers, ...transformedVariants];\n return filtered;\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 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 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 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 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 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 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 ...data,\n is_new_variant: true,\n is_variant: true,\n learning_metadata: {\n ...(data.learning_metadata || {}),\n instruction_prompt: draftedPrompt,\n }\n };\n\n if (!Array.isArray(prev)) {\n setTimeout(() => {\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 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 const existingMetadata = prev[newVariantIndex].learning_metadata || {};\n\n nextState = prev.map((v: any, idx: number) =>\n idx === newVariantIndex\n ? {\n ...v,\n ...newVariantBase,\n client_id: existingClientId,\n learning_metadata: {\n ...existingMetadata,\n ...(newVariantBase.learning_metadata || {}),\n instruction_prompt: existingPrompt,\n },\n }\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 }\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 from the ruleSet prop\n const currentScopeId = ruleSet?.ruleSetId;\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 };\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 // 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\n // Validate Title\n if (!ruleTitle || ruleTitle.trim() === '') return false;\n if (activeEditId !== null) return false;\n // Validate Scope - Station\n if (!scopeData.station || scopeData.station.trim() === '') return false;\n\n // Validate Scope - Tiers\n const validTiers = scopeData.tiers && scopeData.tiers.filter((t) => t && t.trim() !== '');\n if (!validTiers || validTiers?.length === 0) return false;\n\n // Validate that EVERY active tier has valid description and WTA for all its variants\n const activeTierKeys = validTiers.map((t) => t.toLowerCase().replace(/ /g, '_'));\n\n for (const tierKey of activeTierKeys) {\n const tierDescMap = ruleDescription.get(tierKey);\n const tierWtaMap = whenToApplyConditions.get(tierKey);\n const tierConfigMap = configData.get(tierKey);\n\n // If the tier has no config entries at all, it's missing data\n if (!tierConfigMap || tierConfigMap.size === 0) return false;\n\n // Check each variant index in this tier\n for (const variantIndex of Array.from(tierConfigMap.keys())) {\n // Validate Description for this tier+variant\n const desc = tierDescMap?.get(variantIndex);\n if (!desc || desc.trim() === '') return false;\n\n // Validate WTA for this tier+variant\n const wtaConditions = tierWtaMap?.get(variantIndex);\n const hasValidWTA = wtaConditions?.some((c) => c.text && c.text.trim() !== '');\n if (!hasValidWTA) return false;\n }\n }\n\n // Validate Configuration (check if object exists)\n if (!configData || configData.size === 0) 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 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 InstantLearningModal;\n"],"names":["jsx","Lightbulb","useState","useRef","useLearningTemplateStore","React","useConfigStore","useEnvStore","useEffect","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","toast","toastStyles","jsxs","AlertTriangle","useAuthStore","useCitations","getInstructionPromptValue","useCallback","useMemo","existingVariants","extractAndParseWithProperty","prev","uuidv4","resolveIsEditMode","parseValidationData","activeVariant","extractAndParseResponse","Check","variantIds","extractVariantIds","isCloseModal","isSaveRule","action","getLatestReasoning","tiers","prevItem","rawAiConfig","saveInstantLearningQuestion","backwardCompatibility","_n","_o","_p","_q","_r","buildLegacyLearningMetadataPayload","publishFeedback","IL_CONFIG_CONSTANTS","updateVariant","saveDraft","buildSaveDraftPayload","saveDraftVariant","useTeachMeConfigStore","isSchedulingConfigLearningMetadata","dt","useLMSConfigStore","fetchRulesByQuestionId","ruleTitle","submitChatFeedback","Fragment","Toast","ILOTJ","Loader","ConfirmationModal"],"mappings":"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"}
|