@e-llm-studio/instant-learning 1.3.0-alpha.11 → 1.3.0-alpha.13

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"),S=require("./store/useEnvStore.js"),m=require("./store/useConfigStore.js"),v=require("./components/ToolTip.js"),h=require("./components/CreateRuleSetLegacyModal.js"),_=require("./store/usePermissionsStore.js"),y=require("./store/useAppSecRolesStore.js"),T=require("./queries/useApprovalQueries.js"),b=require("./RuleContent/AddScopeModal.js"),C=require("react-router-dom"),L=require("./shared/SuccessToastContent.js"),j=require("./shared/ErrorToastContent.js"),E=require("./RuleContent/RenameScopeModal.js"),A=[{id:"learnings",label:"Learnings",icon:r.BookOpen,badgeKey:"learningsCount"},{id:"access",label:"Access",icon:r.Users},{id:"history",label:"Change History",icon:r.History}],R=new Set(A.map(function(e){return e.id}));exports.default=function(r){var w,I,O,q=this,N=r.userDetails,P=r.llmStudioUrl,k=r.audacyBackendUrl,x=r.ilLabels,D=r.config,U=r.rbacConfig,M=r.auditLogConfig,B=r.app_integration_id,G=r.backwardCompatibility,F=void 0!==G&&G,Q=s.useLearningTemplateStore(function(e){return e.selectedRuleSetId}),Y=s.useLearningTemplateStore(function(e){return e.setSelectedRuleSetId}),K=s.useLearningTemplateStore(function(e){return e.error}),H=s.useLearningTemplateStore(function(e){return e.setError}),z=s.useLearningTemplateStore(function(e){return e.setStations}),V=s.useLearningTemplateStore(function(e){return e.scopeTreeData}),W=s.useLearningTemplateStore(function(e){return e.setScopeTreeData}),J=n.useState({isOpen:!1,type:"GLOBAL"}),X=J[0],Z=J[1],$=n.useState(!1),ee=$[0],te=$[1],ne=n.useState(!1),re=ne[0],se=ne[1],ae=n.useState("learnings"),ie=ae[0],oe=ae[1],le=n.useState(null),ue=le[0],ce=le[1],de=n.useState(null),pe=de[0],ge=de[1],fe=n.useRef(null),Se=n.useRef(null),me=n.useRef(!1),ve=n.useRef(null),he=u.default();he.user;var _e=he.setUser,ye=m.useConfigStore(),Te=ye.setConfig,be=ye.setIlLabels,Ce=e.__spreadArray([{type:"GLOBAL",label:"Global",addChildLabel:"Add Scope",addChildType:"SCOPE"},e.__assign({type:"SCOPE",label:"Scope"},!F&&{addChildLabel:"Add Subscope",addChildType:"SUBSCOPE"})],F?[]:[{type:"SUBSCOPE",label:"Subscope"}],!0),Le=function(){try{return C.useLocation()}catch(e){return{search:""}}}();n.useEffect(function(){if(!me.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&&R.has(n)?n:"learnings";(null==t?void 0:t.length)&&Y&&oe&&(Y(t),oe(r),me.current=!0)}},[null==Le?void 0:Le.search,oe,Y]);var je=_.usePermissionsStore(function(e){return e.fetchPermissions}),Ee=_.usePermissionsStore(function(e){return e.hasPermission}),Ae=y.useAppSecRolesStore(function(e){return e.setRoles}),Re=S.default(function(e){return e.appsecRbacUrl})===U.appsecRbacUrl,we=T.useGetAppSecRolesQuery(U.applicationId,Re).data;n.useEffect(function(){we&&Ae(we.map(function(e){return{_id:e._id,name:e.name}}))},[we,Ae]),n.useEffect(function(){var e;console.log("userDetails",N),_e(N),console.log("llmStudioUrl",P),console.log("audacyBackendUrl",k),S.default.getState().setLlmStudioUrl(P),S.default.getState().setAudacyBackendUrl(k),S.default.getState().setRbacConfig(U),S.default.getState().setAuditLogConfig(M),Te(D),be(x),s.useLearningTemplateStore.getState().setAppIntegrationId(null!=B?B:null),s.useLearningTemplateStore.getState().setBackwardCompatibility(F),s.useLearningTemplateStore.getState().setToken(null!==(e=N.accessToken)&&void 0!==e?e:null)},[N,_e,P,k,U,M,D,Te,x,be,B,F]),n.useEffect(function(){(null==N?void 0:N.accessToken)&&P&&c.fetchTiers()},[B,null==N?void 0:N.accessToken,P]);var Ie=function(t){return void 0===t&&(t=!0),e.__awaiter(q,void 0,void 0,function(){var n,r,a,i,o,l;return e.__generator(this,function(u){switch(u.label){case 0:t&&te(!0),H(null),u.label=1;case 1:return u.trys.push([1,4,5,6]),[4,je(U.applicationId)];case 2:return u.sent(),n=function(t){if(!_.usePermissionsStore.getState().hasPermission("ilotj.scope.view",t.id))return null;var r=t.children?t.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return e.__assign(e.__assign({},t),{children:r})},[4,c.fetchScopes(B,N.accessToken)];case 3:return(r=u.sent())&&r.data&&r.data.data&&(a=r.data.data,Array.isArray(a)&&(a=a.length>0?a[0]:null),a?(i=n(a))?(ce(null),W({data:i}),Se.current?(Y(Se.current),oe("learnings"),Se.current=null):s.useLearningTemplateStore.getState().selectedRuleSetId||Y(i.id)):(ce(null!==(l=a.id)&&void 0!==l?l:null),W(null)):(ce(null),W(null))),[3,6];case 4:return o=u.sent(),console.error("Failed to fetch rule sets or permissions",o),H("Failed to load data. Please try again later."),[3,6];case 5:return te(!1),[7];case 6:return[2]}})})};n.useEffect(function(){var e;(null===(e=null==N?void 0:N.accessToken)||void 0===e?void 0:e.length)&&Re?Ie(!0):console.warn("Error: Trying to fetch rules without access token",N)},[null==N?void 0:N.accessToken,H,z,U.applicationId,Re]);var Oe=function(n){return e.__awaiter(q,void 0,void 0,function(){var r,s,a,o;return e.__generator(this,function(l){switch(l.label){case 0:se(!0),l.label=1;case 1:return l.trys.push([1,4,5,6]),X.scopeId?[4,c.renameScope({scope_id:X.scopeId,scope_name:n})]:[2];case 2:return l.sent(),[4,Ie(!0)];case 3:return l.sent(),Z(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,6];case 4:throw r=l.sent(),console.error("An error occurred during scope rename.",r),null===(s=ve.current)||void 0===s||s.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(j.default,{message:(null===(o=null===(a=null==r?void 0:r.response)||void 0===a?void 0:a.data)||void 0===o?void 0:o.message)||"There was an error renaming the scope. Please try again."})}),r;case 5:return se(!1),[7];case 6:return[2]}})})},qe=function(t,n,r){return e.__awaiter(q,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:se(!0),p.label=1;case 1:return p.trys.push([1,4,5,6]),[4,c.deleteRuleSet(t,N.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],Y(a),oe("learnings"))),[4,Ie(!0)];case 3:return p.sent(),Z(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),null===(o=ve.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=ve.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 se(!1),[7];case 6:return[2]}})})},Ne=V,Pe=pe?{data:{id:pe.stationId,name:pe.stationName,type:"STATION",metrics:{learningsCount:pe.learningsCount,stationsCount:0},children:[]}}:Ne,ke=!!(null==Pe?void 0:Pe.data);null===(w=null==Pe?void 0:Pe.data)||void 0===w||w.type;var xe=_.usePermissionsStore(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",U.applicationResourceId||""),De=(pe?A.filter(function(e){return"stations"!==e.id}):A).filter(function(e){return!(!F&&"access"===e.id)});return t.jsx(v.TooltipProvider,{children:t.jsxs("div",e.__assign({className:i.default.learningManagementContainer},{children:[t.jsx("div",e.__assign({className:i.default.mainWrapper},{children:ee?t.jsx(g.default,{}):K?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:K})),t.jsx("button",e.__assign({onClick:function(){return Ie(!0)},className:i.default.tryAgainBtn},{children:"Try Again"}))]})):ke?t.jsx(o.default,{onOpenCreateModal:function(){return Z({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return Z({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return Z({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(t,n,r){return e.__awaiter(q,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,qe(t)];case 1:return e.sent(),[3,3];case 2:Z({isOpen:!0,type:"DELETE",scopeId:t,initialName:n,isSubscope:o}),e.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return Ee("ilotj.scope.delete",e)},canEditScope:function(e){return Ee("ilotj.scope.edit",e)},canCreateScope:function(e){return Ee("ilotj.scope.create",e)},onSectionSelect: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)),oe(t),Y(e)},activeSectionId:ie,scopeTreeData:Pe,sectionsConfig:De,onViewStation:function(e){fe.current=Q,ge(e),oe("learnings"),Y(e.stationId)},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(Se.current=t),Ie(e)},nodeTypesConfig:Ce,app_integration_id:B,token:N.accessToken}):t.jsx(l.default,{onCreate:function(){return Z({isOpen:!0,type:"GLOBAL"})},title:"No Global Scope has been added!",desc:"Start by creating a Global scope to define base learnings that apply across all stations.",button:"Create Global Scope",canCreateRule:xe,noAccessTitle:"Access Restricted",noAccessDesc:"You do not have access to create a Global scope for this application.",onRequestAccess:function(){return e.__awaiter(q,void 0,void 0,function(){var n,r,a,o,l,u,d,p,g;return e.__generator(this,function(e){switch(e.label){case 0:if(!(n=(null===(o=null===(a=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===a?void 0:a.data)||void 0===o?void 0:o.id)||ue))return null===(l=ve.current)||void 0===l||l.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(j.default,{message:"Unable to identify the global scope for this access request."})}),[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,c.requestAccess(n)];case 2:return e.sent(),null===(u=ve.current)||void 0===u||u.show({severity:"success",sticky:!1,life:3e3,className:i.default.successToast,content:t.jsx(L.default,{message:"Access request submitted successfully!"})}),[3,4];case 3:return r=e.sent(),null===(d=ve.current)||void 0===d||d.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(j.default,{message:(null===(g=null===(p=null==r?void 0:r.response)||void 0===p?void 0:p.data)||void 0===g?void 0:g.detail)||"Failed to request access. Please try again."})}),[3,4];case 4:return[2]}})})}})})),t.jsx(a.Toast,{ref:ve,pt:{root:{style:{zIndex:9999}}}}),F&&X.isOpen&&"DELETE"!==X.type&&"RENAME"!==X.type?t.jsx(h.default,{isOpen:!0,onClose:function(){return Z(e.__assign(e.__assign({},X),{isOpen:!1}))},onSubmit:function(t){return e.__awaiter(q,void 0,void 0,function(){var n,r,a,i,o,l,u,d,p,g,f,S,m,v,h,_,y,T,b,C;return e.__generator(this,function(L){switch(L.label){case 0:se(!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"===X.type&&X.parentId,o=i?"genreRuleSet":X.type,r={topic:o,scope_reference_id:null,scopeDescription:"demo",parentScopeId:X.parentId||null,scopeName:a,scopeReferenceMetadata:{},applicationMappingId:B}),[4,c.createRuleSet(r,N.accessToken)];case 2:if(l=L.sent(),!(u=null===(v=null==l?void 0:l.data)||void 0===v?void 0:v.scopeId))return[3,10];if(Se.current=u,d=n&&(null===(h=r.topic)||void 0===h?void 0:h.toLowerCase().includes("genre")),p=!n&&"GLOBAL"!==X.type&&X.parentId,!d&&!p)return[3,10];if(!(g=n?null===(y=null===(_=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===_?void 0:_.data)||void 0===y?void 0:y.id:X.parentId))return[3,10];if(!F)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:B||"",is_copy_parent_variant_id:!1})];case 8:return L.sent(),[3,10];case 9:return S=L.sent(),console.error("Failed to inherit rules for the new scope:",S),[3,10];case 10:return[4,Ie(!0)];case 11:return L.sent(),Z(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,14];case 12:throw m=L.sent(),console.error("An error occurred during scope creation.",m),null===(T=ve.current)||void 0===T||T.show({severity:"error",summary:"Creation Failed",detail:(null===(C=null===(b=null==m?void 0:m.response)||void 0===b?void 0:b.data)||void 0===C?void 0:C.message)||"There was an error creating the scope. Please try again."}),m;case 13:return se(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:ke,canCreateGlobal:xe,globalScopeId:null!==(O=null===(I=null==V?void 0:V.data)||void 0===I?void 0:I.id)&&void 0!==O?O:null}):t.jsxs(t.Fragment,{children:[t.jsx(b.default,{isOpen:X.isOpen&&"DELETE"!==X.type&&"RENAME"!==X.type,onClose:function(){return Z(e.__assign(e.__assign({},X),{isOpen:!1}))},onCreate:function(e){return Oe(null!=e?e:"")},hasGlobalRuleSet:ke}),t.jsx(E.default,{isOpen:X.isOpen&&"RENAME"===X.type,onClose:function(){return Z(e.__assign(e.__assign({},X),{isOpen:!1}))},onSave:Oe,initialName:X.initialName})]}),t.jsx(p.default,{isOpen:X.isOpen&&"DELETE"===X.type,onCancel:function(){return Z(e.__assign(e.__assign({},X),{isOpen:!1}))},onConfirm:function(){return qe(X.scopeId,X.initialName,X.isSubscope)},title:"Delete Scope",description:t.jsxs(t.Fragment,{children:["Deleting ",t.jsx("span",e.__assign({className:i.default.highlight},{children:X.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:re})]}))})};
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"),S=require("./store/useEnvStore.js"),m=require("./store/useConfigStore.js"),v=require("./components/ToolTip.js"),_=require("./components/CreateRuleSetLegacyModal.js"),h=require("./store/usePermissionsStore.js"),y=require("./store/useAppSecRolesStore.js"),T=require("./queries/useApprovalQueries.js"),b=require("./RuleContent/AddScopeModal.js"),C=require("react-router-dom"),L=require("./shared/SuccessToastContent.js"),E=require("./shared/ErrorToastContent.js"),j=require("./RuleContent/RenameScopeModal.js"),A=[{id:"learnings",label:"Learnings",icon:r.BookOpen,badgeKey:"learningsCount"},{id:"access",label:"Access",icon:r.Users},{id:"history",label:"Change History",icon:r.History}],R=new Set(A.map(function(e){return e.id}));exports.default=function(r){var w,I,O,q=this,N=r.userDetails,P=r.llmStudioUrl,k=r.audacyBackendUrl,x=r.ilLabels,D=r.config,U=r.rbacConfig,M=r.auditLogConfig,B=r.app_integration_id,G=r.backwardCompatibility,F=void 0!==G&&G,Y=s.useLearningTemplateStore(function(e){return e.selectedRuleSetId}),Q=s.useLearningTemplateStore(function(e){return e.setSelectedRuleSetId}),K=s.useLearningTemplateStore(function(e){return e.error}),H=s.useLearningTemplateStore(function(e){return e.setError}),z=s.useLearningTemplateStore(function(e){return e.setStations}),V=s.useLearningTemplateStore(function(e){return e.scopeTreeData}),W=s.useLearningTemplateStore(function(e){return e.setScopeTreeData}),J=n.useState({isOpen:!1,type:"GLOBAL"}),X=J[0],Z=J[1],$=n.useState(!1),ee=$[0],te=$[1],ne=n.useState(!1),re=ne[0],se=ne[1],ae=n.useState("learnings"),ie=ae[0],oe=ae[1],le=n.useState(null),ue=le[0],ce=le[1],de=n.useState(null),pe=de[0],ge=de[1],fe=n.useRef(null),Se=n.useRef(null),me=n.useRef(!1),ve=n.useRef(null),_e=u.default();_e.user;var he=_e.setUser,ye=m.useConfigStore(),Te=ye.setConfig,be=ye.setIlLabels,Ce=e.__spreadArray([{type:"GLOBAL",label:"Global",addChildLabel:"Add Scope",addChildType:"SCOPE"},e.__assign({type:"SCOPE",label:"Scope"},!F&&{addChildLabel:"Add Subscope",addChildType:"SUBSCOPE"})],F?[]:[{type:"SUBSCOPE",label:"Subscope"}],!0),Le=function(){try{return C.useLocation()}catch(e){return{search:""}}}();n.useEffect(function(){if(!me.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&&R.has(n)?n:"learnings";(null==t?void 0:t.length)&&Q&&oe&&(Q(t),oe(r),me.current=!0)}},[null==Le?void 0:Le.search,oe,Q]);var Ee=h.usePermissionsStore(function(e){return e.fetchPermissions}),je=h.usePermissionsStore(function(e){return e.hasPermission}),Ae=y.useAppSecRolesStore(function(e){return e.setRoles}),Re=S.default(function(e){return e.appsecRbacUrl})===U.appsecRbacUrl,we=T.useGetAppSecRolesQuery(U.applicationId,Re).data;n.useEffect(function(){we&&Ae(we.map(function(e){return{_id:e._id,name:e.name}}))},[we,Ae]),n.useEffect(function(){var e;console.log("userDetails",N),he(N),console.log("llmStudioUrl",P),console.log("audacyBackendUrl",k),S.default.getState().setLlmStudioUrl(P),S.default.getState().setAudacyBackendUrl(k),S.default.getState().setRbacConfig(U),S.default.getState().setAuditLogConfig(M),Te(D),be(x),s.useLearningTemplateStore.getState().setAppIntegrationId(null!=B?B:null),s.useLearningTemplateStore.getState().setBackwardCompatibility(F),s.useLearningTemplateStore.getState().setToken(null!==(e=N.accessToken)&&void 0!==e?e:null)},[N,he,P,k,U,M,D,Te,x,be,B,F]),n.useEffect(function(){(null==N?void 0:N.accessToken)&&P&&c.fetchTiers()},[B,null==N?void 0:N.accessToken,P]);var Ie=function(t){return void 0===t&&(t=!0),e.__awaiter(q,void 0,void 0,function(){var n,r,a,i,o,l;return e.__generator(this,function(u){switch(u.label){case 0:t&&te(!0),H(null),u.label=1;case 1:return u.trys.push([1,4,5,6]),[4,Ee(U.applicationId)];case 2:return u.sent(),n=function(t){if(!h.usePermissionsStore.getState().hasPermission("ilotj.scope.view",t.id))return null;var r=t.children?t.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return e.__assign(e.__assign({},t),{children:r})},[4,c.fetchScopes(B,N.accessToken)];case 3:return(r=u.sent())&&r.data&&r.data.data&&(a=r.data.data,Array.isArray(a)&&(a=a.length>0?a[0]:null),a?(i=n(a))?(ce(null),W({data:i}),Se.current?(Q(Se.current),oe("learnings"),Se.current=null):s.useLearningTemplateStore.getState().selectedRuleSetId||Q(i.id)):(ce(null!==(l=a.id)&&void 0!==l?l:null),W(null)):(ce(null),W(null))),[3,6];case 4:return o=u.sent(),console.error("Failed to fetch rule sets or permissions",o),H("Failed to load data. Please try again later."),[3,6];case 5:return te(!1),[7];case 6:return[2]}})})};n.useEffect(function(){var e;(null===(e=null==N?void 0:N.accessToken)||void 0===e?void 0:e.length)&&Re?Ie(!0):console.warn("Error: Trying to fetch rules without access token",N)},[null==N?void 0:N.accessToken,H,z,U.applicationId,Re]);var Oe=function(n){return e.__awaiter(q,void 0,void 0,function(){var r,s,a,o;return e.__generator(this,function(l){switch(l.label){case 0:se(!0),l.label=1;case 1:return l.trys.push([1,4,5,6]),X.scopeId?[4,c.renameScope({scope_id:X.scopeId,scope_name:n})]:[2];case 2:return l.sent(),[4,Ie(!0)];case 3:return l.sent(),Z(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,6];case 4:throw r=l.sent(),console.error("An error occurred during scope rename.",r),null===(s=ve.current)||void 0===s||s.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(E.default,{message:(null===(o=null===(a=null==r?void 0:r.response)||void 0===a?void 0:a.data)||void 0===o?void 0:o.message)||"There was an error renaming the scope. Please try again."})}),r;case 5:return se(!1),[7];case 6:return[2]}})})},qe=function(t,n,r){return e.__awaiter(q,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:se(!0),p.label=1;case 1:return p.trys.push([1,4,5,6]),[4,c.deleteRuleSet(t,N.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],Q(a),oe("learnings"))),[4,Ie(!0)];case 3:return p.sent(),Z(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),null===(o=ve.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=ve.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 se(!1),[7];case 6:return[2]}})})},Ne=V,Pe=pe?{data:{id:pe.stationId,name:pe.stationName,type:"STATION",metrics:{learningsCount:pe.learningsCount,stationsCount:0},children:[]}}:Ne,ke=!!(null==Pe?void 0:Pe.data);null===(w=null==Pe?void 0:Pe.data)||void 0===w||w.type;var xe=h.usePermissionsStore(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",U.applicationResourceId||""),De=(pe?A.filter(function(e){return"stations"!==e.id}):A).filter(function(e){return!(!F&&"access"===e.id)});return t.jsx(v.TooltipProvider,{children:t.jsxs("div",e.__assign({className:i.default.learningManagementContainer},{children:[t.jsx("div",e.__assign({className:i.default.mainWrapper},{children:ee?t.jsx(g.default,{}):K?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:K})),t.jsx("button",e.__assign({onClick:function(){return Ie(!0)},className:i.default.tryAgainBtn},{children:"Try Again"}))]})):ke?t.jsx(o.default,{onOpenCreateModal:function(){return Z({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return Z({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return Z({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(t,n,r){return e.__awaiter(q,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,qe(t)];case 1:return e.sent(),[3,3];case 2:Z({isOpen:!0,type:"DELETE",scopeId:t,initialName:n,isSubscope:o}),e.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return je("ilotj.scope.delete",e)},canEditScope:function(e){return je("ilotj.scope.edit",e)},canCreateScope:function(e){return je("ilotj.scope.create",e)},onSectionSelect: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)),oe(t),Q(e)},activeSectionId:ie,scopeTreeData:Pe,sectionsConfig:De,onViewStation:function(e){fe.current=Y,ge(e),oe("learnings"),Q(e.stationId)},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(Se.current=t),Ie(e)},nodeTypesConfig:Ce,app_integration_id:B,token:N.accessToken}):t.jsx(l.default,{onCreate:function(){return Z({isOpen:!0,type:"GLOBAL"})},title:"No Global Scope has been added!",desc:"Start by creating a Global scope to define base learnings that apply across all stations.",button:"Create Global Scope",canCreateRule:xe,noAccessTitle:"Access Restricted",noAccessDesc:"You do not have access to create a Global scope for this application.",onRequestAccess:function(){return e.__awaiter(q,void 0,void 0,function(){var n,r,a,o,l,u,d,p,g;return e.__generator(this,function(e){switch(e.label){case 0:if(!(n=(null===(o=null===(a=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===a?void 0:a.data)||void 0===o?void 0:o.id)||ue))return null===(l=ve.current)||void 0===l||l.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(E.default,{message:"Unable to identify the global scope for this access request."})}),[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,c.requestAccess(n)];case 2:return e.sent(),null===(u=ve.current)||void 0===u||u.show({severity:"success",sticky:!1,life:3e3,className:i.default.successToast,content:t.jsx(L.default,{message:"Access request submitted successfully!"})}),[3,4];case 3:return r=e.sent(),null===(d=ve.current)||void 0===d||d.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(E.default,{message:(null===(g=null===(p=null==r?void 0:r.response)||void 0===p?void 0:p.data)||void 0===g?void 0:g.detail)||"Failed to request access. Please try again."})}),[3,4];case 4:return[2]}})})}})})),t.jsx(a.Toast,{ref:ve,pt:{root:{style:{zIndex:9999}}}}),F&&X.isOpen&&"DELETE"!==X.type&&"RENAME"!==X.type?t.jsx(_.default,{isOpen:!0,onClose:function(){return Z(e.__assign(e.__assign({},X),{isOpen:!1}))},onSubmit:function(t){return e.__awaiter(q,void 0,void 0,function(){var n,r,a,i,o,l,u,d,p,g,f,S,m,v,_,h,y,T,b,C;return e.__generator(this,function(L){switch(L.label){case 0:se(!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"===X.type&&X.parentId,o=i?"genreRuleSet":X.type,r={topic:o,scope_reference_id:null,scopeDescription:"demo",parentScopeId:X.parentId||null,scopeName:a,scopeReferenceMetadata:{},applicationMappingId:B}),[4,c.createRuleSet(r,N.accessToken)];case 2:if(l=L.sent(),!(u=null===(v=null==l?void 0:l.data)||void 0===v?void 0:v.scopeId))return[3,10];if(Se.current=u,d=n&&(null===(_=r.topic)||void 0===_?void 0:_.toLowerCase().includes("genre")),p=!n&&"GLOBAL"!==X.type&&X.parentId,!d&&!p)return[3,10];if(!(g=n?null===(y=null===(h=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===h?void 0:h.data)||void 0===y?void 0:y.id:X.parentId))return[3,10];if(!F)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:B||"",is_copy_parent_variant_id:!1})];case 8:return L.sent(),[3,10];case 9:return S=L.sent(),console.error("Failed to inherit rules for the new scope:",S),[3,10];case 10:return[4,Ie(!0)];case 11:return L.sent(),Z(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,14];case 12:throw m=L.sent(),console.error("An error occurred during scope creation.",m),null===(T=ve.current)||void 0===T||T.show({severity:"error",summary:"Creation Failed",detail:(null===(C=null===(b=null==m?void 0:m.response)||void 0===b?void 0:b.data)||void 0===C?void 0:C.message)||"There was an error creating the scope. Please try again."}),m;case 13:return se(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:ke,canCreateGlobal:xe,globalScopeId:null!==(O=null===(I=null==V?void 0:V.data)||void 0===I?void 0:I.id)&&void 0!==O?O:null}):t.jsxs(t.Fragment,{children:[t.jsx(b.default,{isOpen:X.isOpen&&"DELETE"!==X.type&&"RENAME"!==X.type,onClose:function(){return Z(e.__assign(e.__assign({},X),{isOpen:!1}))},onCreate:function(e){return Oe(null!=e?e:"")},hasGlobalRuleSet:ke}),t.jsx(j.default,{isOpen:X.isOpen&&"RENAME"===X.type,onClose:function(){return Z(e.__assign(e.__assign({},X),{isOpen:!1}))},onSave:Oe,initialName:X.initialName})]}),t.jsx(p.default,{isOpen:X.isOpen&&"DELETE"===X.type,onCancel:function(){return Z(e.__assign(e.__assign({},X),{isOpen:!1}))},onConfirm:function(){return qe(X.scopeId,X.initialName,X.isSubscope)},title:"Delete Scope",description:t.jsxs(t.Fragment,{children:["Deleting ",t.jsx("span",e.__assign({className:i.default.highlight},{children:X.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:re})]}))})};
2
2
  //# sourceMappingURL=LearningManagement.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("zustand"),i=require("../apis/scopeApis.js"),t=require("./useLearningTemplateStore.js"),n=require("./useEnvStore.js"),s=function(e,r){return!!r&&function(e){return e?"string"==typeof e?[e]:[e._id,e.id,e.resourceId,e.resource_id].filter(function(e){return"string"==typeof e&&e.length>0}):[]}(e).includes(r)},o=r.create(function(r,o){return{accessData:[],isLoading:!1,error:null,fetchPermissions:function(t,n){return e.__awaiter(void 0,void 0,void 0,function(){var s,o,a;return e.__generator(this,function(e){switch(e.label){case 0:if(!t)return[2];r({isLoading:!0,error:null}),e.label=1;case 1:return e.trys.push([1,3,,4]),[4,i.appsecApi.get("/users/me",{params:{appId:t,resourceId:n}})];case 2:return s=e.sent(),r({accessData:(null===(a=s.data)||void 0===a?void 0:a.data)||[],isLoading:!1}),[3,4];case 3:return o=e.sent(),console.error("Failed to fetch permissions:",o),r({error:o.message||"Failed to fetch permissions",isLoading:!1}),[3,4];case 4:return[2]}})})},hasPermission:function(e,r){var i;if(!t.useLearningTemplateStore.getState().backwardCompatibility)return!0;var a=o().accessData,u=null===(i=n.default.getState().rbacConfig)||void 0===i?void 0:i.applicationResourceId,c=function(e,r){return a.some(function(i){var t,n,o;return s(i.resourceId,r)&&null!==(o=null===(n=null===(t=i.role)||void 0===t?void 0:t.permissions)||void 0===n?void 0:n.some(function(r){return r.name===e}))&&void 0!==o&&o})};return!(!u||!c(e,u))||c(e,r)},hasGlobalPermission:function(e,r){return!t.useLearningTemplateStore.getState().backwardCompatibility||!!r&&(o().hasApplicationAccess(r)||o().hasPermission(e,r))},hasApplicationAccess:function(e){return!t.useLearningTemplateStore.getState().backwardCompatibility||!!e&&o().accessData.some(function(r){var i,t,n;return s(r.resourceId,e)&&null!==(n=null===(t=null===(i=r.role)||void 0===i?void 0:i.permissions)||void 0===t?void 0:t.some(function(e){return"ilotj.scope.access.application.user.add"===e.name}))&&void 0!==n&&n})},reset:function(){return r({accessData:[],isLoading:!1,error:null})}}});exports.usePermissionsStore=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("zustand"),s=require("../apis/scopeApis.js"),n=require("./useEnvStore.js"),i=function(e,r){return!!r&&function(e){return e?"string"==typeof e?[e]:[e._id,e.id,e.resourceId,e.resource_id].filter(function(e){return"string"==typeof e&&e.length>0}):[]}(e).includes(r)},o=r.create(function(r,o){return{accessData:[],isLoading:!1,error:null,fetchPermissions:function(n,i){return e.__awaiter(void 0,void 0,void 0,function(){var o,t,a;return e.__generator(this,function(e){switch(e.label){case 0:if(!n)return[2];r({isLoading:!0,error:null}),e.label=1;case 1:return e.trys.push([1,3,,4]),[4,s.appsecApi.get("/users/me",{params:{appId:n,resourceId:i}})];case 2:return o=e.sent(),r({accessData:(null===(a=o.data)||void 0===a?void 0:a.data)||[],isLoading:!1}),[3,4];case 3:return t=e.sent(),console.error("Failed to fetch permissions:",t),r({error:t.message||"Failed to fetch permissions",isLoading:!1}),[3,4];case 4:return[2]}})})},hasPermission:function(e,r){var s,t=o().accessData,a=null===(s=n.default.getState().rbacConfig)||void 0===s?void 0:s.applicationResourceId,u=function(e,r){return t.some(function(s){var n,o,t;return i(s.resourceId,r)&&null!==(t=null===(o=null===(n=s.role)||void 0===n?void 0:n.permissions)||void 0===o?void 0:o.some(function(r){return r.name===e}))&&void 0!==t&&t})};return!(!a||!u(e,a))||u(e,r)},hasGlobalPermission:function(e,r){return!!r&&(o().hasApplicationAccess(r)||o().hasPermission(e,r))},hasApplicationAccess:function(e){return!!e&&o().accessData.some(function(r){var s,n,o;return i(r.resourceId,e)&&null!==(o=null===(n=null===(s=r.role)||void 0===s?void 0:s.permissions)||void 0===n?void 0:n.some(function(e){return"ilotj.scope.access.application.user.add"===e.name}))&&void 0!==o&&o})},reset:function(){return r({accessData:[],isLoading:!1,error:null})}}});exports.usePermissionsStore=o;
2
2
  //# sourceMappingURL=usePermissionsStore.js.map
@@ -1,2 +1,2 @@
1
- import{__spreadArray as e,__assign 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 l,useEffect as c}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,fetchScopes as b,inheritScope as C,inheritScopeBackwardCompatible as T,createRuleSet as E,renameScope as L,deleteRuleSet as A,requestAccess as I}from"./apis/scopeApis.js";import{QUERY_PARAM_KEYS as O,setQueryParams as w}from"./hooks/useLearningTemplateQueryParams.js";import R from"./components/ConfirmationModal.js";import j from"./components/LearningTemplateManagementSkeleton.js";import{findNodePathById as N}from"./utils/treeUtils.js";import k from"./store/useEnvStore.js";import{useConfigStore as D}from"./store/useConfigStore.js";import{TooltipProvider as _}from"./components/ToolTip.js";import P from"./components/CreateRuleSetLegacyModal.js";import{usePermissionsStore as U}from"./store/usePermissionsStore.js";import{useAppSecRolesStore as G}from"./store/useAppSecRolesStore.js";import{useGetAppSecRolesQuery as M}from"./queries/useApprovalQueries.js";import B from"./RuleContent/AddScopeModal.js";import{useLocation as F}from"react-router-dom";import q from"./shared/SuccessToastContent.js";import x from"./shared/ErrorToastContent.js";import H from"./RuleContent/RenameScopeModal.js";var Q=[{id:"learnings",label:"Learnings",icon:u,badgeKey:"learningsCount"},{id:"access",label:"Access",icon:d},{id:"history",label:"Change History",icon:p}],z=new Set(Q.map(function(e){return e.id}));function K(u){var d,p,K,V=this,W=u.userDetails,Y=u.llmStudioUrl,J=u.audacyBackendUrl,X=u.ilLabels,Z=u.config,$=u.rbacConfig,ee=u.auditLogConfig,te=u.app_integration_id,ne=u.backwardCompatibility,re=void 0!==ne&&ne,oe=m(function(e){return e.selectedRuleSetId}),se=m(function(e){return e.setSelectedRuleSetId}),ie=m(function(e){return e.error}),ae=m(function(e){return e.setError}),le=m(function(e){return e.setStations}),ce=m(function(e){return e.scopeTreeData}),ue=m(function(e){return e.setScopeTreeData}),de=a({isOpen:!1,type:"GLOBAL"}),pe=de[0],me=de[1],fe=a(!1),ve=fe[0],ge=fe[1],he=a(!1),ye=he[0],Se=he[1],be=a("learnings"),Ce=be[0],Te=be[1],Ee=a(null),Le=Ee[0],Ae=Ee[1],Ie=a(null),Oe=Ie[0],we=Ie[1],Re=l(null),je=l(null),Ne=l(!1),ke=l(null),De=y();De.user;var _e=De.setUser,Pe=D(),Ue=Pe.setConfig,Ge=Pe.setIlLabels,Me=e([{type:"GLOBAL",label:"Global",addChildLabel:"Add Scope",addChildType:"SCOPE"},t({type:"SCOPE",label:"Scope"},!re&&{addChildLabel:"Add Subscope",addChildType:"SUBSCOPE"})],re?[]:[{type:"SUBSCOPE",label:"Subscope"}],!0),Be=function(){try{return F()}catch(e){return{search:""}}}();c(function(){if(!Ne.current){var e=new URLSearchParams(window.location.search),t=e.get(O.RULESET_ID),n=e.get(O.SECTION),r=n&&z.has(n)?n:"learnings";(null==t?void 0:t.length)&&se&&Te&&(se(t),Te(r),Ne.current=!0)}},[null==Be?void 0:Be.search,Te,se]);var Fe=U(function(e){return e.fetchPermissions}),qe=U(function(e){return e.hasPermission}),xe=G(function(e){return e.setRoles}),He=k(function(e){return e.appsecRbacUrl})===$.appsecRbacUrl,Qe=M($.applicationId,He).data;c(function(){Qe&&xe(Qe.map(function(e){return{_id:e._id,name:e.name}}))},[Qe,xe]),c(function(){var e;console.log("userDetails",W),_e(W),console.log("llmStudioUrl",Y),console.log("audacyBackendUrl",J),k.getState().setLlmStudioUrl(Y),k.getState().setAudacyBackendUrl(J),k.getState().setRbacConfig($),k.getState().setAuditLogConfig(ee),Ue(Z),Ge(X),m.getState().setAppIntegrationId(null!=te?te:null),m.getState().setBackwardCompatibility(re),m.getState().setToken(null!==(e=W.accessToken)&&void 0!==e?e:null)},[W,_e,Y,J,$,ee,Z,Ue,X,Ge,te,re]),c(function(){(null==W?void 0:W.accessToken)&&Y&&S()},[te,null==W?void 0:W.accessToken,Y]);var ze=function(e){return void 0===e&&(e=!0),n(V,void 0,void 0,function(){var n,o,s,i,a,l;return r(this,function(r){switch(r.label){case 0:e&&ge(!0),ae(null),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,Fe($.applicationId)];case 2:return r.sent(),n=function(e){if(!U.getState().hasPermission("ilotj.scope.view",e.id))return null;var r=e.children?e.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return t(t({},e),{children:r})},[4,b(te,W.accessToken)];case 3:return(o=r.sent())&&o.data&&o.data.data&&(s=o.data.data,Array.isArray(s)&&(s=s.length>0?s[0]:null),s?(i=n(s))?(Ae(null),ue({data:i}),je.current?(se(je.current),Te("learnings"),je.current=null):m.getState().selectedRuleSetId||se(i.id)):(Ae(null!==(l=s.id)&&void 0!==l?l:null),ue(null)):(Ae(null),ue(null))),[3,6];case 4:return a=r.sent(),console.error("Failed to fetch rule sets or permissions",a),ae("Failed to load data. Please try again later."),[3,6];case 5:return ge(!1),[7];case 6:return[2]}})})};c(function(){var e;(null===(e=null==W?void 0:W.accessToken)||void 0===e?void 0:e.length)&&He?ze(!0):console.warn("Error: Trying to fetch rules without access token",W)},[null==W?void 0:W.accessToken,ae,le,$.applicationId,He]);var Ke=function(e){return n(V,void 0,void 0,function(){var n,s,i,a;return r(this,function(r){switch(r.label){case 0:Se(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),pe.scopeId?[4,L({scope_id:pe.scopeId,scope_name:e})]:[2];case 2:return r.sent(),[4,ze(!0)];case 3:return r.sent(),me(function(e){return t(t({},e),{isOpen:!1})}),[3,6];case 4:throw n=r.sent(),console.error("An error occurred during scope rename.",n),null===(s=ke.current)||void 0===s||s.show({severity:"error",sticky:!1,className:v.errorToast,content:o(x,{message:(null===(a=null===(i=null==n?void 0:n.response)||void 0===i?void 0:i.data)||void 0===a?void 0:a.message)||"There was an error renaming the scope. Please try again."})}),n;case 5:return Se(!1),[7];case 6:return[2]}})})},Ve=function(e,o,s){return n(V,void 0,void 0,function(){var n,o,s,i,a,l,c,u;return r(this,function(r){switch(r.label){case 0:Se(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,A(e,W.accessToken)];case 2:return r.sent(),m.getState().selectedRuleSetId===e&&(n=m.getState().scopeTreeData,(o=N((null==n?void 0:n.data)||null,e))&&o.length>1&&(s=o[o.length-2],se(s),Te("learnings"))),[4,ze(!0)];case 3:return r.sent(),me(function(e){return t(t({},e),{isOpen:!1})}),null===(a=ke.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===(l=ke.current)||void 0===l||l.show({severity:"error",summary:"Delete Failed",detail:(null===(u=null===(c=null==i?void 0:i.response)||void 0===c?void 0:c.data)||void 0===u?void 0:u.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return Se(!1),[7];case 6:return[2]}})})},We=ce,Ye=Oe?{data:{id:Oe.stationId,name:Oe.stationName,type:"STATION",metrics:{learningsCount:Oe.learningsCount,stationsCount:0},children:[]}}:We,Je=!!(null==Ye?void 0:Ye.data);null===(d=null==Ye?void 0:Ye.data)||void 0===d||d.type;var Xe=U(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",$.applicationResourceId||""),Ze=(Oe?Q.filter(function(e){return"stations"!==e.id}):Q).filter(function(e){return!(!re&&"access"===e.id)});return o(_,{children:s("div",t({className:v.learningManagementContainer},{children:[o("div",t({className:v.mainWrapper},{children:ve?o(j,{}):ie?s("div",t({className:v.errorContainer},{children:[o("div",t({className:v.errorTitle},{children:"Error Loading Data"})),o("p",t({className:v.errorDesc},{children:ie})),o("button",t({onClick:function(){return ze(!0)},className:v.tryAgainBtn},{children:"Try Again"}))]})):Je?o(g,{onOpenCreateModal:function(){return me({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return me({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return me({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(e,t,o){return n(V,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=N((null==n?void 0:n.data)||null,e),i=!!s&&3===s.length,0!==o?[3,2]:[4,Ve(e)];case 1:return r.sent(),[3,3];case 2:me({isOpen:!0,type:"DELETE",scopeId:e,initialName:t,isSubscope:i}),r.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return qe("ilotj.scope.delete",e)},canEditScope:function(e){return qe("ilotj.scope.edit",e)},canCreateScope:function(e){return qe("ilotj.scope.create",e)},onSectionSelect:function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),w(((n={})[O.SECTION]="learnings"===t?null:t,n)),Te(t),se(e)},activeSectionId:Ce,scopeTreeData:Ye,sectionsConfig:Ze,onViewStation:function(e){Re.current=oe,we(e),Te("learnings"),se(e.stationId)},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(je.current=t),ze(e)},nodeTypesConfig:Me,app_integration_id:te,token:W.accessToken}):o(h,{onCreate:function(){return me({isOpen:!0,type:"GLOBAL"})},title:"No Global Scope has been added!",desc:"Start by creating a Global scope to define base learnings that apply across all stations.",button:"Create Global Scope",canCreateRule:Xe,noAccessTitle:"Access Restricted",noAccessDesc:"You do not have access to create a Global scope for this application.",onRequestAccess:function(){return n(V,void 0,void 0,function(){var e,t,n,s,i,a,l,c,u;return r(this,function(r){switch(r.label){case 0:if(!(e=(null===(s=null===(n=m.getState().scopeTreeData)||void 0===n?void 0:n.data)||void 0===s?void 0:s.id)||Le))return null===(i=ke.current)||void 0===i||i.show({severity:"error",sticky:!1,className:v.errorToast,content:o(x,{message:"Unable to identify the global scope for this access request."})}),[2];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,I(e)];case 2:return r.sent(),null===(a=ke.current)||void 0===a||a.show({severity:"success",sticky:!1,life:3e3,className:v.successToast,content:o(q,{message:"Access request submitted successfully!"})}),[3,4];case 3:return t=r.sent(),null===(l=ke.current)||void 0===l||l.show({severity:"error",sticky:!1,className:v.errorToast,content:o(x,{message:(null===(u=null===(c=null==t?void 0:t.response)||void 0===c?void 0:c.data)||void 0===u?void 0:u.detail)||"Failed to request access. Please try again."})}),[3,4];case 4:return[2]}})})}})})),o(f,{ref:ke,pt:{root:{style:{zIndex:9999}}}}),re&&pe.isOpen&&"DELETE"!==pe.type&&"RENAME"!==pe.type?o(P,{isOpen:!0,onClose:function(){return me(t(t({},pe),{isOpen:!1}))},onSubmit:function(e){return n(V,void 0,void 0,function(){var n,o,s,i,a,l,c,u,d,p,f,v,g,h,y,S,b,L,A,I;return r(this,function(r){switch(r.label){case 0:Se(!0),n=m.getState().backwardCompatibility,r.label=1;case 1:return r.trys.push([1,12,13,14]),o=void 0,n&&"object"==typeof e?o=e:(s=e,i="SCOPE"===pe.type&&pe.parentId,a=i?"genreRuleSet":pe.type,o={topic:a,scope_reference_id:null,scopeDescription:"demo",parentScopeId:pe.parentId||null,scopeName:s,scopeReferenceMetadata:{},applicationMappingId:te}),[4,E(o,W.accessToken)];case 2:if(l=r.sent(),!(c=null===(h=null==l?void 0:l.data)||void 0===h?void 0:h.scopeId))return[3,10];if(je.current=c,u=n&&(null===(y=o.topic)||void 0===y?void 0:y.toLowerCase().includes("genre")),d=!n&&"GLOBAL"!==pe.type&&pe.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:pe.parentId))return[3,10];if(!re)return[3,7];r.label=3;case 3:return r.trys.push([3,5,,6]),[4,T({source_scope_id:p,target_scope_id:c})];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,C({source_scope_id:p,target_scope_id:c,application_mapping_id:te||"",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,ze(!0)];case 11:return r.sent(),me(function(e){return t(t({},e),{isOpen:!1})}),[3,14];case 12:throw g=r.sent(),console.error("An error occurred during scope creation.",g),null===(L=ke.current)||void 0===L||L.show({severity:"error",summary:"Creation Failed",detail:(null===(I=null===(A=null==g?void 0:g.response)||void 0===A?void 0:A.data)||void 0===I?void 0:I.message)||"There was an error creating the scope. Please try again."}),g;case 13:return Se(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:Je,canCreateGlobal:Xe,globalScopeId:null!==(K=null===(p=null==ce?void 0:ce.data)||void 0===p?void 0:p.id)&&void 0!==K?K:null}):s(i,{children:[o(B,{isOpen:pe.isOpen&&"DELETE"!==pe.type&&"RENAME"!==pe.type,onClose:function(){return me(t(t({},pe),{isOpen:!1}))},onCreate:function(e){return Ke(null!=e?e:"")},hasGlobalRuleSet:Je}),o(H,{isOpen:pe.isOpen&&"RENAME"===pe.type,onClose:function(){return me(t(t({},pe),{isOpen:!1}))},onSave:Ke,initialName:pe.initialName})]}),o(R,{isOpen:pe.isOpen&&"DELETE"===pe.type,onCancel:function(){return me(t(t({},pe),{isOpen:!1}))},onConfirm:function(){return Ve(pe.scopeId,pe.initialName,pe.isSubscope)},title:"Delete Scope",description:s(i,{children:["Deleting ",o("span",t({className:v.highlight},{children:pe.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:ye})]}))})}export{K as default};
1
+ import{__spreadArray as e,__assign 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 l,useEffect as c}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,fetchScopes as b,inheritScope as C,inheritScopeBackwardCompatible as T,createRuleSet as E,renameScope as L,deleteRuleSet as I,requestAccess as A}from"./apis/scopeApis.js";import{QUERY_PARAM_KEYS as O,setQueryParams as w}from"./hooks/useLearningTemplateQueryParams.js";import R from"./components/ConfirmationModal.js";import j from"./components/LearningTemplateManagementSkeleton.js";import{findNodePathById as N}from"./utils/treeUtils.js";import D from"./store/useEnvStore.js";import{useConfigStore as _}from"./store/useConfigStore.js";import{TooltipProvider as k}from"./components/ToolTip.js";import P from"./components/CreateRuleSetLegacyModal.js";import{usePermissionsStore as U}from"./store/usePermissionsStore.js";import{useAppSecRolesStore as G}from"./store/useAppSecRolesStore.js";import{useGetAppSecRolesQuery as M}from"./queries/useApprovalQueries.js";import B from"./RuleContent/AddScopeModal.js";import{useLocation as F}from"react-router-dom";import q from"./shared/SuccessToastContent.js";import x from"./shared/ErrorToastContent.js";import H from"./RuleContent/RenameScopeModal.js";var Q=[{id:"learnings",label:"Learnings",icon:u,badgeKey:"learningsCount"},{id:"access",label:"Access",icon:d},{id:"history",label:"Change History",icon:p}],z=new Set(Q.map(function(e){return e.id}));function K(u){var d,p,K,V=this,W=u.userDetails,Y=u.llmStudioUrl,J=u.audacyBackendUrl,X=u.ilLabels,Z=u.config,$=u.rbacConfig,ee=u.auditLogConfig,te=u.app_integration_id,ne=u.backwardCompatibility,re=void 0!==ne&&ne,oe=m(function(e){return e.selectedRuleSetId}),se=m(function(e){return e.setSelectedRuleSetId}),ie=m(function(e){return e.error}),ae=m(function(e){return e.setError}),le=m(function(e){return e.setStations}),ce=m(function(e){return e.scopeTreeData}),ue=m(function(e){return e.setScopeTreeData}),de=a({isOpen:!1,type:"GLOBAL"}),pe=de[0],me=de[1],fe=a(!1),ve=fe[0],ge=fe[1],he=a(!1),ye=he[0],Se=he[1],be=a("learnings"),Ce=be[0],Te=be[1],Ee=a(null),Le=Ee[0],Ie=Ee[1],Ae=a(null),Oe=Ae[0],we=Ae[1],Re=l(null),je=l(null),Ne=l(!1),De=l(null),_e=y();_e.user;var ke=_e.setUser,Pe=_(),Ue=Pe.setConfig,Ge=Pe.setIlLabels,Me=e([{type:"GLOBAL",label:"Global",addChildLabel:"Add Scope",addChildType:"SCOPE"},t({type:"SCOPE",label:"Scope"},!re&&{addChildLabel:"Add Subscope",addChildType:"SUBSCOPE"})],re?[]:[{type:"SUBSCOPE",label:"Subscope"}],!0),Be=function(){try{return F()}catch(e){return{search:""}}}();c(function(){if(!Ne.current){var e=new URLSearchParams(window.location.search),t=e.get(O.RULESET_ID),n=e.get(O.SECTION),r=n&&z.has(n)?n:"learnings";(null==t?void 0:t.length)&&se&&Te&&(se(t),Te(r),Ne.current=!0)}},[null==Be?void 0:Be.search,Te,se]);var Fe=U(function(e){return e.fetchPermissions}),qe=U(function(e){return e.hasPermission}),xe=G(function(e){return e.setRoles}),He=D(function(e){return e.appsecRbacUrl})===$.appsecRbacUrl,Qe=M($.applicationId,He).data;c(function(){Qe&&xe(Qe.map(function(e){return{_id:e._id,name:e.name}}))},[Qe,xe]),c(function(){var e;console.log("userDetails",W),ke(W),console.log("llmStudioUrl",Y),console.log("audacyBackendUrl",J),D.getState().setLlmStudioUrl(Y),D.getState().setAudacyBackendUrl(J),D.getState().setRbacConfig($),D.getState().setAuditLogConfig(ee),Ue(Z),Ge(X),m.getState().setAppIntegrationId(null!=te?te:null),m.getState().setBackwardCompatibility(re),m.getState().setToken(null!==(e=W.accessToken)&&void 0!==e?e:null)},[W,ke,Y,J,$,ee,Z,Ue,X,Ge,te,re]),c(function(){(null==W?void 0:W.accessToken)&&Y&&S()},[te,null==W?void 0:W.accessToken,Y]);var ze=function(e){return void 0===e&&(e=!0),n(V,void 0,void 0,function(){var n,o,s,i,a,l;return r(this,function(r){switch(r.label){case 0:e&&ge(!0),ae(null),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,Fe($.applicationId)];case 2:return r.sent(),n=function(e){if(!U.getState().hasPermission("ilotj.scope.view",e.id))return null;var r=e.children?e.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return t(t({},e),{children:r})},[4,b(te,W.accessToken)];case 3:return(o=r.sent())&&o.data&&o.data.data&&(s=o.data.data,Array.isArray(s)&&(s=s.length>0?s[0]:null),s?(i=n(s))?(Ie(null),ue({data:i}),je.current?(se(je.current),Te("learnings"),je.current=null):m.getState().selectedRuleSetId||se(i.id)):(Ie(null!==(l=s.id)&&void 0!==l?l:null),ue(null)):(Ie(null),ue(null))),[3,6];case 4:return a=r.sent(),console.error("Failed to fetch rule sets or permissions",a),ae("Failed to load data. Please try again later."),[3,6];case 5:return ge(!1),[7];case 6:return[2]}})})};c(function(){var e;(null===(e=null==W?void 0:W.accessToken)||void 0===e?void 0:e.length)&&He?ze(!0):console.warn("Error: Trying to fetch rules without access token",W)},[null==W?void 0:W.accessToken,ae,le,$.applicationId,He]);var Ke=function(e){return n(V,void 0,void 0,function(){var n,s,i,a;return r(this,function(r){switch(r.label){case 0:Se(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),pe.scopeId?[4,L({scope_id:pe.scopeId,scope_name:e})]:[2];case 2:return r.sent(),[4,ze(!0)];case 3:return r.sent(),me(function(e){return t(t({},e),{isOpen:!1})}),[3,6];case 4:throw n=r.sent(),console.error("An error occurred during scope rename.",n),null===(s=De.current)||void 0===s||s.show({severity:"error",sticky:!1,className:v.errorToast,content:o(x,{message:(null===(a=null===(i=null==n?void 0:n.response)||void 0===i?void 0:i.data)||void 0===a?void 0:a.message)||"There was an error renaming the scope. Please try again."})}),n;case 5:return Se(!1),[7];case 6:return[2]}})})},Ve=function(e,o,s){return n(V,void 0,void 0,function(){var n,o,s,i,a,l,c,u;return r(this,function(r){switch(r.label){case 0:Se(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,I(e,W.accessToken)];case 2:return r.sent(),m.getState().selectedRuleSetId===e&&(n=m.getState().scopeTreeData,(o=N((null==n?void 0:n.data)||null,e))&&o.length>1&&(s=o[o.length-2],se(s),Te("learnings"))),[4,ze(!0)];case 3:return r.sent(),me(function(e){return t(t({},e),{isOpen:!1})}),null===(a=De.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===(l=De.current)||void 0===l||l.show({severity:"error",summary:"Delete Failed",detail:(null===(u=null===(c=null==i?void 0:i.response)||void 0===c?void 0:c.data)||void 0===u?void 0:u.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return Se(!1),[7];case 6:return[2]}})})},We=ce,Ye=Oe?{data:{id:Oe.stationId,name:Oe.stationName,type:"STATION",metrics:{learningsCount:Oe.learningsCount,stationsCount:0},children:[]}}:We,Je=!!(null==Ye?void 0:Ye.data);null===(d=null==Ye?void 0:Ye.data)||void 0===d||d.type;var Xe=U(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",$.applicationResourceId||""),Ze=(Oe?Q.filter(function(e){return"stations"!==e.id}):Q).filter(function(e){return!(!re&&"access"===e.id)});return o(k,{children:s("div",t({className:v.learningManagementContainer},{children:[o("div",t({className:v.mainWrapper},{children:ve?o(j,{}):ie?s("div",t({className:v.errorContainer},{children:[o("div",t({className:v.errorTitle},{children:"Error Loading Data"})),o("p",t({className:v.errorDesc},{children:ie})),o("button",t({onClick:function(){return ze(!0)},className:v.tryAgainBtn},{children:"Try Again"}))]})):Je?o(g,{onOpenCreateModal:function(){return me({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return me({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return me({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(e,t,o){return n(V,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=N((null==n?void 0:n.data)||null,e),i=!!s&&3===s.length,0!==o?[3,2]:[4,Ve(e)];case 1:return r.sent(),[3,3];case 2:me({isOpen:!0,type:"DELETE",scopeId:e,initialName:t,isSubscope:i}),r.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return qe("ilotj.scope.delete",e)},canEditScope:function(e){return qe("ilotj.scope.edit",e)},canCreateScope:function(e){return qe("ilotj.scope.create",e)},onSectionSelect:function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),w(((n={})[O.SECTION]="learnings"===t?null:t,n[O.RULESET_ID]=e,n)),Te(t),se(e)},activeSectionId:Ce,scopeTreeData:Ye,sectionsConfig:Ze,onViewStation:function(e){Re.current=oe,we(e),Te("learnings"),se(e.stationId)},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(je.current=t),ze(e)},nodeTypesConfig:Me,app_integration_id:te,token:W.accessToken}):o(h,{onCreate:function(){return me({isOpen:!0,type:"GLOBAL"})},title:"No Global Scope has been added!",desc:"Start by creating a Global scope to define base learnings that apply across all stations.",button:"Create Global Scope",canCreateRule:Xe,noAccessTitle:"Access Restricted",noAccessDesc:"You do not have access to create a Global scope for this application.",onRequestAccess:function(){return n(V,void 0,void 0,function(){var e,t,n,s,i,a,l,c,u;return r(this,function(r){switch(r.label){case 0:if(!(e=(null===(s=null===(n=m.getState().scopeTreeData)||void 0===n?void 0:n.data)||void 0===s?void 0:s.id)||Le))return null===(i=De.current)||void 0===i||i.show({severity:"error",sticky:!1,className:v.errorToast,content:o(x,{message:"Unable to identify the global scope for this access request."})}),[2];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,A(e)];case 2:return r.sent(),null===(a=De.current)||void 0===a||a.show({severity:"success",sticky:!1,life:3e3,className:v.successToast,content:o(q,{message:"Access request submitted successfully!"})}),[3,4];case 3:return t=r.sent(),null===(l=De.current)||void 0===l||l.show({severity:"error",sticky:!1,className:v.errorToast,content:o(x,{message:(null===(u=null===(c=null==t?void 0:t.response)||void 0===c?void 0:c.data)||void 0===u?void 0:u.detail)||"Failed to request access. Please try again."})}),[3,4];case 4:return[2]}})})}})})),o(f,{ref:De,pt:{root:{style:{zIndex:9999}}}}),re&&pe.isOpen&&"DELETE"!==pe.type&&"RENAME"!==pe.type?o(P,{isOpen:!0,onClose:function(){return me(t(t({},pe),{isOpen:!1}))},onSubmit:function(e){return n(V,void 0,void 0,function(){var n,o,s,i,a,l,c,u,d,p,f,v,g,h,y,S,b,L,I,A;return r(this,function(r){switch(r.label){case 0:Se(!0),n=m.getState().backwardCompatibility,r.label=1;case 1:return r.trys.push([1,12,13,14]),o=void 0,n&&"object"==typeof e?o=e:(s=e,i="SCOPE"===pe.type&&pe.parentId,a=i?"genreRuleSet":pe.type,o={topic:a,scope_reference_id:null,scopeDescription:"demo",parentScopeId:pe.parentId||null,scopeName:s,scopeReferenceMetadata:{},applicationMappingId:te}),[4,E(o,W.accessToken)];case 2:if(l=r.sent(),!(c=null===(h=null==l?void 0:l.data)||void 0===h?void 0:h.scopeId))return[3,10];if(je.current=c,u=n&&(null===(y=o.topic)||void 0===y?void 0:y.toLowerCase().includes("genre")),d=!n&&"GLOBAL"!==pe.type&&pe.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:pe.parentId))return[3,10];if(!re)return[3,7];r.label=3;case 3:return r.trys.push([3,5,,6]),[4,T({source_scope_id:p,target_scope_id:c})];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,C({source_scope_id:p,target_scope_id:c,application_mapping_id:te||"",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,ze(!0)];case 11:return r.sent(),me(function(e){return t(t({},e),{isOpen:!1})}),[3,14];case 12:throw g=r.sent(),console.error("An error occurred during scope creation.",g),null===(L=De.current)||void 0===L||L.show({severity:"error",summary:"Creation Failed",detail:(null===(A=null===(I=null==g?void 0:g.response)||void 0===I?void 0:I.data)||void 0===A?void 0:A.message)||"There was an error creating the scope. Please try again."}),g;case 13:return Se(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:Je,canCreateGlobal:Xe,globalScopeId:null!==(K=null===(p=null==ce?void 0:ce.data)||void 0===p?void 0:p.id)&&void 0!==K?K:null}):s(i,{children:[o(B,{isOpen:pe.isOpen&&"DELETE"!==pe.type&&"RENAME"!==pe.type,onClose:function(){return me(t(t({},pe),{isOpen:!1}))},onCreate:function(e){return Ke(null!=e?e:"")},hasGlobalRuleSet:Je}),o(H,{isOpen:pe.isOpen&&"RENAME"===pe.type,onClose:function(){return me(t(t({},pe),{isOpen:!1}))},onSave:Ke,initialName:pe.initialName})]}),o(R,{isOpen:pe.isOpen&&"DELETE"===pe.type,onCancel:function(){return me(t(t({},pe),{isOpen:!1}))},onConfirm:function(){return Ve(pe.scopeId,pe.initialName,pe.isSubscope)},title:"Delete Scope",description:s(i,{children:["Deleting ",o("span",t({className:v.highlight},{children:pe.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:ye})]}))})}export{K as default};
2
2
  //# sourceMappingURL=LearningManagement.js.map
@@ -1,2 +1,2 @@
1
- import{__awaiter as r,__generator as e}from"tslib";import{create as i}from"zustand";import{appsecApi as t}from"../apis/scopeApis.js";import{useLearningTemplateStore as n}from"./useLearningTemplateStore.js";import o from"./useEnvStore.js";var s=function(r,e){return!!e&&function(r){return r?"string"==typeof r?[r]:[r._id,r.id,r.resourceId,r.resource_id].filter(function(r){return"string"==typeof r&&r.length>0}):[]}(r).includes(e)},a=i(function(i,a){return{accessData:[],isLoading:!1,error:null,fetchPermissions:function(n,o){return r(void 0,void 0,void 0,function(){var r,s,a;return e(this,function(e){switch(e.label){case 0:if(!n)return[2];i({isLoading:!0,error:null}),e.label=1;case 1:return e.trys.push([1,3,,4]),[4,t.get("/users/me",{params:{appId:n,resourceId:o}})];case 2:return r=e.sent(),i({accessData:(null===(a=r.data)||void 0===a?void 0:a.data)||[],isLoading:!1}),[3,4];case 3:return s=e.sent(),console.error("Failed to fetch permissions:",s),i({error:s.message||"Failed to fetch permissions",isLoading:!1}),[3,4];case 4:return[2]}})})},hasPermission:function(r,e){var i;if(!n.getState().backwardCompatibility)return!0;var t=a().accessData,u=null===(i=o.getState().rbacConfig)||void 0===i?void 0:i.applicationResourceId,c=function(r,e){return t.some(function(i){var t,n,o;return s(i.resourceId,e)&&null!==(o=null===(n=null===(t=i.role)||void 0===t?void 0:t.permissions)||void 0===n?void 0:n.some(function(e){return e.name===r}))&&void 0!==o&&o})};return!(!u||!c(r,u))||c(r,e)},hasGlobalPermission:function(r,e){return!n.getState().backwardCompatibility||!!e&&(a().hasApplicationAccess(e)||a().hasPermission(r,e))},hasApplicationAccess:function(r){return!n.getState().backwardCompatibility||!!r&&a().accessData.some(function(e){var i,t,n;return s(e.resourceId,r)&&null!==(n=null===(t=null===(i=e.role)||void 0===i?void 0:i.permissions)||void 0===t?void 0:t.some(function(r){return"ilotj.scope.access.application.user.add"===r.name}))&&void 0!==n&&n})},reset:function(){return i({accessData:[],isLoading:!1,error:null})}}});export{a as usePermissionsStore};
1
+ import{__awaiter as r,__generator as e}from"tslib";import{create as n}from"zustand";import{appsecApi as i}from"../apis/scopeApis.js";import o from"./useEnvStore.js";var s=function(r,e){return!!e&&function(r){return r?"string"==typeof r?[r]:[r._id,r.id,r.resourceId,r.resource_id].filter(function(r){return"string"==typeof r&&r.length>0}):[]}(r).includes(e)},t=n(function(n,t){return{accessData:[],isLoading:!1,error:null,fetchPermissions:function(o,s){return r(void 0,void 0,void 0,function(){var r,t,a;return e(this,function(e){switch(e.label){case 0:if(!o)return[2];n({isLoading:!0,error:null}),e.label=1;case 1:return e.trys.push([1,3,,4]),[4,i.get("/users/me",{params:{appId:o,resourceId:s}})];case 2:return r=e.sent(),n({accessData:(null===(a=r.data)||void 0===a?void 0:a.data)||[],isLoading:!1}),[3,4];case 3:return t=e.sent(),console.error("Failed to fetch permissions:",t),n({error:t.message||"Failed to fetch permissions",isLoading:!1}),[3,4];case 4:return[2]}})})},hasPermission:function(r,e){var n,i=t().accessData,a=null===(n=o.getState().rbacConfig)||void 0===n?void 0:n.applicationResourceId,u=function(r,e){return i.some(function(n){var i,o,t;return s(n.resourceId,e)&&null!==(t=null===(o=null===(i=n.role)||void 0===i?void 0:i.permissions)||void 0===o?void 0:o.some(function(e){return e.name===r}))&&void 0!==t&&t})};return!(!a||!u(r,a))||u(r,e)},hasGlobalPermission:function(r,e){return!!e&&(t().hasApplicationAccess(e)||t().hasPermission(r,e))},hasApplicationAccess:function(r){return!!r&&t().accessData.some(function(e){var n,i,o;return s(e.resourceId,r)&&null!==(o=null===(i=null===(n=e.role)||void 0===n?void 0:n.permissions)||void 0===i?void 0:i.some(function(r){return"ilotj.scope.access.application.user.add"===r.name}))&&void 0!==o&&o})},reset:function(){return n({accessData:[],isLoading:!1,error:null})}}});export{t as usePermissionsStore};
2
2
  //# sourceMappingURL=usePermissionsStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LearningManagement.d.ts","sourceRoot":"","sources":["../../../../../src/features/LearningManagement/LearningManagement.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAWrC,OAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA+D9E,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,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,qBAA2B,EAC5B,EAAE,uBAAuB,2CAglBzB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"LearningManagement.d.ts","sourceRoot":"","sources":["../../../../../src/features/LearningManagement/LearningManagement.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAWrC,OAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA+D9E,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,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,qBAA2B,EAC5B,EAAE,uBAAuB,2CAilBzB;AAED,eAAe,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e-llm-studio/instant-learning",
3
- "version": "1.3.0-alpha.11",
3
+ "version": "1.3.0-alpha.13",
4
4
  "author": "Devesh Patel",
5
5
  "description": "",
6
6
  "license": "MIT",