@e-llm-studio/instant-learning 1.3.0-alpha.100 → 1.3.0-alpha.101

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),n=require("react"),r=require("lucide-react"),s=require("./store/useLearningTemplateStore.js"),a=require("primereact/toast"),i=require("./styles/LearningTemplateManagement.module.css.js"),o=require("./LearningTemplateLayout.js"),l=require("./components/EmptyLearningState.js"),u=require("./store/useAuthStore.js"),c=require("./apis/scopeApis.js"),d=require("./hooks/useLearningTemplateQueryParams.js"),p=require("./components/ConfirmationModal.js"),g=require("./components/LearningTemplateManagementSkeleton.js"),f=require("./utils/treeUtils.js"),_=require("./store/useEnvStore.js"),S=require("./store/useConfigStore.js"),m=require("./components/ToolTip.js"),v=require("./components/CreateRuleSetLegacyModal.js"),T=require("./store/usePermissionsStore.js"),h=require("./store/useAppSecRolesStore.js"),y=require("./queries/useApprovalQueries.js"),A=require("./queries/useLMSConfigQuery.js"),E=require("./RuleContent/AddScopeModal.js"),b=require("./components/RuleContentSkeleton.js"),L=require("./components/ErrorStateDisplay.js"),C=require("react-router-dom"),R=require("./shared/SuccessToastContent.js"),D=require("./shared/ErrorToastContent.js"),j=require("./RuleContent/RenameScopeModal.js"),I=require("./store/useLMSConfigStore.js"),P=require("./constants.js");exports.default=function(q){var w,M,O,N=this,x=q.userDetails,k=q.llmStudioUrl,B=q.audacyBackendUrl,U=q.ilLabels,H=q.config,Y=q.rbacConfig,G=q.auditLogConfig,F=q.app_integration_id,Q=q.backwardCompatibility,W=void 0!==Q&&Q,K=q.cognitiveCompareCompatibility,z=void 0!==K&&K,V=q.modeId,X=q.modeDetails;s.useLearningTemplateStore(function(e){return e.selectedRuleSetId});var J=s.useLearningTemplateStore(function(e){return e.setSelectedRuleSetId}),Z=s.useLearningTemplateStore(function(e){return e.error}),$=s.useLearningTemplateStore(function(e){return e.setError}),ee=s.useLearningTemplateStore(function(e){return e.setStations}),te=s.useLearningTemplateStore(function(e){return e.scopeTreeData}),ne=s.useLearningTemplateStore(function(e){return e.setScopeTreeData}),re=n.useState({isOpen:!1,type:"GLOBAL"}),se=re[0],ae=re[1],ie=n.useState(!1),oe=ie[0],le=ie[1],ue=n.useState(!1),ce=ue[0],de=ue[1],pe=n.useState("learnings"),ge=pe[0],fe=pe[1],_e=n.useState(null),Se=_e[0],me=_e[1],ve=n.useState(!1),Te=ve[0],he=ve[1],ye=n.useState(null),Ae=ye[0];ye[1];var Ee=n.useState(!1),be=Ee[0],Le=Ee[1],Ce=n.useState(!1),Re=Ce[0],De=Ce[1];n.useRef(null);var je=n.useRef(null),Ie=n.useRef(!1),Pe=n.useRef(null),qe=u.default();qe.user;var we=qe.setUser,Me=S.useConfigStore(),Oe=Me.setConfig,Ne=Me.setIlLabels,xe=function(){try{return C.useLocation()}catch(e){return{search:""}}}();n.useEffect(function(){if(!Ie.current){var e=new URLSearchParams(window.location.search),t=e.get(d.QUERY_PARAM_KEYS.RULESET_ID),n=e.get(d.QUERY_PARAM_KEYS.SECTION),r=n&&it.has(n)?n:"learnings";(null==t?void 0:t.length)&&J&&fe&&(J(t),fe(r),Ie.current=!0)}},[null==xe?void 0:xe.search,fe,J]);var ke=T.usePermissionsStore(function(e){return e.fetchPermissions}),Be=T.usePermissionsStore(function(e){return e.hasPermission}),Ue=h.useAppSecRolesStore(function(e){return e.setRoles}),He=_.default(function(e){return e.appsecRbacUrl})===Y.appsecRbacUrl,Ye=y.useGetAppSecRolesQuery(Y.applicationId,He).data,Ge=A.useLMSConfigQuery(null!=F?F:"",W),Fe=Ge.isLoading,Qe=Ge.isError,We=Ge.refetch;Ge.isSuccess;var Ke=n.useState(0),ze=Ke[0],Ve=Ke[1];n.useEffect(function(){if(!W&&F&&k){e.__awaiter(N,void 0,void 0,function(){var t,n,r,s,a,i;return e.__generator(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,c.getILInstance(F)];case 1:return t=e.sent(),"number"==typeof(n=null===(i=null===(a=null===(s=null==t?void 0:t.data)||void 0===s?void 0:s.learningManagement)||void 0===a?void 0:a.scopeAndHierarchy)||void 0===i?void 0:i.maxHierarchyLevels)&&n>0&&Ve(n-1),[3,3];case 2:return r=e.sent(),console.error("Failed to fetch IL instance for hierarchy levels:",r),[3,3];case 3:return[2]}})})}},[F,k]),n.useEffect(function(){Ye&&Ue(Ye.map(function(e){return{_id:e._id,name:e.name}}))},[Ye,Ue]),n.useEffect(function(){var e;console.log("userDetails",x),we(x),console.log("llmStudioUrl",k),console.log("audacyBackendUrl",B),_.default.getState().setLlmStudioUrl(k),_.default.getState().setAudacyBackendUrl(B),_.default.getState().setRbacConfig(Y),_.default.getState().setAuditLogConfig(G),_.default.getState().setBaseModeName((null==X?void 0:X.modeNameFromURL)||null),Oe(H),Ne(U),s.useLearningTemplateStore.getState().setAppIntegrationId(null!=F?F:null),s.useLearningTemplateStore.getState().setBackwardCompatibility(W),s.useLearningTemplateStore.getState().setCognitiveCompareCompatibility(null!=z&&z),s.useLearningTemplateStore.getState().setToken(null!==(e=null==x?void 0:x.accessToken)&&void 0!==e?e:null)},[x,we,k,B,Y,G,H,Oe,U,Ne,F,W,z,X]),n.useEffect(function(){(null==x?void 0:x.accessToken)&&k&&c.fetchTiers()},[F,null==x?void 0:x.accessToken,k]);var Xe=function(t){return void 0===t&&(t=!0),e.__awaiter(N,void 0,void 0,function(){var n,r,a,i,o,l,u,d,p,g,_,S;return e.__generator(this,function(m){switch(m.label){case 0:t&&le(!0),$(null),m.label=1;case 1:return m.trys.push([1,7,8,9]),[4,ke(Y.applicationId)];case 2:m.sent(),n=function(t){var r=T.usePermissionsStore.getState().hasPermission("ilotj.scope.view",t.id),s=t.children?t.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return r||0!==s.length?e.__assign(e.__assign({},t),{hasAccess:r,children:s}):null},r=void 0,m.label=3;case 3:return m.trys.push([3,5,,6]),[4,c.fetchScopes(F,x.accessToken)];case 4:return r=m.sent(),[3,6];case 5:if(a=m.sent(),403===(null===(_=null==a?void 0:a.response)||void 0===_?void 0:_.status))return ne(null),me(Y.applicationResourceId||null),he(!0),[2];throw a;case 6:return r&&r.data&&r.data.data&&(i=r.data.data,Array.isArray(i)&&(i=i.length>0?i[0]:null),i?(o=n(i))?(me(null),he(!1),ne({data:o}),je.current?(J(je.current),fe("learnings"),je.current=null):(l=s.useLearningTemplateStore.getState().selectedRuleSetId,u=l?f.findNodeById(o,l):null,l&&u||(d=function(e){if(e.hasAccess)return e;for(var t=0,n=e.children||[];t<n.length;t++){var r=n[t],s=d(r);if(s)return s}return null},p=d(o),J(p?p.id:o.id)))):(me(null!==(S=i.id)&&void 0!==S?S:null),he(!1),ne(null)):(me(null),he(!1),ne(null))),[3,9];case 7:return g=m.sent(),console.error("Failed to fetch rule sets or permissions",g),$("Failed to load data. Please try again later."),[3,9];case 8:return le(!1),[7];case 9:return[2]}})})};n.useEffect(function(){var e;(null===(e=null==x?void 0:x.accessToken)||void 0===e?void 0:e.length)&&He?Xe(!0):console.warn("Error: Trying to fetch rules without access token",x)},[null==x?void 0:x.accessToken,$,ee,Y.applicationId,He]);var Je=function(t,n,r){return e.__awaiter(N,void 0,void 0,function(){var n,r,a,i,o,l,u,d;return e.__generator(this,function(p){switch(p.label){case 0:de(!0),p.label=1;case 1:return p.trys.push([1,4,5,6]),[4,c.deleteRuleSet(t,x.accessToken)];case 2:return p.sent(),s.useLearningTemplateStore.getState().selectedRuleSetId===t&&(n=s.useLearningTemplateStore.getState().scopeTreeData,(r=f.findNodePathById((null==n?void 0:n.data)||null,t))&&r.length>1&&(a=r[r.length-2],J(a),fe("learnings"))),[4,Xe(!0)];case 3:return p.sent(),ae(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),null===(o=Pe.current)||void 0===o||o.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return i=p.sent(),console.error("An error occurred during scope deletion.",i),null===(l=Pe.current)||void 0===l||l.show({severity:"error",summary:"Delete Failed",detail:(null===(d=null===(u=null==i?void 0:i.response)||void 0===u?void 0:u.data)||void 0===d?void 0:d.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return de(!1),[7];case 6:return[2]}})})},Ze=function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),d.setQueryParams(((n={})[d.QUERY_PARAM_KEYS.SECTION]="learnings"===t?null:t,n[d.QUERY_PARAM_KEYS.RULESET_ID]=e,n)),fe(t),J(e),De(!1)},$e=te,et=Ae?{data:{id:Ae.stationId,name:Ae.stationName,type:"STATION",metrics:{learningsCount:Ae.learningsCount,stationsCount:0},children:[]}}:$e,tt=!!(null==et?void 0:et.data);null===(w=null==et?void 0:et.data)||void 0===w||w.type;var nt=T.usePermissionsStore(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",Y.applicationResourceId||""),rt=function(n){return e.__awaiter(N,void 0,void 0,function(){var r,a,o,l,u,d,p,g,f;return e.__generator(this,function(e){switch(e.label){case 0:if(!(r="string"==typeof n?n:(null===(l=null===(o=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===o?void 0:o.data)||void 0===l?void 0:l.id)||Se))return null===(u=Pe.current)||void 0===u||u.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(D.default,{message:"Unable to identify the global scope for this access request."})}),[2];Le(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,c.requestAccess(r,Te)];case 2:return e.sent(),De(!0),null===(d=Pe.current)||void 0===d||d.show({severity:"success",sticky:!1,life:3e3,className:i.default.successToast,content:t.jsx(R.default,{message:"Access request submitted successfully!"})}),[3,5];case 3:return a=e.sent(),null===(p=Pe.current)||void 0===p||p.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(D.default,{message:(null===(f=null===(g=null==a?void 0:a.response)||void 0===g?void 0:g.data)||void 0===f?void 0:f.detail)||"Failed to request access. Please try again."})}),[3,5];case 4:return Le(!1),[7];case 5:return[2]}})})};if(Fe)return t.jsx("div",e.__assign({className:i.default.learningManagementContainer},{children:t.jsx(b.default,{})}));if(Qe)return t.jsx("div",e.__assign({className:i.default.learningManagementContainer},{children:t.jsx(L.default,{errorMessage:"Failed to load configuration. Please try again.",onRetry:function(){return We()},title:"Error Loading Configuration"})}));var st=e.__spreadArray(e.__spreadArray([{type:"GLOBAL",label:"Global",addChildLabel:"".concat(I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".addScope"),"Add Scope")),addChildType:"SCOPE"}],Array.from({length:ze},function(){return e.__assign({type:"SCOPE",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".scope"),"Scope")},!W&&{addChildLabel:I.dt("".concat(P.MIDDLE_DRAWER_CONTEXT_MENU_DT_PATH,".addSubScope"),"Add Subscope"),addChildType:"SUBSCOPE"})}),!0),W?[]:[{type:"SUBSCOPE",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".subScope"),"Subscope")}],!0),at=[{id:"learnings",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".treeMenu.submenu.learnings"),"Learnings"),icon:r.BookOpen,badgeKey:"learningsCount"},{id:"access",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".treeMenu.submenu.access"),"Access"),icon:r.Users},{id:"history",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".treeMenu.submenu.changeHistory"),"Change History"),icon:r.History}],it=new Set(at.map(function(e){return e.id})),ot=Ae?at.filter(function(e){return"stations"!==e.id}):at;return t.jsx(m.TooltipProvider,{children:t.jsxs("div",e.__assign({className:i.default.learningManagementContainer},{children:[t.jsx("div",e.__assign({className:i.default.mainWrapper},{children:oe?t.jsx(g.default,{}):Z?t.jsxs("div",e.__assign({className:i.default.errorContainer},{children:[t.jsx("div",e.__assign({className:i.default.errorTitle},{children:"Error Loading Data"})),t.jsx("p",e.__assign({className:i.default.errorDesc},{children:Z})),t.jsx("button",e.__assign({onClick:function(){return Xe(!0)},className:i.default.tryAgainBtn},{children:"Try Again"}))]})):tt?t.jsx(o.default,{onOpenCreateModal:function(){return ae({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return ae({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return ae({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(t,n,r){return e.__awaiter(N,void 0,void 0,function(){var a,i,o;return e.__generator(this,function(e){switch(e.label){case 0:return a=s.useLearningTemplateStore.getState().scopeTreeData,i=f.findNodePathById((null==a?void 0:a.data)||null,t),o=!!i&&3===i.length,0!==r?[3,2]:[4,Je(t)];case 1:return e.sent(),[3,3];case 2:ae({isOpen:!0,type:"DELETE",scopeId:t,initialName:n,isSubscope:o}),e.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return Be("ilotj.scope.delete",e)},canEditScope:function(e){return Be("ilotj.scope.edit",e)},canCreateScope:function(e){return Be("ilotj.scope.create",e)},onSectionSelect:Ze,activeSectionId:ge,scopeTreeData:et,sectionsConfig:ot,onViewStation:function(e){Ze(e.stationId,"learnings")},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(je.current=t),Xe(e)},nodeTypesConfig:st,app_integration_id:F,token:x.accessToken,modeId:V,onRequestAccess:rt,isRequestingAccess:be,isAccessRequested:Re}):t.jsx(l.default,{onCreate:function(){return ae({isOpen:!0,type:"GLOBAL"})},title:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".title"),"No Global Scope has been added!"),desc:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".desc"),"Start by creating a Global scope to define base learnings that apply across all stations."),button:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".createGlobalScope"),"Create Global Scope"),canCreateRule:nt,noAccessTitle:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".noAccessTitle"),"Access Restricted"),noAccessDesc:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".noAccessDesc"),"You do not have access for this application."),requestAccessButton:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".requestAccessButton"),"Request Access"),requestSentButton:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".requestSentButton"),"Request Sent"),onRequestAccess:rt,isRequestingAccess:be,isAccessRequested:Re})})),t.jsx(a.Toast,{ref:Pe,pt:{root:{style:{zIndex:9999}}}}),W&&se.isOpen&&"DELETE"!==se.type&&"RENAME"!==se.type?t.jsx(v.default,{isOpen:!0,onClose:function(){return ae(e.__assign(e.__assign({},se),{isOpen:!1}))},onSubmit:function(t){return e.__awaiter(N,void 0,void 0,function(){var n,r,a,i,o,l,u,d,p,g,f,_,S,m,v,T,h,y,A,E;return e.__generator(this,function(b){switch(b.label){case 0:de(!0),n=s.useLearningTemplateStore.getState().backwardCompatibility,b.label=1;case 1:return b.trys.push([1,12,13,14]),r=void 0,n&&"object"==typeof t?r=t:(a=t,i="SCOPE"===se.type&&se.parentId,o=i?"genreRuleSet":se.type,r={topic:o,scope_reference_id:null,scopeDescription:"demo",parentScopeId:se.parentId||null,scopeName:a,scopeReferenceMetadata:{},applicationMappingId:F}),[4,c.createRuleSet(r,x.accessToken)];case 2:if(l=b.sent(),!(u=null===(m=null==l?void 0:l.data)||void 0===m?void 0:m.scopeId))return[3,10];if(je.current=u,d=n&&(null===(v=r.topic)||void 0===v?void 0:v.toLowerCase().includes("genre")),p=!n&&"GLOBAL"!==se.type&&se.parentId,!d&&!p)return[3,10];if(!(g=n?null===(h=null===(T=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===T?void 0:T.data)||void 0===h?void 0:h.id:se.parentId))return[3,10];if(!W)return[3,7];b.label=3;case 3:return b.trys.push([3,5,,6]),[4,c.inheritScopeBackwardCompatible({source_scope_id:g,target_scope_id:u})];case 4:return b.sent(),[3,6];case 5:return f=b.sent(),console.error("Failed to inherit rules for the new scope:",f),[3,6];case 6:return[3,10];case 7:return b.trys.push([7,9,,10]),[4,c.inheritScope({source_scope_id:g,target_scope_id:u,application_mapping_id:F||"",is_copy_parent_variant_id:!1})];case 8:return b.sent(),[3,10];case 9:return _=b.sent(),console.error("Failed to inherit rules for the new scope:",_),[3,10];case 10:return[4,Xe(!0)];case 11:return b.sent(),ae(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,14];case 12:throw S=b.sent(),console.error("An error occurred during scope creation.",S),null===(y=Pe.current)||void 0===y||y.show({severity:"error",summary:"Creation Failed",detail:(null===(E=null===(A=null==S?void 0:S.response)||void 0===A?void 0:A.data)||void 0===E?void 0:E.message)||"There was an error creating the scope. Please try again."}),S;case 13:return de(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:tt,canCreateGlobal:nt,globalScopeId:null!==(O=null===(M=null==te?void 0:te.data)||void 0===M?void 0:M.id)&&void 0!==O?O:null}):t.jsxs(t.Fragment,{children:[t.jsx(E.default,{isOpen:se.isOpen&&"DELETE"!==se.type&&"RENAME"!==se.type,onClose:function(){return ae(e.__assign(e.__assign({},se),{isOpen:!1}))},onCreate:function(e){e&&(je.current=e),Xe(!0)},hasGlobalRuleSet:tt,parentId:se.parentId}),t.jsx(j.default,{isOpen:se.isOpen&&"RENAME"===se.type,onClose:function(){return ae(e.__assign(e.__assign({},se),{isOpen:!1}))},onSave:function(n){return e.__awaiter(N,void 0,void 0,function(){var r,a,o,l,u,d;return e.__generator(this,function(p){switch(p.label){case 0:de(!0),p.label=1;case 1:return p.trys.push([1,4,5,6]),se.scopeId?(r=s.useLearningTemplateStore.getState().backwardCompatibility,a=r?{scope_id:se.scopeId,scope_name:n}:{scope_id:se.scopeId,scope_type:"Custom",scope_name:n,application_mapping_id:F},[4,c.renameScope(a,x.accessToken)]):[2];case 2:return p.sent(),[4,Xe(!0)];case 3:return p.sent(),ae(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,6];case 4:throw o=p.sent(),console.error("An error occurred during scope rename.",o),null===(l=Pe.current)||void 0===l||l.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(D.default,{message:(null===(d=null===(u=null==o?void 0:o.response)||void 0===u?void 0:u.data)||void 0===d?void 0:d.message)||"There was an error renaming the scope. Please try again."})}),o;case 5:return de(!1),[7];case 6:return[2]}})})},initialName:se.initialName})]}),t.jsx(p.default,{isOpen:se.isOpen&&"DELETE"===se.type,onCancel:function(){return ae(e.__assign(e.__assign({},se),{isOpen:!1}))},onConfirm:function(){return Je(se.scopeId,se.initialName,se.isSubscope)},title:"Delete Scope",description:t.jsxs(t.Fragment,{children:["Deleting ",t.jsx("span",e.__assign({className:i.default.highlight},{children:se.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:ce})]}))})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),n=require("react"),r=require("lucide-react"),s=require("./store/useLearningTemplateStore.js"),a=require("primereact/toast"),i=require("./styles/LearningTemplateManagement.module.css.js"),o=require("./LearningTemplateLayout.js"),l=require("./components/EmptyLearningState.js"),u=require("./store/useAuthStore.js"),c=require("./apis/scopeApis.js"),d=require("./hooks/useLearningTemplateQueryParams.js"),p=require("./components/ConfirmationModal.js"),g=require("./components/LearningTemplateManagementSkeleton.js"),f=require("./utils/treeUtils.js"),_=require("./store/useEnvStore.js"),S=require("./store/useConfigStore.js"),m=require("./components/ToolTip.js"),v=require("./components/CreateRuleSetLegacyModal.js"),T=require("./store/usePermissionsStore.js"),h=require("./store/useAppSecRolesStore.js"),y=require("./queries/useApprovalQueries.js"),A=require("./queries/useLMSConfigQuery.js"),E=require("./RuleContent/AddScopeModal.js"),L=require("./components/RuleContentSkeleton.js"),b=require("./components/ErrorStateDisplay.js"),C=require("react-router-dom"),R=require("./shared/SuccessToastContent.js"),D=require("./shared/ErrorToastContent.js"),j=require("./RuleContent/RenameScopeModal.js"),I=require("./store/useLMSConfigStore.js"),P=require("./constants.js");exports.default=function(q){var M,w,O,N=this,x=q.userDetails,k=q.llmStudioUrl,B=q.audacyBackendUrl,U=q.ilLabels,H=q.config,Y=q.rbacConfig,G=q.auditLogConfig,F=q.app_integration_id,Q=q.backwardCompatibility,W=void 0!==Q&&Q,K=q.cognitiveCompareCompatibility,z=void 0!==K&&K,V=q.modeId,X=q.modeDetails,J=q.pluginPayload;s.useLearningTemplateStore(function(e){return e.selectedRuleSetId});var Z=s.useLearningTemplateStore(function(e){return e.setSelectedRuleSetId}),$=s.useLearningTemplateStore(function(e){return e.error}),ee=s.useLearningTemplateStore(function(e){return e.setError}),te=s.useLearningTemplateStore(function(e){return e.setStations}),ne=s.useLearningTemplateStore(function(e){return e.scopeTreeData}),re=s.useLearningTemplateStore(function(e){return e.setScopeTreeData}),se=n.useState({isOpen:!1,type:"GLOBAL"}),ae=se[0],ie=se[1],oe=n.useState(!1),le=oe[0],ue=oe[1],ce=n.useState(!1),de=ce[0],pe=ce[1],ge=n.useState("learnings"),fe=ge[0],_e=ge[1],Se=n.useState(null),me=Se[0],ve=Se[1],Te=n.useState(!1),he=Te[0],ye=Te[1],Ae=n.useState(null),Ee=Ae[0];Ae[1];var Le=n.useState(!1),be=Le[0],Ce=Le[1],Re=n.useState(!1),De=Re[0],je=Re[1];n.useRef(null);var Ie=n.useRef(null),Pe=n.useRef(!1),qe=n.useRef(null),Me=u.default();Me.user;var we=Me.setUser,Oe=S.useConfigStore(),Ne=Oe.setConfig,xe=Oe.setIlLabels,ke=function(){try{return C.useLocation()}catch(e){return{search:""}}}();n.useEffect(function(){if(!Pe.current){var e=new URLSearchParams(window.location.search),t=e.get(d.QUERY_PARAM_KEYS.RULESET_ID),n=e.get(d.QUERY_PARAM_KEYS.SECTION),r=n&&ot.has(n)?n:"learnings";(null==t?void 0:t.length)&&Z&&_e&&(Z(t),_e(r),Pe.current=!0)}},[null==ke?void 0:ke.search,_e,Z]),n.useEffect(function(){var t;(null==J?void 0:J.learningManagement)&&I.useLMSConfigStore.getState().setLMSConfig(e.__assign(e.__assign({},J.learningManagement),{agents:null!==(t=J.agents)&&void 0!==t?t:{}}))},[J]);var Be=T.usePermissionsStore(function(e){return e.fetchPermissions}),Ue=T.usePermissionsStore(function(e){return e.hasPermission}),He=h.useAppSecRolesStore(function(e){return e.setRoles}),Ye=_.default(function(e){return e.appsecRbacUrl})===Y.appsecRbacUrl,Ge=y.useGetAppSecRolesQuery(Y.applicationId,Ye).data,Fe=A.useLMSConfigQuery(null!=F?F:"",W),Qe=Fe.isLoading,We=Fe.isError,Ke=Fe.refetch;Fe.isSuccess;var ze=n.useState(0),Ve=ze[0],Xe=ze[1];n.useEffect(function(){if(!W&&F&&k){e.__awaiter(N,void 0,void 0,function(){var t,n,r,s,a,i;return e.__generator(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,c.getILInstance(F)];case 1:return t=e.sent(),"number"==typeof(n=null===(i=null===(a=null===(s=null==t?void 0:t.data)||void 0===s?void 0:s.learningManagement)||void 0===a?void 0:a.scopeAndHierarchy)||void 0===i?void 0:i.maxHierarchyLevels)&&n>0&&Xe(n-1),[3,3];case 2:return r=e.sent(),console.error("Failed to fetch IL instance for hierarchy levels:",r),[3,3];case 3:return[2]}})})}},[F,k]),n.useEffect(function(){Ge&&He(Ge.map(function(e){return{_id:e._id,name:e.name}}))},[Ge,He]),n.useEffect(function(){var e;console.log("userDetails",x),we(x),console.log("llmStudioUrl",k),console.log("audacyBackendUrl",B),_.default.getState().setLlmStudioUrl(k),_.default.getState().setAudacyBackendUrl(B),_.default.getState().setRbacConfig(Y),_.default.getState().setAuditLogConfig(G),_.default.getState().setBaseModeName((null==X?void 0:X.modeNameFromURL)||null),Ne(H),xe(U),s.useLearningTemplateStore.getState().setAppIntegrationId(null!=F?F:null),s.useLearningTemplateStore.getState().setBackwardCompatibility(W),s.useLearningTemplateStore.getState().setCognitiveCompareCompatibility(null!=z&&z),s.useLearningTemplateStore.getState().setToken(null!==(e=null==x?void 0:x.accessToken)&&void 0!==e?e:null)},[x,we,k,B,Y,G,H,Ne,U,xe,F,W,z,X]),n.useEffect(function(){(null==x?void 0:x.accessToken)&&k&&c.fetchTiers()},[F,null==x?void 0:x.accessToken,k]);var Je=function(t){return void 0===t&&(t=!0),e.__awaiter(N,void 0,void 0,function(){var n,r,a,i,o,l,u,d,p,g,_,S;return e.__generator(this,function(m){switch(m.label){case 0:t&&ue(!0),ee(null),m.label=1;case 1:return m.trys.push([1,7,8,9]),[4,Be(Y.applicationId)];case 2:m.sent(),n=function(t){var r=T.usePermissionsStore.getState().hasPermission("ilotj.scope.view",t.id),s=t.children?t.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return r||0!==s.length?e.__assign(e.__assign({},t),{hasAccess:r,children:s}):null},r=void 0,m.label=3;case 3:return m.trys.push([3,5,,6]),[4,c.fetchScopes(F,x.accessToken)];case 4:return r=m.sent(),[3,6];case 5:if(a=m.sent(),403===(null===(_=null==a?void 0:a.response)||void 0===_?void 0:_.status))return re(null),ve(Y.applicationResourceId||null),ye(!0),[2];throw a;case 6:return r&&r.data&&r.data.data&&(i=r.data.data,Array.isArray(i)&&(i=i.length>0?i[0]:null),i?(o=n(i))?(ve(null),ye(!1),re({data:o}),Ie.current?(Z(Ie.current),_e("learnings"),Ie.current=null):(l=s.useLearningTemplateStore.getState().selectedRuleSetId,u=l?f.findNodeById(o,l):null,l&&u||(d=function(e){if(e.hasAccess)return e;for(var t=0,n=e.children||[];t<n.length;t++){var r=n[t],s=d(r);if(s)return s}return null},p=d(o),Z(p?p.id:o.id)))):(ve(null!==(S=i.id)&&void 0!==S?S:null),ye(!1),re(null)):(ve(null),ye(!1),re(null))),[3,9];case 7:return g=m.sent(),console.error("Failed to fetch rule sets or permissions",g),ee("Failed to load data. Please try again later."),[3,9];case 8:return ue(!1),[7];case 9:return[2]}})})};n.useEffect(function(){var e;(null===(e=null==x?void 0:x.accessToken)||void 0===e?void 0:e.length)&&Ye?Je(!0):console.warn("Error: Trying to fetch rules without access token",x)},[null==x?void 0:x.accessToken,ee,te,Y.applicationId,Ye]);var Ze=function(t,n,r){return e.__awaiter(N,void 0,void 0,function(){var n,r,a,i,o,l,u,d;return e.__generator(this,function(p){switch(p.label){case 0:pe(!0),p.label=1;case 1:return p.trys.push([1,4,5,6]),[4,c.deleteRuleSet(t,x.accessToken)];case 2:return p.sent(),s.useLearningTemplateStore.getState().selectedRuleSetId===t&&(n=s.useLearningTemplateStore.getState().scopeTreeData,(r=f.findNodePathById((null==n?void 0:n.data)||null,t))&&r.length>1&&(a=r[r.length-2],Z(a),_e("learnings"))),[4,Je(!0)];case 3:return p.sent(),ie(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),null===(o=qe.current)||void 0===o||o.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return i=p.sent(),console.error("An error occurred during scope deletion.",i),null===(l=qe.current)||void 0===l||l.show({severity:"error",summary:"Delete Failed",detail:(null===(d=null===(u=null==i?void 0:i.response)||void 0===u?void 0:u.data)||void 0===d?void 0:d.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return pe(!1),[7];case 6:return[2]}})})},$e=function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),d.setQueryParams(((n={})[d.QUERY_PARAM_KEYS.SECTION]="learnings"===t?null:t,n[d.QUERY_PARAM_KEYS.RULESET_ID]=e,n)),_e(t),Z(e),je(!1)},et=ne,tt=Ee?{data:{id:Ee.stationId,name:Ee.stationName,type:"STATION",metrics:{learningsCount:Ee.learningsCount,stationsCount:0},children:[]}}:et,nt=!!(null==tt?void 0:tt.data);null===(M=null==tt?void 0:tt.data)||void 0===M||M.type;var rt=T.usePermissionsStore(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",Y.applicationResourceId||""),st=function(n){return e.__awaiter(N,void 0,void 0,function(){var r,a,o,l,u,d,p,g,f;return e.__generator(this,function(e){switch(e.label){case 0:if(!(r="string"==typeof n?n:(null===(l=null===(o=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===o?void 0:o.data)||void 0===l?void 0:l.id)||me))return null===(u=qe.current)||void 0===u||u.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(D.default,{message:"Unable to identify the global scope for this access request."})}),[2];Ce(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,c.requestAccess(r,he)];case 2:return e.sent(),je(!0),null===(d=qe.current)||void 0===d||d.show({severity:"success",sticky:!1,life:3e3,className:i.default.successToast,content:t.jsx(R.default,{message:"Access request submitted successfully!"})}),[3,5];case 3:return a=e.sent(),null===(p=qe.current)||void 0===p||p.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(D.default,{message:(null===(f=null===(g=null==a?void 0:a.response)||void 0===g?void 0:g.data)||void 0===f?void 0:f.detail)||"Failed to request access. Please try again."})}),[3,5];case 4:return Ce(!1),[7];case 5:return[2]}})})};if(Qe)return t.jsx("div",e.__assign({className:i.default.learningManagementContainer},{children:t.jsx(L.default,{})}));if(We)return t.jsx("div",e.__assign({className:i.default.learningManagementContainer},{children:t.jsx(b.default,{errorMessage:"Failed to load configuration. Please try again.",onRetry:function(){return Ke()},title:"Error Loading Configuration"})}));var at=e.__spreadArray(e.__spreadArray([{type:"GLOBAL",label:"Global",addChildLabel:"".concat(I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".addScope"),"Add Scope")),addChildType:"SCOPE"}],Array.from({length:Ve},function(){return e.__assign({type:"SCOPE",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".scope"),"Scope")},!W&&{addChildLabel:I.dt("".concat(P.MIDDLE_DRAWER_CONTEXT_MENU_DT_PATH,".addSubScope"),"Add Subscope"),addChildType:"SUBSCOPE"})}),!0),W?[]:[{type:"SUBSCOPE",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".subScope"),"Subscope")}],!0),it=[{id:"learnings",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".treeMenu.submenu.learnings"),"Learnings"),icon:r.BookOpen,badgeKey:"learningsCount"},{id:"access",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".treeMenu.submenu.access"),"Access"),icon:r.Users},{id:"history",label:I.dt("".concat(P.MIDDLE_DRAWER_DT_PATH,".treeMenu.submenu.changeHistory"),"Change History"),icon:r.History}],ot=new Set(it.map(function(e){return e.id})),lt=Ee?it.filter(function(e){return"stations"!==e.id}):it;return t.jsx(m.TooltipProvider,{children:t.jsxs("div",e.__assign({className:i.default.learningManagementContainer},{children:[t.jsx("div",e.__assign({className:i.default.mainWrapper},{children:le?t.jsx(g.default,{}):$?t.jsxs("div",e.__assign({className:i.default.errorContainer},{children:[t.jsx("div",e.__assign({className:i.default.errorTitle},{children:"Error Loading Data"})),t.jsx("p",e.__assign({className:i.default.errorDesc},{children:$})),t.jsx("button",e.__assign({onClick:function(){return Je(!0)},className:i.default.tryAgainBtn},{children:"Try Again"}))]})):nt?t.jsx(o.default,{onOpenCreateModal:function(){return ie({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return ie({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return ie({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(t,n,r){return e.__awaiter(N,void 0,void 0,function(){var a,i,o;return e.__generator(this,function(e){switch(e.label){case 0:return a=s.useLearningTemplateStore.getState().scopeTreeData,i=f.findNodePathById((null==a?void 0:a.data)||null,t),o=!!i&&3===i.length,0!==r?[3,2]:[4,Ze(t)];case 1:return e.sent(),[3,3];case 2:ie({isOpen:!0,type:"DELETE",scopeId:t,initialName:n,isSubscope:o}),e.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return Ue("ilotj.scope.delete",e)},canEditScope:function(e){return Ue("ilotj.scope.edit",e)},canCreateScope:function(e){return Ue("ilotj.scope.create",e)},onSectionSelect:$e,activeSectionId:fe,scopeTreeData:tt,sectionsConfig:lt,onViewStation:function(e){$e(e.stationId,"learnings")},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(Ie.current=t),Je(e)},nodeTypesConfig:at,app_integration_id:F,token:x.accessToken,modeId:V,onRequestAccess:st,isRequestingAccess:be,isAccessRequested:De}):t.jsx(l.default,{onCreate:function(){return ie({isOpen:!0,type:"GLOBAL"})},title:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".title"),"No Global Scope has been added!"),desc:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".desc"),"Start by creating a Global scope to define base learnings that apply across all stations."),button:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".createGlobalScope"),"Create Global Scope"),canCreateRule:rt,noAccessTitle:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".noAccessTitle"),"Access Restricted"),noAccessDesc:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".noAccessDesc"),"You do not have access for this application."),requestAccessButton:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".requestAccessButton"),"Request Access"),requestSentButton:I.dt("".concat(P.EMPTY_STATE_DT_PATH,".requestSentButton"),"Request Sent"),onRequestAccess:st,isRequestingAccess:be,isAccessRequested:De})})),t.jsx(a.Toast,{ref:qe,pt:{root:{style:{zIndex:9999}}}}),W&&ae.isOpen&&"DELETE"!==ae.type&&"RENAME"!==ae.type?t.jsx(v.default,{isOpen:!0,onClose:function(){return ie(e.__assign(e.__assign({},ae),{isOpen:!1}))},onSubmit:function(t){return e.__awaiter(N,void 0,void 0,function(){var n,r,a,i,o,l,u,d,p,g,f,_,S,m,v,T,h,y,A,E;return e.__generator(this,function(L){switch(L.label){case 0:pe(!0),n=s.useLearningTemplateStore.getState().backwardCompatibility,L.label=1;case 1:return L.trys.push([1,12,13,14]),r=void 0,n&&"object"==typeof t?r=t:(a=t,i="SCOPE"===ae.type&&ae.parentId,o=i?"genreRuleSet":ae.type,r={topic:o,scope_reference_id:null,scopeDescription:"demo",parentScopeId:ae.parentId||null,scopeName:a,scopeReferenceMetadata:{},applicationMappingId:F}),[4,c.createRuleSet(r,x.accessToken)];case 2:if(l=L.sent(),!(u=null===(m=null==l?void 0:l.data)||void 0===m?void 0:m.scopeId))return[3,10];if(Ie.current=u,d=n&&(null===(v=r.topic)||void 0===v?void 0:v.toLowerCase().includes("genre")),p=!n&&"GLOBAL"!==ae.type&&ae.parentId,!d&&!p)return[3,10];if(!(g=n?null===(h=null===(T=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===T?void 0:T.data)||void 0===h?void 0:h.id:ae.parentId))return[3,10];if(!W)return[3,7];L.label=3;case 3:return L.trys.push([3,5,,6]),[4,c.inheritScopeBackwardCompatible({source_scope_id:g,target_scope_id:u})];case 4:return L.sent(),[3,6];case 5:return f=L.sent(),console.error("Failed to inherit rules for the new scope:",f),[3,6];case 6:return[3,10];case 7:return L.trys.push([7,9,,10]),[4,c.inheritScope({source_scope_id:g,target_scope_id:u,application_mapping_id:F||"",is_copy_parent_variant_id:!1})];case 8:return L.sent(),[3,10];case 9:return _=L.sent(),console.error("Failed to inherit rules for the new scope:",_),[3,10];case 10:return[4,Je(!0)];case 11:return L.sent(),ie(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,14];case 12:throw S=L.sent(),console.error("An error occurred during scope creation.",S),null===(y=qe.current)||void 0===y||y.show({severity:"error",summary:"Creation Failed",detail:(null===(E=null===(A=null==S?void 0:S.response)||void 0===A?void 0:A.data)||void 0===E?void 0:E.message)||"There was an error creating the scope. Please try again."}),S;case 13:return pe(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:nt,canCreateGlobal:rt,globalScopeId:null!==(O=null===(w=null==ne?void 0:ne.data)||void 0===w?void 0:w.id)&&void 0!==O?O:null}):t.jsxs(t.Fragment,{children:[t.jsx(E.default,{isOpen:ae.isOpen&&"DELETE"!==ae.type&&"RENAME"!==ae.type,onClose:function(){return ie(e.__assign(e.__assign({},ae),{isOpen:!1}))},onCreate:function(e){e&&(Ie.current=e),Je(!0)},hasGlobalRuleSet:nt,parentId:ae.parentId}),t.jsx(j.default,{isOpen:ae.isOpen&&"RENAME"===ae.type,onClose:function(){return ie(e.__assign(e.__assign({},ae),{isOpen:!1}))},onSave:function(n){return e.__awaiter(N,void 0,void 0,function(){var r,a,o,l,u,d;return e.__generator(this,function(p){switch(p.label){case 0:pe(!0),p.label=1;case 1:return p.trys.push([1,4,5,6]),ae.scopeId?(r=s.useLearningTemplateStore.getState().backwardCompatibility,a=r?{scope_id:ae.scopeId,scope_name:n}:{scope_id:ae.scopeId,scope_type:"Custom",scope_name:n,application_mapping_id:F},[4,c.renameScope(a,x.accessToken)]):[2];case 2:return p.sent(),[4,Je(!0)];case 3:return p.sent(),ie(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,6];case 4:throw o=p.sent(),console.error("An error occurred during scope rename.",o),null===(l=qe.current)||void 0===l||l.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(D.default,{message:(null===(d=null===(u=null==o?void 0:o.response)||void 0===u?void 0:u.data)||void 0===d?void 0:d.message)||"There was an error renaming the scope. Please try again."})}),o;case 5:return pe(!1),[7];case 6:return[2]}})})},initialName:ae.initialName})]}),t.jsx(p.default,{isOpen:ae.isOpen&&"DELETE"===ae.type,onCancel:function(){return ie(e.__assign(e.__assign({},ae),{isOpen:!1}))},onConfirm:function(){return Ze(ae.scopeId,ae.initialName,ae.isSubscope)},title:"Delete Scope",description:t.jsxs(t.Fragment,{children:["Deleting ",t.jsx("span",e.__assign({className:i.default.highlight},{children:ae.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:de})]}))})};
2
2
  //# sourceMappingURL=LearningManagement.js.map
@@ -1,2 +1,2 @@
1
- import{__assign as e,__spreadArray as t,__awaiter as n,__generator as r}from"tslib";import{jsx as o,jsxs as s,Fragment as i}from"react/jsx-runtime";import{useState as a,useRef as c,useEffect as l}from"react";import{BookOpen as u,Users as d,History as p}from"lucide-react";import{useLearningTemplateStore as m}from"./store/useLearningTemplateStore.js";import{Toast as f}from"primereact/toast";import v from"./styles/LearningTemplateManagement.module.css.js";import g from"./LearningTemplateLayout.js";import h from"./components/EmptyLearningState.js";import y from"./store/useAuthStore.js";import{fetchTiers as S,getILInstance as b,fetchScopes as C,inheritScope as T,inheritScopeBackwardCompatible as A,createRuleSet as L,renameScope as I,deleteRuleSet as E,requestAccess as R}from"./apis/scopeApis.js";import{QUERY_PARAM_KEYS as w,setQueryParams as O}from"./hooks/useLearningTemplateQueryParams.js";import j from"./components/ConfirmationModal.js";import N from"./components/LearningTemplateManagementSkeleton.js";import{findNodePathById as _,findNodeById as D}from"./utils/treeUtils.js";import k from"./store/useEnvStore.js";import{useConfigStore as M}from"./store/useConfigStore.js";import{TooltipProvider as B}from"./components/ToolTip.js";import P from"./components/CreateRuleSetLegacyModal.js";import{usePermissionsStore as q}from"./store/usePermissionsStore.js";import{useAppSecRolesStore as U}from"./store/useAppSecRolesStore.js";import{useGetAppSecRolesQuery as G}from"./queries/useApprovalQueries.js";import{useLMSConfigQuery as F}from"./queries/useLMSConfigQuery.js";import x from"./RuleContent/AddScopeModal.js";import H from"./components/RuleContentSkeleton.js";import Q from"./components/ErrorStateDisplay.js";import{useLocation as z}from"react-router-dom";import K from"./shared/SuccessToastContent.js";import V from"./shared/ErrorToastContent.js";import W from"./RuleContent/RenameScopeModal.js";import{dt as Y}from"./store/useLMSConfigStore.js";import{MIDDLE_DRAWER_DT_PATH as J,MIDDLE_DRAWER_CONTEXT_MENU_DT_PATH as X,EMPTY_STATE_DT_PATH as Z}from"./constants.js";function $($){var ee,te,ne,re=this,oe=$.userDetails,se=$.llmStudioUrl,ie=$.audacyBackendUrl,ae=$.ilLabels,ce=$.config,le=$.rbacConfig,ue=$.auditLogConfig,de=$.app_integration_id,pe=$.backwardCompatibility,me=void 0!==pe&&pe,fe=$.cognitiveCompareCompatibility,ve=void 0!==fe&&fe,ge=$.modeId,he=$.modeDetails;m(function(e){return e.selectedRuleSetId});var ye=m(function(e){return e.setSelectedRuleSetId}),Se=m(function(e){return e.error}),be=m(function(e){return e.setError}),Ce=m(function(e){return e.setStations}),Te=m(function(e){return e.scopeTreeData}),Ae=m(function(e){return e.setScopeTreeData}),Le=a({isOpen:!1,type:"GLOBAL"}),Ie=Le[0],Ee=Le[1],Re=a(!1),we=Re[0],Oe=Re[1],je=a(!1),Ne=je[0],_e=je[1],De=a("learnings"),ke=De[0],Me=De[1],Be=a(null),Pe=Be[0],qe=Be[1],Ue=a(!1),Ge=Ue[0],Fe=Ue[1],xe=a(null),He=xe[0];xe[1];var Qe=a(!1),ze=Qe[0],Ke=Qe[1],Ve=a(!1),We=Ve[0],Ye=Ve[1];c(null);var Je=c(null),Xe=c(!1),Ze=c(null),$e=y();$e.user;var et=$e.setUser,tt=M(),nt=tt.setConfig,rt=tt.setIlLabels,ot=function(){try{return z()}catch(e){return{search:""}}}();l(function(){if(!Xe.current){var e=new URLSearchParams(window.location.search),t=e.get(w.RULESET_ID),n=e.get(w.SECTION),r=n&&Rt.has(n)?n:"learnings";(null==t?void 0:t.length)&&ye&&Me&&(ye(t),Me(r),Xe.current=!0)}},[null==ot?void 0:ot.search,Me,ye]);var st=q(function(e){return e.fetchPermissions}),it=q(function(e){return e.hasPermission}),at=U(function(e){return e.setRoles}),ct=k(function(e){return e.appsecRbacUrl})===le.appsecRbacUrl,lt=G(le.applicationId,ct).data,ut=F(null!=de?de:"",me),dt=ut.isLoading,pt=ut.isError,mt=ut.refetch;ut.isSuccess;var ft=a(0),vt=ft[0],gt=ft[1];l(function(){if(!me&&de&&se){n(re,void 0,void 0,function(){var e,t,n,o,s,i;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,b(de)];case 1:return e=r.sent(),"number"==typeof(t=null===(i=null===(s=null===(o=null==e?void 0:e.data)||void 0===o?void 0:o.learningManagement)||void 0===s?void 0:s.scopeAndHierarchy)||void 0===i?void 0:i.maxHierarchyLevels)&&t>0&&gt(t-1),[3,3];case 2:return n=r.sent(),console.error("Failed to fetch IL instance for hierarchy levels:",n),[3,3];case 3:return[2]}})})}},[de,se]),l(function(){lt&&at(lt.map(function(e){return{_id:e._id,name:e.name}}))},[lt,at]),l(function(){var e;console.log("userDetails",oe),et(oe),console.log("llmStudioUrl",se),console.log("audacyBackendUrl",ie),k.getState().setLlmStudioUrl(se),k.getState().setAudacyBackendUrl(ie),k.getState().setRbacConfig(le),k.getState().setAuditLogConfig(ue),k.getState().setBaseModeName((null==he?void 0:he.modeNameFromURL)||null),nt(ce),rt(ae),m.getState().setAppIntegrationId(null!=de?de:null),m.getState().setBackwardCompatibility(me),m.getState().setCognitiveCompareCompatibility(null!=ve&&ve),m.getState().setToken(null!==(e=null==oe?void 0:oe.accessToken)&&void 0!==e?e:null)},[oe,et,se,ie,le,ue,ce,nt,ae,rt,de,me,ve,he]),l(function(){(null==oe?void 0:oe.accessToken)&&se&&S()},[de,null==oe?void 0:oe.accessToken,se]);var ht=function(t){return void 0===t&&(t=!0),n(re,void 0,void 0,function(){var n,o,s,i,a,c,l,u,d,p,f,v;return r(this,function(r){switch(r.label){case 0:t&&Oe(!0),be(null),r.label=1;case 1:return r.trys.push([1,7,8,9]),[4,st(le.applicationId)];case 2:r.sent(),n=function(t){var r=q.getState().hasPermission("ilotj.scope.view",t.id),o=t.children?t.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return r||0!==o.length?e(e({},t),{hasAccess:r,children:o}):null},o=void 0,r.label=3;case 3:return r.trys.push([3,5,,6]),[4,C(de,oe.accessToken)];case 4:return o=r.sent(),[3,6];case 5:if(s=r.sent(),403===(null===(f=null==s?void 0:s.response)||void 0===f?void 0:f.status))return Ae(null),qe(le.applicationResourceId||null),Fe(!0),[2];throw s;case 6:return o&&o.data&&o.data.data&&(i=o.data.data,Array.isArray(i)&&(i=i.length>0?i[0]:null),i?(a=n(i))?(qe(null),Fe(!1),Ae({data:a}),Je.current?(ye(Je.current),Me("learnings"),Je.current=null):(c=m.getState().selectedRuleSetId,l=c?D(a,c):null,c&&l||(u=function(e){if(e.hasAccess)return e;for(var t=0,n=e.children||[];t<n.length;t++){var r=n[t],o=u(r);if(o)return o}return null},d=u(a),ye(d?d.id:a.id)))):(qe(null!==(v=i.id)&&void 0!==v?v:null),Fe(!1),Ae(null)):(qe(null),Fe(!1),Ae(null))),[3,9];case 7:return p=r.sent(),console.error("Failed to fetch rule sets or permissions",p),be("Failed to load data. Please try again later."),[3,9];case 8:return Oe(!1),[7];case 9:return[2]}})})};l(function(){var e;(null===(e=null==oe?void 0:oe.accessToken)||void 0===e?void 0:e.length)&&ct?ht(!0):console.warn("Error: Trying to fetch rules without access token",oe)},[null==oe?void 0:oe.accessToken,be,Ce,le.applicationId,ct]);var yt=function(t,o,s){return n(re,void 0,void 0,function(){var n,o,s,i,a,c,l,u;return r(this,function(r){switch(r.label){case 0:_e(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,E(t,oe.accessToken)];case 2:return r.sent(),m.getState().selectedRuleSetId===t&&(n=m.getState().scopeTreeData,(o=_((null==n?void 0:n.data)||null,t))&&o.length>1&&(s=o[o.length-2],ye(s),Me("learnings"))),[4,ht(!0)];case 3:return r.sent(),Ee(function(t){return e(e({},t),{isOpen:!1})}),null===(a=Ze.current)||void 0===a||a.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return i=r.sent(),console.error("An error occurred during scope deletion.",i),null===(c=Ze.current)||void 0===c||c.show({severity:"error",summary:"Delete Failed",detail:(null===(u=null===(l=null==i?void 0:i.response)||void 0===l?void 0:l.data)||void 0===u?void 0:u.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return _e(!1),[7];case 6:return[2]}})})},St=function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),O(((n={})[w.SECTION]="learnings"===t?null:t,n[w.RULESET_ID]=e,n)),Me(t),ye(e),Ye(!1)},bt=Te,Ct=He?{data:{id:He.stationId,name:He.stationName,type:"STATION",metrics:{learningsCount:He.learningsCount,stationsCount:0},children:[]}}:bt,Tt=!!(null==Ct?void 0:Ct.data);null===(ee=null==Ct?void 0:Ct.data)||void 0===ee||ee.type;var At=q(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",le.applicationResourceId||""),Lt=function(e){return n(re,void 0,void 0,function(){var t,n,s,i,a,c,l,u,d;return r(this,function(r){switch(r.label){case 0:if(!(t="string"==typeof e?e:(null===(i=null===(s=m.getState().scopeTreeData)||void 0===s?void 0:s.data)||void 0===i?void 0:i.id)||Pe))return null===(a=Ze.current)||void 0===a||a.show({severity:"error",sticky:!1,className:v.errorToast,content:o(V,{message:"Unable to identify the global scope for this access request."})}),[2];Ke(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,R(t,Ge)];case 2:return r.sent(),Ye(!0),null===(c=Ze.current)||void 0===c||c.show({severity:"success",sticky:!1,life:3e3,className:v.successToast,content:o(K,{message:"Access request submitted successfully!"})}),[3,5];case 3:return n=r.sent(),null===(l=Ze.current)||void 0===l||l.show({severity:"error",sticky:!1,className:v.errorToast,content:o(V,{message:(null===(d=null===(u=null==n?void 0:n.response)||void 0===u?void 0:u.data)||void 0===d?void 0:d.detail)||"Failed to request access. Please try again."})}),[3,5];case 4:return Ke(!1),[7];case 5:return[2]}})})};if(dt)return o("div",e({className:v.learningManagementContainer},{children:o(H,{})}));if(pt)return o("div",e({className:v.learningManagementContainer},{children:o(Q,{errorMessage:"Failed to load configuration. Please try again.",onRetry:function(){return mt()},title:"Error Loading Configuration"})}));var It=t(t([{type:"GLOBAL",label:"Global",addChildLabel:"".concat(Y("".concat(J,".addScope"),"Add Scope")),addChildType:"SCOPE"}],Array.from({length:vt},function(){return e({type:"SCOPE",label:Y("".concat(J,".scope"),"Scope")},!me&&{addChildLabel:Y("".concat(X,".addSubScope"),"Add Subscope"),addChildType:"SUBSCOPE"})}),!0),me?[]:[{type:"SUBSCOPE",label:Y("".concat(J,".subScope"),"Subscope")}],!0),Et=[{id:"learnings",label:Y("".concat(J,".treeMenu.submenu.learnings"),"Learnings"),icon:u,badgeKey:"learningsCount"},{id:"access",label:Y("".concat(J,".treeMenu.submenu.access"),"Access"),icon:d},{id:"history",label:Y("".concat(J,".treeMenu.submenu.changeHistory"),"Change History"),icon:p}],Rt=new Set(Et.map(function(e){return e.id})),wt=He?Et.filter(function(e){return"stations"!==e.id}):Et;return o(B,{children:s("div",e({className:v.learningManagementContainer},{children:[o("div",e({className:v.mainWrapper},{children:we?o(N,{}):Se?s("div",e({className:v.errorContainer},{children:[o("div",e({className:v.errorTitle},{children:"Error Loading Data"})),o("p",e({className:v.errorDesc},{children:Se})),o("button",e({onClick:function(){return ht(!0)},className:v.tryAgainBtn},{children:"Try Again"}))]})):Tt?o(g,{onOpenCreateModal:function(){return Ee({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return Ee({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return Ee({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(e,t,o){return n(re,void 0,void 0,function(){var n,s,i;return r(this,function(r){switch(r.label){case 0:return n=m.getState().scopeTreeData,s=_((null==n?void 0:n.data)||null,e),i=!!s&&3===s.length,0!==o?[3,2]:[4,yt(e)];case 1:return r.sent(),[3,3];case 2:Ee({isOpen:!0,type:"DELETE",scopeId:e,initialName:t,isSubscope:i}),r.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return it("ilotj.scope.delete",e)},canEditScope:function(e){return it("ilotj.scope.edit",e)},canCreateScope:function(e){return it("ilotj.scope.create",e)},onSectionSelect:St,activeSectionId:ke,scopeTreeData:Ct,sectionsConfig:wt,onViewStation:function(e){St(e.stationId,"learnings")},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(Je.current=t),ht(e)},nodeTypesConfig:It,app_integration_id:de,token:oe.accessToken,modeId:ge,onRequestAccess:Lt,isRequestingAccess:ze,isAccessRequested:We}):o(h,{onCreate:function(){return Ee({isOpen:!0,type:"GLOBAL"})},title:Y("".concat(Z,".title"),"No Global Scope has been added!"),desc:Y("".concat(Z,".desc"),"Start by creating a Global scope to define base learnings that apply across all stations."),button:Y("".concat(Z,".createGlobalScope"),"Create Global Scope"),canCreateRule:At,noAccessTitle:Y("".concat(Z,".noAccessTitle"),"Access Restricted"),noAccessDesc:Y("".concat(Z,".noAccessDesc"),"You do not have access for this application."),requestAccessButton:Y("".concat(Z,".requestAccessButton"),"Request Access"),requestSentButton:Y("".concat(Z,".requestSentButton"),"Request Sent"),onRequestAccess:Lt,isRequestingAccess:ze,isAccessRequested:We})})),o(f,{ref:Ze,pt:{root:{style:{zIndex:9999}}}}),me&&Ie.isOpen&&"DELETE"!==Ie.type&&"RENAME"!==Ie.type?o(P,{isOpen:!0,onClose:function(){return Ee(e(e({},Ie),{isOpen:!1}))},onSubmit:function(t){return n(re,void 0,void 0,function(){var n,o,s,i,a,c,l,u,d,p,f,v,g,h,y,S,b,C,I,E;return r(this,function(r){switch(r.label){case 0:_e(!0),n=m.getState().backwardCompatibility,r.label=1;case 1:return r.trys.push([1,12,13,14]),o=void 0,n&&"object"==typeof t?o=t:(s=t,i="SCOPE"===Ie.type&&Ie.parentId,a=i?"genreRuleSet":Ie.type,o={topic:a,scope_reference_id:null,scopeDescription:"demo",parentScopeId:Ie.parentId||null,scopeName:s,scopeReferenceMetadata:{},applicationMappingId:de}),[4,L(o,oe.accessToken)];case 2:if(c=r.sent(),!(l=null===(h=null==c?void 0:c.data)||void 0===h?void 0:h.scopeId))return[3,10];if(Je.current=l,u=n&&(null===(y=o.topic)||void 0===y?void 0:y.toLowerCase().includes("genre")),d=!n&&"GLOBAL"!==Ie.type&&Ie.parentId,!u&&!d)return[3,10];if(!(p=n?null===(b=null===(S=m.getState().scopeTreeData)||void 0===S?void 0:S.data)||void 0===b?void 0:b.id:Ie.parentId))return[3,10];if(!me)return[3,7];r.label=3;case 3:return r.trys.push([3,5,,6]),[4,A({source_scope_id:p,target_scope_id:l})];case 4:return r.sent(),[3,6];case 5:return f=r.sent(),console.error("Failed to inherit rules for the new scope:",f),[3,6];case 6:return[3,10];case 7:return r.trys.push([7,9,,10]),[4,T({source_scope_id:p,target_scope_id:l,application_mapping_id:de||"",is_copy_parent_variant_id:!1})];case 8:return r.sent(),[3,10];case 9:return v=r.sent(),console.error("Failed to inherit rules for the new scope:",v),[3,10];case 10:return[4,ht(!0)];case 11:return r.sent(),Ee(function(t){return e(e({},t),{isOpen:!1})}),[3,14];case 12:throw g=r.sent(),console.error("An error occurred during scope creation.",g),null===(C=Ze.current)||void 0===C||C.show({severity:"error",summary:"Creation Failed",detail:(null===(E=null===(I=null==g?void 0:g.response)||void 0===I?void 0:I.data)||void 0===E?void 0:E.message)||"There was an error creating the scope. Please try again."}),g;case 13:return _e(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:Tt,canCreateGlobal:At,globalScopeId:null!==(ne=null===(te=null==Te?void 0:Te.data)||void 0===te?void 0:te.id)&&void 0!==ne?ne:null}):s(i,{children:[o(x,{isOpen:Ie.isOpen&&"DELETE"!==Ie.type&&"RENAME"!==Ie.type,onClose:function(){return Ee(e(e({},Ie),{isOpen:!1}))},onCreate:function(e){e&&(Je.current=e),ht(!0)},hasGlobalRuleSet:Tt,parentId:Ie.parentId}),o(W,{isOpen:Ie.isOpen&&"RENAME"===Ie.type,onClose:function(){return Ee(e(e({},Ie),{isOpen:!1}))},onSave:function(t){return n(re,void 0,void 0,function(){var n,s,i,a,c,l;return r(this,function(r){switch(r.label){case 0:_e(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),Ie.scopeId?(n=m.getState().backwardCompatibility,s=n?{scope_id:Ie.scopeId,scope_name:t}:{scope_id:Ie.scopeId,scope_type:"Custom",scope_name:t,application_mapping_id:de},[4,I(s,oe.accessToken)]):[2];case 2:return r.sent(),[4,ht(!0)];case 3:return r.sent(),Ee(function(t){return e(e({},t),{isOpen:!1})}),[3,6];case 4:throw i=r.sent(),console.error("An error occurred during scope rename.",i),null===(a=Ze.current)||void 0===a||a.show({severity:"error",sticky:!1,className:v.errorToast,content:o(V,{message:(null===(l=null===(c=null==i?void 0:i.response)||void 0===c?void 0:c.data)||void 0===l?void 0:l.message)||"There was an error renaming the scope. Please try again."})}),i;case 5:return _e(!1),[7];case 6:return[2]}})})},initialName:Ie.initialName})]}),o(j,{isOpen:Ie.isOpen&&"DELETE"===Ie.type,onCancel:function(){return Ee(e(e({},Ie),{isOpen:!1}))},onConfirm:function(){return yt(Ie.scopeId,Ie.initialName,Ie.isSubscope)},title:"Delete Scope",description:s(i,{children:["Deleting ",o("span",e({className:v.highlight},{children:Ie.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:Ne})]}))})}export{$ as default};
1
+ import{__assign as e,__spreadArray as t,__awaiter as n,__generator as r}from"tslib";import{jsx as o,jsxs as s,Fragment as a}from"react/jsx-runtime";import{useState as i,useRef as c,useEffect as l}from"react";import{BookOpen as u,Users as d,History as p}from"lucide-react";import{useLearningTemplateStore as m}from"./store/useLearningTemplateStore.js";import{Toast as f}from"primereact/toast";import v from"./styles/LearningTemplateManagement.module.css.js";import g from"./LearningTemplateLayout.js";import h from"./components/EmptyLearningState.js";import S from"./store/useAuthStore.js";import{fetchTiers as y,getILInstance as b,fetchScopes as C,inheritScope as T,inheritScopeBackwardCompatible as A,createRuleSet as L,renameScope as I,deleteRuleSet as E,requestAccess as R}from"./apis/scopeApis.js";import{QUERY_PARAM_KEYS as w,setQueryParams as O}from"./hooks/useLearningTemplateQueryParams.js";import j from"./components/ConfirmationModal.js";import N from"./components/LearningTemplateManagementSkeleton.js";import{findNodePathById as _,findNodeById as D}from"./utils/treeUtils.js";import k from"./store/useEnvStore.js";import{useConfigStore as M}from"./store/useConfigStore.js";import{TooltipProvider as P}from"./components/ToolTip.js";import B from"./components/CreateRuleSetLegacyModal.js";import{usePermissionsStore as q}from"./store/usePermissionsStore.js";import{useAppSecRolesStore as U}from"./store/useAppSecRolesStore.js";import{useGetAppSecRolesQuery as G}from"./queries/useApprovalQueries.js";import{useLMSConfigQuery as F}from"./queries/useLMSConfigQuery.js";import x from"./RuleContent/AddScopeModal.js";import H from"./components/RuleContentSkeleton.js";import Q from"./components/ErrorStateDisplay.js";import{useLocation as z}from"react-router-dom";import K from"./shared/SuccessToastContent.js";import V from"./shared/ErrorToastContent.js";import W from"./RuleContent/RenameScopeModal.js";import{useLMSConfigStore as Y,dt as J}from"./store/useLMSConfigStore.js";import{MIDDLE_DRAWER_DT_PATH as X,MIDDLE_DRAWER_CONTEXT_MENU_DT_PATH as Z,EMPTY_STATE_DT_PATH as $}from"./constants.js";function ee(ee){var te,ne,re,oe=this,se=ee.userDetails,ae=ee.llmStudioUrl,ie=ee.audacyBackendUrl,ce=ee.ilLabels,le=ee.config,ue=ee.rbacConfig,de=ee.auditLogConfig,pe=ee.app_integration_id,me=ee.backwardCompatibility,fe=void 0!==me&&me,ve=ee.cognitiveCompareCompatibility,ge=void 0!==ve&&ve,he=ee.modeId,Se=ee.modeDetails,ye=ee.pluginPayload;m(function(e){return e.selectedRuleSetId});var be=m(function(e){return e.setSelectedRuleSetId}),Ce=m(function(e){return e.error}),Te=m(function(e){return e.setError}),Ae=m(function(e){return e.setStations}),Le=m(function(e){return e.scopeTreeData}),Ie=m(function(e){return e.setScopeTreeData}),Ee=i({isOpen:!1,type:"GLOBAL"}),Re=Ee[0],we=Ee[1],Oe=i(!1),je=Oe[0],Ne=Oe[1],_e=i(!1),De=_e[0],ke=_e[1],Me=i("learnings"),Pe=Me[0],Be=Me[1],qe=i(null),Ue=qe[0],Ge=qe[1],Fe=i(!1),xe=Fe[0],He=Fe[1],Qe=i(null),ze=Qe[0];Qe[1];var Ke=i(!1),Ve=Ke[0],We=Ke[1],Ye=i(!1),Je=Ye[0],Xe=Ye[1];c(null);var Ze=c(null),$e=c(!1),et=c(null),tt=S();tt.user;var nt=tt.setUser,rt=M(),ot=rt.setConfig,st=rt.setIlLabels,at=function(){try{return z()}catch(e){return{search:""}}}();l(function(){if(!$e.current){var e=new URLSearchParams(window.location.search),t=e.get(w.RULESET_ID),n=e.get(w.SECTION),r=n&&Ot.has(n)?n:"learnings";(null==t?void 0:t.length)&&be&&Be&&(be(t),Be(r),$e.current=!0)}},[null==at?void 0:at.search,Be,be]),l(function(){var t;(null==ye?void 0:ye.learningManagement)&&Y.getState().setLMSConfig(e(e({},ye.learningManagement),{agents:null!==(t=ye.agents)&&void 0!==t?t:{}}))},[ye]);var it=q(function(e){return e.fetchPermissions}),ct=q(function(e){return e.hasPermission}),lt=U(function(e){return e.setRoles}),ut=k(function(e){return e.appsecRbacUrl})===ue.appsecRbacUrl,dt=G(ue.applicationId,ut).data,pt=F(null!=pe?pe:"",fe),mt=pt.isLoading,ft=pt.isError,vt=pt.refetch;pt.isSuccess;var gt=i(0),ht=gt[0],St=gt[1];l(function(){if(!fe&&pe&&ae){n(oe,void 0,void 0,function(){var e,t,n,o,s,a;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,b(pe)];case 1:return e=r.sent(),"number"==typeof(t=null===(a=null===(s=null===(o=null==e?void 0:e.data)||void 0===o?void 0:o.learningManagement)||void 0===s?void 0:s.scopeAndHierarchy)||void 0===a?void 0:a.maxHierarchyLevels)&&t>0&&St(t-1),[3,3];case 2:return n=r.sent(),console.error("Failed to fetch IL instance for hierarchy levels:",n),[3,3];case 3:return[2]}})})}},[pe,ae]),l(function(){dt&&lt(dt.map(function(e){return{_id:e._id,name:e.name}}))},[dt,lt]),l(function(){var e;console.log("userDetails",se),nt(se),console.log("llmStudioUrl",ae),console.log("audacyBackendUrl",ie),k.getState().setLlmStudioUrl(ae),k.getState().setAudacyBackendUrl(ie),k.getState().setRbacConfig(ue),k.getState().setAuditLogConfig(de),k.getState().setBaseModeName((null==Se?void 0:Se.modeNameFromURL)||null),ot(le),st(ce),m.getState().setAppIntegrationId(null!=pe?pe:null),m.getState().setBackwardCompatibility(fe),m.getState().setCognitiveCompareCompatibility(null!=ge&&ge),m.getState().setToken(null!==(e=null==se?void 0:se.accessToken)&&void 0!==e?e:null)},[se,nt,ae,ie,ue,de,le,ot,ce,st,pe,fe,ge,Se]),l(function(){(null==se?void 0:se.accessToken)&&ae&&y()},[pe,null==se?void 0:se.accessToken,ae]);var yt=function(t){return void 0===t&&(t=!0),n(oe,void 0,void 0,function(){var n,o,s,a,i,c,l,u,d,p,f,v;return r(this,function(r){switch(r.label){case 0:t&&Ne(!0),Te(null),r.label=1;case 1:return r.trys.push([1,7,8,9]),[4,it(ue.applicationId)];case 2:r.sent(),n=function(t){var r=q.getState().hasPermission("ilotj.scope.view",t.id),o=t.children?t.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return r||0!==o.length?e(e({},t),{hasAccess:r,children:o}):null},o=void 0,r.label=3;case 3:return r.trys.push([3,5,,6]),[4,C(pe,se.accessToken)];case 4:return o=r.sent(),[3,6];case 5:if(s=r.sent(),403===(null===(f=null==s?void 0:s.response)||void 0===f?void 0:f.status))return Ie(null),Ge(ue.applicationResourceId||null),He(!0),[2];throw s;case 6:return o&&o.data&&o.data.data&&(a=o.data.data,Array.isArray(a)&&(a=a.length>0?a[0]:null),a?(i=n(a))?(Ge(null),He(!1),Ie({data:i}),Ze.current?(be(Ze.current),Be("learnings"),Ze.current=null):(c=m.getState().selectedRuleSetId,l=c?D(i,c):null,c&&l||(u=function(e){if(e.hasAccess)return e;for(var t=0,n=e.children||[];t<n.length;t++){var r=n[t],o=u(r);if(o)return o}return null},d=u(i),be(d?d.id:i.id)))):(Ge(null!==(v=a.id)&&void 0!==v?v:null),He(!1),Ie(null)):(Ge(null),He(!1),Ie(null))),[3,9];case 7:return p=r.sent(),console.error("Failed to fetch rule sets or permissions",p),Te("Failed to load data. Please try again later."),[3,9];case 8:return Ne(!1),[7];case 9:return[2]}})})};l(function(){var e;(null===(e=null==se?void 0:se.accessToken)||void 0===e?void 0:e.length)&&ut?yt(!0):console.warn("Error: Trying to fetch rules without access token",se)},[null==se?void 0:se.accessToken,Te,Ae,ue.applicationId,ut]);var bt=function(t,o,s){return n(oe,void 0,void 0,function(){var n,o,s,a,i,c,l,u;return r(this,function(r){switch(r.label){case 0:ke(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,E(t,se.accessToken)];case 2:return r.sent(),m.getState().selectedRuleSetId===t&&(n=m.getState().scopeTreeData,(o=_((null==n?void 0:n.data)||null,t))&&o.length>1&&(s=o[o.length-2],be(s),Be("learnings"))),[4,yt(!0)];case 3:return r.sent(),we(function(t){return e(e({},t),{isOpen:!1})}),null===(i=et.current)||void 0===i||i.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return a=r.sent(),console.error("An error occurred during scope deletion.",a),null===(c=et.current)||void 0===c||c.show({severity:"error",summary:"Delete Failed",detail:(null===(u=null===(l=null==a?void 0:a.response)||void 0===l?void 0:l.data)||void 0===u?void 0:u.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return ke(!1),[7];case 6:return[2]}})})},Ct=function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),O(((n={})[w.SECTION]="learnings"===t?null:t,n[w.RULESET_ID]=e,n)),Be(t),be(e),Xe(!1)},Tt=Le,At=ze?{data:{id:ze.stationId,name:ze.stationName,type:"STATION",metrics:{learningsCount:ze.learningsCount,stationsCount:0},children:[]}}:Tt,Lt=!!(null==At?void 0:At.data);null===(te=null==At?void 0:At.data)||void 0===te||te.type;var It=q(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",ue.applicationResourceId||""),Et=function(e){return n(oe,void 0,void 0,function(){var t,n,s,a,i,c,l,u,d;return r(this,function(r){switch(r.label){case 0:if(!(t="string"==typeof e?e:(null===(a=null===(s=m.getState().scopeTreeData)||void 0===s?void 0:s.data)||void 0===a?void 0:a.id)||Ue))return null===(i=et.current)||void 0===i||i.show({severity:"error",sticky:!1,className:v.errorToast,content:o(V,{message:"Unable to identify the global scope for this access request."})}),[2];We(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,R(t,xe)];case 2:return r.sent(),Xe(!0),null===(c=et.current)||void 0===c||c.show({severity:"success",sticky:!1,life:3e3,className:v.successToast,content:o(K,{message:"Access request submitted successfully!"})}),[3,5];case 3:return n=r.sent(),null===(l=et.current)||void 0===l||l.show({severity:"error",sticky:!1,className:v.errorToast,content:o(V,{message:(null===(d=null===(u=null==n?void 0:n.response)||void 0===u?void 0:u.data)||void 0===d?void 0:d.detail)||"Failed to request access. Please try again."})}),[3,5];case 4:return We(!1),[7];case 5:return[2]}})})};if(mt)return o("div",e({className:v.learningManagementContainer},{children:o(H,{})}));if(ft)return o("div",e({className:v.learningManagementContainer},{children:o(Q,{errorMessage:"Failed to load configuration. Please try again.",onRetry:function(){return vt()},title:"Error Loading Configuration"})}));var Rt=t(t([{type:"GLOBAL",label:"Global",addChildLabel:"".concat(J("".concat(X,".addScope"),"Add Scope")),addChildType:"SCOPE"}],Array.from({length:ht},function(){return e({type:"SCOPE",label:J("".concat(X,".scope"),"Scope")},!fe&&{addChildLabel:J("".concat(Z,".addSubScope"),"Add Subscope"),addChildType:"SUBSCOPE"})}),!0),fe?[]:[{type:"SUBSCOPE",label:J("".concat(X,".subScope"),"Subscope")}],!0),wt=[{id:"learnings",label:J("".concat(X,".treeMenu.submenu.learnings"),"Learnings"),icon:u,badgeKey:"learningsCount"},{id:"access",label:J("".concat(X,".treeMenu.submenu.access"),"Access"),icon:d},{id:"history",label:J("".concat(X,".treeMenu.submenu.changeHistory"),"Change History"),icon:p}],Ot=new Set(wt.map(function(e){return e.id})),jt=ze?wt.filter(function(e){return"stations"!==e.id}):wt;return o(P,{children:s("div",e({className:v.learningManagementContainer},{children:[o("div",e({className:v.mainWrapper},{children:je?o(N,{}):Ce?s("div",e({className:v.errorContainer},{children:[o("div",e({className:v.errorTitle},{children:"Error Loading Data"})),o("p",e({className:v.errorDesc},{children:Ce})),o("button",e({onClick:function(){return yt(!0)},className:v.tryAgainBtn},{children:"Try Again"}))]})):Lt?o(g,{onOpenCreateModal:function(){return we({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return we({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return we({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(e,t,o){return n(oe,void 0,void 0,function(){var n,s,a;return r(this,function(r){switch(r.label){case 0:return n=m.getState().scopeTreeData,s=_((null==n?void 0:n.data)||null,e),a=!!s&&3===s.length,0!==o?[3,2]:[4,bt(e)];case 1:return r.sent(),[3,3];case 2:we({isOpen:!0,type:"DELETE",scopeId:e,initialName:t,isSubscope:a}),r.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return ct("ilotj.scope.delete",e)},canEditScope:function(e){return ct("ilotj.scope.edit",e)},canCreateScope:function(e){return ct("ilotj.scope.create",e)},onSectionSelect:Ct,activeSectionId:Pe,scopeTreeData:At,sectionsConfig:jt,onViewStation:function(e){Ct(e.stationId,"learnings")},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(Ze.current=t),yt(e)},nodeTypesConfig:Rt,app_integration_id:pe,token:se.accessToken,modeId:he,onRequestAccess:Et,isRequestingAccess:Ve,isAccessRequested:Je}):o(h,{onCreate:function(){return we({isOpen:!0,type:"GLOBAL"})},title:J("".concat($,".title"),"No Global Scope has been added!"),desc:J("".concat($,".desc"),"Start by creating a Global scope to define base learnings that apply across all stations."),button:J("".concat($,".createGlobalScope"),"Create Global Scope"),canCreateRule:It,noAccessTitle:J("".concat($,".noAccessTitle"),"Access Restricted"),noAccessDesc:J("".concat($,".noAccessDesc"),"You do not have access for this application."),requestAccessButton:J("".concat($,".requestAccessButton"),"Request Access"),requestSentButton:J("".concat($,".requestSentButton"),"Request Sent"),onRequestAccess:Et,isRequestingAccess:Ve,isAccessRequested:Je})})),o(f,{ref:et,pt:{root:{style:{zIndex:9999}}}}),fe&&Re.isOpen&&"DELETE"!==Re.type&&"RENAME"!==Re.type?o(B,{isOpen:!0,onClose:function(){return we(e(e({},Re),{isOpen:!1}))},onSubmit:function(t){return n(oe,void 0,void 0,function(){var n,o,s,a,i,c,l,u,d,p,f,v,g,h,S,y,b,C,I,E;return r(this,function(r){switch(r.label){case 0:ke(!0),n=m.getState().backwardCompatibility,r.label=1;case 1:return r.trys.push([1,12,13,14]),o=void 0,n&&"object"==typeof t?o=t:(s=t,a="SCOPE"===Re.type&&Re.parentId,i=a?"genreRuleSet":Re.type,o={topic:i,scope_reference_id:null,scopeDescription:"demo",parentScopeId:Re.parentId||null,scopeName:s,scopeReferenceMetadata:{},applicationMappingId:pe}),[4,L(o,se.accessToken)];case 2:if(c=r.sent(),!(l=null===(h=null==c?void 0:c.data)||void 0===h?void 0:h.scopeId))return[3,10];if(Ze.current=l,u=n&&(null===(S=o.topic)||void 0===S?void 0:S.toLowerCase().includes("genre")),d=!n&&"GLOBAL"!==Re.type&&Re.parentId,!u&&!d)return[3,10];if(!(p=n?null===(b=null===(y=m.getState().scopeTreeData)||void 0===y?void 0:y.data)||void 0===b?void 0:b.id:Re.parentId))return[3,10];if(!fe)return[3,7];r.label=3;case 3:return r.trys.push([3,5,,6]),[4,A({source_scope_id:p,target_scope_id:l})];case 4:return r.sent(),[3,6];case 5:return f=r.sent(),console.error("Failed to inherit rules for the new scope:",f),[3,6];case 6:return[3,10];case 7:return r.trys.push([7,9,,10]),[4,T({source_scope_id:p,target_scope_id:l,application_mapping_id:pe||"",is_copy_parent_variant_id:!1})];case 8:return r.sent(),[3,10];case 9:return v=r.sent(),console.error("Failed to inherit rules for the new scope:",v),[3,10];case 10:return[4,yt(!0)];case 11:return r.sent(),we(function(t){return e(e({},t),{isOpen:!1})}),[3,14];case 12:throw g=r.sent(),console.error("An error occurred during scope creation.",g),null===(C=et.current)||void 0===C||C.show({severity:"error",summary:"Creation Failed",detail:(null===(E=null===(I=null==g?void 0:g.response)||void 0===I?void 0:I.data)||void 0===E?void 0:E.message)||"There was an error creating the scope. Please try again."}),g;case 13:return ke(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:Lt,canCreateGlobal:It,globalScopeId:null!==(re=null===(ne=null==Le?void 0:Le.data)||void 0===ne?void 0:ne.id)&&void 0!==re?re:null}):s(a,{children:[o(x,{isOpen:Re.isOpen&&"DELETE"!==Re.type&&"RENAME"!==Re.type,onClose:function(){return we(e(e({},Re),{isOpen:!1}))},onCreate:function(e){e&&(Ze.current=e),yt(!0)},hasGlobalRuleSet:Lt,parentId:Re.parentId}),o(W,{isOpen:Re.isOpen&&"RENAME"===Re.type,onClose:function(){return we(e(e({},Re),{isOpen:!1}))},onSave:function(t){return n(oe,void 0,void 0,function(){var n,s,a,i,c,l;return r(this,function(r){switch(r.label){case 0:ke(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),Re.scopeId?(n=m.getState().backwardCompatibility,s=n?{scope_id:Re.scopeId,scope_name:t}:{scope_id:Re.scopeId,scope_type:"Custom",scope_name:t,application_mapping_id:pe},[4,I(s,se.accessToken)]):[2];case 2:return r.sent(),[4,yt(!0)];case 3:return r.sent(),we(function(t){return e(e({},t),{isOpen:!1})}),[3,6];case 4:throw a=r.sent(),console.error("An error occurred during scope rename.",a),null===(i=et.current)||void 0===i||i.show({severity:"error",sticky:!1,className:v.errorToast,content:o(V,{message:(null===(l=null===(c=null==a?void 0:a.response)||void 0===c?void 0:c.data)||void 0===l?void 0:l.message)||"There was an error renaming the scope. Please try again."})}),a;case 5:return ke(!1),[7];case 6:return[2]}})})},initialName:Re.initialName})]}),o(j,{isOpen:Re.isOpen&&"DELETE"===Re.type,onCancel:function(){return we(e(e({},Re),{isOpen:!1}))},onConfirm:function(){return bt(Re.scopeId,Re.initialName,Re.isSubscope)},title:"Delete Scope",description:s(a,{children:["Deleting ",o("span",e({className:v.highlight},{children:Re.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:De})]}))})}export{ee as default};
2
2
  //# sourceMappingURL=LearningManagement.js.map
@@ -31,11 +31,12 @@ interface LearningManagementProps {
31
31
  modeNameFromURL: string;
32
32
  submodeNameFromURL: string;
33
33
  };
34
+ pluginPayload?: Record<string, any>;
34
35
  }
35
36
  /**
36
37
  * Main entry point for the Learning Template Management feature.
37
38
  * Responsible for initializing data (mock data for now) and rendering the main layout.
38
39
  */
39
- declare function LearningManagement({ userDetails, llmStudioUrl, audacyBackendUrl, ilLabels, config, rbacConfig, auditLogConfig, app_integration_id, backwardCompatibility, cognitiveCompareCompatibility, modeId, modeDetails, }: LearningManagementProps): React.JSX.Element;
40
+ declare function LearningManagement({ userDetails, llmStudioUrl, audacyBackendUrl, ilLabels, config, rbacConfig, auditLogConfig, app_integration_id, backwardCompatibility, cognitiveCompareCompatibility, modeId, modeDetails, pluginPayload, }: LearningManagementProps): React.JSX.Element;
40
41
  export default LearningManagement;
41
42
  //# sourceMappingURL=LearningManagement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LearningManagement.d.ts","sourceRoot":"","sources":["../../../../../src/features/LearningManagement/LearningManagement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AASnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAWrC,OAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmC9E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,uBAAuB;IAC/B,WAAW,EAAE,IAAI,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAA;IACD,MAAM,CAAC,EAAC,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,WAAW,CAAC,EAAE;QACZ,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED;;;GAGG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,qBAA2B,EAC3B,6BAAmC,EACnC,MAAM,EACN,WAAW,GACZ,EAAE,uBAAuB,qBAyvBzB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"LearningManagement.d.ts","sourceRoot":"","sources":["../../../../../src/features/LearningManagement/LearningManagement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AASnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAWrC,OAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmC9E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,uBAAuB;IAC/B,WAAW,EAAE,IAAI,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAA;IACD,MAAM,CAAC,EAAC,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,WAAW,CAAC,EAAE;QACZ,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,qBAA2B,EAC3B,6BAAmC,EACnC,MAAM,EACN,WAAW,EACX,aAAa,GACd,EAAE,uBAAuB,qBAmwBzB;AAED,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LearningManagementTest.d.ts","sourceRoot":"","sources":["../../../../../src/features/LearningManagement/LearningManagementTest.tsx"],"names":[],"mappings":";AAKA,iBAAS,sBAAsB,gCA6H9B;AAED,eAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"LearningManagementTest.d.ts","sourceRoot":"","sources":["../../../../../src/features/LearningManagement/LearningManagementTest.tsx"],"names":[],"mappings":";AAKA,iBAAS,sBAAsB,gCAuH9B;AAED,eAAe,sBAAsB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e-llm-studio/instant-learning",
3
- "version": "1.3.0-alpha.100",
3
+ "version": "1.3.0-alpha.101",
4
4
  "author": "Devesh Patel",
5
5
  "description": "",
6
6
  "license": "MIT",